= 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 [[Image(SantaFe Grammar.png, right, margin-right=30, margin-left=30)]] * 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: * [[UsersSamples#GPAA | Genetic Programming + Santa-Fe Ant Trail]] '''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