AI Challenge: Ants (Fall 2011) http://aichallenge.org
-----------------------------------------------------

My profile: http://aichallenge.org/profile.php?user=13264


Classes of interest:

Field
- Represents the field on which all the action happens.
  Provides information for every location on the field, ie.
  whether a location contains food, an enemy ant or isn't 
  accessible.
- It is instantiated once per round.
 
Env
- Represents the environment of an ant. Stores distances
  to every food location, friendly/ enemy ant, friendly/ 
  enemy hill, ...
- Instantiated with Breadth-first Search on the Field, so it
  provides fast access to the shortest paths to all places
  of interest within range.
- All locations within range are evaluated in regard of the
  influence of enemy ants. The result of that evaluation is
  whether the ant would "live", "fight" or "die" at the
  location in question. 

Algorithms used:
- Breadth-first Search on graph structure to instantiate the Ant
  Environment.
- A*-Algorithm to determine default moves for each ant. A* is used
  to maximize the sum distance to the two nearest friendly ants. This
  leads to an even distrubution of all ants over the field.
  (The default move is used if no food or enemy ants are within range.)