In this paper we use the genetic programming technique to evolve programs to control an autonomous agent capable of learning how to survive in a hostile environment. In order to facilitate this goal, agents are run through random environment configurations. Randomly generated programs, which control the interaction of the agent with its environment, are recombined to form better programs. Each generaf.ion of the population of agents is placed into the Simulator with the ultimate goal of producing an agent capable of surviving any environment. The environment that an agent is presented consists of other agents, mines, and energy. The goal of this research is to construct a program which when executed will allow an agent (or agents) to correctly sense, and mark, the presence of items (energy and mines) in any environment. The Simulator determines the raw fitness of each agent by interpreting the associated program. General programs are evolved to solve this problem. Different environmental setups are presented to show the generality of the solution. These environments include one agent in a fixed environment, one agent in a fluctuating environment, and multiple agents in a fluctuating environment cooperating together. The genetic programming technique was extremely successful. The average fitness per generation in all three environments tested showed steady improvement. Programs were successfully generated that enabled an agent to handle any possible environment.
[1]
Philip Husbands,et al.
Genetic algorithms in optimisation and adaptation
,
1992
.
[2]
Michael de la Maza.
The Fifth International Conference on Genetic Algorithms
,
1994,
AI Mag..
[3]
John R. Koza,et al.
Evolving a Computer Program to Generate Random Numbers Using the Genetic Programming Paradigm
,
1991,
ICGA.
[4]
Walter Alden Tackett,et al.
Genetic Programming for Feature Discovery and Image Discrimination
,
1993,
ICGA.
[5]
Kenneth E. Kinnear,et al.
Generality and Difficulty in Genetic Programming: Evolving a Sort
,
1993,
ICGA.
[6]
John R. Koza,et al.
Genetic programming - on the programming of computers by means of natural selection
,
1993,
Complex adaptive systems.
[7]
David J. Montana,et al.
Strongly Typed Genetic Programming
,
1995,
Evolutionary Computation.
[8]
John R. Koza,et al.
Simultaneous Discovery of Reusable Detectors and Subroutines Using Genetic Programming
,
1993,
ICGA.
[9]
Peter J. Angeline,et al.
Competitive Environments Evolve Better Solutions for Complex Tasks
,
1993,
ICGA.