Ant Foraging - Xholon App (No GP)

What is it

This model implements a solution to the ant foraging problem.

How to use it

Run it:

  1. Run the Java application through the XhnEalontro GUI (, and select File --> Open --> ealontro --> AntForaging --> AntForaging_xhn.xml.
  2. The tree-based GUI, and a graphical grid will appear.
  3. Expand the Controller node in the tree.
  4. Press the Start node.
  5. You should see the ants moving around, picking up food from the two food areas, carrying the food back to the nest, laying down pheromone as they return to the nest, and following previously laid-down pheromone to locate food.
  6. If you have JFreeChart installed, and if you have selected "JFreeChart" as the value of the UseDataPlotter parameter in AntForaging_xhn.xml, you should see a chart showing the increasing amount of food accumulated at the nest. If you don't have JFreeChart installed, then change the value of UseDataPlotter to "gnuplot", and look at the results that are saved to a .csv file in the statistics folder. If you have gnuplot installed, it can read the .plt script in the statistics folder to produce a displayable .png file from the .csv file, that should look similar to the one below.

ECJ Ant Foraging with GP

Things to notice

If you have UseGraphicalTreeViewer set to "true" in AntForaging_xhn.xml, and if you have JUNG installed, then you will see a JUNG graph showing the hierarchical structure of the behavior tree.

Behavior composite tree

Things to try

Extending the model

Xholon and Ealontro features

Credits and references

This application was described in: Koza, J. (1992). Genetic Programming. p.329-344