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.
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.
Some Possible Projects
Projects that I am either currently pursing or
on which I am particularly interested in working with students 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?
- Power of One.
A single individual has a surprising power or influence
upon the collective of which it is a part.
This project seeks to better understand and quantify this influence
in various contexts including
voting scenarios and predator-prey interactions.
- 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.
- 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.