home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / ai-faq / genetic / part2 < prev    next >
Encoding:
Internet Message Format  |  2001-04-12  |  55.3 KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!howland.erols.net!logbridge.uoregon.edu!server3.netnews.ja.net!server4.netnews.ja.net!fafnir.cf.ac.uk!scmdb
  2. From: David.Beasley@cs.cf.ac.uk (David Beasley)
  3. Newsgroups: comp.ai.genetic,comp.answers,news.answers
  4. Subject: FAQ: comp.ai.genetic part 2/6 (A Guide to Frequently Asked Questions)
  5. Supersedes: <part2_969480833@cs.cf.ac.uk>
  6. Followup-To: comp.ai.genetic
  7. Date: 11 Apr 2001 20:23:13 GMT
  8. Organization: Posted through the Joint Cardiff Computing Service, Wales, UK
  9. Lines: 1125
  10. Approved: news-answers-request@MIT.Edu
  11. Expires: 25 May 2001 20:22:54 GMT
  12. Message-ID: <part2_987020574@cs.cf.ac.uk>
  13. References: <part1_987020574@cs.cf.ac.uk>
  14. NNTP-Posting-Host: thrall.cs.cf.ac.uk
  15. X-Trace: fafnir.cf.ac.uk 987020593 32109 131.251.42.22 (11 Apr 2001 20:23:13 GMT)
  16. X-Complaints-To: abuse@cf.ac.uk
  17. NNTP-Posting-Date: 11 Apr 2001 20:23:13 GMT
  18. Summary: This is part 2 of a <trilogy> entitled "The Hitch-Hiker's Guide
  19.      to Evolutionary Computation". A periodically published list of Frequently
  20.      Asked Questions (and their answers) about Evolutionary Algorithms,
  21.      Life and Everything. It should be read by anyone who whishes to post
  22.      to the comp.ai.genetic newsgroup, preferably *before* posting.
  23. Originator:  scmdb@thrall.cs.cf.ac.uk
  24. Xref: senator-bedfellow.mit.edu comp.ai.genetic:21404 comp.answers:44993 news.answers:205229
  25.  
  26. Archive-name:   ai-faq/genetic/part2
  27. Last-Modified:  4/12/01
  28. Issue:          9.1
  29.  
  30. Important note: Do NOT send email to the cs.cf.ac.uk address above: it will 
  31.     be ignored. Corrections and other correspondence should be sent to 
  32.     david.beasley@iee.org
  33.  
  34. TABLE OF CONTENTS OF PART 2
  35.      Q1: What are Evolutionary Algorithms (EAs)?
  36.      Q1.1: What's a Genetic Algorithm (GA)?
  37.      Q1.2: What's Evolutionary Programming (EP)?
  38.      Q1.3: What's an Evolution Strategy (ES)?
  39.      Q1.4: What's a Classifier System (CFS)?
  40.      Q1.5: What's Genetic Programming (GP)?
  41.  
  42. ----------------------------------------------------------------------
  43.  
  44. Subject: Q1: What are Evolutionary Algorithms (EAs)?
  45.  
  46.      Evolutionary algorithm is an umbrella term used to describe computer-
  47.      based problem solving systems which use computational models of  some
  48.      of  the known mechanisms of EVOLUTION as key elements in their design
  49.      and implementation. A variety of EVOLUTIONARY  ALGORITHMs  have  been
  50.      proposed.   The  major  ones  are:  GENETIC  ALGORITHMs  (see  Q1.1),
  51.      EVOLUTIONARY PROGRAMMING (see Q1.2), EVOLUTION STRATEGIEs (see Q1.3),
  52.      CLASSIFIER  SYSTEMs  (see  Q1.4), and GENETIC PROGRAMMING (see Q1.5).
  53.      They all share a common conceptual base of simulating  the  evolution
  54.      of  INDIVIDUAL  structures  via processes of SELECTION, MUTATION, and
  55.      REPRODUCTION.  The processes depend on the perceived  PERFORMANCE  of
  56.      the individual structures as defined by an ENVIRONMENT.
  57.  
  58.      More  precisely, EAs maintain a POPULATION of structures, that evolve
  59.      according to  rules  of  selection  and  other  operators,  that  are
  60.      referred  to  as  "search operators", (or GENETIC OPERATORs), such as
  61.      RECOMBINATION  and  mutation.  Each  individual  in  the   population
  62.      receives  a  measure  of its FITNESS in the environment. Reproduction
  63.      focuses attention on high fitness individuals, thus  exploiting  (cf.
  64.      EXPLOITATION)  the  available fitness information.  Recombination and
  65.      mutation perturb those individuals, providing general heuristics  for
  66.      EXPLORATION.  Although simplistic from a biologist's viewpoint, these
  67.      algorithms are sufficiently complex to provide  robust  and  powerful
  68.      adaptive search mechanisms.
  69.  
  70.      --- "An Overview of Evolutionary Computation" [ECML93], 442-459.
  71.  
  72.  BIOLOGICAL BASIS
  73.      To  understand  EAs, it is necessary to have some appreciation of the
  74.      biological processes on which they are based.
  75.  
  76.      Firstly, we should note that EVOLUTION (in nature or  anywhere  else)
  77.      is  not  a  purposive  or  directed  process.   That  is, there is no
  78.      evidence to support the assertion that the goal of  evolution  is  to
  79.      produce Mankind. Indeed, the processes of nature seem to boil down to
  80.      a haphazard GENERATION of biologically diverse  organisms.   Some  of
  81.      evolution is determined by natural SELECTION or different INDIVIDUALs
  82.      competing for resources in the ENVIRONMENT.   Some  are  better  than
  83.      others.  Those  that  are  better  are  more  likely  to  survive and
  84.      propagate their genetic material.
  85.  
  86.      In nature, we see that the encoding for genetic information  (GENOME)
  87.      is   done  in  a  way  that  admits  asexual  REPRODUCTION.   Asexual
  88.      reproduction typically results  in  OFFSPRING  that  are  genetically
  89.      identical  to  the  PARENT.   (Large  numbers  of organisms reproduce
  90.      asexually; this includes most bacteria which some biologists hold  to
  91.      be the most successful SPECIES known.)
  92.  
  93.      Sexual  reproduction  allows  some shuffing of CHROMOSOMEs, producing
  94.      offspring that contain a combination of information from each parent.
  95.      At  the  molecular level what occurs (wild oversimplification alert!)
  96.      is that a pair of almost identical chromosomes bump into one another,
  97.      exchange  chunks  of genetic information and drift apart. This is the
  98.      RECOMBINATION operation, which is  often  referred  to  as  CROSSOVER
  99.      because   of  the  way  that  biologists  have  observed  strands  of
  100.      chromosomes crossing over during the exchange.
  101.  
  102.      Recombination happens in an environment where the  selection  of  who
  103.      gets  to mate is largely a function of the FITNESS of the individual,
  104.      i.e. how good the individual is at competing in its environment. Some
  105.      "luck" (random effect) is usually involved too. Some EAs use a simple
  106.      function   of   the   fitness   measure   to    select    individuals
  107.      (probabilistically)  to  undergo genetic operations such as crossover
  108.      or  asexual  reproduction  (the  propagation  of   genetic   material
  109.      unaltered).    This   is   fitness-proportionate   selection.   Other
  110.      implementations use  a  model  in  which  certain  randomly  selected
  111.      individuals  in  a subgroup compete and the fittest is selected. This
  112.      is called tournament selection and is the form of selection we see in
  113.      nature  when stags rut to vie for the privilege of mating with a herd
  114.      of hinds.
  115.  
  116.      Much EA research  has  assumed  that  the  two  processes  that  most
  117.      contribute   to   evolution   are   crossover   and   fitness   based
  118.      selection/reproduction.    Evolution,   by   definition,   absolutely
  119.      requires  diversity in order to work.  In nature, an important source
  120.      of diversity is MUTATION.  In an EA, a large amount of  diversity  is
  121.      usually  introduced at the start of the algorithm, by randomising the
  122.      GENEs  in  the  POPULATION.   The  importance  of   mutation,   which
  123.      introduces   further   diversity  while  the  algorithm  is  running,
  124.      therefore continues to be a matter of debate. Some refer to it  as  a
  125.      background  operator, simply replacing some of the original diversity
  126.      which may have been  lost,  while  others  view  it  as  playing  the
  127.      dominant role in the evolutionary process.
  128.  
  129.      It cannot be stressed too strongly that an EVOLUTIONARY ALGORITHM (as
  130.      a SIMULATION of a genetic process) is  not  a  random  search  for  a
  131.      solution  to  a  problem (highly fit individual).  EAs use stochastic
  132.      processes, but the  result  is  distinctly  non-random  (better  than
  133.      random).
  134.  
  135.  PSEUDO CODE
  136.      Algorithm EA is
  137.  
  138.       // start with an initial time
  139.       t := 0;
  140.  
  141.       // initialize a usually random population of individuals
  142.       initpopulation P (t);
  143.  
  144.       // evaluate fitness of all initial individuals in population
  145.       evaluate P (t);
  146.  
  147.       // test for termination criterion (time, fitness, etc.)
  148.       while not done do
  149.  
  150.            // increase the time counter
  151.            t := t + 1;
  152.  
  153.            // select sub-population for offspring production
  154.            P' := selectparents P (t);
  155.  
  156.            // recombine the "genes" of selected parents
  157.            recombine P' (t);
  158.  
  159.            // perturb the mated population stochastically
  160.            mutate P' (t);
  161.  
  162.            // evaluate its new fitness
  163.            evaluate P' (t);
  164.  
  165.            // select the survivors from actual fitness
  166.            P := survive P,P' (t);
  167.       od
  168.      end EA.
  169.  
  170. ------------------------------
  171.  
  172. Subject: Q1.1: What's a Genetic Algorithm (GA)?
  173.  
  174.      The  GENETIC  ALGORITHM  is a model of machine learning which derives
  175.      its behavior from a metaphor of some of the mechanisms  of  EVOLUTION
  176.      in  nature.  This  is  done  by  the  creation  within a machine of a
  177.      POPULATION of INDIVIDUALs represented by CHROMOSOMEs,  in  essence  a
  178.      set of character strings that are analogous to the base-4 chromosomes
  179.      that we see in our own DNA.  The individuals in the  population  then
  180.      go through a process of simulated "evolution".
  181.  
  182.      Genetic  algorithms  are  used  for a number of different application
  183.      areas. An example of  this  would  be  multidimensional  OPTIMIZATION
  184.      problems  in which the character string of the chromosome can be used
  185.      to encode the values for the different parameters being optimized.
  186.  
  187.      In practice, therefore,  we  can  implement  this  genetic  model  of
  188.      computation  by  having arrays of bits or characters to represent the
  189.      chromosomes.   Simple   bit   manipulation   operations   allow   the
  190.      implementation  of CROSSOVER, MUTATION and other operations. Although
  191.      a substantial amount of research  has  been  performed  on  variable-
  192.      length  strings  and  other  structures,  the  majority  of work with
  193.      genetic algorithms is focussed on fixed-length character strings.  We
  194.      should  focus on both this aspect of fixed-lengthness and the need to
  195.      encode the representation of the solution being sought as a character
  196.      string,  since  these  are  crucial  aspects that distinguish GENETIC
  197.      PROGRAMMING, which does not have a fixed  length  representation  and
  198.      there is typically no encoding of the problem.
  199.  
  200.      When  the  genetic  algorithm  is implemented it is usually done in a
  201.      manner that involves the following cycle:  Evaluate  the  FITNESS  of
  202.      all of the individuals in the population.  Create a new population by
  203.      performing  operations  such  as   crossover,   fitness-proportionate
  204.      REPRODUCTION  and  mutation on the individuals whose fitness has just
  205.      been measured. Discard the old population and iterate using  the  new
  206.      population.
  207.  
  208.      One  iteration of this loop is referred to as a GENERATION.  There is
  209.      no theoretical reason for this as an implementation  model.   Indeed,
  210.      we  do not see this punctuated behavior in populations in nature as a
  211.      whole, but it is a convenient implementation model.
  212.  
  213.      The first generation (generation 0) of this  process  operates  on  a
  214.      population  of  randomly  generated  individuals.  From there on, the
  215.      genetic operations, in concert with the fitness measure,  operate  to
  216.      improve the population.
  217.  
  218.  PSEUDO CODE
  219.      Algorithm GA is
  220.  
  221.       // start with an initial time
  222.       t := 0;
  223.  
  224.       // initialize a usually random population of individuals
  225.       initpopulation P (t);
  226.  
  227.       // evaluate fitness of all initial individuals of population
  228.       evaluate P (t);
  229.  
  230.       // test for termination criterion (time, fitness, etc.)
  231.       while not done do
  232.            // increase the time counter
  233.            t := t + 1;
  234.  
  235.            // select a sub-population for offspring production
  236.            P' := selectparents P (t);
  237.  
  238.            // recombine the "genes" of selected parents
  239.            recombine P' (t);
  240.  
  241.            // perturb the mated population stochastically
  242.            mutate P' (t);
  243.  
  244.            // evaluate its new fitness
  245.            evaluate P' (t);
  246.  
  247.            // select the survivors from actual fitness
  248.            P := survive P,P' (t);
  249.       od
  250.      end GA.
  251.  
  252. ------------------------------
  253.  
  254. Subject: Q1.2: What's Evolutionary Programming (EP)?
  255.  
  256.   Introduction
  257.      EVOLUTIONARY  PROGRAMMING, originally conceived by Lawrence J.  Fogel
  258.      in 1960, is a stochastic OPTIMIZATION  strategy  similar  to  GENETIC
  259.      ALGORITHMs,  but  instead  places  emphasis on the behavioral linkage
  260.      between PARENTs and their OFFSPRING, rather than seeking  to  emulate
  261.      specific  GENETIC  OPERATORs  as  observed  in  nature.  Evolutionary
  262.      programming is similar to  EVOLUTION  STRATEGIEs,  although  the  two
  263.      approaches developed independently (see below).
  264.  
  265.      Like  both  ES  and  GAs,  EP is a useful method of optimization when
  266.      other techniques such  as  gradient  descent  or  direct,  analytical
  267.      discovery  are  not  possible.  Combinatoric and real-valued FUNCTION
  268.      OPTIMIZATION in which the optimization surface or  FITNESS  landscape
  269.      is  "rugged",  possessing  many  locally  optimal solutions, are well
  270.      suited for evolutionary programming.
  271.  
  272.   History
  273.      The 1966 book, "Artificial Intelligence Through Simulated  Evolution"
  274.      by  Fogel,  Owens  and  Walsh  is  the  landmark  publication  for EP
  275.      applications, although  many  other  papers  appear  earlier  in  the
  276.      literature.   In  the  book,  finite  state  automata were evolved to
  277.      predict symbol strings  generated  from  Markov  processes  and  non-
  278.      stationary  time  series.  Such evolutionary prediction was motivated
  279.      by a  recognition  that  prediction  is  a  keystone  to  intelligent
  280.      behavior  (defined  in  terms  of  adaptive  behavior,  in  that  the
  281.      intelligent  organism  must  anticipate  events  in  order  to  adapt
  282.      behavior in light of a goal).
  283.  
  284.      In  1992, the First Annual Conference on evolutionary programming was
  285.      held in La Jolla, CA.  Further conferences have  been  held  annually
  286.      (See  Q12).   The  conferences  attract  a diverse group of academic,
  287.      commercial and military researchers engaged in  both  developing  the
  288.      theory  of  the  EP  technique  and in applying EP to a wide range of
  289.      optimization problems, both in engineering and biology.
  290.  
  291.      Rather  than  list  and  analyze  the  sources  in  detail,   several
  292.      fundamental  sources  are  listed  below  which  should serve as good
  293.      pointers to the entire body of work in the field.
  294.  
  295.   The Process
  296.      For EP, like GAs, there is an underlying assumption  that  a  fitness
  297.      landscape  can be characterized in terms of variables, and that there
  298.      is an optimum solution (or multiple such optima) in  terms  of  those
  299.      variables.  For example, if one were trying to find the shortest path
  300.      in a Traveling Salesman Problem, each solution would be a path.   The
  301.      length  of the path could be expressed as a number, which would serve
  302.      as the solution's fitness.  The fitness landscape  for  this  problem
  303.      could  be  characterized  as  a hypersurface proportional to the path
  304.      lengths in a space of possible paths.  The goal would be to find  the
  305.      globally  shortest  path  in that space, or more practically, to find
  306.      very short tours very quickly.
  307.  
  308.      The basic EP method involves 3 steps (Repeat until  a  threshold  for
  309.      iteration is exceeded or an adequate solution is obtained):
  310.  
  311.      (1)  Choose  an  initial POPULATION of trial solutions at random. The
  312.       number of solutions in a population is highly  relevant  to  the
  313.       speed  of optimization, but no definite answers are available as
  314.       to how many solutions are appropriate (other than  >1)  and  how
  315.       many solutions are just wasteful.
  316.  
  317.      (2)  Each  solution  is  replicated  into  a new population.  Each of
  318.       these  offspring  solutions   are   mutated   according   to   a
  319.       distribution  of  MUTATION  types, ranging from minor to extreme
  320.       with a continuum of mutation types  between.   The  severity  of
  321.       mutation is judged on the basis of the functional change imposed
  322.       on the parents.
  323.  
  324.      (3)  Each offspring solution is assessed by  computing  its  fitness.
  325.       Typically,  a  stochastic  tournament  is  held  to  determine N
  326.       solutions to  be  retained  for  the  population  of  solutions,
  327.       although   this  is  occasionally  performed  deterministically.
  328.       There is  no  requirement  that  the  population  size  be  held
  329.       constant, however, nor that only a single offspring be generated
  330.       from each parent.
  331.  
  332.      It should be pointed out that EP typically does not use any CROSSOVER
  333.      as a genetic operator.
  334.  
  335.   EP and GAs
  336.      There are two important ways in which EP differs from GAs.
  337.  
  338.      First,  there is no constraint on the representation.  The typical GA
  339.      approach involves encoding the  problem  solutions  as  a  string  of
  340.      representative tokens, the GENOME.  In EP, the representation follows
  341.      from the problem.  A neural network can be represented  in  the  same
  342.      manner  as  it  is  implemented,  for  example,  because the mutation
  343.      operation does not demand a linear encoding.  (In this  case,  for  a
  344.      fixed topology, real- valued weights could be coded directly as their
  345.      real values and mutation operates by perturbing a weight vector  with
  346.      a   zero  mean  multivariate  Gaussian  perturbation.   For  variable
  347.      topologies, the architecture is also perturbed, often  using  Poisson
  348.      distributed additions and deletions.)
  349.  
  350.      Second, the mutation operation simply changes aspects of the solution
  351.      according  to  a  statistical  distribution   which   weights   minor
  352.      variations  in  the  behavior of the offspring as highly probable and
  353.      substantial  variations  as  increasingly  unlikely.   Further,   the
  354.      severity  of  mutations  is  often  reduced  as the global optimum is
  355.      approached.  There is a certain tautology here: if the global optimum
  356.      is not already known, how can the spread of the mutation operation be
  357.      damped as the solutions approach it?  Several  techniques  have  been
  358.      proposed  and  implemented  which  address  this difficulty, the most
  359.      widely studied being the "Meta-Evolutionary" technique in  which  the
  360.      variance  of  the  mutation  distribution is subject to mutation by a
  361.      fixed variance mutation operator and evolves along with the solution.
  362.  
  363.   EP and ES
  364.      The  first  communication  between  the  evolutionary programming and
  365.      EVOLUTION STRATEGY groups occurred in early 1992, just prior  to  the
  366.      first  annual  EP  conference.  Despite their independent development
  367.      over 30 years, they share many  similarities.   When  implemented  to
  368.      solve  real-valued  function  optimization  problems,  both typically
  369.      operate on the real values themselves (rather than any coding of  the
  370.      real values as is often done in GAs). Multivariate zero mean Gaussian
  371.      mutations are applied to each parent in a population and a  SELECTION
  372.      mechanism  is  applied  to determine which solutions to remove (i.e.,
  373.      "cull") from the population.  The similarities extend to the  use  of
  374.      self-adaptive  methods  for  determining the appropriate mutations to
  375.      use -- methods in which each parent  carries  not  only  a  potential
  376.      solution  to the problem at hand, but also information on how it will
  377.      distribute new trials (offspring). Most of the theoretical results on
  378.      convergence  (both  asymptotic  and  velocity) developed for ES or EP
  379.      also apply directly to the other.
  380.  
  381.      The main differences between ES and EP are:
  382.  
  383.      1.   Selection:  EP  typically  uses  stochastic  selection   via   a
  384.       tournament.    Each  trial  solution  in  the  population  faces
  385.       competition  against  a  preselected  number  of  opponents  and
  386.       receives  a  "win"  if it is at least as good as its opponent in
  387.       each encounter.  Selection then eliminates those solutions  with
  388.       the  least  wins.   In contrast, ES typically uses deterministic
  389.       selection in which the  worst  solutions  are  purged  from  the
  390.       population based directly on their function evaluation.
  391.  
  392.      2.   RECOMBINATION: EP is an abstraction of EVOLUTION at the level of
  393.       reproductive   populations   (i.e.,   SPECIES)   and   thus   no
  394.       recombination    mechanisms    are    typically   used   because
  395.       recombination does not occur between species (by definition: see
  396.       Mayr's  biological  species  concept).   In  contrast,  ES is an
  397.       abstraction of evolution at the level  of  INDIVIDUAL  behavior.
  398.       When  self-adaptive  information  is incorporated this is purely
  399.       genetic information (as opposed to  phenotypic)  and  thus  some
  400.       forms   of  recombination  are  reasonable  and  many  forms  of
  401.       recombination have  been  implemented  within  ES.   Again,  the
  402.       effectiveness  of such operators depends on the problem at hand.
  403.  
  404.   References
  405.      Some references which provide an excellent introduction (by no  means
  406.      extensive) to the field, include:
  407.  
  408.      Artificial   Intelligence   Through   Simulated  Evolution  [Fogel66]
  409.      (primary)
  410.  
  411.      Fogel DB (1995) "Evolutionary Computation: Toward a New Philosophy of
  412.      Machine Intelligence," IEEE Press, Piscataway, NJ.
  413.  
  414.      Proceeding of the first [EP92], second [EP93] and third [EP94] Annual
  415.      Conference on Evolutionary Programming (primary) (See Q12).
  416.  
  417.  PSEUDO CODE
  418.      Algorithm EP is
  419.  
  420.       // start with an initial time
  421.       t := 0;
  422.  
  423.       // initialize a usually random population of individuals
  424.       initpopulation P (t);
  425.  
  426.       // evaluate fitness of all initial individuals of population
  427.       evaluate P (t);
  428.  
  429.       // test for termination criterion (time, fitness, etc.)
  430.       while not done do
  431.  
  432.            // perturb the whole population stochastically
  433.            P'(t) := mutate P (t);
  434.  
  435.            // evaluate its new fitness
  436.            evaluate P' (t);
  437.  
  438.            // stochastically select the survivors from actual fitness
  439.            P(t+1) := survive P(t),P'(t);
  440.  
  441.            // increase the time counter
  442.            t := t + 1;
  443.  
  444.       od
  445.      end EP.
  446.  
  447.      [Eds note: An extended version of this introduction is available from
  448.      ENCORE (see Q15.3) in /FAQ/supplements/what-is-ep ]
  449.  
  450. ------------------------------
  451.  
  452. Subject: Q1.3: What's an Evolution Strategy (ES)?
  453.  
  454.      In  1963 two students at the Technical University of Berlin (TUB) met
  455.      and were soon to collaborate  on  experiments  which  used  the  wind
  456.      tunnel  of  the Institute of Flow Engineering.  During the search for
  457.      the optimal shapes of bodies in a flow, which was then  a  matter  of
  458.      laborious  intuitive  experimentation,  the  idea  was  conceived  of
  459.      proceeding strategically.  However, attempts with the coordinate  and
  460.      simple  gradient  strategies  (cf Q5) were unsuccessful.  Then one of
  461.      the  students,  Ingo  Rechenberg,  now  Professor  of   Bionics   and
  462.      Evolutionary  Engineering, hit upon the idea of trying random changes
  463.      in the parameters  defining  the  shape,  following  the  example  of
  464.      natural  MUTATIONs.   The  EVOLUTION  STRATEGY  was  born.   A  third
  465.      student, Peter Bienert, joined them and started the  construction  of
  466.      an  automatic  experimenter, which would work according to the simple
  467.      rules of mutation  and  SELECTION.   The  second  student,  Hans-Paul
  468.      Schwefel,  set  about  testing the efficiency of the new methods with
  469.      the help of a Zuse Z23 computer; for there were plenty of  objections
  470.      to these "random strategies."
  471.  
  472.      In spite of an occasional lack of financial support, the Evolutionary
  473.      Engineering Group which had been formed held  firmly  together.  Ingo
  474.      Rechenberg  received  his  doctorate  in  1970  (Rechenberg  73).  It
  475.      contains the theory of the two  membered  EVOLUTION  strategy  and  a
  476.      first proposal for a multimembered strategy which in the nomenclature
  477.      introduced here is of the (m+1) type.   In the  same  year  financial
  478.      support  from  the  Deutsche  Forschungsgemeinschaft  (DFG, Germany's
  479.      National Science Foundation) enabled the work, that was concluded, at
  480.      least  temporarily,  in 1974 with the thesis "Evolutionsstrategie und
  481.      numerische Optimierung" (Schwefel 77).
  482.  
  483.      Thus,  EVOLUTION  STRATEGIEs  were  invented   to   solve   technical
  484.      OPTIMIZATION  problems  (TOPs)  like  e.g.  constructing  an  optimal
  485.      flashing nozzle, and until recently  ES  were  only  known  to  civil
  486.      engineering  folks, as an alternative to standard solutions.  Usually
  487.      no closed form analytical objective function is  available  for  TOPs
  488.      and   hence,  no  applicable  optimization  method  exists,  but  the
  489.      engineer's intuition.
  490.  
  491.      The first attempts to imitate principles of organic  evolution  on  a
  492.      computer  still resembled the iterative optimization methods known up
  493.      to that time (cf Q5):  In a two-membered  or  (1+1)  ES,  one  PARENT
  494.      generates   one   OFFSPRING   per  GENERATION  by  applying  NORMALLY
  495.      DISTRIBUTED mutations, i.e. smaller steps occur more likely than  big
  496.      ones,  until  a child performs better than its ancestor and takes its
  497.      place. Because of this  simple  structure,  theoretical  results  for
  498.      STEPSIZE control and CONVERGENCE VELOCITY could be derived. The ratio
  499.      between successful and all mutations should  come  to  1/5:  the  so-
  500.      called  1/5  SUCCESS RULE was discovered. This first algorithm, using
  501.      mutation only, has then been  enhanced  to  a  (m+1)  strategy  which
  502.      incorporated  RECOMBINATION  due  to  several,  i.e.  m parents being
  503.      available. The mutation scheme and  the  exogenous  stepsize  control
  504.      were taken across unchanged from  (1+1) ESs.
  505.  
  506.      Schwefel  later  generalized these strategies to the multimembered ES
  507.      now denoted by (m+l) and (m,l) which  imitates  the  following  basic
  508.      principles  of  organic  evolution:  a  POPULATION,  leading  to  the
  509.      possibility  of  recombination  with  random  mating,  mutation   and
  510.      selection.  These  strategies  are  termed  PLUS  STRATEGY  and COMMA
  511.      STRATEGY, respectively: in the plus case, the parental generation  is
  512.      taken into account during selection, while in the comma case only the
  513.      offspring undergoes selection, and the parents die off. m (usually  a
  514.      lowercase mu, denotes the population size, and l, usually a lowercase
  515.      lambda denotes the number of offspring generated per generation).  Or
  516.      to  put  it  in  an  utterly  insignificant  and  hopelessly outdated
  517.      language:
  518.  
  519.       (define (Evolution-strategy population)
  520.         (if (terminate? population)
  521.           population
  522.           (evolution-strategy
  523.         (select
  524.           (cond (plus-strategy?
  525.               (union (mutate
  526.                    (recombine population))
  527.                  population))
  528.             (comma-strategy?
  529.               (mutate
  530.                 (recombine population))))))))
  531.  
  532.      However, dealing with ES is sometimes seen as "strong  tobacco,"  for
  533.      it takes a decent amount of probability theory and applied STATISTICS
  534.      to understand the inner workings of an ES, while it navigates through
  535.      the  hyperspace  of  the  usually  n-dimensional  problem  space,  by
  536.      throwing hyperelipses into the deep...
  537.  
  538.      Luckily, this medium doesn't allow for  much  mathematical  ballyhoo;
  539.      the  author  therefore  has  to come up with a simple but brilliantly
  540.      intriguing explanation to save the reader from falling asleep  during
  541.      the rest of this section, so here we go:
  542.  
  543.      Imagine a black box. A large black box. As large as, say for example,
  544.      a Coca-Cola vending machine. Now, [..] (to be continued)
  545.  
  546.      A single INDIVIDUAL of the ES' population consists of  the  following
  547.      GENOTYPE representing a point in the SEARCH SPACE:
  548.  
  549.      OBJECT VARIABLES
  550.       Real-valued  x_i  have to be tuned by recombination and mutation
  551.       such that an objective  function  reaches  its  global  optimum.
  552.       Referring   to   the  metaphor  mentioned  previously,  the  x_i
  553.       represent the regulators of the alien Coka-Cola vending machine.
  554.  
  555.      STRATEGY VARIABLEs
  556.       Real-valued  s_i  (usually denoted by a lowercase sigma) or mean
  557.       stepsizes determine the mutability of the  x_i.  They  represent
  558.       the STANDARD DEVIATION of a  (0, s_i) GAUSSIAN DISTRIBUTION (GD)
  559.       being added to each x_i as  an  undirected  mutation.   With  an
  560.       "expectancy  value"  of  0  the  parents  will produce offspring
  561.       similar to themselves on  average.  In order to make a  doubling
  562.       and  a  halving  of  a stepsize equally probable, the s_i mutate
  563.       log-normally, distributed,  i.e.  exp(GD),  from  generation  to
  564.       generation.    These  stepsizes  hide  the  internal  model  the
  565.       population has made of its ENVIRONMENT, i.e.  a  SELF-ADAPTATION
  566.       of the stepsizes has replaced the exogenous control of the (1+1)
  567.       ES.
  568.  
  569.       This concept works because selection  sooner  or  later  prefers
  570.       those  individuals  having  built  a good model of the objective
  571.       function, thus producing better offspring. Hence, learning takes
  572.       place  on  two levels: (1) at the genotypic, i.e. the object and
  573.       strategy variable level and (2) at the  phenotypic  level,  i.e.
  574.       the FITNESS level.
  575.  
  576.       Depending  on  an  individual's  x_i,  the  resulting  objective
  577.       function value f(x), where x denotes  the  vector  of  objective
  578.       variables,  serves  as  the PHENOTYPE (fitness) in the selection
  579.       step. In a plus strategy, the m best of  all  (m+l)  individuals
  580.       survive to become the parents of the next generation.  Using the
  581.       comma variant, selection takes place only among the l offspring.
  582.       The   second   scheme  is  more  realistic  and  therefore  more
  583.       successful, because no individual  may  survive  forever,  which
  584.       could  at  least  theoretically  occur  using  the plus variant.
  585.       Untypical for conventional optimization algorithms and lavish at
  586.       first    sight,   a   comma   strategy   allowing   intermediate
  587.       deterioration performs better! Only  by  forgetting  highly  fit
  588.       individuals  can  a  permanent  adaptation of the stepsizes take
  589.       place and avoid long stagnation phases due to misadapted  s_i's.
  590.       This  means  that these individuals have built an internal model
  591.       that is no longer appropriate for  further  progress,  and  thus
  592.       should better be discarded.
  593.  
  594.       By   choosing  a  certain  ratio  m/l,  one  can  determine  the
  595.       convergence property of the evolution strategy: If one  wants  a
  596.       fast,  but  local  convergence,  one  should choose a small HARD
  597.       SELECTION, ratio, e.g.  (5,100),  but  looking  for  the  global
  598.       optimum, one should favour  a softer selection (15,100).
  599.  
  600.       Self-adaptation  within  ESs  depends  on  the  following agents
  601.       (Schwefel 87):
  602.  
  603.      Randomness: One cannot model mutation
  604.       as a purely random process. This would  mean  that  a  child  is
  605.       completely independent of its parents.
  606.  
  607.      Population size: The population has to be sufficiently large. Not
  608.       only
  609.       the current best should be allowed to reproduce, but  a  set  of
  610.       good  individuals.   Biologists  have coined the term "requisite
  611.       variety" to mean the genetic  variety  necessary  to  prevent  a
  612.       SPECIES   from   becoming  poorer  and  poorer  genetically  and
  613.       eventually dying out.
  614.  
  615.      COOPERATION:
  616.       In order to exploit the effects of a population  (m  >  1),  the
  617.       individuals should recombine their knowledge with that of others
  618.       (cooperate)  because  one  cannot  expect   the   knowledge   to
  619.       accumulate in the best individual only.
  620.      Deterioration: In order to allow better internal models (stepsizes)
  621.       to  provide  better  progress  in  the future, one should accept
  622.       deterioration from one generation to the next. A  limited  life-
  623.       span  in nature is not a sign of failure, but an important means
  624.       of preventing a species from freezing genetically.
  625.  
  626.       ESs prove to be successful  when  compared  to  other  iterative
  627.       methods  on a large number of test problems (Schwefel 77).  They
  628.       are adaptable to nearly all sorts of problems  in  optimization,
  629.       because  they  need  very  little information about the problem,
  630.       especially no derivatives of the objective function. For a  list
  631.       of  some  300  applications  of EAs, see the SyS-2/92 report (cf
  632.       Q14).  ESs are capable of solving high dimensional,  multimodal,
  633.       nonlinear   problems   subject   to   linear   and/or  nonlinear
  634.       constraints.  The objective  function  can  also,  e.g.  be  the
  635.       result of a SIMULATION, it does not have to be given in a closed
  636.       form.  This also holds for the constraints which  may  represent
  637.       the  outcome  of, e.g. a finite elements method (FEM).  ESs have
  638.       been adapted to VECTOR OPTIMIZATION problems (Kursawe  92),  and
  639.       they can also serve as a heuristic for NP-complete combinatorial
  640.       problems like the TRAVELLING SALESMAN PROBLEM or problems with a
  641.       noisy or changing response surface.
  642.  
  643.       References
  644.  
  645.       Kursawe,   F.   (1992)   "   Evolution   strategies  for  vector
  646.       optimization", Taipei, National Chiao Tung University,  187-193.
  647.  
  648.       Kursawe,  F.  (1994)  "  Evolution  strategies: Simple models of
  649.       natural processes?", Revue Internationale de Systemique,  France
  650.       (to appear).
  651.  
  652.       Rechenberg,    I.   (1973)   "Evolutionsstrategie:   Optimierung
  653.       technischer Systeme nach Prinzipien der biologischen Evolution",
  654.       Stuttgart: Fromman-Holzboog.
  655.  
  656.       Schwefel,    H.-P.    (1977)    "Numerische    Optimierung   von
  657.       Computermodellen  mittels   der   Evolutionsstrategie",   Basel:
  658.       Birkhaeuser.
  659.  
  660.       Schwefel,  H.-P.  (1987)  "Collective Phaenomena in Evolutionary
  661.       Systems", 31st Annu.  Meet.  Inter'l  Soc.  for  General  System
  662.       Research, Budapest, 1025-1033.
  663.  
  664. ------------------------------
  665.  
  666. Subject: Q1.4: What's a Classifier System (CFS)?
  667.  
  668.  The name of the Game
  669.      First,  a word on naming conventions is due, for no other paradigm of
  670.      EC has undergone more changes  to  its  name  space  than  this  one.
  671.      Initially,  Holland  called his cognitive models "Classifier Systems"
  672.      abbrv. with CS, and sometimes CFS, as can be found in [GOLD89].
  673.  
  674.      Whence Riolo came into play in 1986 and Holland added a reinforcement
  675.      component to the overall design of a CFS, that emphasized its ability
  676.      to learn. So, the word "learning" was prepended to the name, to make:
  677.      "Learning  Classifier Systems" (abbrv. to LCS).  On October 6-9, 1992
  678.      the "1st Inter'l Workshop on Learning Classifier Systems" took  place
  679.      at  the  NASA  Johnson  Space Center, Houston, TX.  A summary of this
  680.      "summit" of all leading researchers in LCS can  be  found  on  ENCORE
  681.      (See Q15.3) in file CFS/papers/lcs92.ps.gz
  682.  
  683.      Today, the story continues, LCSs are sometimes subsumed under a "new"
  684.      machine  learning   paradigm   called   "Evolutionary   Reinforcement
  685.      Learning" or ERL for short, incorporating LCSs, "Q-Learning", devised
  686.      by Watkins (1989), and a paradigm of the same name, devised by Ackley
  687.      and Littman [ALIFEIII].
  688.  
  689.      And  then,  this  latter  statement  is really somewhat confusing, as
  690.      Marco Dorigo has pointed out in a letter to editors  of  this  guide,
  691.      since  Q-Learning  has  no  evolutionary component. So please let the
  692.      Senior Editor explain: When I wrote this part of the  guide,  I  just
  693.      had  in mind that Q-Learning would make for a pretty good replacement
  694.      of  Holland's  bucket-brigade  algorithm,  so  I  used   this   litte
  695.      speculation to see what comes out of it; in early December 95, almost
  696.      two years  later,  it  has  finally  caught  Marco's  attention.  But
  697.      meanwhile,  I  have been proven right: Wilson has suggested to use Q-
  698.      Learning in CLASSIFIER SYSTEM (Wilson  1994)  and  Dorigo  &  Bersini
  699.      (1994)  have  shown  that Q-Learning and the bucket-brigade are truly
  700.      equivalent concepts.
  701.  
  702.      We would therefore be allowed to call a CFS that uses Q-Learning  for
  703.      rule  discovery,  rather than a bucket-brigade, a Q-CFS, Q-LCS, or Q-
  704.      CS; in any case would the result be subsumed under the term ERL, even
  705.      if Q-Learning itself is not an EVOLUTIONARY ALGORITHM!
  706.  
  707.      Interestingly,  Wilson  called  his  system  ZCS  (apparantly  no "Q"
  708.      inside), while Dorigo & Bersini called their system a D-Max-VSCS,  or
  709.      "discounted  max  very  simple classifier system" (and if you know Q-
  710.      Learning at least the D-Max part of the name will remind you of  that
  711.      algorithm).   The  latter paper can be found on Encore (see Q15.3) in
  712.      file CFS/papers/sab94.ps.gz
  713.  
  714.      And by the way in [HOLLAND95] the term  "classifier  system"  is  not
  715.      used  anymore.  You cannot find it in the index. Its a gone!  Holland
  716.      now stresses the adaptive component  of  his  invention,  and  simply
  717.      calls  the  resulting systems adaptive agents.  These agents are then
  718.      implemented within the framework of his recent invention called ECHO.
  719.      (See http://www.santafe.edu/projects/echo for more.)
  720.  
  721.      Alwyn  Barry's  LCS  Web has a great deal of information on LCS. See:
  722.      http://www.csm.uwe.ac.uk/~ambarry/LCSWEB/
  723.  
  724.  On Schema Processors and ANIMATS
  725.      So, to get back to the question above, "What  are  CFSs?",  we  first
  726.      might  answer,  "Well,  there  are  many interpretations of Holland's
  727.      ideas...what do you like to know in particular?"  And then we'd start
  728.      with  a recitation from [HOLLAND75], [HOLLAND92], and explain all the
  729.      SCHEMA processors, the broadcast language, etc.  But, we will take  a
  730.      more  comprehensive,  and intuitive way to understand what CLASSIFIER
  731.      SYSTEMs are all about.
  732.  
  733.      The easiest road to explore the very nature of classifier systems, is
  734.      to take the animat (ANIMAl + ROBOT = ANIMAT) "lane" devised by Booker
  735.      (1982) and later studied  extensively  by  Wilson  (1985),  who  also
  736.      coined  the  term for this approach. Work continues on animats but is
  737.      often  regarded  as  ARTIFICIAL   LIFE   rather   than   EVOLUTIONARY
  738.      COMPUTATION.   This  thread  of  research has even its own conference
  739.      series: "Simulation of Adaptive Behavior (SAB)" (cf  Q12),  including
  740.      other   notions   from   machine  learning,  connectionist  learning,
  741.      evolutionary robotics, etc.  [NB: the latter is obvious, if an animat
  742.      lives  in  a  digital microcosm, it can be put into the real world by
  743.      implantation   into   an   autonomous   robot   vehicle,   that   has
  744.      sensors/detectors   (camera   eyes,  whiskers,  etc.)  and  effectors
  745.      (wheels, robot arms, etc.); so  all  that's  needed  is  to  use  our
  746.      algorithm  as  the  "brain"  of this vehicle, connecting the hardware
  747.      parts with the software learning component.  For a fascinating  intro
  748.      to the field see, e.g. Braitenberg (1984)]
  749.  
  750.      classifier  systems,  however,  are  yet  another  offspring  of John
  751.      Holland's aforementioned book, and can be seen as one  of  the  early
  752.      applications  of  GAs,  for  CFSs  use this EVOLUTIONARY ALGORITHM to
  753.      adapt their behavior toward a changing ENVIRONMENT, as  is  explained
  754.      below in greater detail.
  755.  
  756.      Holland  envisioned  a  cognitive  system  capable of classifying the
  757.      goings on in its environment, and then reacting to  these  goings  on
  758.      appropriately.  So  what is needed to build such a system? Obviously,
  759.      we need (1) an environment; (2) receptors that tell our system  about
  760.      the  goings  on;  (3)  effectors,  that let our system manipulate its
  761.      environment; and (4) the system itself, conveniently a "black box" in
  762.      this first approach, that has (2) and (3) attached to it, and "lives"
  763.      in (1).
  764.  
  765.      In the animat  approach,  (1)  usually  is  an  artificially  created
  766.      digital  world,  e.g.  in Booker's Gofer system, a 2 dimensional grid
  767.      that contains "food" and "poison".  And the Gofer itself, that  walks
  768.      across  this grid and tries (a) to learn to distinguish between these
  769.      two items, and (b) survive well fed.
  770.  
  771.      Much the same for Wilson's animat,  called  "*".  Yes,  its  just  an
  772.      asterisk,  and a "Kafka-esque naming policy" is one of the sign posts
  773.      of the whole field; e.g. the  first  implementation  by  Holland  and
  774.      Reitmann  1978  was  called CS-1, (cognitive system 1); Smith's Poker
  775.      player LS-1 (1980)  followed  this  "convention".  Riolo's  1988  LCS
  776.      implementations  on  top  of  his CFS-C library (cf Q20), were dubbed
  777.      FSW-1 (Finite State World 1), and LETSEQ-1 (LETter SEQuence predictor
  778.      1).
  779.  
  780.      So  from  the  latter  paragraph we can conclude that environment can
  781.      also mean something completely different (e.g. an infinite stream  of
  782.      letters,  time  serieses,  etc.)  than  in  the  animat approach, but
  783.      anyway; we'll stick to it, and go on.
  784.  
  785.      Imagine a very simple animat, e.g. a  simplified  model  of  a  frog.
  786.      Now,  we  know  that  frogs  live  in (a) Muppet Shows, or (b) little
  787.      ponds; so we chose the latter as our demo environment  (1);  and  the
  788.      former  for  a  non-Kafka-esque  name  of  our model, so let's dub it
  789.      "Kermit".
  790.  
  791.      Kermit has eyes, i.e. sensorial input detectors (2); hands and  legs,
  792.      i.e.    environment-manipulating   effectors  (3);  is  a  spicy-fly-
  793.      detecting-and-eating device, i.e. a frog (4); so we  got  all  the  4
  794.      pieces needed.
  795.  
  796.  Inside the Black Box
  797.      The most primitive "black box" we can think of is a computer.  It has
  798.      inputs (2), and outputs (3), and a message passing system  inbetween,
  799.      that  converts  (i.e.,  computes), certain input messages into output
  800.      messages, according to a set of rules, usually called  the  "program"
  801.      of that computer.  From the theory of computer science, we now borrow
  802.      the simplest of all program  structures,  that  is  something  called
  803.      "production  system"  or  PS  for  short.   A PS has been shown to be
  804.      computationally complete by Post (1943), that's why it  is  sometimes
  805.      called  a  "Post  System",  and  later by Minsky (1967).  Although it
  806.      merely consists of a set of if-then rules, it still resembles a full-
  807.      fledged computer.
  808.  
  809.      We  now  term  a  single  "if-then" rule a "classifier", and choose a
  810.      representation that makes it easy to manipulate these, for example by
  811.      encoding  them  into  binary  strings.   We  then  term  the  set  of
  812.      classifiers, a "classifier population", and immediately know  how  to
  813.      breed  new  rules  for  our  system:  just  use  a GA to generate new
  814.      rules/classifiers from the current POPULATION!
  815.  
  816.      All that's left are the messages  floating  through  the  black  box.
  817.      They  should also be simple strings of zeroes and ones, and are to be
  818.      kept in a data structure, we call "the message list".
  819.  
  820.      With all this given, we can imagine the goings on  inside  the  black
  821.      box as follows: The input interface (2) generates messages, i.e., 0/1
  822.      strings, that are written on the message list.  Then  these  messages
  823.      are  matched  against  the condition-part of all classifiers, to find
  824.      out which actions are to be triggered.   The  message  list  is  then
  825.      emptied,  and  the  encoded  actions,  themselves  just messages, are
  826.      posted to the message list.  Then, the output  interface  (3)  checks
  827.      the message list for messages concerning the effectors. And the cycle
  828.      restarts.
  829.  
  830.      Note, that it is possible in this set-up to have "internal messages",
  831.      because  the message list is not emptied after (3) has checked; thus,
  832.      the input interface messages are added to the initially  empty  list.
  833.      (cf Algorithm CFS, LCS below)
  834.  
  835.      The  general  idea  of  the  CFS is to start from scratch, i.e., from
  836.      tabula rasa  (without  any  knowledge)  using  a  randomly  generated
  837.      classifier  population,  and  let  the  system  learn  its program by
  838.      induction, (cf Holland et al. 1986), this reduces the input stream to
  839.      recurrent  input patterns, that must be repeated over and over again,
  840.      to enable the animat to classify its  current  situation/context  and
  841.      react on the goings on appropriately.
  842.  
  843.  What does it need to be a frog?
  844.      Let's  take a look at the behavior emitted by Kermit. It lives in its
  845.      digital microwilderness where it moves around  randomly.   [NB:  This
  846.      seemingly  "random"  behavior  is not that random at all; for more on
  847.      instinctive, i.e., innate behavior  of  non-artificial  animals  see,
  848.      e.g.  Tinbergen (1951)]
  849.  
  850.      Whenever  a  small flying object appears, that has no stripes, Kermit
  851.      should eat it, because its very likely a spicy fly, or  other  flying
  852.      insect.   If it has stripes, the insect is better left alone, because
  853.      Kermit had better not bother with wasps, hornets, or bees.  If Kermit
  854.      encounters a large, looming object, it immediately uses its effectors
  855.      to jump away, as far as possible.
  856.  
  857.      So, part of these behavior patterns within the "pond  world",  in  AI
  858.      sometimes called a "frame," from traditional knowledge representation
  859.      techniques, Rich (1983), can be expressed in a set of "if <condition>
  860.      then <action>" rules, as follows:
  861.  
  862.       IF small, flying object to the left THEN send @
  863.       IF small, flying object to the right THEN send %
  864.       IF small, flying object centered THEN send $
  865.       IF large, looming object THEN send !
  866.       IF no large, looming object THEN send *
  867.       IF * and @ THEN move head 15 degrees left
  868.       IF * and % THEN move head 15 degrees right
  869.       IF * and $ THEN move in direction head pointing
  870.       IF ! THEN move rapidly away from direction head pointing
  871.  
  872.      Now,  this set of rules has to be encoded for use within a CLASSIFIER
  873.      SYSTEM.  A possible encoding of the above rule set in  CFS-C  (Riolo)
  874.      classifier   terminology.   The   condition   part  consists  of  two
  875.      conditions, that are combined with a logical AND, thus  must  be  met
  876.      both  to  trigger  the  associated action. This structure needs a NOT
  877.      operation, (so we get NAND, and know from hardware  design,  that  we
  878.      can  build  any computer solely with NANDs), in CFS-C this is denoted
  879.      by the `~' prefix character (rule #5).
  880.  
  881.       IF             THEN
  882.        0000,  00 00  00 00
  883.        0000,  00 01  00 01
  884.        0000,  00 10  00 10
  885.        1111,  01 ##  11 11
  886.       ~1111,  01 ##  10 00
  887.        1000,  00 00  01 00
  888.        1000,  00 01  01 01
  889.        1000,  00 10  01 10
  890.        1111,  ## ##  01 11
  891.      Obviously, string `0000' denotes small, and `00' in the fist part  of
  892.      the  second  column,  denotes flying.  The last two bits of column #2
  893.      encode the direction of the  object  approaching,  where  `00'  means
  894.      left, `01' means right, etc.
  895.  
  896.      In  rule  #4  a the "don't care symbol" `#' is used, that matches `1'
  897.      and `0',  i.e.,  the  position  of  the  large,  looming  object,  is
  898.      completely   arbitrary.   A  simple  fact,  that  can  save  Kermit's
  899.      (artificial) life.
  900.  
  901.  PSEUDO CODE (Non-Learning CFS)
  902.      Algorithm CFS is
  903.  
  904.       // start with an initial time
  905.       t := 0;
  906.  
  907.       // an initially empty message list
  908.       initMessageList ML (t);
  909.  
  910.       // and a randomly generated population of classifiers
  911.       initClassifierPopulation P (t);
  912.  
  913.       // test for cycle termination criterion (time, fitness, etc.)
  914.       while not done do
  915.  
  916.            // increase the time counter
  917.            t := t + 1;
  918.  
  919.            // 1. detectors check whether input messages are present
  920.            ML := readDetectors (t);
  921.  
  922.            // 2. compare ML to the classifiers and save matches
  923.            ML' := matchClassifiers ML,P (t);
  924.  
  925.            // 3. process new messages through output interface
  926.            ML := sendEffectors ML' (t);
  927.       od
  928.      end CFS.
  929.  
  930.      To convert the previous, non-learning CFS into a learning  CLASSIFIER
  931.      SYSTEM,  LCS,  as  has  been proposed in Holland (1986), it takes two
  932.      steps:
  933.  
  934.      (1)   the major cycle has to be changed such that the  activation  of
  935.        each  classifier depends on some additional parameter, that can
  936.        be modified as a result of experience, i.e. reinforcement  from
  937.        the ENVIRONMENT;
  938.  
  939.      (2)   and/or  change  the  contents  of  the  classifier  list, i.e.,
  940.        generate  new  classifiers/rules,  by  removing,   adding,   or
  941.        combining condition/action-parts of existing classifiers.
  942.  
  943.      The algorithm thus changes accordingly:
  944.  
  945.  PSEUDO CODE (Learning CFS)
  946.      Algorithm LCS is
  947.  
  948.       // start with an initial time
  949.       t := 0;
  950.  
  951.       // an initially empty message list
  952.       initMessageList ML (t);
  953.  
  954.       // and a randomly generated population of classifiers
  955.       initClassifierPopulation P (t);
  956.  
  957.       // test for cycle termination criterion (time, fitness, etc.)
  958.       while not done do
  959.  
  960.            // increase the time counter
  961.            t := t + 1;
  962.  
  963.            // 1. detectors check whether input messages are present
  964.            ML := readDetectors (t);
  965.  
  966.            // 2. compare ML to the classifiers and save matches
  967.            ML' := matchClassifiers ML,P (t);
  968.  
  969.            // 3. highest bidding classifier(s) collected in ML' wins the
  970.            // "race" and post the(ir) message(s)
  971.            ML' := selectMatchingClassifiers ML',P (t);
  972.  
  973.            // 4. tax bidding classifiers, reduce their strength
  974.            ML' := taxPostingClassifiers ML',P (t);
  975.  
  976.            // 5. effectors check new message list for output msgs
  977.            ML := sendEffectors ML' (t);
  978.  
  979.            // 6. receive payoff from environment (REINFORCEMENT)
  980.            C := receivePayoff (t);
  981.  
  982.            // 7. distribute payoff/credit to classifiers (e.g. BBA)
  983.            P' := distributeCredit C,P (t);
  984.  
  985.            // 8. Eventually (depending on t), an EA (usually a GA) is
  986.            // applied to the classifier population
  987.            if criterion then
  988.             P := generateNewRules P' (t);
  989.            else
  990.             P := P'
  991.       od
  992.      end LCS.
  993.  
  994.  What's the problem with CFSs?
  995.      Just  to list the currently known problems that come with CFSs, would
  996.      take some additional pages; therefore only  some  interesting  papers
  997.      dealing  with  unresolved riddles are listed; probably the best paper
  998.      containing most of these is the aforementioned  summary  of  the  LCS
  999.      Workshop:
  1000.  
  1001.      Smith,  R.E.  (1992) "A report on the first Inter'l Workshop on LCSs"
  1002.      avail. from ENCORE (See Q15.3) in file CFS/papers/lcs92.ps.gz
  1003.  
  1004.      Other noteworthy critiques on LCSs include:
  1005.  
  1006.      Wilson, S.W. (1987)  "Classifier  Systems  and  the  Animat  Problem"
  1007.      Machine Learning, 2.
  1008.  
  1009.      Wilson,  S.W.  (1988)  "Bid Competition and Specificity Reconsidered"
  1010.      Complex Systems, 2(5):705-723.
  1011.  
  1012.      Wilson, S.W. & Goldberg, D.E. (1989) "A critical review of classifier
  1013.      systems" [ICGA89], 244-255.
  1014.  
  1015.      Goldberg,  D.E., Horn, J. & Deb, K. (1992) "What makes a problem hard
  1016.      for a classifier system?"  (containing the Goldberg  citation  below)
  1017.      is    also    available    from    Encore   (See   Q15.3)   in   file
  1018.      CFS/papers/lcs92-2.ps.gz
  1019.  
  1020.      Dorigo, M. (1993) "Genetic  and  Non-genetic  Operators  in  ALECSYS"
  1021.      Evolutionary  Computation,  1(2):151-164.   The technical report, the
  1022.      journal article is based on is avail. from Encore (See Q15.3) in file
  1023.      CFS/papers/icsi92.ps.gz
  1024.  
  1025.      Smith,  R.E.  Forrest,  S.  &  Perelson,  A.S.  (1993) "Searching for
  1026.      Diverse,   Cooperative   POPULATIONs   with    Genetic    Algorithms"
  1027.      Evolutionary Computation, 1(2):127-149.
  1028.  
  1029.  Conclusions?
  1030.      Generally speaking:  "There's much to do in CFS research!"
  1031.  
  1032.      No  other  notion of EC provides more space to explore and if you are
  1033.      interested in a PhD in the field, you might want  to  take  a  closer
  1034.      look  at  CFS.   However,  be warned!, to quote Goldberg: "classifier
  1035.      systems  are  a  quagmire---a  glorious,  wondrous,  and    inventing
  1036.      quagmire, but a quagmire nonetheless."
  1037.  
  1038.      References
  1039.  
  1040.      Booker, L.B. (1982) "Intelligent behavior as an adaption to the  task
  1041.      environment" PhD Dissertation, Univ. of Michigan, Logic of  Computers
  1042.      Group, Ann Arbor, MI.
  1043.  
  1044.      Braitenberg,   V.   (1984)   "Vehicles:   Experiments   in  Synthetic
  1045.      Psychology" Boston, MA: MIT Press.
  1046.  
  1047.      Dorigo M. & H.  Bersini  (1994).  "A  Comparison  of  Q-Learning  and
  1048.      Classifier  Systems."   Proceedings of From Animals to Animats, Third
  1049.      International Conference on SIMULATION of Adaptive Behavior  (SAB94),
  1050.      Brighton,  UK, D.Cliff, P.Husbands, J.-A.Meyer and S.W.Wilson (Eds.),
  1051.      MIT                          Press,                          248-255.
  1052.      http://iridia.ulb.ac.be/dorigo/dorigo/conferences/IC.11-SAB94.ps.gz
  1053.  
  1054.      Holland,  J.H.  (1986)  "Escaping  Brittleness:  The possibilities of
  1055.      general-purpose learning algorithms applied  to  parallel  rule-based
  1056.      systems".  In:  R.S. Michalski, J.G. Carbonell & T.M. Mitchell (eds),
  1057.      Machine  Learning:  An  Artificial  Intelligence  approach,  Vol  II,
  1058.      593-623, Los Altos, CA: Morgan Kaufman.
  1059.  
  1060.      Holland,  J.H.,  et  al.  (1986)  "Induction: Processes of Inference,
  1061.      Learning, and Discovery", Cambridge, MA: MIT Press.
  1062.  
  1063.      Holland, J.H. (1992) "Adaptation in natural and  artificial  systems"
  1064.      Boston, MA: MIT Press.
  1065.  
  1066.      Holland, J.H. (1995) "Hidden Order: How adaptation builds complexity"
  1067.      Reading, MA: Addison-Wesley. [HOLLAND95]:
  1068.  
  1069.      Holland, J.H. & Reitman, J.S.  (1978)  "Cognitive  Systems  based  on
  1070.      Adaptive  Algorithms" In D.A. Waterman & F.Hayes-Roth, (eds) Pattern-
  1071.      directed inference systems. NY: Academic Press.
  1072.  
  1073.      Minsky,  M.L.   (1961)   "Steps   toward   Artificial   Intelligence"
  1074.      Proceedings  IRE, 49, 8-30. Reprinted in E.A. Feigenbaum & J. Feldman
  1075.      (eds) Computers and Thought, 406-450, NY: McGraw-Hill, 1963.
  1076.  
  1077.      Minsky, M.L.  (1967)  "Computation:  Finite  and  Infinite  Machines"
  1078.      Englewood Cliffs, NJ: Prentice-Hall.
  1079.  
  1080.      Post,  Emil L. (1943) "Formal reductions of the general combinatorial
  1081.      decision problem" American Journal of Mathematics, 65, 197-215.
  1082.      Rich, E. (1983) "Artificial Intelligence" NY: McGraw-Hill.
  1083.  
  1084.      Tinbergen, N. (1951) "The Study of Instinct" NY: Oxford Univ.  Press.
  1085.  
  1086.      Watkins,  C. (1989) "Learning from Delayed Rewards" PhD Dissertation,
  1087.      Department of Psychology, Cambridge Univ., UK.
  1088.  
  1089.      Wilson, S.W. (1985) "Knowledge growth in  an  artificial  animal"  in
  1090.      [ICGA85], 16-23.
  1091.  
  1092.      Wilson,  S.W.  (1994)  "ZCS:  a zeroth level classifier system" in EC
  1093.      2(1), 1-18.
  1094.  
  1095. ------------------------------
  1096.  
  1097. Subject: Q1.5: What's Genetic Programming (GP)?
  1098.  
  1099.      GENETIC PROGRAMMING is the extension of the genetic model of learning
  1100.      into  the space of programs. That is, the objects that constitute the
  1101.      POPULATION  are  not  fixed-length  character  strings  that   encode
  1102.      possible  solutions  to  the problem at hand, they are programs that,
  1103.      when executed, "are" the candidate solutions to  the  problem.  These
  1104.      programs  are expressed in genetic programming as parse trees, rather
  1105.      than as lines of code.  Thus, for example, the simple program "a +  b
  1106.      * c" would be represented as:
  1107.  
  1108.          +
  1109.         / \
  1110.         a  *
  1111.          / \
  1112.          b  c
  1113.  
  1114.      or,  to  be  precise,  as suitable data structures linked together to
  1115.      achieve this effect. Because this is a very simple thing to do in the
  1116.      programming language Lisp, many GPers tend to use Lisp. However, this
  1117.      is simply an implementation detail. There are straightforward methods
  1118.      to implement GP using a non-Lisp programming environment.
  1119.  
  1120.      The  programs  in  the  population  are composed of elements from the
  1121.      FUNCTION SET and the TERMINAL SET, which are typically fixed sets  of
  1122.      symbols selected to be appropriate to the solution of problems in the
  1123.      domain of interest.
  1124.  
  1125.      In GP the CROSSOVER  operation  is  implemented  by  taking  randomly
  1126.      selected  subtrees in the INDIVIDUALs (selected according to FITNESS)
  1127.      and exchanging them.
  1128.  
  1129.      It should be pointed out that GP usually does not use any MUTATION as
  1130.      a GENETIC OPERATOR.
  1131.  
  1132.      More  information  is  available  in  the  GP mailing list FAQ.  (See
  1133.      Q15.2) and from http://smi-web.stanford.edu/people/koza/
  1134.  
  1135. ------------------------------
  1136.  
  1137.      Copyright (c) 1993-2000 by J. Heitkoetter and D. Beasley, all  rights
  1138.      reserved.
  1139.  
  1140.      This  FAQ  may be posted to any USENET newsgroup, on-line service, or
  1141.      BBS as long as it  is  posted  in  its  entirety  and  includes  this
  1142.      copyright  statement.   This FAQ may not be distributed for financial
  1143.      gain.  This FAQ may not be  included  in  commercial  collections  or
  1144.      compilations without express permission from the author.
  1145.  
  1146. End of ai-faq/genetic/part2
  1147. ***************************
  1148.  
  1149. -- 
  1150.  
  1151.