home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / answers / ai-faq / genetic / part1 next >
Encoding:
Internet Message Format  |  1993-12-27  |  107.8 KB

  1. Path: bloom-beacon.mit.edu!usc.edu!cs.utexas.edu!uunet!Germany.EU.net!Informatik.Uni-Dortmund.DE!home!heitkoet
  2. From: joke@ls11.informatik.uni-dortmund.de (Joerg Heitkoetter)
  3. Newsgroups: comp.ai.genetic,comp.answers,news.answers
  4. Subject: FAQ: comp.ai.genetic part 1/3 (A Guide to Frequently Asked Questions)
  5. Supersedes: <part1_753815849@lusty.informatik.uni-dortmund.de>
  6. Followup-To: comp.ai.genetic
  7. Date: 27 Dec 1993 18:06:17 GMT
  8. Organization: CS Department, University of Dortmund, Germany
  9. Lines: 2917
  10. Approved: news-answers-request@MIT.Edu
  11. Expires: 9 Feb 1994 18:06:12 GMT
  12. Message-ID: <part1_757015572@lusty.informatik.uni-dortmund.de>
  13. References: <NEWS_757015572@lusty.informatik.uni-dortmund.de>
  14. NNTP-Posting-Host: home.informatik.uni-dortmund.de
  15. Summary: This is part 1 of a trilogy entitled "The Hitch-Hiker's Guide
  16.      to Evolutionary Computation". A monthly published list of Frequently
  17.      Asked Questions (and their answers) about Evolutionary Algorithms,
  18.      Life and Everything. It should be read by anyone who whishes to post
  19.      to the comp.ai.genetic newsgroup, preferably *before* posting.
  20. Originator: joke@ls11.informatik.uni-dortmund.de (Joerg Heitkoetter)
  21. Xref: bloom-beacon.mit.edu comp.ai.genetic:1997 comp.answers:3185 news.answers:13390
  22.  
  23. Archive-name:   ai-faq/genetic/part1
  24. Last-Modified:  12/20/93
  25. Issue:          1.10
  26.  
  27.  
  28.  
  29.  
  30.  
  31. FAQ(1/3)                      COMP.AI.GENETIC                     FAQ(1/3)
  32.  
  33.  
  34.  
  35.  
  36.  
  37.                       The
  38.  
  39.                  Hitch-Hiker's
  40.  
  41.  
  42.                     Guide to
  43.  
  44.                Evolutionary Computation
  45.  
  46.                (FAQ in comp.ai.genetic)
  47.  
  48.                    edited by
  49.  
  50.                    Joerg Heitkoetter
  51.            c/o Systems Analysis Research Group, LSXI
  52.             Department of Computer Science
  53.                 University of Dortmund
  54.                D-44221 Dortmund, Germany
  55.             <joke@ls11.informatik.uni-dortmund.de>
  56.                  or <joke@santafe.edu>
  57.  
  58.  
  59.            (Usually FAQ means "Frequently Asked Questions,"
  60.              though it's sometimes referred to as
  61.                "Familiar Awkward Questions" ;-)
  62.  
  63.  
  64.                PLEASE, SEARCH THIS POSTING FIRST
  65.                 IF YOU HAVE A QUESTION
  66.                       and
  67.               DON'T POST ANSWERS TO FAQs:
  68.             POINT THE ASKER TO THIS POSTING
  69.                       and
  70.  
  71.  
  72.                   DON'T PANIC
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89. Issue 1.10               Posted: 20 December 1993                        1
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97. FAQ(1/3)                          PREFACE                         FAQ(1/3)
  98.  
  99.  
  100.  
  101.      FAQ  /F-A-Q/  or  /fak/  [USENET] n.  1. A Frequently Asked Question.
  102.       2. A compendium of  accumulated  lore,  posted  periodically  to
  103.       high-volume   newsgroups   in   an  attempt  to  forestall  such
  104.       questions.  Some people prefer the term  `FAQ  list'  or  `FAQL'
  105.       /fa'kl/, reserving `FAQ' for sense 1.
  106.  
  107.      FAQ list
  108.       /F-A-Q list/ or /fak list/ [USENET] n.  Syn FAQ, sense 2.
  109.  
  110.      FAQL /fa'kl/ n. Syn. FAQ list.
  111.  
  112.      RTFAQ
  113.       /R-T-F-A-Q/  [USENET:  primarily  written, by analogy with RTFM]
  114.       imp. Abbrev. for `Read the FAQ!', an exhortation that the person
  115.       addressed  ought to read the newsgroup's FAQ list before posting
  116.       questions.  RTFM /R-T-F-M/ [UNIX] imp.  Acronym  for  `Read  The
  117.       Fucking  Manual'.   1. Used by gurus to brush off questions they
  118.       consider trivial or annoying.  Compare Don't do that, then!   2.
  119.       Used  when  reporting a problem to indicate that you aren't just
  120.       asking out of randomness.   "No,  I  can't  figure  out  how  to
  121.       interface  UNIX  to  my  toaster, and yes, I have RTFM."  Unlike
  122.       sense 1, this use is considered polite.   See  also  FM,  RTFAQ,
  123.       RTFB,  RTFS,  RTM,  all  of which mutated from RTFM, and compare
  124.       UTSL.
  125.  
  126.       --- "The on-line hacker Jargon File, version 3.0, 29 July 1993",
  127.               available via anon. ftp to ftp.gnu.ai.mit.edu as
  128.                          "/pub/gnu/jarg300.txt.gz"
  129.  
  130. PREFACE
  131.      This posting is intended to  help,  provide  basic  information,  and
  132.      serve  as  a  "first straw" for individuals, i.e.  uninitiated hitch-
  133.      hikers, who are stranded in the mindboggling universe of Evolutionary
  134.      Computation  (EC);  that  in turn is only a small footpath to an even
  135.      more mindboggling  scientific  universe,  that,  incorporating  Fuzzy
  136.      Systems,  and Artificial Neural Networks, is sometimes referred to as
  137.      Computational Intelligence (CI); that in turn is only part of an even
  138.      more  advanced scientific universe of mindparalysing complexity, that
  139.      incorporating Artificial Life, Fractal Geometry,  and  other  Complex
  140.      Systems  Sciences might someday be referred to as Natural Computation
  141.      (NC).
  142.  
  143.      Over the course of the past  years,  GLOBAL  OPTIMIZATION  algorithms
  144.      imitating  certain  principles of nature have proved their usefulness
  145.      in various domains of applications. Especially those  principles  are
  146.      worth copying where nature has found "stable islands" in a "turbulent
  147.      ocean" of solution possibilities. Such  phenomena  can  be  found  in
  148.      annealing processes, central nervous systems and biological evolution
  149.      which in turn  have  lead  to  the  following  optimization  methods:
  150.      Simulated  Annealing  (SA), Artificial Neural Networks (ANNs) and the
  151.      field of Evolutionary Computation (EC).
  152.  
  153.  
  154.  
  155. Issue 1.10               Posted: 20 December 1993                        2
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163. FAQ(1/3)                          PREFACE                         FAQ(1/3)
  164.  
  165.  
  166.  
  167.      EC may currently be characterized by the following pathways:  Genetic
  168.      Algorithms  (GA), Evolutionary Programming (EP), Evolution Strategies
  169.      (ES), Classifier Systems (CFS), Genetic Programming (GP), and several
  170.      other  problem  solving  strategies,  that  are based upon biological
  171.      observations, that date back to CHARLES DARWIN's discoveries  in  the
  172.      19th  century: the means of natural selection and the survival of the
  173.      fittest, i.e. the "theory of evolution." The inspired algorithms  are
  174.      thus termed Evolutionary Algorithms (EA).
  175.  
  176.      Moreover,  is  this posting intended to introduce and help those, who
  177.      are just beginning to read this newsgroup, and those who are new "on"
  178.      USENET.  It shall help to avoid lengthy discussions of questions that
  179.      usually arise for beginners of one or the other kind, and are  boring
  180.      to read again and again by comp.ai.genetic "old-timers."
  181.  
  182.      You  will  see  this  posting  popping  up  each  month in the USENET
  183.      newsgroup comp.ai.genetic (including comp.answers, and  news.answers,
  184.      where it should be locatable at any time).
  185.  
  186.  
  187. CONTRIBUTIONS
  188.      Contributions, additions, corrections, cash, etc. are always welcome.
  189.      Send e-mail to the address above, if  it  is  relevant,  it  will  be
  190.      incorporated; if it is irrelevant it has even more chances to make in
  191.      into  the   next   issue...    (Please   format   your   contribution
  192.      appropriately so it can just be dropped in. Unformatted contributions
  193.      however, won't be rejected.)
  194.  
  195.  
  196. ARCHIVE SERVICE
  197.      This posting (like all other FAQs, i.e. the essence of the  knowledge
  198.      floating   through   USENET)   is   available   between  postings  on
  199.      rtfm.mit.edu in the directory "/pub/usenet/news.answers" as the files
  200.      ai-faq/genetic/part?.  The  FAQ  may also be retrieved by e-mail from
  201.      <mail-server@rtfm.mit.edu>. Send a message to  the  mail-server  with
  202.      "help"   and   "index"  in  the  body  on  separate  lines  for  more
  203.      information.
  204.  
  205.  
  206. DISCLAIMER
  207.      This quarterly posting (i.e., 4 issues per  year)  is  not  meant  to
  208.      discuss any topic exhaustively, but should be thought of as a list of
  209.      reference pointers, instead.  This posting is provided on an "as  is"
  210.      basis, NO WARRANTY whatsoever is expressed or implied, especially, NO
  211.      WARRANTY that the information contained herein is up-to-date, correct
  212.      or useful in any way, although all this is intended.
  213.  
  214.      Moreover,  please  note  that  the  opinions  expressed herein do not
  215.      necessarily reflect those of the  Systems  Analysis  Research  Group,
  216.      neither  as a whole, nor in part, they are just the editor's very own
  217.      collection of ideas, emerged over the past 28 years.
  218.  
  219.  
  220.  
  221. Issue 1.10               Posted: 20 December 1993                        3
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229. FAQ(1/3)                          PREFACE                         FAQ(1/3)
  230.  
  231.  
  232.  
  233.      NOTE: some portions of this else rather dry guide are intended to  be
  234.      satirical.   If  you  do not recognize it as such, consult your local
  235.      doctor or a professional comedian.
  236.  
  237.  
  238. HITCH-HIKING THE FAQNIVERSE
  239.      This guide is big. Really big. You just  won't  believe  how  hugely,
  240.      vastly, mindbogglingly big it is. That's why it has been split into a
  241.      trilogy,  i.e.  it  can  be   pieced   together   from   files   "ai-
  242.      faq/genetic/part1",       "ai-faq/genetic/part2",       and      "ai-
  243.      faq/genetic/part3".
  244.  
  245.  Searching for answers
  246.      To find the answer of question number x, just search for  the  string
  247.      "Ax)" (so the answer to question "Q42:" is at "A42)")
  248.  
  249.  What does, e.g. [ICGA85] mean?
  250.      Some  books  would be referenced again and again, that's why they got
  251.      this kind of "tag", that an experienced hitch-hiker will  search  for
  252.      to dissolve the riddle.
  253.  
  254.  Why all this UPPERCASING in running text?
  255.      Some words are written in all uppercase letters, e.g.  EVOLUTION, you
  256.      will find these reappearing in the Glossary (cf A99), with a ":" sign
  257.      appended,  thus  if  you run on, say EC you can search for the string
  258.      "EC:" in the Glossary.
  259.  
  260.  Other typographical conventions
  261.      A certain file on a certain FTP server will be specified in a certain
  262.      way:     <ftp-site-name>:<the-complete-filename>,    as    e.g.    in
  263.      ftp.certain.site:/pub/foo/bar.tar.gz
  264.  
  265.  Referencing this Guide
  266.      If you want to reference this guide (although  I  have  currently  no
  267.      idea,  why  you  should want to do this), I'd be insanely proud if it
  268.      looks like:
  269.  
  270.      Heitkoetter,  Joerg,  ed.   (1993)  "The   Hitch-Hiker's   Guide   to
  271.      Evolutionary  Computation:  A  list  of  Frequently  Asked  Questions
  272.      (FAQ)", Usenet: comp.ai.genetic.  Available via  anonymous  ftp  from
  273.      rtfm.mit.edu   in  pub/usenet/news.answers/ai-faq/genetic/part?.  ~90
  274.      pages.       PostScript      repositories:      lumpi.informatik.uni-
  275.      dortmund.de:/pub/EA/docs/hhgtec-*.ps.gz,and
  276.      sfi.santafe.edu:/pub/EC/FAQ/hhgtec-*.ps.gz
  277.  
  278.      Or simply call it "the Guide", or "HHGTEC" for acronymaniacs.
  279.  
  280.  
  281.  Obtaining a PostScript version
  282.      For innumerable reasons this guide is written using an ancient,  good
  283.      old-fashioned  UNIX  text formatting utility, namely troff(1); better
  284.  
  285.  
  286.  
  287. Issue 1.10               Posted: 20 December 1993                        4
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295. FAQ(1/3)                          PREFACE                         FAQ(1/3)
  296.  
  297.  
  298.  
  299.      to say the GNU version groff(1) and a hacked macro package  based  on
  300.      "tmac.an";  it's  thus  easy to generate ASCII (posted), TeX DVI (not
  301.      posted), and PostScript (ftpable) versions from a unique source.  The
  302.      latter,  looks really crisp (using boldface, italics, etc.), and thus
  303.      is  available  for  those  who  prefer  offline  reading.   Get  file
  304.      "/pub/EA/docs/hhgtec-*.ps.gz"     from     the     SyS    ftp-server:
  305.      lumpi.informatik.uni-dortmund.de (129.217.36.140); or from within the
  306.      US     you     might    try:    ftp.santafe.edu    and    get    file
  307.      "/pub/EC/FAQ/hhgtec-*.ps.gz".
  308.  
  309.         "As a net is made up of a series of ties, so everything in
  310.         this world is connected by a series of ties.  If anyone thinks
  311.        that the mesh of a net is an independent, isolated thing, he is
  312.        mistaken.  It is called a net because it is made up of a series
  313.          of interconnected meshes, and each mesh has its place and
  314.                   responsibility in relation to other meshes."
  315.  
  316.                                 --- Buddha
  317.  
  318.  The ZEN Puzzle
  319.      For some weird reason this guide contains some puzzles which can only
  320.      be  solved  by  cautious  readers  who have (1) a certain amount of a
  321.      certain kind of humor, (2) a certain amount of patience and time, (3)
  322.      a  certain  amount of experience in ZEN navigation, and (4) a certain
  323.      amount of books of a certain author.
  324.  
  325.      Usually, puzzles search either for certain answers (more  often,  ONE
  326.      answer)  to  a  question;  or,  for the real smartasses, sometimes an
  327.      answer is presented, and a certain question  is  searched  for.   ZEN
  328.      puzzles are even more challenging: you have to come up with an answer
  329.      to a question, both of which are not  explicitly,  rather  implicitly
  330.      stated  somewhere  in  this  FAQ.  Thus,  you are expected to give an
  331.      answer AND a question!
  332.  
  333.      To give an impression what this is all about, consider the following,
  334.      submitted  by  Craig  W.  Reynolds.  The correct question is: "Why is
  335.      Fisher's `improbability quote' (cf EPILOGUE) included in this  FAQ?",
  336.      Craig's correct answer is: `This is a GREAT quotation, it sounds like
  337.      something directly out of  a  turn  of  the  century  Douglas  Adams:
  338.      Natural  selection:  the original "Infinite Improbability Drive"' Got
  339.      the message? Well, this was easy and very obvious. The other  puzzles
  340.      are more challenging...
  341.  
  342.      However,  all  this is just for fun (mine and hopefully yours), there
  343.      is nothing like the $100 price, some big shots in  computer  science,
  344.      e.g.   Don  Knuth  usually  offer;  all  there  is  but  a  honorable
  345.      mentioning of the ZEN navigator, including the  puzzle  s/he  solved.
  346.      It's thus like in real life: don't expect to make money from the time
  347.      being a scientist, it's all just for the fun of it...
  348.  
  349.  
  350.  
  351.  
  352.  
  353. Issue 1.10               Posted: 20 December 1993                        5
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361. FAQ(1/3)                          PREFACE                         FAQ(1/3)
  362.  
  363.  
  364.  
  365.      Enjoy the trip!
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419. Issue 1.10               Posted: 20 December 1993                        6
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427. FAQ(1/3)                     TABLE OF CONTENTS                    FAQ(1/3)
  428.  
  429.  
  430.  
  431. TABLE OF CONTENTS
  432.  ai-faq/genetic/part1
  433.      Q0:    Hey, what about an Introduction to all this?
  434.  
  435.      Q0.1   What's the precise of comp.ai.genetic?
  436.  
  437.      Q0.2   How do I get started? What about Usenet documentation?
  438.  
  439.      Q0.3   Blaah! Don't you have something more funny?
  440.  
  441.  
  442.      Q1:    What are Evolutionary Algorithms (EAs)?
  443.  
  444.      Q1.1:  What's a Genetic Algorithm (GA)?
  445.  
  446.      Q1.2:  What's Evolutionary Programming (EP)?
  447.  
  448.      Q1.3:  What's an Evolution Strategy (ES)?
  449.  
  450.      Q1.4:  What's a Classifier System (CFS)?
  451.  
  452.      Q1.5:  What's Genetic Programming (GP)?
  453.  
  454.  
  455.      Q2:    What can you do with EAs? What can't you do with them?
  456.  
  457.  
  458.      Q3:    Who is or should be concerned with EAs?
  459.  
  460.  
  461.      Q4:    How many Evolutionary Algorithms exist? Which?
  462.  
  463.      Q4.1:  What about Tierra, VENUS, PolyWorld, etc.?
  464.  
  465.  
  466.  
  467.  ai-faq/genetic/part2
  468.      Q5:    What about all this Optimization stuff?
  469.  
  470.  
  471.      Q10:   Good introductory material about EAs?
  472.  
  473.      Q10.1: Books for absolute beginners?
  474.  
  475.      Q10.2: Textbooks?
  476.  
  477.      Q10.3: The Classics?
  478.  
  479.      Q10.4: Introductory Journal Articles?
  480.  
  481.      Q10.5: Introductory Technical Reports?
  482.  
  483.  
  484.  
  485. Issue 1.10               Posted: 20 December 1993                        7
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493. FAQ(1/3)                     TABLE OF CONTENTS                    FAQ(1/3)
  494.  
  495.  
  496.  
  497.      Q10.6: Not-quite-so-introductory Literature?
  498.  
  499.      Q10.7: Biological Background Readings?
  500.  
  501.      Q10.8: Electronic Bibliography Collections?
  502.  
  503.      Q10.9: Videos?
  504.  
  505.      Q10.10:CD-ROMs?
  506.  
  507.      Q10.11:How do I get a copy of a dissertation?
  508.  
  509.  
  510.      Q11:   Any journals and magazines about EAs?
  511.  
  512.  
  513.      Q12:   The most important conferences concerned with EAs?
  514.  
  515.  
  516.      Q13:   Evolutionary Computation Associations?
  517.  
  518.  
  519.      Q14:   Where do I get technical reports on EAs from?
  520.  
  521.  
  522.      Q15:   Other sources of information about EAs?
  523.  
  524.      Q15.1: Electronic Digests?
  525.  
  526.      Q15.2: Electronic Mailing Lists?
  527.  
  528.      Q15.3: Electronic Access to Research Institutes?
  529.  
  530.      Q15.4: Relevant Electronic News and FAQs?
  531.  
  532.      Q15.5: What about all these Internet Services?
  533.  
  534.  
  535.  ai-faq/genetic/part3
  536.      Q20:   Available EA software packages? FTP sites?
  537.  
  538.      Q20.1: Free EA software packages?
  539.  
  540.      Q20.2: Commercial EA software packages?
  541.  
  542.      Q20.3: Software from current research projects?
  543.  
  544.  
  545.      Q21:   What are Gray codes, why might I want to use them, and how  do
  546.         I efficiently implement them? C Code, please?
  547.  
  548.  
  549.  
  550.  
  551. Issue 1.10               Posted: 20 December 1993                        8
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559. FAQ(1/3)                     TABLE OF CONTENTS                    FAQ(1/3)
  560.  
  561.  
  562.  
  563.      Q42:   What is life all about?
  564.  
  565.      Q42b:  Is there a FAQ to this group?
  566.  
  567.  
  568.      Q98:   What about Patents on EAs?
  569.  
  570.  
  571.      Q99:   I don't get the message. What about a Glossary on EAs?
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617. Issue 1.10               Posted: 20 December 1993                        9
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  626.  
  627.  
  628.  
  629. A0) Hey, what about an Introduction to all this?
  630.  A0.1) What's the precise of comp.ai.genetic?
  631.      The  newsgroup  comp.ai.genetic is intended as a forum for people who
  632.      want to use or explore the capabilities of Genetic  Algorithms  (GA),
  633.      Evolutionary  Programming (EP), Evolution Strategies (ES), Classifier
  634.      Systems (CFS), Genetic Programming (GP), and some other,  less  well-
  635.      known  problem  solving  algorithms  that  are  more  or less loosely
  636.      coupled to the field of Evolutionary Computation (EC).
  637.  
  638.  A0.2) How do I get started? What about USENET documentation?
  639.      The following guidelines present the essentials of the USENET  online
  640.      documentation, that is posted each month to news.announce.newusers.
  641.  
  642.      If  you are already familiar with "netiquette" you don't want to read
  643.      any further; if you don't know what  the  hell  this  is  all  about,
  644.      proceed  as follows: (1) carefully read the following paragraphs, (2)
  645.      read all the documents in news.announce.newusers before  posting  any
  646.      article to USENET.  At least you should give the introductory stuff a
  647.      try, i.e. files "news-answers/introduction"  and  "news-answers/news-
  648.      newusers-intro".  Both  are survey articles, that provide a short and
  649.      easy way to get an overview of the interesting parts  of  the  online
  650.      docs, and thus can help to prevent you from drowning in the megabytes
  651.      to read. Both can be received either by subscribing to  news.answers,
  652.      or sending the following message to <mail-server@rtfm.mit.edu>:
  653.  
  654.       send usenet/news.answers/introduction
  655.       send usenet/news.answers/news-newusers-intro
  656.       quit
  657.  
  658.                   Netiquette
  659.  
  660.          "Usenet is a convention, in every sense of the word."
  661.  
  662.      Although USENET is usually characterized as "an anarchy, with no laws
  663.      and no one in charge" there have "emerged"  several  rules  over  the
  664.      past  years  that  shall facilitate life within newsgroups. Thus, you
  665.      will probably find the following types of articles:
  666.  
  667.  1. Requests
  668.      Requests are articles of the form "I am looking for  X"  where  X  is
  669.      something public like a book, an article, a piece of software.
  670.  
  671.      If  multiple different answers can be expected, the person making the
  672.      request should prepare to make a summary of the  answers  he/she  got
  673.      and  announce  to  do  so  with  a  phrase  like "Please e-mail, I'll
  674.      summarize" at the end of the posting.
  675.  
  676.      The Subject line  of  the  posting  should  then  be  something  like
  677.      "Request: X"
  678.  
  679.  
  680.  
  681.  
  682.  
  683. Issue 1.10               Posted: 20 December 1993                       10
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  692.  
  693.  
  694.  
  695.  2. Questions
  696.      As  opposed  to  requests,  questions are concerned with something so
  697.      specific that general interest cannot readily  be  assumed.   If  the
  698.      poster  thinks  that  the  topic  is of some general interest, he/she
  699.      should announce a summary (see above).
  700.  
  701.      The Subject line of the posting should be something  like  "Question:
  702.      this-and-that"  (Q:  this-and-that)  or  have  the form of a question
  703.      (i.e., end with a question mark)
  704.  
  705.  3. Answers
  706.      These are reactions to questions or requests.  As  a  rule  of  thumb
  707.      articles  of  type  "answer"  should be rare.  Ideally, in most cases
  708.      either the answer is too specific to  be  of  general  interest  (and
  709.      should  thus  be  e-mailed  to the poster) or a summary was announced
  710.      with the question or request (and answers should thus be e-mailed  to
  711.      the poster).
  712.  
  713.      The  subject  lines of answers are automatically adjusted by the news
  714.      software.
  715.  
  716.  4. Summaries
  717.      In all cases of requests or questions the answers for  which  can  be
  718.      assumed  to be of some general interest, the poster of the request or
  719.      question shall summarize the answers he/she received.  Such a summary
  720.      should  be  announced  in  the  original  posting  of the question or
  721.      request with a phrase like "Please answer by e-mail, I'll summarize"
  722.  
  723.      In such a case answers should NOT be  posted  to  the  newsgroup  but
  724.      instead be mailed to the poster who collects and reviews them.  After
  725.      about 10 to 20 days from the original posting, its poster should make
  726.      the summary of answers and post it to the net.
  727.  
  728.      Some care should be invested into a summary:
  729.  
  730.      a) simple  concatenation  of  all  the  answers  might not be enough;
  731.     instead redundancies, irrelevances, verbosities and errors  should
  732.     be filtered out (as good as possible),
  733.  
  734.      b) the answers shall be separated clearly
  735.  
  736.      c) the  contributors  of the INDIVIDUAL answers shall be identifiable
  737.     unless they requested to remain anonymous  [eds  note:  yes,  that
  738.     happens])
  739.  
  740.      d) the summary shall start with the "quintessence" of the answers, as
  741.     seen by the original poster
  742.  
  743.      e) A summary should, when posted, clearly be indicated to be  one  by
  744.     giving it a Subject line starting with "Summary:"
  745.  
  746.  
  747.  
  748.  
  749. Issue 1.10               Posted: 20 December 1993                       11
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  758.  
  759.  
  760.  
  761.      Note  that  a good summary is pure gold for the rest of the newsgroup
  762.      community, so summary work will be most appreciated  by  all  of  us.
  763.      (Good summaries are more valuable than any moderator!)
  764.  
  765.  5. Announcements
  766.      Some  articles  never  need  any  public  reaction.  These are called
  767.      announcements  (for  instance  for  a  workshop,  conference  or  the
  768.      availability of some technical report or software system).
  769.  
  770.      Announcements should be clearly indicated to be such by giving them a
  771.      subject line of the form "Announcement: this-and-that", or  "ust  "A:
  772.      this-and-that".
  773.  
  774.      Due  to  common  practice,  conference  announcements usually carry a
  775.      "CFP:" in their subject line, i.e. "call for papers" (or:  "call  for
  776.      participation").
  777.  
  778.  6. Reports
  779.      Sometimes  people  spontaneously  want  to  report  something  to the
  780.      newsgroup. This might be  special  experiences  with  some  software,
  781.      results   of  own  experiments  or  conceptual  work,  or  especially
  782.      interesting information from somewhere else.
  783.  
  784.      Reports should be clearly indicated to  be  such  by  giving  them  a
  785.      subject line of the form "Report: this-and-that"
  786.  
  787.  7. Discussions
  788.      An  especially  valuable  possibility  of USENET is of course that of
  789.      discussing a certain topic with hundreds of  potential  participants.
  790.      All  traffic  in  the newsgroup that can not be subsumed under one of
  791.      the above categories should belong to a discussion.
  792.  
  793.      If somebody explicitly wants to start a discussion, he/she can do  so
  794.      by  giving  the posting a subject line of the form "Start discussion:
  795.      this-and-that" (People who react on this, please  remove  the  "Start
  796.      discussion: " label from the subject line of your replies)
  797.  
  798.      It  is quite difficult to keep a discussion from drifting into chaos,
  799.      but, unfortunately, as many other newsgroups show there seems  to  be
  800.      no  secure way to avoid this.  On the other hand, comp.ai.genetic has
  801.      not had many problems with this effect, yet, so  let's  just  go  and
  802.      hope...
  803.  
  804.      Thanx in advance for your patience!
  805.  
  806.  A0.3) Blaah! Don't you have something more funny?
  807.      Yes.   Let's   face  it.  All  these  files  are  written  by  USENET
  808.      afficionados, and thus might offend beginners for some  reasons,  but
  809.      there is an alternative way: The EFF recently announced the following
  810.      in "EFFector Online Volume 5 No. 15, 8/20/1993" (A Publication of the
  811.      Electronic   Frontier  Foundation,  ISSN  1062-9424),  available  via
  812.  
  813.  
  814.  
  815. Issue 1.10               Posted: 20 December 1993                       12
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  824.  
  825.  
  826.  
  827.      comp.org.eff.news:
  828.  
  829.                Big Dummy's Guide to the Internet
  830.  
  831.      "EFF is proud to announce that the Big Dummy's Guide to the  Internet
  832.      is  now  available  for  free  download  from  our ftp site.  The Big
  833.      Dummy's Guide is a user guide for novices on all the Internet has  to
  834.      offer.
  835.  
  836.      The   genesis   of   the   Big  Dummy's  Guide  was  a  few  informal
  837.      conversations, which included Mitch Kapor of the Electronic  Frontier
  838.      Foundation  (EFF)  and  Steve  Cisler  of Apple Computers, in June of
  839.      1991.  With the support of Apple Computers, EFF hired a writer  (Adam
  840.      Gaffin) and actually took on the project in September of 1991.
  841.  
  842.      The  idea  was  to  write  a  guide to the Internet for folks who had
  843.      little or no experience with network communications.   The  Guide  is
  844.      currently  posted to "the 'net" in ASCII and Hypercard (Mac) formats.
  845.      We have been giving it away on disk at conferences, and  we  hope  to
  846.      have  a  print  edition  available  for a nominal charge soon.  We're
  847.      hoping to update this Guide on a regular basis, so please  feel  free
  848.      to send us your comments and corrections. Enjoy!"
  849.  
  850.      The (original) Big Dummy's Guide to the Internet can be downloaded by
  851.      anonymous ftp from ftp.eff.org.  The  ASCII  version  is  located  at
  852.      /pub/Net_info/Big_Dummy/big-dummys-guide.txt  .   The Hypercard stack
  853.      is located at /pub/Net_info/Big_Dummy/big-dummys-guide.sea.hqx .  The
  854.      Texinfo  version  (PostScript,  TeXX  DVI,  HTML, GNU Info, ASCII) is
  855.      avail.   at    /pub/Net_info/Big_Dummy/Big_Dummys_Guide_Texi/*    (cf
  856.      References of Q15)
  857.  
  858.  
  859. A1) What are Evolutionary Algorithms (EAs)?
  860.      Evolutionary  algorithms  use  computational  models  of evolutionary
  861.      processes as  key  elements  in  the  design  and  implementation  of
  862.      computer-based  problem  solving  systems.  A variety of evolutionary
  863.      computational  models  have  been  proposed.  They  share  a   common
  864.      conceptual  base of simulating the EVOLUTION of INDIVIDUAL structures
  865.      via  processes  of  SELECTION,  MUTATION,  and   REPRODUCTION.    The
  866.      processes  depend  on  the  perceived  PERFORMANCE  of the individual
  867.      structures as defined by an ENVIRONMENT.
  868.  
  869.      More precisely, EAs maintain a POPULATION of structures, that  evolve
  870.      according  to  rules  of  selection  and  other  operators,  that are
  871.      referred  to  as  SEARCH  OPERATORS,  (GENETIC  OPERATORS)  such   as
  872.      RECOMBINATION  and  MUTATION.   Each  INDIVIDUAL  in  the  population
  873.      receives a measure of it's FITNESS in the ENVIRONMENT.   REPRODUCTION
  874.      focuses  attention  on  high fitness individuals, thus EXPLOITING the
  875.      available fitness information.  Recombination  and  mutation  perturb
  876.      those  individuals,  providing  general  heuristics  for EXPLORATION.
  877.      Although simplistic from a biologist's  viewpoint,  these  algorithms
  878.  
  879.  
  880.  
  881. Issue 1.10               Posted: 20 December 1993                       13
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  890.  
  891.  
  892.  
  893.      are  sufficiently  complex  to  provide  robust and powerful ADAPTIVE
  894.      SEARCH mechanisms.
  895.  
  896.      --- "An Overview of Evolutionary Computation" [ECML93], 442-459.
  897.  
  898.  PSEUDO CODE
  899.      Algorithm EA is
  900.  
  901.       // start with an initial time
  902.       t := 0;
  903.  
  904.       // initialize a usually random population of individuals
  905.       initpopulation P (t);
  906.  
  907.       // evaluate fitness of all initial individuals in population
  908.       evaluate P (t);
  909.  
  910.       // test for termination criterion (time, fitness, etc.)
  911.       while not done do
  912.  
  913.            // increase the time counter
  914.            t := t + 1;
  915.  
  916.            // select sub-population for offspring production
  917.            P' := selectparents P (t);
  918.  
  919.            // recombine the "genes" of selected parents
  920.            recombine P' (t);
  921.  
  922.            // perturb the mated population stochastically
  923.            mutate P' (t);
  924.  
  925.            // evaluate it's new fitness
  926.            evaluate P' (t);
  927.  
  928.            // select the survivors from actual fitness
  929.            P := survive P,P' (t);
  930.       od
  931.      end EA.
  932.  
  933. A1.1) What's a Genetic Algorithm (GA)?
  934.      The GENETIC ALGORITHM is a model of MACHINE  LEARNING  which  derives
  935.      its behavior from a metaphor of the processes of EVOLUTION in nature.
  936.      This is done by the creation within a  machine  of  a  POPULATION  of
  937.      INDIVIDUALs represented by CHROMOSOMEs, in essence a set of character
  938.      strings that are analogous to the base-4 chromosomes that we  see  in
  939.      our  own  DNA.   The  individuals in the population then go through a
  940.      process of evolution.
  941.  
  942.      We should note that EVOLUTION (in nature or anywhere else) is  not  a
  943.      purposive  or  directed  process.  That  is,  there is no evidence to
  944.  
  945.  
  946.  
  947. Issue 1.10               Posted: 20 December 1993                       14
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  956.  
  957.  
  958.  
  959.      support the assertion that  the  goal  of  evolution  is  to  produce
  960.      Mankind.  Indeed,  the  processes  of  nature  seem  to  boil down to
  961.      different INDIVIDUALs competing for  resources  in  the  ENVIRONMENT.
  962.      Some are better than others. Those that are better are more likely to
  963.      survive and propagate their genetic material.
  964.  
  965.      In nature, we see that  the  encoding  for  our  genetic  information
  966.      (GENOME) is done in a way that admits sexual REPRODUCTION (such as by
  967.      budding)  typically  results  in  offspring  that   are   genetically
  968.      identical  to the parent.  SEXUAL REPRODUCTION allows the creation of
  969.      genetically radically different offspring that are still of the  same
  970.      general flavor (SPECIES).
  971.  
  972.      At  the  molecular level what occurs (wild oversimplification alert!)
  973.      is that a pair of CHROMOSOMEs bump into one another, exchange  chunks
  974.      of  genetic  information  and  drift apart. This is the RECOMBINATION
  975.      operation, which GA/GPers generally refer to as CROSSOVER because  of
  976.      the  way  that  genetic  material crosses over from one chromosome to
  977.      another.
  978.  
  979.      The CROSSOVER operation happens in an ENVIRONMENT where the selection
  980.      of  who  gets to mate is a function of the FITNESS of the INDIVIDUAL,
  981.      i.e. how good the individual is  at  competing  in  its  environment.
  982.      Some  GENETIC ALGORITHMs use a simple function of the fitness measure
  983.      to  select  individuals  (probabilistically)   to   undergo   genetic
  984.      operations  such  as  crossover  or  REPRODUCTION (the propagation of
  985.      genetic   material   unaltered).    This   is   fitness-proportionate
  986.      SELECTION.   Other  implementations  use  a  model  in  which certain
  987.      randomly selected individuals in a subgroup compete and  the  fittest
  988.      is  selected.  This is called tournament selection and is the form of
  989.      selection we see in nature when stags rut to vie for the privilege of
  990.      mating  with  a herd of hinds. The two processes that most contribute
  991.      to EVOLUTION are crossover and fitness based  selection/reproduction.
  992.  
  993.      As it turns out, there are mathematical proofs that indicate that the
  994.      process of FITNESS  proportionate  REPRODUCTION  is,  in  fact,  near
  995.      optimal in some senses.
  996.  
  997.      MUTATION  also  plays  a  role  in this process, though it is not the
  998.      dominant role that  is  popularly  believed  to  be  the  process  of
  999.      EVOLUTION,  i.e.  random  mutation  and  survival  of the fittest. It
  1000.      cannot be stressed too strongly that  the  GENETIC  ALGORITHM  (as  a
  1001.      simulation  of  a  genetic  process)  is  not a "random search" for a
  1002.      solution to a problem (highly fit INDIVIDUAL).  The genetic algorithm
  1003.      uses  stochastic  processes,  but the result is distinctly non-random
  1004.      (better than random).
  1005.  
  1006.      GENETIC ALGORITHMs are used for a  number  of  different  application
  1007.      areas.  An  example  of  this  would be multidimensional optimization
  1008.      problems in which the character string of the CHROMOSOME can be  used
  1009.      to encode the values for the different parameters being optimized.
  1010.  
  1011.  
  1012.  
  1013. Issue 1.10               Posted: 20 December 1993                       15
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  1022.  
  1023.  
  1024.  
  1025.      In  practice,  therefore,  we  can  implement  this  genetic model of
  1026.      computation by having arrays of bits or characters to  represent  the
  1027.      CHROMOSOMEs.    Simple   bit   manipulation   operations   allow  the
  1028.      implementation of CROSSOVER, MUTATION and other operations.  Although
  1029.      a  substantial  amount  of  research  has been performed on variable-
  1030.      length strings and  other  structures,  the  majority  of  work  with
  1031.      GENETIC  ALGORITHMs is focussed on fixed-length character strings. We
  1032.      should focus on both this aspect of fixed-lengthness and the need  to
  1033.      encode the representation of the solution being sought as a character
  1034.      string, since these are  crucial  aspects  that  distinguish  GENETIC
  1035.      PROGRAMMING,  which  does  not have a fixed length representation and
  1036.      there is typically no encoding of the problem.
  1037.  
  1038.      When the GENETIC ALGORITHM is implemented it is  usually  done  in  a
  1039.      manner that involves the following cycle: Evaluate the FITNESS of all
  1040.      of the INDIVIDUALs in the POPULATION.  Create  a  new  population  by
  1041.      performing   operations   such  as  CROSSOVER,  fitness-proportionate
  1042.      REPRODUCTION and MUTATION on the individuals whose fitness  has  just
  1043.      been  measured.  Discard the old population and iterate using the new
  1044.      population.
  1045.  
  1046.      One iteration of this loop is referred to as a GENERATION.  There  is
  1047.      no theoretical reason for this as an implementation model. Indeed, we
  1048.      do not see this punctuated behavior in POPULATIONs  in  nature  as  a
  1049.      whole, but it is a convenient implementation model.
  1050.  
  1051.      The  first  GENERATION  (generation  0) of this process operates on a
  1052.      POPULATION of randomly generated INDIVIDUALs.   From  there  on,  the
  1053.      genetic  operations,  in concert with the FITNESS measure, operate to
  1054.      improve the population.
  1055.  
  1056.  PSEUDO CODE
  1057.      Algorithm GA is
  1058.  
  1059.       // start with an initial time
  1060.       t := 0;
  1061.  
  1062.       // initialize a usually random population of individuals
  1063.       initpopulation P (t);
  1064.  
  1065.       // evaluate fitness of all initial individuals of population
  1066.       evaluate P (t);
  1067.  
  1068.       // test for termination criterion (time, fitness, etc.)
  1069.       while not done do
  1070.  
  1071.            // increase the time counter
  1072.            t := t + 1;
  1073.  
  1074.            // select a sub-population for offspring production
  1075.            P' := selectparents P (t);
  1076.  
  1077.  
  1078.  
  1079. Issue 1.10               Posted: 20 December 1993                       16
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  1088.  
  1089.  
  1090.  
  1091.            // recombine the "genes" of selected parents
  1092.            recombine P' (t);
  1093.  
  1094.            // perturb the mated population stochastically
  1095.            mutate P' (t);
  1096.  
  1097.            // evaluate it's new fitness
  1098.            evaluate P' (t);
  1099.  
  1100.            // select the survivors from actual fitness
  1101.            P := survive P,P' (t);
  1102.       od
  1103.      end GA.
  1104.  
  1105. A1.2) What's Evolutionary Programming (EP)?
  1106.   Introduction
  1107.      Evolutionary  Programming  is  a  stochastic  optimization   strategy
  1108.      similar   to  GENETIC  ALGORITHMs,  but  which  dispenses  with  both
  1109.      "genomic"  representations  and  with  RECOMBINATION  as  a  MUTATION
  1110.      strategy.
  1111.  
  1112.      Like  GENETIC  ALGORITHMs,  the EP technique is useful for optimizing
  1113.      problem solutions when other  techniques  like  gradient  descent  or
  1114.      direct,  analytical  discovery  are  not  possible.  Combinatoric and
  1115.      real-valued FUNCTION OPTIMIZATION in which the  optimization  surface
  1116.      or  "fitness  landscape" is "rugged", possessing many locally optimal
  1117.      solutions, are well-suited for the EP technique.
  1118.  
  1119.   History
  1120.      The 1966 book, "Artificial Intelligence Through Simulated  Evolution"
  1121.      by   Fogel,   Owens   and  Walsh  is  the  landmark  publication  for
  1122.      applications of the EP technique.  In the work, automata were evolved
  1123.      to predict symbol strings generated from Markov processes.
  1124.  
  1125.      In  1992, the First Annual Conference on Evolutionary Programming was
  1126.      held in La Jolla, CA.  A second was held  in  1993  and  a  third  is
  1127.      planned  for 1994.  The first conference attracted a diverse group of
  1128.      academic,  commericial  and  military  researchers  engaged  in  both
  1129.      developing  the  theory  of  the EP technique and in applying EP to a
  1130.      wide range of optimization problems.
  1131.  
  1132.      Rather than list and analyze the sources in detail, I  have  included
  1133.      several fundamental sources below which should serve as good pointers
  1134.      to the entire body of work in the field.
  1135.  
  1136.   The Process
  1137.      For EP, like GAs, there is an underlying assumption that a  "fitness"
  1138.      landscape  can be characterized in terms of variables, and that there
  1139.      is an optimum solution in terms of those variables.  For example,  if
  1140.      one  were  trying  to  find the shortest path in a Traveling Salesman
  1141.      Problem, each solution would be a path.  The length of the path could
  1142.  
  1143.  
  1144.  
  1145. Issue 1.10               Posted: 20 December 1993                       17
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  1154.  
  1155.  
  1156.  
  1157.      be  expressed  as  a  number,  which  would  serve  as the solution's
  1158.      "fitness".   The  "fitness  landscape"  for  this  problem  could  be
  1159.      characterized as a hypersurface proportional to the path lengths in a
  1160.      space of possible paths.  The goal would  be  to  find  the  globally
  1161.      shortest path in that space.
  1162.  
  1163.      The  basic  EP  method involves 3 steps (Repeat until a threshold for
  1164.      iteration is exceeded or an adequate solution is obtained):
  1165.  
  1166.      (1)  Choose an initial POPULATION of trial solutions at random.   The
  1167.       number  of  solutions  in a population is highly relevant to the
  1168.       speed of optimization, but no definite answers are available  as
  1169.       to  how  many  solutions are appropriate (other than >1) and how
  1170.       many solutions are just wasteful.
  1171.  
  1172.      (2)  Each solution is replicated into  a  new  POPULATION.   Each  of
  1173.       these   offspring   solutions   are   mutated   according  to  a
  1174.       distribution of MUTATION types, ranging from  minor  to  extreme
  1175.       with a continuum of mutation types between.
  1176.  
  1177.      (3)  Each  offspring  solution is assessed by computing it's FITNESS.
  1178.       The  N  best  solutions,  or  *stochastically*  N  of  the  best
  1179.       solutions, are retained for the next POPULATION of solutions.
  1180.  
  1181.   EP and GAs
  1182.      There  are two important ways in which the EP method differs from the
  1183.      GA technique.
  1184.  
  1185.      First, there is no constraint on the representation.  The typical  GA
  1186.      approach  involves  encoding  the  problem  solutions  as a string of
  1187.      representative  tokens,  the  "genome".   In  the  EP  approach,  the
  1188.      representation  follows  from  the  problem.  A neural network can be
  1189.      represented in the same manner as it  is  implemented,  for  example,
  1190.      because the MUTATION operation does not demand a linear encoding.
  1191.  
  1192.      Second, the MUTATION operation simply changes aspects of the solution
  1193.      according  to  a  statistical  distribution   which   weights   minor
  1194.      variations in offspring as highly probable and substantial variations
  1195.      as increasingly unlikely as the global optimum is approached.   There
  1196.      is  a  certain  tautology  here: if the global optimum is not already
  1197.      known, how can the spread of the mutation operation be damped as  the
  1198.      solutions  approach  it?   Several  techniques have been proposed and
  1199.      implemented which address this difficulty, the  most  widely  studied
  1200.      being  the  "Meta-Evolutionary"  technique  (see  Sources, below ) in
  1201.      which the  variance  of  the  mutation  distribution  is  subject  to
  1202.      mutation by a fixed variance mutation operator and evolves along with
  1203.      the solution.
  1204.  
  1205.   Evolution and Sex: The Argumentative Side of EP
  1206.      CROSSOVER  as  an  abstraction  of  sexual  RECOMBINATION  has   been
  1207.      questioned on several fronts by the EP community.
  1208.  
  1209.  
  1210.  
  1211. Issue 1.10               Posted: 20 December 1993                       18
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  1220.  
  1221.  
  1222.  
  1223.      The  strongest  criticisms  have  been  raised by Atmar (1992) in his
  1224.      introductory papers in the first EP conference proceedings as well as
  1225.      his  substantially  biological  "On  the  Role  of  Males"  in Animal
  1226.      Behavior (1991).  Atmar criticizes the use of terminology, indicating
  1227.      that  "crossing-over"  is  a  process that occurs prior to sex during
  1228.      meiotic cell division and its actual role in EVOLUTION is not clearly
  1229.      understood.  More than just simple semantics, he argues a reversal of
  1230.      the common assumption that sex acts as an accelerator  of  diversity,
  1231.      instead casting sex as a mechanism for expunging genetic defects from
  1232.      the germline.
  1233.  
  1234.      Atmar additionally argues that simplistic encodings of parameters for
  1235.      optimization in GENETIC ALGORITHMs where one "trait" is equivalent to
  1236.      one symbol pattern in the GENOME misrepresents the process of natural
  1237.      selection  and  miscontrues  cause and effect.  He argues instead for
  1238.      selection at the phenotypic level.  He characterizes the EP  approach
  1239.      as  being  "top down" in that expressed variation at the level of the
  1240.      phenotype is selected without concern for the representation at lower
  1241.      levels, while the GA approach "celebrates" coding details potentially
  1242.      to the exclusion of arriving at optimal solutions.
  1243.  
  1244.      Several empirical evaluations of the value  of  CROSSOVER  have  been
  1245.      reported,  all  of  which  suggest that the value of crossover is not
  1246.      clear.
  1247.  
  1248.      References
  1249.  
  1250.      Some references to proceedings,  books  and  journal  articles  which
  1251.      provide  an  excellent  introduction  (by  no means extensive) to the
  1252.      field, include:
  1253.  
  1254.      Fogel, LJ, Owens, AJ and Walsh, MJ  (1966)  "Artificial  Intelligence
  1255.      Through Simulated Evolution," John Wiley and Sons, NY. [primary]
  1256.  
  1257.      Fogel,  DB  and  Atmar,  JW,  (eds.) (1992) "Proceedings of the First
  1258.      Annual  Conference   on   Evolutionary   Programming,"   Evolutionary
  1259.      Programming Society, San Diego, CA. [primary]
  1260.  
  1261.      Atmar,  JW  (1991) "On the Role of Males," Animal Behavior, Vol.  41,
  1262.      pp. 195-205. [biological]
  1263.  
  1264.      Ambati, BK, Ambati, J and Mokhtar, MM (1991) "Heuristic COMBINATORIAL
  1265.      OPTIMIZATION  by  Simulated  Darwinian  EVOLUTION:  A Polynomial Time
  1266.      Algorithm   for   the   Traveling   Salesman   Problem,"   Biological
  1267.      Cybernetics, Vol. 65, pp 31-35. [mathematical]
  1268.  
  1269.      Sebald, AV, Schlenzig, J and Fogel, DB (1991) "Minimax Design of CMAC
  1270.      Neural Controllers Using Evolutionary Programming," Proc. of the 25th
  1271.      Asilomar  Conf.  on  Signals,  Systems and Computers, Chen, RR (ed.),
  1272.      Pacific Grove, CA, pp 551-555. [practical]
  1273.  
  1274.  
  1275.  
  1276.  
  1277. Issue 1.10               Posted: 20 December 1993                       19
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  1286.  
  1287.  
  1288.  
  1289.  PSEUDO CODE
  1290.      Algorithm EP is
  1291.  
  1292.       // start with an initial time
  1293.       t := 0;
  1294.  
  1295.       // initialize a usually random population of individuals
  1296.       initpopulation P (t);
  1297.  
  1298.       // evaluate fitness of all initial individuals of population
  1299.       evaluate P (t);
  1300.  
  1301.       // test for termination criterion (time, fitness, etc.)
  1302.       while not done do
  1303.  
  1304.            // increase the time counter
  1305.            t := t + 1;
  1306.  
  1307.            // perturb the whole population stochastically
  1308.            P' := mutate P (t);
  1309.  
  1310.            // evaluate it's new fitness
  1311.            evaluate P' (t);
  1312.  
  1313.            // select the survivors from actual fitness
  1314.            P := survive P,P' (t);
  1315.       od
  1316.      end EP.
  1317.  
  1318.      It should be pointed out that EP does not  use  any  CROSSOVER  as  a
  1319.      GENETIC OPERATOR.
  1320.  
  1321. A1.3) What's an Evolution Strategy (ES)? [preliminary]
  1322.      In  1963 two students at the Technical University of Berlin (TUB) met
  1323.      and were soon to collaborate  on  experiments  which  used  the  wind
  1324.      tunnel  of  the Institute of Flow Engineering.  During the search for
  1325.      the optimal shapes of bodies in a flow, which was then  a  matter  of
  1326.      laborious  intuitive  experimentation,  the  idea  was  conceived  of
  1327.      proceeding strategically.  However, attempts with the coordinate  and
  1328.      simple  gradient  strategies  (cf Q5) were unsuccessful.  Then one of
  1329.      the  students,  Ingo  Rechenberg,  now  Professor  of   Bionics   and
  1330.      Evolutionary  Engineering, hit upon the idea of trying random changes
  1331.      in the parameters  defining  the  shape,  following  the  example  of
  1332.      natural  MUTATIONs.   The  EVOLUTION  STRATEGY  was  born.   A  third
  1333.      student, Peter Bienert, joined them and started the  construction  of
  1334.      an  automatic  experimenter, which would work according to the simple
  1335.      rules of mutation  and  selection.   The  second  student,  Hans-Paul
  1336.      Schwefel,  set  about  testing the efficiency of the new methods with
  1337.      the help of a Zuse Z23 computer; for there were plenty of  objections
  1338.      to these "random strategies."
  1339.  
  1340.  
  1341.  
  1342.  
  1343. Issue 1.10               Posted: 20 December 1993                       20
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  1352.  
  1353.  
  1354.  
  1355.      In spite of an occasional lack of financial support, the Evolutionary
  1356.      Engineering Group which had been formed held  firmly  together.  Ingo
  1357.      Rechenberg  received  his  doctorate  in  1970  (Rechenberg  73).  It
  1358.      contains the theory of the two  membered  EVOLUTION  strategy  and  a
  1359.      first proposal for a multimembered strategy which in the nomenclature
  1360.      introduced here is of the (m+1) type.   In the  same  year  financial
  1361.      support  from  the  Deutsche  Forschungsgemeinschaft  (DFG, Germany's
  1362.      National Science Foundation) enabled the work, that was concluded, at
  1363.      least  temporarily,  in 1974 with the thesis "Evolutionsstrategie und
  1364.      numerische Optimierung" (Schwefel 77).
  1365.  
  1366.      Thus,  EVOLUTION  STRATEGIES  were  invented   to   solve   technical
  1367.      optimization  problems  (TOPs)  like  e.g.  constructing  an  optimal
  1368.      flashing nozzle, and until recently  ES  were  only  known  to  civil
  1369.      engineering  folks, as an alternative to standard solutions.  Usually
  1370.      no closed form analytical objective function is  available  for  TOPs
  1371.      and   hence,  no  applicable  optimization  method  exists,  but  the
  1372.      engineer's INTUITION.
  1373.  
  1374.      The first attempts to imitate principles of organic  EVOLUTION  on  a
  1375.      computer  still resembled the iterative optimization methods known up
  1376.      to that time (cf Q5): In a  two-membered  or  (1+1)  ES,  one  parent
  1377.      generates   one   offspring   per  GENERATION  by  applying  NORMALLY
  1378.      DISTRIBUTED MUTATIONs, i.e. smaller steps occur more likely than  big
  1379.      ones,  until  a child performs better than its ancestor and takes its
  1380.      place. Because of this  simple  structure,  theoretical  results  for
  1381.      stepsize control and CONVERGENCE VELOCITY could be derived. The ratio
  1382.      between successful and all mutations should  come  to  1/5:  the  so-
  1383.      called  1/5  SUCCESS RULE was discovered. This first algorithm, using
  1384.      mutation only, has then been  enhanced  to  a  (m+1)  strategy  which
  1385.      incorporated  RECOMBINATION  due  to  several,  i.e.  m parents being
  1386.      available. The mutation scheme and  the  exogenous  stepsize  control
  1387.      were taken across unchanged from  (1+1) ESs.
  1388.  
  1389.      Schwefel  later  generalized these strategies to the multimembered ES
  1390.      now denoted by (m+l) and (m,l) which  imitates  the  following  basic
  1391.      principles  of  organic  EVOLUTION:  a  POPULATION,  leading  to  the
  1392.      possibility  of  RECOMBINATION  with  random  mating,  MUTATION   and
  1393.      SELECTION.   These  strategies  are  termed  PLUS  STRATEGY and COMMA
  1394.      STRATEGY, respectively: in the plus case, the parental GENERATION  is
  1395.      taken into account during selection, while in the comma case only the
  1396.      offspring undergoes selection, and the parents die off. m (usually  a
  1397.      lowercase my, denotes the population size, and l, usually a lowercase
  1398.      lambda denotes the number of offspring generated per generation).  Or
  1399.      to  put  it  in  an  utterly  insignificant  and  hopelessly outdated
  1400.      language:
  1401.  
  1402.       (define (Evolution-strategy population)
  1403.         (if (terminate? population)
  1404.           population
  1405.           (evolution-strategy
  1406.  
  1407.  
  1408.  
  1409. Issue 1.10               Posted: 20 December 1993                       21
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  1418.  
  1419.  
  1420.  
  1421.         (select
  1422.           (cond (plus-strategy?
  1423.               (union (mutate
  1424.                    (recombine population))
  1425.                  population))
  1426.             (comma-strategy?
  1427.               (mutate
  1428.                 (recombine population))))))))
  1429.  
  1430.      However, dealing with ES is sometimes seen as "strong  tobacco,"  for
  1431.      it takes a decent amount of PROBABILITY THEORY and applied STATISTICS
  1432.      to understand the inner workings of an ES, while it navigates through
  1433.      the  hyperspace  of  the  usually  n-dimensional  problem  space,  by
  1434.      throwing hyperelipses into the deep...
  1435.  
  1436.      Luckily, this medium doesn't allow for  much  mathematical  ballyhoo;
  1437.      the  author  therefore  has  to come up with a simple but brilliantly
  1438.      intriguing explanation to save the reader from falling asleep  during
  1439.      the rest of this section, so here we go:
  1440.  
  1441.      Imagine a black box. A large black box. As large as, say for example,
  1442.      a Coca-Cola vending machine. Now, [..] (to be continued)
  1443.  
  1444.      A single INDIVIDUAL of the ES' POPULATION consists of  the  following
  1445.      GENOTYPE representing a point in the SEARCH SPACE:
  1446.  
  1447.      OBJECT VARIABLES
  1448.       Real-valued  x_i  have to be tuned by RECOMBINATION and MUTATION
  1449.       such that an objective  function  reaches  its  global  optimum.
  1450.       Referring   to   the  metaphor  mentioned  previously,  the  x_i
  1451.       represent the regulators of the alien Coka-Cola vending machine.
  1452.  
  1453.      STRATEGY VARIABLES
  1454.       Real-valued  s_i  (usually denoted by a lowercase sigma) or mean
  1455.       STEPSIZES determine the mutability of the  x_i.  They  represent
  1456.       the STANDARD DEVIATION of a  (0, s_i) GAUSSIAN DISTRIBUTION (GD)
  1457.       being added to each x_i as  an  undirected  MUTATION.   With  an
  1458.       EXPECTANCY  VALUE  of  0  the  parents  will  produce offsprings
  1459.       similar to themselves on average. In order to  make  a  doubling
  1460.       and  a  halving  of  a stepsize equally probable, the s_i mutate
  1461.       LOG-NORMALLY, distributed,  i.e.  exp(GD),  from  generation  to
  1462.       GENERATION.    These  stepsizes  hide  the  INTERNAL  MODEL  the
  1463.       POPULATION has made of its ENVIRONMENT, i.e.  a  SELF-ADAPTATION
  1464.       of the stepsizes has replaced the exogenous control of the (1+1)
  1465.       ES.
  1466.  
  1467.      This concept works because selection sooner or  later  prefers  those
  1468.      INDIVIDUALs having built a good model of the objective function, thus
  1469.      producing better  offspring.  Hence,  LEARNING  takes  place  on  two
  1470.      levels:  (1)  at the genotypic, i.e. the object and strategy variable
  1471.      level and (2) at the phenotypic level, i.e. the FITNESS level.
  1472.  
  1473.  
  1474.  
  1475. Issue 1.10               Posted: 20 December 1993                       22
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  1484.  
  1485.  
  1486.  
  1487.      Depending on an individual's x_i, the  resulting  objective  function
  1488.      value f(x), where x denotes the vector of objective variables, serves
  1489.      as the PHENOTYPE (FITNESS) in the selection step. In a plus strategy,
  1490.      the  m best of all (m+l) INDIVIDUALs survive to become the parents of
  1491.      the next GENERATION.  Using the comma variant, selection takes  place
  1492.      only  among  the l offspring. The second scheme is more realistic and
  1493.      therefore more successful, because no individual may survive forever,
  1494.      which  could  at  least  theoretically  occur using the plus variant.
  1495.      Untypical for conventional  optimization  algorithms  and  lavish  at
  1496.      first  sight,  a  comma  strategy allowing intermediate deterioration
  1497.      performs  better!  Only  by  FORGETTING  highly  fit  individuals   a
  1498.      permanent  adaptation  of the stepsizes can take place and avoid long
  1499.      stagnation phases due to misadapted s_i's.   This  means  that  these
  1500.      individuals   have   built  an  internal  model  that  is  no  longer
  1501.      appropriate  for  further  progress,  and  thus  should   better   be
  1502.      discarded.
  1503.  
  1504.      By  choosing  a  certain ratio m/l, one can determine the convergence
  1505.      property of the EVOLUTION strategy: If one wants a  fast,  but  local
  1506.      convergence,  one  should  choose a small HARD SELECTION, ratio, e.g.
  1507.      (5,100), but looking for the global  optimum,  one  should  favour  a
  1508.      SOFTer SELECTION (15,100).
  1509.  
  1510.      Self-adaptation  within ESs depends on the following AGENTS (Schwefel
  1511.      87):
  1512.  
  1513.      RANDOMNESS:
  1514.       One cannot model MUTATION as a pure random process.  This  would
  1515.       mean that a child is completely independent of its parents.
  1516.  
  1517.      POPULATION SIZE:
  1518.       The  POPULATION  has  to  be  sufficiently  large.  Not only the
  1519.       current best should be allowed to reproduce, but a set  of  good
  1520.       INDIVIDUALs.   Biologists have coined the term REQUISITE VARIETY
  1521.       being necessary to prevent a SPECIES from  becoming  poorer  and
  1522.       poorer genetically and eventually dying out.
  1523.  
  1524.      COOPERATION:
  1525.       In  order  to  exploit  the effects of a POPULATION (m > 1), the
  1526.       INDIVIDUALs should recombine their knowledge with that of others
  1527.       (cooperate)   because   one   cannot  expect  the  knowledge  to
  1528.       accumulate in the best individual only.
  1529.  
  1530.      DETERIORATION:
  1531.       In order to allow better internal models (stepsizes) to  provide
  1532.       better  progress  in the future, one should accept deterioration
  1533.       from one GENERATION to the next. A limited life-span  in  nature
  1534.       is not a sign of failure, but an important means of preventing a
  1535.       SPECIES from freezing genetically.
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541. Issue 1.10               Posted: 20 December 1993                       23
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  1550.  
  1551.  
  1552.  
  1553.      ESs prove to be successful when compared to other  iterative  methods
  1554.      on a large number of test problems (Schwefel 77).  They are adaptable
  1555.      to nearly all sorts of problems in optimization,  because  they  need
  1556.      very little information about the problem, esp. no derivatives of the
  1557.      objective function. For a list of some 300 applications of  EAs,  see
  1558.      the  SyS-2/92  report  (cf  Q14).   ESs  are  capable of solving high
  1559.      dimensional, multimodal, nonlinear problems subject to linear  and/or
  1560.      nonlinear  constraints.  The objective function can also, e.g. be the
  1561.      result of a SIMULATION, it does not have to  be  given  in  a  closed
  1562.      form.   This  also  holds for the constraints which may represent the
  1563.      outcome of, e.g. a  finite  elements  method  (FEM).  ESs  have  been
  1564.      adapted  to  VECTOR  OPTIMIZATION problems (Kursawe 92), and they can
  1565.      also serve as a heuristic for NP-complete combinatorial problems like
  1566.      the  TRAVELLING SALESMAN problem or problems with a noisy or changing
  1567.      response surface.
  1568.  
  1569.      References
  1570.  
  1571.      Kursawe, F. (1992) "Evolution strategies  for  vector  optimization",
  1572.      Taipei, National Chiao Tung University, 187-193.
  1573.  
  1574.      Kursawe,  F.  (1994)  "Evolution strategies: Simple models of natural
  1575.      processes?", Revue Internationale de Systemique, France (to  appear).
  1576.  
  1577.      Rechenberg,  I.  (1973) "Evolutionsstrategie: Optimierung technischer
  1578.      Systeme  nach  Prinzipien  der  biologischen  Evolution",  Stuttgart:
  1579.      Fromman-Holzboog.
  1580.  
  1581.      Schwefel,  H.-P.  (1977) "Numerische Optimierung von Computermodellen
  1582.      mittels der Evolutionsstrategie", Basel: Birkhaeuser.
  1583.  
  1584.      Schwefel,  H.-P.  (1987)  "Collective  Phaenomena   in   Evolutionary
  1585.      Systems",  31st Annu. Meet. Inter'l Soc. for General System Research,
  1586.      Budapest, 1025-1033.
  1587.  
  1588. A1.4) What's a Classifier System (CFS)? [preliminary]
  1589.  The name of the Game
  1590.      First, a word on naming conventions is due, for no other paradigm  of
  1591.      EC  has  undergone  more  changes  to it's name space than the thread
  1592.      we're  currently  talking  about.   Initially,  Holland  called   his
  1593.      cognitive  models  "Classifier Systems" abbrv. with CS, and sometimes
  1594.      CFS, as can be found in [GOLD89].
  1595.  
  1596.      Whence Riolo came into play in 1986 and Holland added a REINFORCEMENT
  1597.      component to the overall design of a CFS, that emphasized its ability
  1598.      to learn, thus, the word "learning" was  prepended  to  the  name  to
  1599.      stress  the  MACHINE  LEARNING  notion  of  the then called "Learning
  1600.      Classifier Systems" abbrv. with LCS.  On October 6-9, 1992  the  "1st
  1601.      Inter'l  Workshop  on  Learning Classifier Systems" took place at the
  1602.      NASA Johnson Space Center, Houston, TX.  A summary of  this  "summit"
  1603.      of  all  leading  researchers  in  LCS  can  be  found  on  SAFIER as
  1604.  
  1605.  
  1606.  
  1607. Issue 1.10               Posted: 20 December 1993                       24
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  1616.  
  1617.  
  1618.  
  1619.      sfi.santafe.edu:/pub/EC/CFS/papers/lcs92.ps.gz
  1620.  
  1621.      Today, the story continues, LCSs are sometimes subsumed under a "new"
  1622.      MACHINE  LEARNING paradigm called EVOLUTIONARY REINFORCEMENT LEARNING
  1623.      or ERL for short, incorporating LCSs, Q-Learning, devised by  Watkins
  1624.      (1989),  and  a  paradigm  of  the  same  name, devised by Ackley and
  1625.      Littman [ALIFEIII].
  1626.  
  1627.  On Schema Processors and ANIMATS
  1628.      So, to get back to the question above, "What  are  CFSs?",  we  first
  1629.      might  answer,  "Well,  there  are  many interpretations of Holland's
  1630.      ideas...what do you like to know in particular?"  And then we'd start
  1631.      with  a  recitation  from  [HOLLAND75,92], and explain all the schema
  1632.      processors, the broadcast language, etc.  But, we will  take  a  more
  1633.      comprehensive,  and  intuitive  way  to  understand  what  classifier
  1634.      systems are all about.
  1635.  
  1636.      The easiest road to explore the very nature of classifier systems, is
  1637.      to take the ANIMAT (ANIMAl + roboT = ANIMAT) "lane" devised by Booker
  1638.      (1982) and later studied  extensively  by  Wilson  (1985),  who  also
  1639.      coined  the  term for this approach. Work continues on ANIMATs but is
  1640.      often  regarded  as  ARTIFICIAL   LIFE   rather   than   EVOLUTIONARY
  1641.      COMPUTATION.   This  thread  of  research has even its own conference
  1642.      series: "Simulation of Adaptive Behavior (SAB)" (cf  Q12),  including
  1643.      other   notions   from   machine  learning,  connectionist  learning,
  1644.      evolutionary robotics, etc.  [NB: the latter is obvious, if an ANIMAT
  1645.      lives  in  a  digital microcosm, it can be put into the real world by
  1646.      implantation   into   an   autonomous   robot   vehicle,   that   has
  1647.      sensors/detectors   (camera   eyes,  whiskers,  etc.)  and  effectors
  1648.      (wheels, robot arms, etc.); so  all  what's  needed  is  to  use  our
  1649.      algorithm  as  the  "brain"  of this vehicle, connecting the hardware
  1650.      parts with the software learning component.  For a fascinating  intro
  1651.      to the field see, e.g. Braitenberg (1984)]
  1652.  
  1653.      CLASSIFIER  SYSTEMS,  however,  are  yet  another  offspring  of John
  1654.      Holland's aforementioned book, and can be seen as one  of  the  early
  1655.      applications  of  GAs,  for  CFSs  use this evolutionary algorithm to
  1656.      adopt their behavior toward a changing environment, as  is  explained
  1657.      below in greater detail.
  1658.  
  1659.      Holland  envisioned  a cognitive system capable of classification the
  1660.      ongoings in  its  environment,  and  then  react  to  these  ongoings
  1661.      appropriately.  So  what  does  it  need  to  build  such  a  system?
  1662.      Obviously, we need (1) an environment; (2) receptors  that  tell  our
  1663.      system  about  the  ongoings;  (3)  effectors,  that  let  our system
  1664.      manipulate its environment; and (4) the system itself, conveniently a
  1665.      "black  box" in this first approach, that has (2) and (3) attached to
  1666.      it, and "lives" in (1).
  1667.  
  1668.      In the ANIMAT  approach,  (1)  usually  is  an  artificially  created
  1669.      digital  world,  e.g.  in Booker's GOFER system, a 2 dimensional grid
  1670.  
  1671.  
  1672.  
  1673. Issue 1.10               Posted: 20 December 1993                       25
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  1682.  
  1683.  
  1684.  
  1685.      that contains "food" and "poison".  And the GOFER itself, that  walks
  1686.      across  this grid and tries (a) to learn to distinguish between these
  1687.      two items, and (b) survive well fed.
  1688.  
  1689.      Much the same for Wilson's animat, called  "*".  Yes,  it's  just  an
  1690.      asterisk,  and a "Kafka-esque naming policy" is one of the sign posts
  1691.      of the whole field; e.g. the  first  implementation  by  Holland  and
  1692.      Reitmann  1978  was  called  CS-1,  cognitive  system 1; Smith' Poker
  1693.      player LS-1 (1980)  followed  this  "convention";  Riolo's  1988  LCS
  1694.      implementations  on  top  of  his CFS-C library (cf Q20), were dubbed
  1695.      FSW-1 (Finite State World 1), and LETSEQ-1 (LETter SEQuence predictor
  1696.      1).
  1697.  
  1698.      So  from  the  latter  paragraph we can conclude that ENVIRONMENT can
  1699.      also mean something completely different (e.g. an infinite stream  of
  1700.      letters,  time  serieses,  etc.)  than  in  the  ANIMAT approach, but
  1701.      anyway; we'll stick to it, and go on.
  1702.  
  1703.      Imagine a very simple ANIMAT, e.g., a simplified  model  of  a  frog.
  1704.      Now,  we  know  that  frogs  live  in (a) Muppet Shows, or (b) little
  1705.      ponds; so we chose the latter as our demo environment  (1);  and  the
  1706.      former  for  a  non-Kafka-esque  name  of  our model, so let's dub it
  1707.      "Kermit".
  1708.  
  1709.      Kermit has eyes, i.e. sensorial input detectors (2); hands and  legs,
  1710.      i.e.    environment-manipulating   effectors  (3);  is  a  spicy-fly-
  1711.      detecting-and-eating device, i.e. a frog (4); so we  got  all  the  4
  1712.      pieces needed.
  1713.  
  1714.  Inside the Black Box
  1715.      The most primitive "black box" we can think of is a computer.  It has
  1716.      inputs (2), and outputs (3), and a message passing system  inbetween,
  1717.      that  converts  (i.e.,  computes), certain input messages into output
  1718.      messages, according to a set of rules, usually called  the  "program"
  1719.      of that computer.  From the theory of computer science, we now borrow
  1720.      the simplest of all program  structures,  that  is  something  called
  1721.      "production  system"  or  PS  for  short.   A PS has been shown to be
  1722.      computationally complete by Post (1943), that's why it  is  sometimes
  1723.      called  a  "Post  System",  and  later by Minsky (1967).  Although it
  1724.      merely consists of a set of if-then rules, it still resembles a full-
  1725.      fledged computer.
  1726.  
  1727.      We  now  term  a  single  "if-then" rule a "classifier", and choose a
  1728.      representation that makes it easy to manipulate these, for example by
  1729.      encoding  them  into  binary  strings.   We  then  term  the  set  of
  1730.      classifiers, a "classifier population", and immediately know  how  to
  1731.      breed  new  rules  for  our  system:  just  use  a GA to generate new
  1732.      rules/classifiers from the current population!
  1733.  
  1734.      All what's left are the messages  floating  through  the  black  box.
  1735.      They  should also be simple strings of zeroes and ones, and are to be
  1736.  
  1737.  
  1738.  
  1739. Issue 1.10               Posted: 20 December 1993                       26
  1740.  
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  1748.  
  1749.  
  1750.  
  1751.      kept in a data structure, we call "the message list".
  1752.  
  1753.      With all this given, we can imagine the ongoings inside the black box
  1754.      as  follows:  The  input  interface (2) generates messages, i.e., 0/1
  1755.      strings, that are written on the message list.  Then  these  messages
  1756.      are  matched  against  the condition-part of all classifiers, to find
  1757.      out which actions are to be triggered.   The  message  list  is  then
  1758.      emptied,  and  the  encoded  actions,  themselves  just messages, are
  1759.      posted to the message list.  Then, the output  interface  (3)  checks
  1760.      the message list for messages concerning the effectors. And the cycle
  1761.      restarts.
  1762.  
  1763.      Note, that it is possible in this set-up to have "internal messages",
  1764.      because  the message list is not emptied after (3) has checked; thus,
  1765.      the input interface messages are added to the initially  empty  list.
  1766.      (cf Algorithm CFS, LCS below)
  1767.  
  1768.      The  general  idea  of  the  CFS is to start from scratch, i.e., from
  1769.      tabula rasa  (without  any  knowledge)  using  a  randomly  generated
  1770.      classifier  population,  and  let  the  system  learn  its program by
  1771.      INDUCTION, (cf Holland et al. 1986), this reduces the input stream to
  1772.      recurrent  input patterns, that must be repeated over and over again,
  1773.      to enable the ANIMAT to classify its  current  situation/context  and
  1774.      react on the ongoings appropriately.
  1775.  
  1776.  What does it need to be a frog?
  1777.      Let's  take a look at the behavior emitted by Kermit. It lives in its
  1778.      digital microwilderness where it moves around  randomly.   [NB:  This
  1779.      seemingly  "random"  behavior  is not that random at all; for more on
  1780.      instinctive, i.e., innate behavior  of  non-artificial  animals  see,
  1781.      e.g.  Tinbergen (1951)]
  1782.  
  1783.      Whenever  a  small flying object appears, that has no stripes, Kermit
  1784.      should eat it, because it's very likely a spicy fly, or other  flying
  1785.      insect.   If it has stripes, the insect is better left alone, because
  1786.      Kermit better don't bother with wasps, hornets, or bees.   If  Kermit
  1787.      encounters a large, looming object, it immediately uses its effectors
  1788.      to jump away, as far as possible.
  1789.  
  1790.      So, part of these behavior patterns within the "pond  world",  in  AI
  1791.      sometimes called a "frame," from traditional knowledge representation
  1792.      techniques, Rich (1983), can be expressed in a set of "if <condition>
  1793.      then <action>" rules, as follows:
  1794.  
  1795.       IF small, flying object to the left THEN send @
  1796.       IF small, flying object to the right THEN send %
  1797.       IF small, flying object centered THEN send $
  1798.       IF large, looming object THEN send !
  1799.       IF no large, looming object THEN send *
  1800.       IF * and @ THEN move head 15 degrees left
  1801.       IF * and % THEN move head 15 degrees right
  1802.  
  1803.  
  1804.  
  1805. Issue 1.10               Posted: 20 December 1993                       27
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  1814.  
  1815.  
  1816.  
  1817.       IF * and $ THEN move in direction head pointing
  1818.       IF ! THEN move rapidly away from direction head pointing
  1819.  
  1820.      Now,  this set of rules has to be encoded for use within a classifier
  1821.      system.  A possible encoding of the above rule set in  CFS-C  (Riolo)
  1822.      classifier   terminology.   The   condition   part  consists  of  two
  1823.      conditions, that are combined with a logical AND, thus  must  be  met
  1824.      both  to  trigger  the  associated action. This structure needs a NOT
  1825.      operation, (so we get NAND, and know from hardware  design,  that  we
  1826.      can  build  any computer solely with NANDs), in CFS-C this is denoted
  1827.      by the `~' prefix character (rule #5).
  1828.  
  1829.       IF             THEN
  1830.        0000,  00 00  00 00
  1831.        0000,  00 01  00 01
  1832.        0000,  00 10  00 10
  1833.        1111,  01 ##  11 11
  1834.       ~1111,  01 ##  10 00
  1835.        1000,  00 00  01 00
  1836.        1000,  00 01  01 01
  1837.        1000,  00 10  01 10
  1838.        1111,  ## ##  01 11
  1839.  
  1840.      Obviously, string `0000' denotes small, and `00' in the fist part  of
  1841.      the  second  column,  denotes flying.  The last two bits of column #2
  1842.      encode the direction of the  object  approaching,  where  `00'  means
  1843.      left, `01' means right, etc.
  1844.  
  1845.      In  rule  #4  a the "don't care symbol" `#' is used, that matches `1'
  1846.      and `0',  i.e.,  the  position  of  the  large,  looming  object,  is
  1847.      completely   arbitrary.   A  simple  fact,  that  can  save  Kermit's
  1848.      (artificial) life.
  1849.  
  1850.  PSEUDO CODE (Non-Learning CFS)
  1851.      Algorithm CFS is
  1852.  
  1853.       // start with an initial time
  1854.       t := 0;
  1855.  
  1856.       // an initially empty message list
  1857.       initMessageList ML (t);
  1858.  
  1859.       // and a randomly generated population of classifiers
  1860.       initClassifierPopulation P (t);
  1861.  
  1862.       // test for cycle termination criterion (time, fitness, etc.)
  1863.       while not done do
  1864.  
  1865.            // increase the time counter
  1866.            t := t + 1;
  1867.  
  1868.  
  1869.  
  1870.  
  1871. Issue 1.10               Posted: 20 December 1993                       28
  1872.  
  1873.  
  1874.  
  1875.  
  1876.  
  1877.  
  1878.  
  1879. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  1880.  
  1881.  
  1882.  
  1883.            // 1. detectors check whether input messages are present
  1884.            ML := readDetectors (t);
  1885.  
  1886.            // 2. compare ML to the classifiers and save matches
  1887.            ML' := matchClassifiers ML,P (t);
  1888.  
  1889.            // 3. process new messages through output interface
  1890.            ML := sendEffectors ML' (t);
  1891.       od
  1892.      end CFS.
  1893.  
  1894.      To convert the previous, non-learning CFS into a learning  classifier
  1895.      system  LCS,  as  has  been  proposed in Holland (1986), it takes two
  1896.      steps:
  1897.  
  1898.      (1)   the major cycle has to be changed such that the  activation  of
  1899.        each  classifier depends on some additional parameter, that can
  1900.        be modified as a result of experience, i.e. reinforcement  from
  1901.        the environment;
  1902.  
  1903.      (2)   and/or  change  the  contents  of  the  classifier  list, i.e.,
  1904.        generate  new  classifiers/rules,  by  removing,   adding,   or
  1905.        combining condition/action-parts of existing classifiers.
  1906.  
  1907.      The algorithm thus changes accordingly:
  1908.  
  1909.  PSEUDO CODE (Learning CFS)
  1910.      Algorithm LCS is
  1911.  
  1912.       // start with an initial time
  1913.       t := 0;
  1914.  
  1915.       // an initially empty message list
  1916.       initMessageList ML (t);
  1917.  
  1918.       // and a randomly generated population of classifiers
  1919.       initClassifierPopulation P (t);
  1920.  
  1921.       // test for cycle termination criterion (time, fitness, etc.)
  1922.       while not done do
  1923.  
  1924.            // increase the time counter
  1925.            t := t + 1;
  1926.  
  1927.            // 1. detectors check whether input messages are present
  1928.            ML := readDetectors (t);
  1929.  
  1930.            // 2. compare ML to the classifiers and save matches
  1931.            ML' := matchClassifiers ML,P (t);
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937. Issue 1.10               Posted: 20 December 1993                       29
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  1946.  
  1947.  
  1948.  
  1949.            // 3. highest bidding classifier(s) collected in ML' wins the
  1950.            // "race" and post the(ir) message(s)
  1951.            ML' := selectMatchingClassifiers ML',P (t);
  1952.  
  1953.            // 4. tax bidding classifiers, reduce their strength
  1954.            ML' := taxPostingClassifiers ML',P (t);
  1955.  
  1956.            // 5. effectors check new message list for output msgs
  1957.            ML := sendEffectors ML' (t);
  1958.  
  1959.            // 6. receive payoff from environment (REINFORCEMENT)
  1960.            C := receivePayoff (t);
  1961.  
  1962.            // 7. distribute payoff/credit to classifiers (e.g. BBA)
  1963.            P' := distributeCredit C,P (t);
  1964.  
  1965.            // 8. Eventually (depending on t), an EA (usually a GA) is
  1966.            // applied to the classifier population
  1967.            if criterion then
  1968.             P := generateNewRules P' (t);
  1969.            else
  1970.             P := P'
  1971.       od
  1972.      end LCS.
  1973.  
  1974.  What's the problem with CFSs?
  1975.      Just  to list the currently known problems that come with CFSs, would
  1976.      take some additional pages; therefore only  some  interesting  papers
  1977.      dealing  with  unresolved riddles are listed; probably the best paper
  1978.      containing most of these is the aforementioned  summary  of  the  LCS
  1979.      Workshop:
  1980.  
  1981.      Smith,  R.E.  (1992) "A report on the first Inter'l Workshop on LCSs"
  1982.      avail. from SAFIER as: sfi.santafe.edu:/pub/EC/CFS/papers/lcs92.ps.gz
  1983.  
  1984.      Other noteworthy critiques on LCSs include:
  1985.  
  1986.      Wilson,  S.W.  (1987)  "Classifier  Systems  and  the Animat Problem"
  1987.      Machine Learning, 2.
  1988.  
  1989.      Wilson, S.W. (1988) "Bid Competition  and  Specificity  Reconsidered"
  1990.      Complex Systems, 2(5):705-723.
  1991.  
  1992.      Wilson, S.W. & Goldberg, D.E. (1989) "A critical review of classifier
  1993.      systems" [ICGA89], 244-255.
  1994.  
  1995.      Goldberg, D.E., Horn, J. & Deb, K. (1992) "What makes a problem  hard
  1996.      for  a  classifier system?"  (containing the Goldberg citation below)
  1997.      is        also        available        from        SAFIER         as:
  1998.      sfi.santafe.edu:/pub/EC/CFS/papers/lcs92-2.ps.gz
  1999.  
  2000.  
  2001.  
  2002.  
  2003. Issue 1.10               Posted: 20 December 1993                       30
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  2012.  
  2013.  
  2014.  
  2015.      Dorigo,  M.  (1993)  "Genetic  and  Non-genetic Operators in ALECSYS"
  2016.      Evolutionary Computation, 1(2):151-164.  The  technical  report,  the
  2017.      journal   article   is   based   on   is   avail.   from  SAFIER  as:
  2018.      sfi.santafe.edu:/pub/EC/CFS/papers/icsi92.ps.gz
  2019.  
  2020.      Smith, R.E. Forrest,  S.  &  Perelson,  A.S.  (1993)  "Searching  for
  2021.      Diverse,    Cooperative    Populations   with   Genetic   Algorithms"
  2022.      Evolutionary Computation, 1(2):127-149.
  2023.  
  2024.  Conclusions?
  2025.      Generally speaking:  "There's much to do in CFS research!"
  2026.  
  2027.      No other notion of EC provides more space to explore  and  given  you
  2028.      are interested in a PhD in the field, you might want to take a closer
  2029.      look at CFS.  However, be warned!,  to  quote  Goldberg:  "classifier
  2030.      systems   are   a  quagmire---a  glorious,  wondrous,  and  inventing
  2031.      quagmire, but a quagmire nonetheless."
  2032.  
  2033.      References
  2034.  
  2035.      Booker, L.B. (1982) "Intelligent behavior as an adaption to the  task
  2036.      environment"  PhD Dissertation, Univ. of Michigan, Logic of Computers
  2037.      Group, Ann Arbor, MI.
  2038.  
  2039.      Braitenberg,  V.   (1984)   "Vehicles:   Experiments   in   Synthetic
  2040.      Psychology" Boston, MA: MIT Press.
  2041.  
  2042.      Holland,  J.H.  (1986)  "Escaping  Brittleness:  The possibilities of
  2043.      general-purpose learning algorithms applied  to  parallel  rule-based
  2044.      systems".  In:  R.S. Michalski, J.G. Carbonell & T.M. Mitchell (eds),
  2045.      Machine  Learning:  An  artificial  intelligence  approach,  Vol  II,
  2046.      593-623, Los Altos, CA: Morgan Kaufman.
  2047.  
  2048.      Holland,  J.H.,  et  al.  (1986)  "Induction: Processes of Inference,
  2049.      Learning, and Discovery", Cambridge, MA: MIT Press.
  2050.  
  2051.      Holland, J.H. (1992) "Adaptation in natural and  artificial  systems"
  2052.      Boston, MA: MIT Press.
  2053.  
  2054.      Holland,  J.H.  &  Reitman,  J.S.  (1978) "Cognitive Systems based on
  2055.      Adaptive Algorithms" In D.A. Waterman & F.Hayes-Roth, (eds)  Pattern-
  2056.      directed inference systems. NY: Academic Press.
  2057.  
  2058.      Minsky,   M.L.   (1961)   "Steps   toward   Artificial  Intelligence"
  2059.      Proceedings IRE, 49, 8-30. Reprinted in E.A. Feigenbaum & J.  Feldman
  2060.      (eds) Computers and Thought, 406-450, NY: McGraw-Hill, 1963.
  2061.  
  2062.      Minsky,  M.L.  (1967)  "Computation:  Finite  and  Infinite Machines"
  2063.      Englewood Cliffs, NJ: Prentice-Hall.
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069. Issue 1.10               Posted: 20 December 1993                       31
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  2078.  
  2079.  
  2080.  
  2081.      Post, E.L. (1943) "Formal reductions  of  the  general  combinatorial
  2082.      decision problem" American Journal of Mathematics, 65, 197-268.
  2083.  
  2084.      Rich, E. (1983) "Artificial Intelligence" NY: McGraw-Hill.
  2085.  
  2086.      Tinbergen,  N. (1951) "The Study of Instinct" NY: Oxford Univ. Press.
  2087.  
  2088.      Watkins, C. (1989) "Learning from Delayed Rewards" PhD  Dissertation,
  2089.      Department of Psychology, Cambridge Univ., UK.
  2090.  
  2091.      Wilson,  S.W.  (1985)  "Knowledge  growth in an artificial animal" in
  2092.      [ICGA95], 16-23.
  2093.  
  2094. A1.5) What's Genetic Programming (GP)?
  2095.      GENETIC PROGRAMMING is the extension of the genetic model of learning
  2096.      into  the space of programs. That is, the objects that constitute the
  2097.      POPULATION  are  not  fixed-length  character  strings  that   encode
  2098.      possible  solutions  to  the problem at hand, they are programs that,
  2099.      when executed, "are" the candidate solutions to  the  problem.  These
  2100.      programs  are expressed in genetic programming as parse trees, rather
  2101.      than as lines of code.  Thus, for example, the simple program "a +  b
  2102.      * c" would be represented as:
  2103.  
  2104.          +
  2105.         / \
  2106.         a  *
  2107.          / \
  2108.          b  c
  2109.  
  2110.      or,  to  be  precise,  as suitable data structures linked together to
  2111.      achieve this effect. Because this is a very simple thing to do in the
  2112.      programming language Lisp, many GPers tend to use Lisp. However, this
  2113.      is simply an implementation detail. There are straightforward methods
  2114.      to implement GP using a non-Lisp programming ENVIRONMENT.
  2115.  
  2116.      The  programs  in  the  POPULATION  are composed of elements from the
  2117.      FUNCTION SET and the TERMINAL SET, which are typically fixed sets  of
  2118.      symbols selected to be appropriate to the solution of problems in the
  2119.      domain of interest.
  2120.  
  2121.      In GP the CROSSOVER  operation  is  implemented  by  taking  randomly
  2122.      selected  subtrees in the INDIVIDUALs (selected according to FITNESS)
  2123.      and exchanging them.
  2124.  
  2125.      It should be pointed out that GP usually does not use any MUTATION as
  2126.      a GENETIC OPERATOR.
  2127.  
  2128.  
  2129. A2) What can EAs do for you? What can't they do?
  2130.      In   principle,   EAs  can  compute  any  computable  function,  i.e.
  2131.      everything a normal digital computer can do.
  2132.  
  2133.  
  2134.  
  2135. Issue 1.10               Posted: 20 December 1993                       32
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  2144.  
  2145.  
  2146.  
  2147.      EAs are especially bad suited for problems that are already known how
  2148.      to  solve,  unless  these problems are intended to serve as BENCHMARK
  2149.      PROGRAMS.  Special purpose algorithms, i.e. algorithms  that  have  a
  2150.      certain  amount  of PROBLEM DOMAIN KNOWLEDGE hard coded in them, will
  2151.      usually outperform EAs, so there is no BLACK MAGIC in EC.  EAs should
  2152.      be  used  when  there is no other known problem solving strategy, and
  2153.      the problem domain is NP-complete.  That's where EAs come into  play:
  2154.      heuristically finding solutions where all else fails.
  2155.  
  2156.      Following   is   an   incomplete   (sic!)    list  of  successful  EA
  2157.      applications:
  2158.  
  2159.  TIMETABLING
  2160.      Another thing that has been addressed quite successfully with GAs  is
  2161.      timetabling.  A  very common manifestation of this kind of problem is
  2162.      the timetabling of exams or classes  in  Universities,  etc.  At  the
  2163.      Department  of  ARTIFICIAL  INTELLIGENCE,  University  of  Edinburgh,
  2164.      timetabling the MSc exams is now done using a GA (Corne  et  al.  93,
  2165.      Fang  92).  An  example  of the use of GAs for timetabling classes is
  2166.      (Abramson & Abela 1991).
  2167.  
  2168.      In the exam timetabling case,  the  FITNESS  function  for  a  GENOME
  2169.      representing a timetable involves computing degrees of punishment for
  2170.      various problems with the timetable, such as  clashes,  instances  of
  2171.      students  having  to  take  consecutive  exams, instances of students
  2172.      having (eg) three or more exams in  one  day,  the  degree  to  which
  2173.      heavily-subscribed  exams  occur  late  in the timetable (which makes
  2174.      marking harder), overall length of timetable, etc. The modular nature
  2175.      of the fitness function has the key to the main potential strength of
  2176.      using GAs for this sort of thing as  opposed  to  using  conventional
  2177.      search  and/or  constraint  programming  methods. The power of the GA
  2178.      approach is the ease with which it  can  handle  arbitrary  kinds  of
  2179.      constraints  and  objectives;  all  such  things  can  be  handled as
  2180.      weighted components of the fitness function, making it easy to  adapt
  2181.      the  GA  to  the  particular  requirements  of  a  very wide range of
  2182.      possible overall objectives . Very few other timetabling methods, for
  2183.      example,  deal with such objectives at all, which shows how difficult
  2184.      it is (without  GAs)  to  graft  the  capacity  to  handle  arbitrary
  2185.      objectives  onto  the  basic "find shortest- length timetable with no
  2186.      clashes" requirement.  The  proper  way  to  weight/handle  different
  2187.      objectives  in  the  fitness  function  in relation to the general GA
  2188.      dynamics remains, however, an important research problem!
  2189.  
  2190.      GAs thus offer a combination of simplicity, flexibility & speed which
  2191.      competes  very  favorably  with other approaches, but are unlikely to
  2192.      outperform  knowledge-based  (etc)  methods  if  the  best   possible
  2193.      solution  is  required at any cost. Even then, however, hybridisation
  2194.      may yield the best of both worlds; also, the ease (if the hardware is
  2195.      available!)  of implementing GAs in parallel enhances the possibility
  2196.      of using them for good, fast solutions to very hard  timetabling  and
  2197.      similar problems.
  2198.  
  2199.  
  2200.  
  2201. Issue 1.10               Posted: 20 December 1993                       33
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  2210.  
  2211.  
  2212.  
  2213.      References
  2214.  
  2215.      Corne,  D. Fang, H.-L. & Mellish, C. (1993) "Solving the Modular Exam
  2216.      Scheduling Problem with Genetic  Algorithms".   Proc.  of  6th  Int'l
  2217.      Conf.  on  Industrial  and  Engineering  Applications  of  ARTIFICIAL
  2218.      INTELLIGENCE & Expert Systems, ISAI, (to appear).
  2219.  
  2220.      Fang,  H.-L.  (1992)  "Investigating   GAs   for   scheduling",   MSc
  2221.      Dissertation,   University   of   Edinburgh   Dept.   of   ARTIFICIAL
  2222.      INTELLIGENCE, Edinburgh, UK.
  2223.  
  2224.      Abramson & Abela (1991) "A Parallel GENETIC ALGORITHM for Solving the
  2225.      School  Timetabling  Problem'',  Technical  Report, Division of I.T.,
  2226.      C.S.I.R.O,  April  1991.   (Division   of   Information   Technology,
  2227.      C.S.I.R.O.,  c/o  Dept.  of  Communication  & Electronic Engineering,
  2228.      Royal Melbourne Institute of  Technology,  PO  BOX  2476V,  Melbourne
  2229.      3001, Australia)
  2230.  
  2231.  JOB-SHOP SCHEDULING
  2232.      The  Job-Shop  Scheduling  Problem  (JSSP)  is  a  very difficult NP-
  2233.      complete problem which, so far, seems best addressed by sophisticated
  2234.      branch  and  bound  search  techniques.  GA researchers, however, are
  2235.      continuing to make  progress  on  it.   (Davis  85)  started  off  GA
  2236.      research  on  the  JSSP,  (Whitley  89)  reports  on  using  the edge
  2237.      RECOMBINATION operator (designed initially for the TSP) on JSSPs too.
  2238.      More  recent work includes (Nakano 91),(Yamada & Nakano 92), (Fang et
  2239.      al. 93).  The latter three  report  increasingly  better  results  on
  2240.      using  GAs on fairly large benchmark JSSPs (from Muth & Thompson 63);
  2241.      neither consistently outperform branch & bound search yet,  but  seem
  2242.      well  on  the  way.  A  crucial  aspect  of such work (as with any GA
  2243.      application) is the method used to  encode  schedules.  An  important
  2244.      aspect of some of the recent work on this is that better results have
  2245.      been obtained by rejecting the conventional wisdom  of  using  binary
  2246.      representations   (as  in  (Nakano  91))  in  favor  of  more  direct
  2247.      encodings. In (Yamada & Nakano 92), for example,  a  GENOME  directly
  2248.      encodes operation completion times, while in (Fang et al. 93) genomes
  2249.      represent implicit instructions for building a schedule. The  success
  2250.      of  these  latter techniques, especially since their applications are
  2251.      very important in industry, should eventually spawn  advances  in  GA
  2252.      theory.
  2253.  
  2254.      Concerning  the point of using GAs at all on hard job-shop scheduling
  2255.      problems, the same goes here as suggested  above  for  `Timetabling':
  2256.      The   GA   approach  enables  relatively  arbitrary  constraints  and
  2257.      objectives to be incorporated painlessly into a  single  optimization
  2258.      method.   It   is  unlikely  that  GAs  will  outperform  specialized
  2259.      knowledge-based  and/or  conventional  OR-based  approaches  to  such
  2260.      problems  in  terms  of  raw solution quality, however GAs offer much
  2261.      greater simplicity and flexibility, and so, for example, may  be  the
  2262.      best method for quick high-quality solutions, rather than finding the
  2263.      best possible solution at any cost. Also, of course,  hybrid  methods
  2264.  
  2265.  
  2266.  
  2267. Issue 1.10               Posted: 20 December 1993                       34
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273.  
  2274.  
  2275. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  2276.  
  2277.  
  2278.  
  2279.      will  have a lot to offer, and GAs are far easier to parallelize than
  2280.      typical knowledge-based/OR methods.
  2281.  
  2282.      Similar to the JSSP is  the  Open  Shop  Scheduling  Problem  (OSSP).
  2283.      (Fang  et  al.  93) reports an initial attempt at using GAs for this.
  2284.      Ongoing results from the same source shows  reliable  achievement  of
  2285.      results  within  less than 0.23% of optimal on moderately large OSSPs
  2286.      (so far, up to 20x20), including an  improvement  on  the  previously
  2287.      best known solution for a benchmark 10x10 OSSP. A simpler form of job
  2288.      shop problem is the Flow-Shop Sequencing problem;  recent  successful
  2289.      work on applying GAs to this includes (Reeves 93)."
  2290.  
  2291.      References
  2292.  
  2293.      Davis,  L.  (1985)  "Job-Shop  Scheduling  with  Genetic Algorithms",
  2294.      [ICGA85], 136-140.
  2295.  
  2296.      Muth, J.F. & Thompson, G.L. (1963) "Industrial Scheduling".  Prentice
  2297.      Hall, Englewood Cliffs, NJ, 1963.
  2298.  
  2299.      Nakano,  R.  (1991)  "Conventional  GENETIC  ALGORITHMs  for Job-Shop
  2300.      Problems", [ICGA91], 474-479.
  2301.  
  2302.      Reeves, C.R. (1993) "A GENETIC ALGORITHM  for  Flowshop  Sequencing",
  2303.      Coventry Polytechnic Working Paper, Coventry, UK.
  2304.  
  2305.      Whitley,  D.,  Starkweather,  T.  &  D'Ann  Fuquay (1989) "Scheduling
  2306.      Problems and  Traveling  Salesmen:  The  Genetic  Edge  RECOMBINATION
  2307.      Operator", [ICGA89], 133-140.
  2308.  
  2309.      Fang,  H.-L.,  Ross,  P.,  &  Corne  D.  (1993)  "A Promising GENETIC
  2310.      ALGORITHM Approach to Job - Shop Scheduling, Rescheduling & Open-Shop
  2311.      Scheduling Problems", [ICGA93], 375-382.
  2312.  
  2313.      Yamada,  T.  &  Nakano,  R. (1992) "A GENETIC ALGORITHM Applicable to
  2314.      Large-Scale Job-Shop Problems", [PPSN92], 281-290.
  2315.  
  2316.  MANAGEMENT SCIENCES
  2317.      "Applications of EA in management science and closely related  fields
  2318.      like organizational ecology is a domain that has been covered by some
  2319.      EA researchers - with considerable bias towards scheduling  problems.
  2320.      Since  I believe that EA have considerable potential for applications
  2321.      outside  the  rather  narrow  domain  of   scheduling   and   related
  2322.      combinatorial  problems,  I  started  collecting references about the
  2323.      status quo of EA-applications in  management  science.   This  report
  2324.      intends  to  make  available  my findings to other researchers in the
  2325.      field. It is a short  overview  and  lists  some  230  references  to
  2326.      current as well as finished research projects.  [..]
  2327.  
  2328.      At  the  end of the paper, a questionnaire has been incorporated that
  2329.      may be used for this purpose. Other comments are also appreciated."
  2330.  
  2331.  
  2332.  
  2333. Issue 1.10               Posted: 20 December 1993                       35
  2334.  
  2335.  
  2336.  
  2337.  
  2338.  
  2339.  
  2340.  
  2341. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  2342.  
  2343.  
  2344.  
  2345.      --- from the Introduction of (Nissen 93)
  2346.  
  2347.      References
  2348.  
  2349.      Nissen, V. (1993) "Evolutionary Algorithms in Management Science:  An
  2350.      Overview  and List of References", Papers on Economics and EVOLUTION,
  2351.      edited by the European Study Group for Evolutionary Economics.   This
  2352.      report  is  also  avail. via anon. ftp to gwdu03.gwdg.de in directory
  2353.      "pub/msdos/reports/wi", file "earef.eps".
  2354.  
  2355.      Boulding, K.E. (1991) "What is evolutionary economics?",  Journal  of
  2356.      Evolutionary Economics, 1, 9-17.
  2357.  
  2358.  FURTHER APPLICATION(S)
  2359.      [..]
  2360.  
  2361.      References
  2362.  
  2363.      [..]
  2364.  
  2365.  
  2366. A3) Who is concerned with EAs?
  2367.      EVOLUTIONARY  COMPUTATION  attracts  researchers  and people of quite
  2368.      dissimilar disciplines, i.e.   EC  is  a  interdisciplinary  research
  2369.      field:
  2370.  
  2371.  Computer scientists
  2372.      Want  to  find  out  about the properties of sub-symbolic information
  2373.      processing with EAs and about learning,  i.e.   adaptive  systems  in
  2374.      general.
  2375.  
  2376.      They   also  build  the  hardware  necessary  to  enable  future  EAs
  2377.      (precursors are already beginning  to  emerge)  to  huge  real  world
  2378.      problems,  i.e. the term "massively parallel computation" [HILLIS92],
  2379.      springs to mind.
  2380.  
  2381.  Engineers
  2382.      Of many kinds want to exploit the capabilities of EAs on  many  areas
  2383.      to solve their application, esp. optimization problems.
  2384.  
  2385.  Roboticists
  2386.      Want  to  build  MOBOTs (MOBile ROBOTs, i.e. R2D2's and #5's cousins)
  2387.      that navigate through UNCERTAIN ENVIRONMENTs, without using  built-in
  2388.      "maps".   The  MOBOTS  thus  have to adapt to their surroundings, and
  2389.      learn what they can do "move-through-door" and what they can't "move-
  2390.      through-wall" on their own by "trial-and-error".
  2391.  
  2392.  Cognitive scientists
  2393.      Might view CFS as a possible apparatus to describe models of thinking
  2394.      and cognitive systems.
  2395.  
  2396.  
  2397.  
  2398.  
  2399. Issue 1.10               Posted: 20 December 1993                       36
  2400.  
  2401.  
  2402.  
  2403.  
  2404.  
  2405.  
  2406.  
  2407. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  2408.  
  2409.  
  2410.  
  2411.  Physicists
  2412.      Use EC hardware, e.g. Hillis' (Thinking Machine  Corp.'s)  Connection
  2413.      Machine  to  model  real  world  problems  which include thousands of
  2414.      variables, that run "naturally" in parallel, and thus can be modelled
  2415.      more  easily  and  esp.   "faster"  on  a parallel machine, than on a
  2416.      serial "PC" one.
  2417.  
  2418.  Biologists
  2419.      In fact many working biologists  are  hostile  to  modeling,  but  an
  2420.      entire   community   of   POPULATION   Biologists   arose   with  the
  2421.      'evolutionary synthesis' of the 1930's created by the polymaths  R.A.
  2422.      Fisher,  J.B.S.  Haldane, and S. Wright.  Wright's 'shifting balance'
  2423.      theory (balancing drift and selection in  small  POPULATIONS  thereby
  2424.      avoiding  local optima) is of current interest to both biologists and
  2425.      ECers -- populations are naturally parallel.
  2426.  
  2427.      A good exposition  of  current  POPULATION  Biology  modeling  is  J.
  2428.      Maynard Smith's text Evolutionary Genetics.  Richard Dawkin's Selfish
  2429.      Gene and Extended Phenotype are unparalleled (sic!) prose expositions
  2430.      of   evolutionary  processes.   Rob  Collins'  papers  are  excellent
  2431.      parallel GA models of evolutionary processes (available in ICGA91 and
  2432.      by ftp from ftp.cognet.ucla.edu "/pub/alife/papers").
  2433.  
  2434.      As  fundamental  motivation, consider Fisher's comment: "No practical
  2435.      biologist interested in [e.g.] sexual REPRODUCTION would  be  led  to
  2436.      work  out  the  detailed consequences experienced by organisms having
  2437.      three or more sexes; yet what else should [s/]he do if [s/]he  wishes
  2438.      to  understand why the sexes are, in fact, always two?"  (Three sexes
  2439.      would make for even weirder grammar, [s/]he said...)
  2440.  
  2441.  Philosophers
  2442.      and some other really curious people may also be interested in EC for
  2443.      various reasons.
  2444.  
  2445.  
  2446. A4) How many EAs exist? Which?
  2447.  The All Stars
  2448.      There  are  currently  3  main  paradigms  in  EA  research:  GENETIC
  2449.      ALGORITHMs,  Evolutionary  Programming,  and  EVOLUTION   Strategies.
  2450.      Classifier  Systems  and  GENETIC PROGRAMMING are offspring of the GA
  2451.      community.  Besides this  leading  crop,  there  are  numerous  other
  2452.      different  approaches,  alongside  to  hybrid experiments, i.e. there
  2453.      exist pieces of software that reside in  some  researchers  computer,
  2454.      that  have  been  described in papers of proceedings volumes, and may
  2455.      someday prove useful on a certain task.  To  stay  in  EA  slang,  we
  2456.      should  think of these evolving strands as BUILDING BLOCKs, that when
  2457.      recombined someday, will produce new offspring and give birth to  new
  2458.      EA paradigm(s).
  2459.  
  2460.  Promising Rookies
  2461.  
  2462.  
  2463.  
  2464.  
  2465. Issue 1.10               Posted: 20 December 1993                       37
  2466.  
  2467.  
  2468.  
  2469.  
  2470.  
  2471.  
  2472.  
  2473. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  2474.  
  2475.  
  2476.  
  2477.      As  far  as  "solving complex function and COMBINATORIAL OPTIMIZATION
  2478.      tasks" is concerned, Davis work on  real-valued  representations  and
  2479.      adaptive operators should be mentioned (Davis 89). Moreover Whitley's
  2480.      GENITOR system incorporating ranking  and  "steady  state"  mechanism
  2481.      (Whitley    89),    Goldberg's   "messy   GAs",   involves   adaptive
  2482.      representations (Goldberg 91), and Eshelman's CHC algorithm (Eshelman
  2483.      91).
  2484.  
  2485.      For   "the  design  of  robust  learning  systems",  i.e.  the  field
  2486.      characterized by CFS, Holland's (1986) classifier system,  with  it's
  2487.      state-of-the-art  implementation  CFS-C  (Riolo  88),  we should note
  2488.      recent developments in SAMUEL (Grefenstette 89),  GABIL  (De  Jong  &
  2489.      Spears 91), and GIL (Janikow 91).
  2490.  
  2491.      References
  2492.  
  2493.      Davis,   L.   (1989)  "Adapting  operator  probabilities  in  genetic
  2494.      algorithms", [ICGA89], 60-69.
  2495.  
  2496.      Whitley, D. et  al.  (1989)  "The  GENITOR  algorithm  and  selection
  2497.      pressure:  why rank-based allocation of reproductive trials is best",
  2498.      [ICGA89], 116-121.
  2499.  
  2500.      Goldberg, D. et al. (1991) "Don't worry, be messy", [ICGA91],  24-30.
  2501.  
  2502.      Eshelman,  L.J.  et  al.  (1991) "Preventing premature convergence in
  2503.      Genetic Algorithms by preventing incest", [ICGA91], 115-122.
  2504.  
  2505.      Holland, J.H. (1986)  "Escaping  brittleness:  The  possibilities  of
  2506.      general-purpose  learning  algorithms  applied to parallel rule-based
  2507.      systems".  In R. Michalski, J. Carbonell, T. Mitchell (eds),  Machine
  2508.      Learning:  An  Artificial  Intelligence  Approach.  Los Altos: Morgan
  2509.      Kaufmann.
  2510.  
  2511.      Riolo,  R.L.  (1988)  "CFS-C:  A  package   of   domain   independent
  2512.      subroutines  for  implementing classifier systems in arbitrary, user-
  2513.      defined  environments".   Logic  of  computers  group,  Division   of
  2514.      computer science and engineering, University of Michigan.
  2515.  
  2516.      Grefenstette,  J.J.  (1989) "A system for learning control strategies
  2517.      with genetic algorithms", [ICGA89], 183-190.
  2518.  
  2519.      De Jong K.A. & Spears  W.  (1991)  "Learning  concept  classification
  2520.      rules  using  genetic algorithms". Proc. 12th IJCAI, 651-656, Sydney,
  2521.      Australia: Morgan Kaufmann.
  2522.  
  2523.      Janikow  C.  (1991)  "Inductive  learning  of  decision  rules   from
  2524.      attribute-based  examples:  A  knowledge-intensive  Genetic Algorithm
  2525.      approach". TR91-030, The University of North Carolina at Chapel Hill,
  2526.      Dept. of Computer Science, Chapel Hill, NC.
  2527.  
  2528.  
  2529.  
  2530.  
  2531. Issue 1.10               Posted: 20 December 1993                       38
  2532.  
  2533.  
  2534.  
  2535.  
  2536.  
  2537.  
  2538.  
  2539. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  2540.  
  2541.  
  2542.  
  2543. A4.1) What about Tierra, VENUS, etc.?
  2544.      None  of  these  are Evolutionary Algorithms, but all of them use the
  2545.      evolutionary methaphora as their "playing field".
  2546.  
  2547.  Tierra
  2548.      Synthetic organisms have been created based on a computer metaphor of
  2549.      organic  life in which CPU time is the ``energy'' resource and memory
  2550.      is the ``material'' resource.  Memory is organized into informational
  2551.      patterns  that  exploit  CPU  time  for  self-replication.   MUTATION
  2552.      generates new forms, and EVOLUTION proceeds by natural  selection  as
  2553.      different genotypes compete for CPU time and memory space.
  2554.  
  2555.      Observation  of  nature  shows that EVOLUTION by natural selection is
  2556.      capable of both optimization and creativity.   Artificial  models  of
  2557.      evolution  have  demonstrated the optimizing ability of evolution, as
  2558.      exemplified by the field of GENETIC ALGORITHMs.  The creative aspects
  2559.      of evolution have been more elusive to model.  The difficulty derives
  2560.      in part from a tendency of models  to  specify  the  meaning  of  the
  2561.      ``genome''  of  the  evolving  entities, precluding new meanings from
  2562.      emerging.  I will present a natural model of evolution  demonstrating
  2563.      both  optimization  and  creativity,  in which the GENOME consists of
  2564.      sequences of executable machine code.
  2565.  
  2566.      From a single rudimentary ancestral ``creature'', very quickly  there
  2567.      evolve  parasites,  which  are  not  able  to  replicate in isolation
  2568.      because they lack a large portion  of  the  GENOME.   However,  these
  2569.      parasites  search  for the missing information, and if they locate it
  2570.      in a nearby creature, parasitize the information from the neighboring
  2571.      genome, thereby effecting their own replication.
  2572.  
  2573.      In  some  runs,  hosts  evolve immunity to attack by parasites.  When
  2574.      immune hosts appear, they often increase  in  frequency,  devastating
  2575.      the  parasite POPULATIONs.  In some runs where the community comes to
  2576.      be dominated by immune hosts, parasites evolve that are resistant  to
  2577.      immunity.
  2578.  
  2579.      Hosts  sometimes  evolve  a  response  to  parasites that goes beyond
  2580.      immunity,  to  actual  (facultative)  hyper-parasitism.   The  hyper-
  2581.      parasite  deceives  the  parasite  causing the parasite to devote its
  2582.      energetic resources to  replication  of  the  hyper-parastie  GENOME.
  2583.      This  drives the parasites to extinction.  Evolving in the absence of
  2584.      parasites,  hyper-parasites  completely   dominate   the   community,
  2585.      resulting  in  a  relatively uniform community characterize by a high
  2586.      degree   of   relationship   between   INDIVIDUALs.    Under    these
  2587.      circumstances,  sociality evolves, in the form of creatures which can
  2588.      only replicate in aggregations.
  2589.  
  2590.      The cooperative behavior of the  social  hyper-parasites  makes  them
  2591.      vulnerable to a new class of parasites.  These cheaters, hyper-hyper-
  2592.      parasites, insert themselves between cooperating social  INDIVIDUALs,
  2593.      deceiving the social creatures, causing them to replicate the GENOMEs
  2594.  
  2595.  
  2596.  
  2597. Issue 1.10               Posted: 20 December 1993                       39
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  2606.  
  2607.  
  2608.  
  2609.      of the cheaters.
  2610.  
  2611.      The only genetic change imposed on the simulator is random bit  flips
  2612.      in  the  machine  code  of the creatures.  However, it turns out that
  2613.      parasites  are  very  sloppy  replicators.   They  cause  significant
  2614.      RECOMBINATION  and  rearrangement  of  the GENOMEs.  This spontaneous
  2615.      sexuality is a powerful force for evolutionary change in the  system.
  2616.  
  2617.      One  of the most interesting aspects of this instance of life is that
  2618.      the bulk of the EVOLUTION  is  based  on  adaptation  to  the  biotic
  2619.      ENVIRONMENT rather than the physical environment.  It is co-evolution
  2620.      that drives the system.
  2621.  
  2622.      --- "Tierra announcement" by Tom Ray (1991)
  2623.  
  2624.   Further Reseach on Tierra?
  2625.      This (future) project involves inoculating the process  of  EVOLUTION
  2626.      into  an  artificial medium. Self-replicating machine code algorithms
  2627.      (``creatures'') are run on computers in which MUTATIONs occur in  the
  2628.      form  of bit flips. The result is evolution by natural selection. The
  2629.      project encompasses both biological and computational goals: To study
  2630.      the  PROCESS of evolution in detail, through analysis of sequences of
  2631.      events and genetic changes. To observe the envelopes of  evolutionary
  2632.      possibilities, both under identical and very different conditions. To
  2633.      understand what factors affect the shapes of phylogenetic  trees.  To
  2634.      understand   what   are  the  elements  of  evolvability  in  genetic
  2635.      languages. To understand what elements are required for  an  evolving
  2636.      system  to  spontaneously increase in diversity and complexity, as in
  2637.      the  transition  from  single  celled  to  multi-cellular  life.   To
  2638.      experiment  with the control of evolution of machine code algorithms,
  2639.      for the purpose of breeding programs to do  useful  work.  This  work
  2640.      will lead to a greater understanding of the process of evolution, and
  2641.      to the possible forms that life may take on throughout the  universe.
  2642.      In addition, it may provide a means (through evolution) of developing
  2643.      the software of  the  future,  particularly  software  for  massively
  2644.      parallel computers.
  2645.  
  2646.      --- "A Proposal: Evolution of Digital Organisms" by Tom Ray (1992)
  2647.  
  2648.   How to get Tierra?
  2649.      The Tierra V4.1 source code; and the source code, and DOS executables
  2650.      of all tools is available now.  Please note that the source  code  in
  2651.      the  ftp  site and the source code provided on disk will each compile
  2652.      and run on either DOS or UNIX platforms.   It  is  exactly  the  same
  2653.      source  code  in either case.  The DOS executables are available only
  2654.      on disk, and can not be freely distributed.
  2655.  
  2656.      If you purchase this program on disk, thank you for your support.  If
  2657.      you  obtain the source code through the net or friends, we invite you
  2658.      to contribute an amount that represents the program's worth  to  you.
  2659.      You  may make a check in US dollars payable to Virtual Life, and mail
  2660.  
  2661.  
  2662.  
  2663. Issue 1.10               Posted: 20 December 1993                       40
  2664.  
  2665.  
  2666.  
  2667.  
  2668.  
  2669.  
  2670.  
  2671. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  2672.  
  2673.  
  2674.  
  2675.      the check to the address listed below.
  2676.  
  2677.   Tierra by FTP?
  2678.      If you use the software, be sure to pick up new versions from the ftp
  2679.      site.   The source in the ftp site will be replaced on an occassional
  2680.      basis.
  2681.  
  2682.      The complete source code and documentation (but not  executables)  is
  2683.      available by anonymous ftp at:
  2684.  
  2685.       tierra.slhs.udel.edu [128.175.41.34] and
  2686.       life.slhs.udel.edu [128.175.41.33]
  2687.  
  2688.      in the directories: almond/, beagle/, doc/, and tierra/.
  2689.  
  2690.      To get it, ftp to tierra or life, log in as user "anonymous" and give
  2691.      your email address (eg. tom@udel.edu) as  a  password.   Be  sure  to
  2692.      transfer  binaries  in binary mode (it is safe to transfer everything
  2693.      in binary mode).  Each  directory  contains  a  compressed  tar  file
  2694.      (filename.tar.Z)  and  a SRC directory that contains all the files in
  2695.      raw ascii format.  You can just pick up the .tar.Z  files,  and  they
  2696.      will  expand into the complete directory structure with the following
  2697.      commands (Unix only):
  2698.  
  2699.       uncompress tierra.tar.Z
  2700.       tar oxvf tierra.tar
  2701.  
  2702.   Tierra by snail mail?
  2703.      The source  code,  documentation  and  the  beagle.exe  file  can  be
  2704.      distributed  freely, however, the executables (the .exe files in DOS)
  2705.      are for sale and cannot be freely distributed (with the exeception of
  2706.      beagle.exe).
  2707.  
  2708.      If  you do not have ftp access you may obtain everything on DOS disks
  2709.      by making a check for $50 (US dollars drawn on a US bank) payable  to
  2710.      Virtual  Life.   $20 for upgrade from earlier version (please specify
  2711.      your serial number and version number).  Specify 3.5" 720K,  or  3.5"
  2712.      1.4Mb,  or  5.25"  360K, or 5.25" 1.2Mb disks.  Send the check to the
  2713.      following address:
  2714.  
  2715.       Virtual Life
  2716.       25631 Jorgensen Rd.
  2717.       Newman, CA 95360
  2718.  
  2719.      The DOS disks contain everything but ALmond (ALmond can  be  provided
  2720.      on  disk by request, but it only runs on a Unix platform).  The disks
  2721.      include DOS executables, source  code  and  documentation.   The  DOS
  2722.      disks  include an easy installation program.  This is the same source
  2723.      code available in the ftp  site.   If  you  have  ftp  access  and  a
  2724.      compiler, there is no need to buy the disks.
  2725.  
  2726.  
  2727.  
  2728.  
  2729. Issue 1.10               Posted: 20 December 1993                       41
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735.  
  2736.  
  2737. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  2738.  
  2739.  
  2740.  
  2741.      References
  2742.  
  2743.      Ray,  T.  S.  (1991)  "Is it alive, or is it GA?"  Proceedings of the
  2744.      1991 International Conference on Genetic Algorithms, Eds.  Belew,  R.
  2745.      K., and L. B. Booker, San Mateo, CA: Morgan Kaufmann, 527--534.
  2746.  
  2747.      Ray,   T.  S.  (1991)   "An  approach  to  the  synthesis  of  life."
  2748.      Artificial Life II, Santa Fe Institute Studies  in  the  Sciences  of
  2749.      Complexity,  vol.  XI, Eds. C. Langton, C. Taylor, J. D. Farmer, & S.
  2750.      Rasmussen, Redwood City, CA: Addison-Wesley, 371--408.
  2751.  
  2752.      Ray, T. S.   (1991)   "Population  dynamics  of  digital  organisms."
  2753.      Artificial  Life  II  Video  Proceedings,  Ed. C. G. Langton, Redwood
  2754.      City, CA: Addison Wesley.
  2755.  
  2756.      Ray,  T.  S.   (1991)   "Evolution  and   optimization   of   digital
  2757.      organisms."   Scientific  Excellence  in Supercomputing: The IBM 1990
  2758.      Contest Prize Papers, Eds. Keith R. Billingsley, Ed Derohanes, Hilton
  2759.      Brown,  III.  Athens, GA, 30602, The Baldwin Press, The University of
  2760.      Georgia.
  2761.  
  2762.      Ray, T. S.  (1992)  "Evolution, ecology and optimization  of  digital
  2763.      organisms."  Santa Fe Institute working paper 92-08-042.
  2764.  
  2765.      Ray, T. S.  "Evolution, complexity, entropy, and artificial reality."
  2766.      submitted          Physica           D.           Avail.           as
  2767.      "tierra.slhs.udel.edu:/doc/PhysicaD.tex"
  2768.  
  2769.      Ray,  T.  S.   (1993) "An evolutionary approach to synthetic biology,
  2770.      Zen and the art of creating life.  Artificial Life 1(1): (in  press).
  2771.      Avail. as "tierra.slhs.udel.edu:/doc/Zen.tex"
  2772.  
  2773.  VENUS
  2774.      Steen  Rasmussen's  (et  al.) VENUS I+II "coreworlds" as described in
  2775.      [ALIFEII] and [LEVY92], are inspired  by  A.K.  Dewdney's  well-known
  2776.      article  (Dewdney  1984). Dewdney proposed a game called "Core Wars",
  2777.      in which hackers create computer programs that battle for control  of
  2778.      a  computer's "core" memory (Strack 93).  Since computer programs are
  2779.      just patterns of information, a successful program in  core  wars  is
  2780.      one that replicates its pattern within the memory, so that eventually
  2781.      most of the memory contains its  pattern  rather  than  that  of  the
  2782.      competing program.
  2783.  
  2784.      VENUS  is  a modification of Core Wars in which the Computer programs
  2785.      can mutate, thus the pseudo assembler code creatures of VENUS  evolve
  2786.      steadily.   Furthermore   each   memory   location  is  endowed  with
  2787.      "resources" which, like sunshine are added  at  a  steady  state.   A
  2788.      program  must  have  sufficient resources in the regions of memory it
  2789.      occupies in order to execute.   The  input  of  resources  determines
  2790.      whether  the  VENUS ecosystem is a "jungle" or a "desert."  In jungle
  2791.      ENVIRONMENTs, Rasmussen et al. observe the spontaneous  emergence  of
  2792.  
  2793.  
  2794.  
  2795. Issue 1.10               Posted: 20 December 1993                       42
  2796.  
  2797.  
  2798.  
  2799.  
  2800.  
  2801.  
  2802.  
  2803. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  2804.  
  2805.  
  2806.  
  2807.      primitive  "copy/split"  organisms  starting from (structured) random
  2808.      initial conditions.
  2809.  
  2810.      --- [ALIFEII], p.821
  2811.  
  2812.      Dewdney, A.K. (1984) "Computer Recreations: In the Game  called  Core
  2813.      War  Hostile Programs Engage in a Battle of Bits", Sci. Amer. 250(5),
  2814.      14-22.
  2815.  
  2816.      Farmer &  Belin  (1992)  "Artificial  Life:  The  Coming  Evolution",
  2817.      [ALIFEII], 815-840.
  2818.  
  2819.      Rasmussen,  et  al. (1990) "The Coreworld: Emergence and evolution of
  2820.      Cooperative Structures in a  Computational  Chemistry",  [FORREST90],
  2821.      111-134.
  2822.  
  2823.      Rasmussen,   et   al.   (1992)  "Dynamics  of  Programmable  Matter",
  2824.      [ALIFEII], 211-254.
  2825.  
  2826.      Strack (1993) "Core War Frequently Asked Questions (rec.games.corewar
  2827.      FAQ)"    Avail.    by   anon.   ftp   from   rtfm.mit.edu   as   file
  2828.      "pub/usenet/news.answers/games/corewar-faq.Z".
  2829.  
  2830.  PolyWorld
  2831.      Larry Yaeger's PolyWorld as described in [ALIFEIII] and  [LEVY92]  is
  2832.      available   via   anonymous   ftp  from  ftp.apple.com  in  directory
  2833.      "/pub/polyworld".
  2834.  
  2835.      "The subdirectories in this "polyworld" area contain the source  code
  2836.      for the PolyWorld ecological simulator, designed and written by Larry
  2837.      Yaeger, and Copyright 1990, 1991, 1992 by Apple Computer.
  2838.  
  2839.      PostScript versions of my Artificial Life III  technical  paper  have
  2840.      now  been added to the directory.  These should be directly printable
  2841.      from most machines.  Because some unix systems' "lpr" commands cannot
  2842.      handle  very large files (ours at least), I have split the paper into
  2843.      Yaeger.ALife3.1.ps and Yaeger.ALife3.2.ps.  These files can be ftp-ed
  2844.      in  "ascii"  mode.   For  unix  users I have also included compressed
  2845.      versions of both these files (indicated by the .Z suffix),  but  have
  2846.      left the uncompressed versions around for people connecting from non-
  2847.      unix systems.  I  have  not  generated  PostScript  versions  of  the
  2848.      images,  because  they are color and the resulting files are much too
  2849.      large to store, retrieve,  or  print.   Accordingly,  though  I  have
  2850.      removed  a  Word-formatted  version  of the textual body of the paper
  2851.      that used to be here, I have left a  Word-formatted  version  of  the
  2852.      color  images.   If  you wish to acquire it, you will need to use the
  2853.      binary transfer mode to move it to first your unix host and then to a
  2854.      Macintosh  (unless  Word on a PC can read it - I don't know), and you
  2855.      may need to do something nasty like use ResEdit to set the file  type
  2856.      and  creator to match those of a standard Word document (Type = WDBN,
  2857.      Creator = MSWD).  [..]"
  2858.  
  2859.  
  2860.  
  2861. Issue 1.10               Posted: 20 December 1993                       43
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.  
  2868.  
  2869. FAQ(1/3)                          ANSWERS                         FAQ(1/3)
  2870.  
  2871.  
  2872.  
  2873.      --- from the README by Larry Yaeger <larryy@apple.com>
  2874.  
  2875.  General Alife repositories?
  2876.      Also, all of the following ftp sites carry ALife related info:
  2877.  
  2878.      ftp.cognet.ucla.edu:/pub/alife
  2879.      life.anu.edu.au:/pub/complex_systems/alife
  2880.      ftp.cogs.susx.ac.uk:/pub/reports/csrp
  2881.      xyz.lanl.gov:/nlin-sys
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.  
  2911.  
  2912.  
  2913.  
  2914.  
  2915.  
  2916.  
  2917.  
  2918.  
  2919.  
  2920.  
  2921.  
  2922.  
  2923.  
  2924.  
  2925.  
  2926.  
  2927. Issue 1.10               Posted: 20 December 1993                       44
  2928.  
  2929.  
  2930.  
  2931. -- 
  2932.  
  2933.     -joke
  2934.  
  2935. --
  2936. Joerg Heitkoetter
  2937. Systems Analysis Group                     "Why was I born with such
  2938. University of Dortmund, Germany             contemporaries?"
  2939. <joke@ls11.informatik.uni-dortmund.de>                -- Oscar Wilde
  2940.