1992-Automatic Programming of Robots Using Genetic Programming

1992-Automatic Programming of Robots Using Genetic Programming

From: AAAI-92 Proceedings. Copyright ©1992, AAAI (www.aaai.org). All rights reserved. Automatic Programming of obots using John R. Koza James P. Rice Stanford University Computer Science Department Stanford University Knowledge Systems Laboratory Stanford, CA 94305 USA 70 1 Welt h Road E-MAIL: [email protected] Palo Alto, CA 94304 USA PHONE: 415-941-0336 FAX: 415-941-9430 [email protected] 415-723-8405 onerous computational requirements imposed by Abstract The goal in automatic programming is to get a computer reinforcement learning techniques necessitated that a to perform a task by telling it what needs to be done, considerable amount of human knowledge be supplied in rather than by explicitly programming it. This paper order to achieve the reported “automatic programming” of considers the task of automatically generating a computer the box moving task. program to enable an autonomous mobile robot to In this paper, we present an alternative method for perform the task of moving a box from the middle of an automatically generating a computer program to perform irregular shaped room to the wall. We compare the the box moving task using the recently developed genetic ability of the recently developed genetic programming programming paradigm. In genetic programming, paradigm to produce such a program to the reported populations of computer programs are genetically bred in ability of reinforcement learning techniques, such as Q learning, to produce such a program in the style of the order to solve the problem. The solution produced by subsumption architecture. The computational genetic programming emerges as a result of Darwinian requirements of reinforcement learning necessitates natural selection and genetic crossover (sexual considerable human knowledge and intervention, whereas recombination) in a population of computer programs. genetic programming comes much closer to achieving The process is driven by a fitness measure which the goal of getting the computer to perform the task communicates the nature of the task to the computer and without explicitly programming it. The solution its learning paradigm. produced by genetic programming emerges as a result of We demonstrate that genetic programming comes much Darwinian natural selection and genetic crossover (sexual closer than reinforcement learning techniques to achieving recombination) in a population of computer programs. the goal of getting the computer to perform the task The process is driven by a fitness measure which without explicitly programming it. communicates the nature of the task to the computer and its learning paradigm. Background on Genetic Algorithms Introduction and Overview John Holland’s pioneering 1975 Adaptation in Natural and In the 195Os, Arthur Samuel identified the goal of getting Artificial Systems described how the evolutionary process a computer to perform a task without being explicitly in nature can be applied to artificial systems using the programmed as one of the central goals in the fields of genetic algorithm operating on fixed length character computer science and artificial intelligence. Such strings (Holland 1975). Holland demonstrated that a automatic programming of a computer involves merely population of fixed length character strings (each telling the computer what is to be done, rather than representing a proposed solution to a problem) can be explicitly telling it, step-by-step, how to perform the genetically bred using the Darwinian operation of fitness desired task. proportionate reproduction and the genetic operation of In an AAAI-91 paper entitled “Automatic Programming recombination. The recombination operation combines of Behavior-Based Robots using Reinforcement Learning” parts of two chromosome-like fixed length character Mahadevan and Connell (1991) reported on using strings, each selected on the basis of their fitness, to reinforcement learning techniques, such as Q learning produce new offspring strings. Holland established, (Watkins 1989), in producing a program to control an among other things, that the genetic algorithm is a autonomous mobile robot in the style of the subsumption mathematically near optimal approach to adaptation in that architecture (Brooks 1986, Connell 1990, Mataric 1990). it maximizes expected overall average payoff when the In particular, the program produced by reinforcement adaptive process is viewed as a multi-armed slot machine learning techniques enabled an autonomous mobile robot problem requiring an optimal allocation of future trials to perform the task of moving a box from the middle of a given currently available information. room to the wall. In this paper, we will show that the Recent work in genetic algorithms can be surveyed in Goldberg 1989 and Davis (1987, 1991). 194 Learning: Robotic (3) The single best computer program in the population ackground on Genetic Programming at the time of termination is designated as the result For many problems, the most natural representation for of the run of genetic programming. This result may solutions are computer programs. The size, shape, and be a solution (or approximate solution) to the contents of the computer program to solve the problem is problem. generally not known in advance. The computer program The basic genetic operations for genetic programming that solves a given problem is typically a hierarchical are fitness proportionate reproduction and crossover composition of various terminals and primitive function (recombination). appropriate to the problem domain. In robotics problems, The reproduction operation copies individuals in the the computer program that solves a given problem genetic population into the next generation of the typically takes the sensor inputs or state variables of the population in proportion to their fitness in grappling with system as its input and produces an external action as its the problem environment. This operation is the basic output. It is unnatural and difficult to represent program engine of Darwinian survival and reproduction of the hierarchies of unknown (and possibly dynamically varying) fittest. size and shape with the fixed length character strings The crossover operation is a sexual operation that generally used in the conventional genetic algorithm. operates on two parental LISP S-expressions and produces In genetic programming, one recasts the search for the two offspring S-expressions using parts of each parent. solution to the problem at hand as a search of the space of The crossover operation creates new offspring S- all possible compositions of functions and terminals (i.e. expressions by exchanging sub-trees (i.e. sub-lists) computer programs) that can be recursively composed from between the two parents. Because entire sub-trees are the available functions and terminals. Depending on the swapped, this crossover operation always produces particular problem at hand, the set of functions used may syntactically and semantically valid LISP S-expressions as include arithmetic operations, primitive robotic actions, offspring regardless of the crossover points. conditional branching operations, mathematical functions, For example, consider the two parental S-expressions: or domain-specific functions. For robotic problems, the (OR (NOT Dl) (AND DO Dl)) primitive functions are typically the external actions which the robot can execute; the terminals are typically the (OR (OR Dl (NOT DO)) sensor inputs or state variables of the system. (AND (NOT DO) (NOT Dl)) Figure 1 graphically depicts these two S-expressions as The symbolic expressions (S-expressions) of the LISP programming language are an especially convenient way to rooted, point-labeled trees with ordered branches. The numbers on the tree are for reference only. create and manipulate the compositions of functions and terminals described above. These S-expressions in LISP Assume that the points of both trees are numbered in a depth-first way starting at the left. Suppose that point 2 correspond directly to the parse tree that is internally (out of 6 points of the first parent) is randomly selected as created by most compilers. the crossover point for the first parent and that point 6 (out Genetic programming, like the conventional genetic of 10 points of the second parent) is randomly selected as algorithm, is a domain independent method. It proceeds by the crossover point of the second parent. The crossover genetically breeding populations of computer programs to points in the trees above are therefore the in the first solve problems by executing the following three steps: NOT parent and the in the second parent. (1) Generate an initial population of random AND compositions of the functions and terminals of the problem (computer programs). (2) Iteratively perform the following sub-steps until the termination criterion has been satisfied: (a) Execute each program in the population and assign it a fitness value according to how well it solves the problem. (b) Create a new population of computer programs by applying the following two primary operations. The operations are applied to computer program(s) in the population chosen with a probability based on fitness. Figure I Two parental computer programs shown as trees with ordered branches. (i) Reproduction: Copy existing computer Internal points of the tree programs to the new population. correspond to functions (i.e. operations) and external (ii) points correspond to terminals (i.e. input data). Crossover: Create new computer Figure 2 shows the two crossover fragments

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us