Research
General description
I am interested in general in genetic and evolutionary algorithms,
in artificial life, in scientific visualization, and in parallel and
distributed computation. Here are some of the main projects I am
involved in or plan to work on in the near future:
1. Autonomous pilot for motorcycles
This project involves an OpenGL based interactive application
simulating a motorcycle using the laws of physics. The goal is to
develop a pilot capable of autonomously driving this vehicle. In the
current state I'm using a multi-agent model based on some configurable
equations, and the close future plan is to use genetic algorithms to
select the parameters of the pilot. The more distant future plan is to
use genetic programming to evolve the equations themselves, not just
the set of parameters. One thing at a time.
2. Graph Drawing
I have been working on algorithms to build graph layouts that are
consistent with the weights in a graph. Initially I have used
force-based algorithms with some success. Currently I'm starting to
apply genetic algorithms to this problem with the hope of obtaining
layouts with special geometrical properties, like maximizing the
volume or the total surface. I received an IUSB Faculty Research Grant
for this project in spring 2004.
3. Virtual personalities or
chatterbots
It's a project involving pattern matching, automatic indexing, information
retrieval, and evolutionary algorithms. The goal is to create a virtual
character resembling an existing but imaginary one and capable of intelligent
conversation.
A description of this project.
Meet and talk to
Madeleine, my first virtual character.
4. Improving GAs
I am working in general on several topics aiming at improving the
performance of GAs. Some of them are:
-
Developing fast and efficient distributed GAs by dividing the problem to
be solved among processes.
-
New crossover operators, like the dissociated, or combining existing
ones.
-
Studying the natural evolution of gender types and its possible implications
for GAs.
5. DataViewer
I am currently involved in the development of the graphical
library DataViewer. My main contributions to this project concern:
-
DataViewer's native scene file format, allowing the user to build 3D scenes
in a rapid way and without any programming background.
-
Importing and exporting from and to various file formats, to make the library
more general interest and user friendly.
-
Developing new applications based on it, like the visualization of GAs.
6. Visualizing GAs
Genetic algorithms are a good example of programs that can produce
large amounts of poorly structured data. I think that scientific
visualization techniques can improve our understanding of the
processes taking place during the genetic evolution and also make it
less abstract. I am working on a project that has three goals:
-
Visualize the fitness evolution in the population among generations;
visually compare several trials with different random seeds or
different set of parameter; interact with the overall scene to
retrieve individuals at a particular point in the evolution.
-
Provide appropriate visualization techniques for individuals that have
a geometrical meaning. For example, many graph problems are
NP-complete, and thus interesting for GAs. These problems are also
interesting for visualization when the graph contains a large number
of nodes.
-
Provide suggestive visualization for individuals that do not have a
direct geometrical representation.
7. GAs applications
All of the above projects require interesting test problems. Here
are some of them:
-
NP-complete problems inspired from the graph theory: Hamiltonian
circuits, graph clustering, etc.
-
Graphical problems like improving the triangulation of solid objects.
-
Relevance feedback in information retrieval. I worked on this subject
for my PhD at the Computer Science
Department, University of
Neuchâtel, Switzerland.
8. Numerical and Visualization Techniques for Interactive Parameter
Continuation
I have been involved in this project as part of my postdoc in the
LCVM laboratory from the EPFL, Switzerland. I have been
concerned with the development of the software package VBM to include
new visualization modules and numerical techniques. I have also
implemented a file parser for large numerical files produced by AUTO
using indexing and parallel techniques to improve the program's
performance. I am also concerned by a problem linked to the solid
mechanics on which I am working in collaboration with Joel
Langer. Here are some examples of rotation surfaces built from some
differential equations using parameter continuation.
9. Handwriting
In parallel to the completion of my PhD I have worked on a project
for handwriting simulation. The main idea is to analyze samples of
handwriting belonging to a person and to extract from them some
parameters that allow the production of an artificial writing looking
natural and resembling the analyzed handwriting. These parameters
concern features like the probabilistic form and size of each
character, the orientation and thickness of the writing lines,
etc. The first stage of the project is already functioning, simulating
a handwriting composed of capital characters only, and using straight
lines to compose them. I am using this package to add text to comic
strips.