One of my desires is to introduce students to the joy of research.
It is my belief that in doing so,
students learn something deeper and more important than factual knowledge or skill;
they learn a bit about the nature of the universe and
some of the limits on our ability to comprehend that nature.
It is also my hope that
students discover the opportunities available through advanced study in
I have prepared these guidelines
for students interested in doing research with me.
Please note that those guidelines are somewhat out of date
and should be viewed as general principles.
If you are interested in any of the following topics,
or in a research project of your own,
the information about my expectations
and then talk to me.
Projects in various states of progress
that I am currently pursing include:
- Service and Helpfulness.
What is the nature of helpful service
and how can we build intelligent systems that provide such assistance?
How can we evaluate and measure good and bad service?
Ultimately, how can we be better helpers and servants to each other?
- Interactions Between Individuals and Collectives.
How do the actions of individuals influence properties of the community?
Similarly, how do those collective properties influence the actions of individuals?
It turns out that a single individual has a surprising power or influence
upon the collective of which it is a part.
This project seeks to better understand the interactions between parts and wholes
and quantify the respective influence of one on the other.
- Parallel Evolutionary Algorithms and Diversity.
Evolutionary Algorithms (EA) provide a powerful and effective means
for searching through a state-space.
Such algorithms tend to lend themselves well
to implementations that take advantage of parallel hardware.
Whether operating in parallel or not,
the diversity within a population
is known to be an important factor influencing the effectiveness of the search.
This project looks at different ways we can implement parallel EAs
and mechanisms for fostering or stimulating diversity within the populations.
This paper written with a former student
may provide a general idea of the problem and approach.
- Parallel State-space Search.
How can we efficiently distribute the search of a very large state-space
across many processors?
A significant problem with accomplishing this
is the generation, detection and elimination of duplicate states between processors.
(Even within a processor, this presents a real problem.)
- Westmont Cluster Project.
Help construct, maintain and program a Beowulf-class cluster computer.
Previous projects have included: parallel search algorithms,
evolutionary algorithms for learning,
and tools for massive experimentation and data collection.
We operate two clusters in the project.
Our newest addition as of Fall 2014
consists of 45 compute-nodes, each based on i7-4790 four-core processors.
We also maintain an older 32-node cluster based on Pentium-4 machines.
- Bioinformatics. In general, I am interested in the abundant supply of problems
in the field of Biology
that call out for solutions that are grounded in Computer Science.
I am working with Dr. Steve Julio
on a tool that will support biologists' search
for consensus sequences that abstract over the regulatory sequences
controlling the expression of certain genes.
- Philosopher's Workbench. Can we build a suite of tools that help
us explore various questions of traditional and computational Philosophy?
What would such a suite include and which questions would be appropriate
targets for exploration?
Could we gain insights into epistemology or free will
through simulated environments and artificial agents?
- Average-case analyses of machine learning algorithms.
Requires a strong combinatorics/counting methods and general math skills,
as well as a general interest in machine learning
- Computer Ethics and the Internet.
An exploration into behavior-guiding principles in the Internet or other virtual environments,
particularly slanted toward the notion of ownership and property.