abstract = "The problem of discovering a strategy for playing a
game is an important problem in game theory. This
problem can be viewed as requiring discovery of a
computer program. The desired computer program takes
either the entire history of past moves in the game or
the current state of the game as its input and produces
the next move as its output. This paper describes the
recently developed genetic programming paradigm which
genetically breeds populations of computer programs to
solve problems. In genetic programming, the individuals
in the population are independently acting hierarchical
compositions of functions and arguments of various
sizes and shapes. Each of these individual computer
programs is evaluated for its fitness in playing the
game. A simulated evolutionary process driven by this
measure of fitness then uses the Darwinian principle of
reproduction and survival of the fittest and the
genetic operation of crossover (sexual recombination)
to solve the problem. Genetic programming can also
operate simultaneously on two (or more) populations of
programs. In such {"}co-evolution,{"} each population
acts as the environment for the other population. In
particular, each individual of the first population is
evaluated for {"}relative fitness{"} by testing it
against each individual in the second population, and,
simultaneously, each individual in the second
population is evaluated for {"}relative fitness{"} by
testing it against each individual in the first
population. In this paper, genetic programming is
illustrated with three different problems. The first
problem involves genetically breeding a population of
computer programs to find an optimal strategy for a
player of a discrete two-person 32-outcome game
represented by a game tree in extensive form. In this
problem, the entire history of past moves of both
players is used as input to the computer program. The
second problem involves genetically breeding a minimax
control strategy in a differential game with an
independently-acting pursuer and evader. In this
problem, the state of the game is used as input to the
computer program. The third problem illustrates the
{"}co-evolution{"} and involves genetically breeding an
optimal strategy for a player of a discrete two-person
32-outcome game represented by a game tree in extensive
form.",