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:

5. DataViewer
I am currently involved in the development of the graphical library DataViewer. My main contributions to this project concern:

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:

7. GAs applications
All of the above projects require interesting test problems. Here are some of them: 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.