Free cookie consent management tool by TermsFeed Policy Generator
wiki:Documentation/Reference/Artificial Ant Problem

Version 5 (modified by mkofler, 14 years ago) (diff)

--

Artificial Ant Problem

The artificial ant problem, which is also known as "Santa Fe Ant Trail", was originally developed by (Jefferson et al. 1991) and popularized by (Koza 1992). Many genetic programming software packages provide implementations of the artificial ant problem.

The objective of the problem is to devise a program which can successfully navigate an artificial ant to find all pieces of food located on a grid.

Problem Parameters:

Parameter Description
ArtificialAntExpressionGrammar The grammar that should be used for artificial ant expressions
BestKnownQuality The quality of the best known solution of this artificial ant instance.
Evaluator ArtificialAntEvaluator: The operator which should be used to evaluate artificial ant solutions.
MaxExpressionDepth Maximal depth of the expression to control the artificial ant.
MaxExpressionLength Maximal length of the expression to control the artificial ant.
MaxFunctionArguments Maximal number of arguments of automatically defined functions in the expression to control the artificial ant.
MaxFunctionDefinitions Maximal number of automatically defined functions in the expression to control the artificial ant.
Maximization Set to true as the Artificial Ant Problem is a maximization problem.
MaxTimeSteps The number of time steps the artificial ant has available to collect all food items.
SolutionCreator ProbabilisticTreeCreator: The operator which should be used to create new artificial ant solutions.
World The world for the artificial ant with scattered food items.

ArtificialAntExpressionGrammar:

The Artificial Ant can use three terminal operations:

  • Move: Move the ant forward one square
  • Right: Turn ant to the right Added screenshot of Santa Fe grammar
  • Left: Turn ant to the left

In addition, three functions are provided:

  • IfFoodAhead: A decision function that takes to parameters and executes the first if there is food one step ahead and the second otherwise
  • Prog2: Takes two parameters which are executed in sequence
  • Prog3: Takes three parameters which are executed in sequence

Is there a sample/tutorial?

Sure:

References:

  • Jefferson, D., Collins, R., Cooper, C., Dyer, M., Korf, M. F. R., Taylor, C., and Wang, A. 1991. Evolution as a theme in artificial life: The genesys/tracker system. In Langton, C. et al., editors, Proceedings of Artificial Life II, Santa Fe Institute Studies in the Sciences of Complexity. Addison-Wesley.
  • Koza, J. 1992. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA, USA. pp 147--155

Attachments (2)

Download all attachments as: .zip