I have been, I am, I should be, or I will be working on projects such as:


Inter-Agent Communication Using Pheromones

This project investigates the use of pheromones (inspired from ant colonies) for inter-agent communication. While foraging, ants and termites use pheromones to mark the trails to food locations and to recruit other ants into foraging from specific locations. Similarly, agents in simulation (or, why not!, controlling real robots) can mark the environment in order to store information about past experiences and to also share this knowledge with peer agents.

A first problem domain of interest concerns foraging, where the task consists of locating a source of food and carrying as many food items as possible to the original location (nest) . Our approach allows for the presence of obstacles in the initially unknown terrain. We envision taking this project further by allowing agents to specialize for specific tasks such as patrolling, nest and trail defense, scouting or carrying. We also already started experimenting with learning approaches (Evolutionary Computation!) for the emergent foraging behavior.

Most of the work on this project has been done in the new MASON system; learning approaches were implemented in the ECJ system. For more information on the project, please visit the unofficial homepage of the project, or send me an email.


The MASON Simulator

MASON is a fast discrete-event multiagent simulation library core in Java, designed to be the foundation for large custom-purpose Java simulations, and also to provide more than enough functionality for many lightweight simulation needs. MASON contains both a model library and an optional suite of visualization tools in 2D and 3D.

For more information, visit the home page of the project.


The ECJ System

ECJ is a research EC system written in Java. It was designed to be highly flexible, with nearly all classes (and all of their settings) dynamically determined at runtime by a user-provided parameter file. All structures in the system are arranged to be easily modifiable. Even so, the system was designed with an eye toward efficiency; ECJ may make you reconsider notions about Java and slowness.

I worked on the following ECJ modules:
    Parsimony Pressure
    Island Models
    Cooperative and Competitive Coevolution
    RuleSet and Vector Representation
    Hooks to connect ECJ with the TeamBots simulator

For more information, visit the home page of the project.