Team Monkeys 2004 submission
2004-06-08: Extra screenshotsI've added a few more screenshots, and fixed the simulator to support two distinct ant species on the map.
2004-06-08: Final submissionThis revision contains the vaccinated ants, so I've updated the listings and the code. Also, I'm adding a log of our check in comments which are mostly bland but have a few entertaining parts in the middle. And I just realized that other teams probably aren't going to be interested in our build tools (which are still case sensitive and limited to simulating only one type of ant against itself), so I'm adding a link to our "star" ant.
Quick link intelligAnt (r132).
2004-06-07: First revisionThis submission is written in a hybrid of C++, Java and "Ant-Assembly". The status is not final yet, since I have been informed by my team that they submitted a revision after I submitted my all night ant.
CodeNote: ants from this first submission suffer from a neurological disorder known as "infinite loop syndrome". A cure for this terrible condition has been discovered by my teammates and they have submitted vaccinated ants.
Final revision code (r132), more listings (r130), a complete log of our check ins and our star ant: intelligAnt (r132). And if any of my teammates ever read this page or update to r132 I'm sure I'll get shot for the inexcusable pun.
Simulator for distinct ant species :) code and screenshots to go with it:
RepositoryThis year we used a subversion repository for our code, it can be accessed for anonymous read via the following url: svn://cobe.dyndns.org/icfp2004, although why anyone would want to I have no idea. Well, unless Zaid or Peter want to add some "documentation" informing us of their opinion of our code.
The simian gang
- Mohammed Ajmal
- Aly Merchant
- Liviu Tancau
ConceptWe wrote a fast simulator in C++, and a GUI to assist in debugging our ants (no pun intended). The ants were written in a language very close to the FSM level code, the only additional support was addressing states by labels instead of line numbers. A java utility was written to perform this translation. Other than this assistance the ants were all hand-made and wired for neurological perfection.
The ants are governed by a few basic behaviours:
- Explorer ants will lay down paths, until they are unable to do so without crossing paths, depending on the state they will become extender ants or random ants.
- Extender ants follow existing paths and occasionally branch out at which point they become explorers.
- Random ants will randomly walk about looking food or paths leading to food, they will occasionally mutate into explorer ants.
- Food ants (ants carrying food) will lay down a special marker on top of an existing path home, to indicate the presence of food. If they lose the path they will become random ants that don't care about terain info.