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

  1. Path: bloom-beacon.mit.edu!gatech!swrinde!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 3/3 (A Guide to Frequently Asked Questions)
  5. Supersedes: <part3_753815849@lusty.informatik.uni-dortmund.de>
  6. Followup-To: comp.ai.genetic
  7. Date: 27 Dec 1993 18:06:24 GMT
  8. Organization: CS Department, University of Dortmund, Germany
  9. Lines: 3115
  10. Approved: news-answers-request@MIT.Edu
  11. Expires: 9 Feb 1994 18:06:12 GMT
  12. Message-ID: <part3_757015572@lusty.informatik.uni-dortmund.de>
  13. References: <part2_757015572@lusty.informatik.uni-dortmund.de>
  14. NNTP-Posting-Host: home.informatik.uni-dortmund.de
  15. Summary: This is part 3 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:1999 comp.answers:3187 news.answers:13392
  22.  
  23. Archive-name:   ai-faq/genetic/part3
  24. Last-Modified:  12/20/93
  25. Issue:          1.10
  26.  
  27.  
  28.  
  29.  
  30.  
  31. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  32.  
  33.  
  34.  
  35. A20) Available EA software packages?
  36.      [eds  note:  the following is a reformatted, alphabetised and updated
  37.      version of a survey that, until June  '93,  was  maintained  by  Nici
  38.      Schraudolph.  Nici and I agreed to incorporate the file into this FAQ
  39.      and he no longer maintains the original version.]
  40.  
  41.      A copy of most of the packages  described  below  are  also  kept  at
  42.      SAFIER, the SAnta Fe Instutute's Evolutionary computation Repository,
  43.      that can be entered via anonymous FTP at sfi.santafe.edu:/pub/EC  (cf
  44.      Q15.3) Check this out!
  45.  
  46.      You  should  also  be aware that most Genetic Programming software is
  47.      archived by  Jim  McCoy  <mccoy@ccwf.cc.utexas.edu>.   Available  via
  48.      anonymous FTP to ftp.cc.utexas.edu:/pub/genetic-programming directory
  49.      there are subdirectories containing papers related to GP, archives of
  50.      the mailing list, as well as a suite of programs for implementing GP.
  51.      These programs include the Lisp code from Koza's Genetic  Programming
  52.      [KOZA92],  as  well  as  implementations in C and C++, as for example
  53.      SGPC: Simple GENETIC PROGRAMMING in C by  Walter  Alden  Tackett  and
  54.      Aviram Carmi <gpc@ipld01.hac.com>.
  55.  
  56.      A  survey paper entitled "Genetic Algorithm Programming Environments"
  57.      will be published  in  IEEE  Computer  in  the  february/1994  issue.
  58.      Written  by  J.R. Filho, C. Alippi and P. Treleaven of the University
  59.      College,    London,    UK,     it's     avail.     via     FTP     as
  60.      bells.cs.ucl.ac.uk:/papagena/game/docs/gasurvey.ps
  61.  
  62.  
  63.  PLEASE NOTE
  64.      For  many  of these software packages, specific ordering instructions
  65.      are given in the descriptions below.  Please  read  and  follow  them
  66.      before  unnecessarily  bothering  the listed author or contact!  Also
  67.      note that I haven't tested any of these programs (with the  exception
  68.      the   one   I   administer),   so   I  can't  give  any  comments  or
  69.      recommendations regarding their quality.
  70.  
  71.  Legend
  72.      Type (this is a very ad-hoc classification)
  73.  
  74.       GE:  generational GA
  75.       SS:  steady-state GA
  76.       PA:  (pseudo) parallel GA
  77.       ES:  evolution strategy
  78.       OO:  object-oriented
  79.       XP:  expert system
  80.       ED:  educational/demo
  81.       CF:  classifier system
  82.  
  83.      OS   Operating  System;  X11  implies  Unix;  "Win"  means  Microsoft
  84.       Windows 3.x/NT (PC)
  85.  
  86.  
  87.  
  88.  
  89. Issue 1.10               Posted: 20 December 1993                        1
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  98.  
  99.  
  100.  
  101.      Lang Programming  Language; in parentheses: source code not included;
  102.       "TPas" = Think Pascal, "OPas" = MPW Object Pascal
  103.  
  104.      Price
  105.       (1) free to government contractors, $221 otherwise (2) 69 pounds
  106.       sterling  for educational use (3) educational discount available
  107.       (4) available as addendum to a book (5) 995 pounds sterling  (6)
  108.       single 3.500 DM, site license 10.000 DM (educational dicounts)
  109.  
  110.      Author or Contact
  111.       given as Internet e-mail address if possible
  112.  
  113.            ES/GA/XP System Implementations:
  114.  
  115.      =========================================================================
  116.       Name       Type OS       Lang  Price  Author/Contact
  117.      =========================================================================
  118.  
  119.       BUGS        GE, X11,     C     free   Joshua Smith
  120.           ED  Suntools             <jrs@media.mit.edu>
  121.  
  122.       ESCaPaDE    ES  Unix     C     free   Frank Hoffmeister <hoffmeister@
  123.                        ls11.informatik.uni-dortmund.de>
  124.  
  125.       Evolution   GE, DOS      C     free   Hans-Michael Voigt and
  126.       Machine     ES                        Joachim Born
  127.                        <voigt@max.fb10.tu-berlin.de>
  128.  
  129.       GAC,        GE  Unix    C      free   Bill Spears
  130.       GAL         "   Lisp    "            <spears@aic.nrl.navy.mil>
  131.  
  132.       GAGA        GE  Unix    C      free   Jon Crowcroft
  133.                        <jon@cs.ucl.ac.uk>
  134.  
  135.       GAucsd      GE  Unix    C      free   Nici Schraudolph
  136.                        <nici@cs.ucsd.edu>
  137.  
  138.       GA          GE, DOS     (C++)  free   Mark Hughes
  139.       Workbench   ED                       <mrh@camcon.co.uk>
  140.  
  141.       Genesis     GE, Unix,   C      free   John Grefenstette
  142.           ED  DOS                  <gref@aic.nrl.navy.mil>
  143.  
  144.       GECO        GE, Unix,   Lisp   free   George P. W. Williams, Jr.
  145.           ED  etc.                 <george@hsvaic.boeing.com>
  146.  
  147.       GENEsYs     GE  Unix    C      free   Thomas Baeck <baeck@
  148.                        ls11.informatik.uni-dortmund.de>
  149.  
  150.       GenET       GE, Unix,   C      free   Cezary Z. Janikow
  151.           ED  etc.                 <janikow@radom.umsl.edu>
  152.  
  153.  
  154.  
  155. Issue 1.10               Posted: 20 December 1993                        2
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  164.  
  165.  
  166.  
  167.       Genie       GE  Mac     TPas   free   Lance Chambers
  168.                        <p_stampoul@fennel.cc.uwa.oz.au>
  169.  
  170.       Genitor     SS  Unix    C      free   Darrell Whitley
  171.                        <whitley@cs.colostate.edu>
  172.  
  173.       GENOCOP,    GE  Unix    C      free   Zbigniew Michalewicz
  174.       Genetic-2/N                          <zbyszek@unccvax.uncc.edu>
  175.  
  176.       GIGA        GE  Unix    C      free   Joe Culberson
  177.                        <joe@cs.ualberta.ca>
  178.  
  179.       LibGA       GE, Unix/DOS  C    free   Art Corcoran
  180.            SS,ED  NeXT/Amiga           <corcoran@penguin.mcs.utulsa.edu>
  181.  
  182.       mGA1.0      GE  Unix    Lisp   free   Robert E. Smith
  183.       SGA-C/Cube  "   nCube   C   "        <rob@comec4.mh.ua.edu>
  184.  
  185.       PARAGENESIS GE  CM      C*     free   Michael van Lent
  186.                        <vanlent@cs.utk.edu>
  187.  
  188.       PeGAsuS     PA, Unix,   ANSI-C free   Dirk Schlierkamp-Voosen
  189.           ED  etc.                 <dirk.schlierkamp-voosen.gmd.de>
  190.  
  191.       PGA         PA, Unix,   C      free   Peter Ross
  192.           ED  etc.                 <peter@aisb.ed.ac.uk>
  193.  
  194.       Splicer     GE  Mac,    C      (1)    Steve Bayer
  195.               X11                  <bayer@galileo.jsc.nasa.gov>
  196.  
  197.       WOLF        SS  Mac,    C      $20/   David Rogers
  198.               Unix           free  <drogers@riacs.edu>
  199.      =========================================================================
  200.  
  201.  
  202.  
  203.           Classifier System Implementations:
  204.  
  205.      =========================================================================
  206.       Name     Type  OS      Lang  Price Author/Contact
  207.      =========================================================================
  208.  
  209.       CFS-C     CF,  Unix/DOS  C   free  Rick Riolo
  210.         ED                      <rlr@merit.edu>
  211.  
  212.       SCS-C     CF,  Unix/DOS  C   free  Joerg Heitkoetter
  213.         ED   Atari TOS          <joke@ls11.informatik.uni-dortmund.de>
  214.      ==========================================================================
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221. Issue 1.10               Posted: 20 December 1993                        3
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  230.  
  231.  
  232.  
  233.              Commercial Packages:
  234.  
  235.      =========================================================================
  236.       Name     Type  OS      Lang   Price  Author/Contact
  237.      =========================================================================
  238.  
  239.       EnGENEer  OO,  X11      C       ?    George Robbins,
  240.         GA                         Logica Cambridge Ltd.
  241.  
  242.       EvoFrame/ OO,  Mac,     C++/    (6)   Optimum Software
  243.       REALizer  ES   Win      OPas         <optimum@applelink.apple.com>
  244.  
  245.       Evolver   GE   DOS,     (C,     $345  Phil Rybeck, Axcelis Inc.
  246.              Mac      Pascal)
  247.  
  248.       GAME      OO,  X11      C++     (4)   Jose R. Filho
  249.         GA                         <zeluiz@cs.ucl.ac.uk>
  250.  
  251.       MicroGA/  OO,  Mac,     C++     $249  Emergent Behavior, Inc.
  252.       Galapagos GA   Win              (3)  <emergent@aol.com>
  253.  
  254.       Omega     ?    DOS      ?       ?     David Barrow, KiQ Ltd.
  255.  
  256.       OOGA/     OO,  Lisp             $60/  Lawrence Davis and
  257.       GENESIS   GE   DOS      C       both  John Grefenstette
  258.                        <gref@aic.nrl.navy.mil>
  259.  
  260.       PC/Beagle XP   DOS      ?       (2)   Richard Forsyth
  261.  
  262.       XpertRule/XP   DOS     (TPas)   (5)   Attar Software
  263.       GenAsys                              <100166.1547@CompuServe.com>
  264.  
  265.       XYpe      SS   Mac     (C)      $725  Ed Swartz, Virtual Image Inc.
  266.      =========================================================================
  267.  
  268.  
  269.  
  270.               Under Development:
  271.  
  272.      =========================================================================
  273.       Name     Type OS      Lang   Price Author/Contact
  274.      =========================================================================
  275.  
  276.       DGENESIS  GE  Unix     C     free  Erick Cantu
  277.                     <ecantu@itamvms1.bitnet>
  278.  
  279.       JAZZ-C    CF  Unix     C     free  Joerg Heitkoetter
  280.                     <joke@ls11.informatik.uni-dortmund.de>
  281.      =========================================================================
  282.  
  283.  
  284.  
  285.  
  286.  
  287. Issue 1.10               Posted: 20 December 1993                        4
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  296.  
  297.  
  298.  
  299. A20.1) Free software packages?
  300.  BUGS:
  301.      BUGS  (Better  to  Use Genetic Systems) is an interactive program for
  302.      demonstrating the GENETIC ALGORITHM and is written in the  spirit  of
  303.      Richard  Dawkins'  celebrated Blind Watchmaker software. The user can
  304.      play god (or `GA FITNESS  function,'  more  accurately)  and  try  to
  305.      evolve  lifelike organisms (curves). Playing with BUGS is an easy way
  306.      to get an understanding of how and why the GA works. In  addition  to
  307.      demonstrating  the basic genetic operators (selection, CROSSOVER, and
  308.      MUTATION), it allows users to easily  see  and  understand  phenomena
  309.      such as GENETIC DRIFT and premature convergence. BUGS is written in C
  310.      and runs under Suntools and X Windows.
  311.  
  312.      BUGS was written by Joshua Smith at Williams College and is available
  313.      via  anonymous  ftp from santafe.edu, directory "pub/misc/BUGS". Note
  314.      that   it   is   unsupported   software,   copyrighted   but   freely
  315.      distributable.
  316.  
  317.       Joshua R. Smith
  318.       Room E15-492
  319.       MIT Media Lab
  320.       20 Ames Street
  321.       Cambridge, MA 02139
  322.  
  323.       Net: <jrs@media.mit.edu>
  324.  
  325.  ESCaPaDE:
  326.      ESCaPaDE  is  a sophisticated software ENVIRONMENT to run experiments
  327.      with Evolutionary Algorithms, such as  e.g.  an  EVOLUTION  Strategy.
  328.      Future versions of the software will provide a well-defined interface
  329.      to  any  kind  of  Evolutionary  Algorithm,  for   instance   GENETIC
  330.      ALGORITHMs.   The  main  support for experimental work is provided by
  331.      two internal tables:
  332.  
  333.      o  a table of objective functions and
  334.  
  335.      o  a table of so-called data monitors,
  336.  
  337.      which allow easy implementation of functions for monitoring all types
  338.      of information inside the Evolutionary Algorithm under experiment.
  339.  
  340.      ESCaPaDE  1.2  comes  with  the  KORR implementation of the EVOLUTION
  341.      Strategy  by  H.-P.  Schwefel  which  offers  simple  and  correlated
  342.      MUTATIONs.   KORR  is  provided  as  a FORTRAN 77 subroutine, and its
  343.      cross-compiled C version is used internally by ESCaPaDE.
  344.  
  345.      ESCaPaDE 1.2 will be available by e-mail request in  order  to  track
  346.      the  spread  of  the software as this is its first public release. An
  347.      extended version of the package was used for  several  investigations
  348.      so  far  and  has  proven  to  be very reliable. The software and its
  349.      documentation is fully copyrighted although it may be freely used for
  350.  
  351.  
  352.  
  353. Issue 1.10               Posted: 20 December 1993                        5
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  362.  
  363.  
  364.  
  365.      scientific work; it requires 5-6 MB of disk space.
  366.  
  367.      In  order  to obtain ESCaPaDE via mail request, please send a message
  368.      to the e-mail address below.
  369.  
  370.      The SUBJECT line should contain the request 'help' or 'get ESCaPaDE'.
  371.      (If the subject line does not match a predefined set of mail requests
  372.      the mail handler will NOT recognize your request!)
  373.  
  374.      For more information contact:
  375.  
  376.       Frank Hoffmeister
  377.       Systems Analysis Research Group, LSXI
  378.       Department of Computer Science
  379.       University of Dortmund
  380.       D-44221 Dortmund, Germany
  381.  
  382.       Net: <hoffmeister@ls11.informatik.uni-dortmund.de>
  383.       Fax: +49 231 755-2450
  384.  
  385.  Evolution Machine:
  386.      The "Evolution Machine"  (EM)  was  created  by  Hans-Michael  Voigt,
  387.      Joachim  Born  and  Jens Treptow. The authors developed the EM at the
  388.      Institute for Informatics and Computing  Techniques  of  Berlin.   At
  389.      present,  Hans-Michael  Voigt  and  Joachim Born are at the Technical
  390.      University of Berlin.
  391.  
  392.      The Evolution Machine (EM) is universally  applicable  to  continuous
  393.      (real-coded) optimization problems.
  394.  
  395.      In  the  EM,   we  have  coded   fundamental  evolutionary algorithms
  396.      (Genetic Algorithms and Evolution Strategies),  and added some of our
  397.      approaches to evolutionary search.
  398.  
  399.      The EM includes extensive menu techniques with:
  400.  
  401.      o  Default parameter setting for unexperienced users.
  402.  
  403.      o  Well-defined  entries  for   EM-control  by freaks of the EM,  who
  404.     want  to leave  the standard  process control.
  405.  
  406.      o  Data processing for repeated runs (with or without change  of  the
  407.     strategy parameters).
  408.  
  409.      o  Graphical  presentation  of  results:  online  presentation of the
  410.     evolution  progress,  one-,  two-  and  three-dimensional  graphic
  411.     output  to analyse the fitness function and the evolution process.
  412.  
  413.      o  Integration of calling MS--DOS utilities (Turbo C).
  414.  
  415.  
  416.  
  417.  
  418.  
  419. Issue 1.10               Posted: 20 December 1993                        6
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  428.  
  429.  
  430.  
  431.      We provide  the EM-software in object code,  which can be run on PC's
  432.      with  MS--DOS  and Turbo C, v2.0,  resp. Turbo C++,v1.01.  The Manual
  433.      to the EM is included in the distribution kit.
  434.  
  435.      The  EM  software  is  available   by   anonymous   ftp   from   ftp-
  436.      bionik.fb10.tu-berlin.de        (130.149.192.50)        in        the
  437.      "pub/software/Evolution-Machine"  directory,   which   contains   the
  438.      compressed files em_tc.exe (EM for Turbo C), em_tcp.exe (EM for Turbo
  439.      C++) and em_man.exe (the manual). Additionally, it  exists  the  file
  440.      em-man.ps.Z  (PostScript  file  of  the  manual,  generated  with the
  441.      standard Unix compress(1) program).
  442.  
  443.      If you do not have ftp access, please send us either 5 1/4 or  3  1/2
  444.      MS-DOS  compatible  disks.  We  will  return them with the compressed
  445.      files (834 kB).
  446.  
  447.      We welcome bug  reports,  comments  and  sugestions,  but  have  only
  448.      limited  manpower  for  providing help, patches and new releases.  We
  449.      are making EM available in order to encourage the experimental use of
  450.      evolutionary  algorithms, and to get feedback as to its strengths and
  451.      weaknesses.
  452.  
  453.      Official contact information:
  454.  
  455.       Hans-Michael Voigt or Joachim Born
  456.       Technical University Berlin
  457.       Bionics and Evolution Techniques Laboratory
  458.       Bio- and Neuroinformatics Research Group
  459.       Ackerstrasse 71-76 (ACK1)
  460.       D-13355 Berlin, Germany
  461.  
  462.       Net: <{voigt,born}@fb10.tu-berlin.de>
  463.       Tel: +49 30-314-72-677
  464.  
  465.  GAC, GAL:
  466.      For those of you interested in obtaining some free GA  software,  I'm
  467.      providing  the  packages I've been using for a few years. GAC is a GA
  468.      written in C. GAL is my Common Lisp  version.  They  are  similar  in
  469.      spirit  to  John  Grefenstette's Genesis, but they don't have all the
  470.      nice  bells  and  whistles.  Both  versions  currently  run  on   Sun
  471.      workstations.  If  you  have  something  else, you might need to do a
  472.      little modification. [Alan Schultz informs  me  that  GAL  is  easily
  473.      ported to the Mac - although his version is no longer available.]
  474.  
  475.      In  the  spirit  of "freeware", I am willing to e-mail either version
  476.      (or both) to anyone who wants it. All I ask is  that  I  be  credited
  477.      when  it  is  appropriate.  Also,  I  would  appreciate hearing about
  478.      improvements! This software is the property of the Department of  the
  479.      Navy.
  480.  
  481.  
  482.  
  483.  
  484.  
  485. Issue 1.10               Posted: 20 December 1993                        7
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  494.  
  495.  
  496.  
  497.      The  code  will  be  in a "shar" format that will be easy to install.
  498.      This  code  is  "as  is",  however.  There  is  a  README  and   some
  499.      documentation in the code. There is NO user's guide, though (nor am I
  500.      planning on writing one at this time). I  am  interested  in  hearing
  501.      about  bugs,  but  I  may  not get around to fixing them for a while.
  502.      Also, I will be unable to answer many questions about  the  code,  or
  503.      about  GAs in general. This is not due to a lack of interest, but due
  504.      to a lack of free time!  --- Bill Spears <spears@aic.nrl.navy.mil>
  505.  
  506.      p.s.:   We   have   also   set   up   an    anonymous    FTP    site:
  507.      ftp.aic.nrl.navy.mil.   GAC,  GAL,  and  PostScript  versions of some
  508.      papers are under "pub/spears".  Feel free to browse.
  509.  
  510.  GAGA:
  511.      GAGA (GA for General Application)  is  a  self-contained,  re-entrant
  512.      procedure  which is suitable for the minimization of many "difficult"
  513.      cost functions.  Originally written in Pascal by Ian  Poole,  it  was
  514.      rewritten in C by Jon Crowcroft. GAGA can be obtained by request from
  515.      the author; given sufficient interest it will be made  available  via
  516.      anonymous ftp.
  517.  
  518.       Jon Crowcroft
  519.       Univeristy College London
  520.       Gower Street
  521.       London WCIE 6BT, UK
  522.  
  523.       Net: <jon@cs.ucl.ac.uk>
  524.  
  525.  GAucsd:
  526.      GAucsd is a GENESIS-based GA package incorporating numerous bug fixes
  527.      and user interface improvements. Major additions  include  a  wrapper
  528.      that  simplifies  the  writing of evaluation functions, a facility to
  529.      distribute  experiments  over  networks  of  machines,  and   Dynamic
  530.      Parameter  Encoding,  a  technique  that  improves  GA PERFORMANCE in
  531.      continuous  SEARCH  SPACEs  by  adaptively   refining   the   genomic
  532.      representation of real-valued parameters.
  533.  
  534.      GAucsd  was  written in C for Unix systems, but the central GA engine
  535.      is easily ported to other platforms. The entire package can be ported
  536.      to  systems where implementations of the Unix utilities "make", "awk"
  537.      and "sh" are available.
  538.  
  539.      GAucsd  can  be  obtained  via   anonymous   ftp   from   cs.ucsd.edu
  540.      (132.239.51.3), file "pub/GAucsd/GAucsd14.sh.Z", or via mail server -
  541.      send an EMPTY message with the subject line containing  "send  GAucsd
  542.      source"  to  <nici@cs.ucsd.edu>.   Requests  to be added to a mailing
  543.      list for dissemination of GAucsd bug  reports,  patches  and  updates
  544.      should be directed to the same address.
  545.  
  546.       Nicol N. Schraudolph
  547.       The SALK Institute
  548.  
  549.  
  550.  
  551. Issue 1.10               Posted: 20 December 1993                        8
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  560.  
  561.  
  562.  
  563.       San Diego, La Jolla, CA, USA
  564.  
  565.       Net: <nici@salk.edu>
  566.  
  567.  GA Workbench:
  568.      A  mouse-driven  interactive GA demonstration program aimed at people
  569.      wishing to show GAs in action on simple FUNCTION OPTIMIZATIONs and to
  570.      help   newcomers   understand  how  GAs  operate.  Features:  problem
  571.      functions  drawn  on  screen  using  mouse,  run-time  plots  of   GA
  572.      POPULATION distribution, peak and average FITNESS.  Useful population
  573.      statistics displayed numerically, GA configuration (population  size,
  574.      GENERATION   gap   etc.)    performed   interactively   with   mouse.
  575.      Requirements: MS-DOS PC, mouse, EGA/VGA display.
  576.  
  577.      Available by ftp from the simtel20  archive  mirrors,  as  the  WSMR-
  578.      SIMTEL20.Army.Mil  site  was  closed  down  in  October 93.  Look for
  579.      "gaw110.zip" or free on 5.25'' disk by request from:
  580.  
  581.       Mark Hughes
  582.       Cambridge Consultants Ltd.
  583.       The Science Park, Milton Road
  584.       Cambridge CB4 4DW, UK
  585.  
  586.       Net: <mrh@camcon.co.uk>
  587.  
  588.  GECO:
  589.      Genetic Evolution through Combination of Objects (GECO), version 2.0.
  590.  
  591.      GECO  is  an  extensible,  object-oriented  framework for prototyping
  592.      genetic algorithms in Common Lisp. GECO makes extensive use of  CLOS,
  593.      the  Common  Lisp  Object System, to implement its functionality. The
  594.      abstractions provided by the classes have been chosen with the intent
  595.      both  of  being  easily  understandable  to  anyone familiar with the
  596.      paradigm of  genetic  algorithms,  and  of  providing  the  algorithm
  597.      developer with the ability to customize all aspects of its operation.
  598.      It  comes  with  extensive  documentation,   in   the   form   of   a
  599.      PostScript(tm)  file,  and  some simple examples are also provided to
  600.      illustrate its intended use.
  601.  
  602.      GECO  Version  2.00  is  now  available  via   anonymous   ftp   from
  603.      ftp.aic.nrl.navy.mil,  in  files "/pub/galist/src/ga/GECO-v2.0.tar.Z"
  604.      (Unix) or "/pub/galist/src/ga/GECO-v2.0.cpt.hqx" (Macintosh).
  605.  
  606.       George P. W. Williams, Jr.
  607.       1334 Columbus City Rd.
  608.       Scottsboro, AL 35768
  609.  
  610.       Net: <george@hsvaic.hv.boeing.com>
  611.       Tel: +1 (205) 461-2950
  612.       Fax: +1 (205) 461-2286
  613.  
  614.  
  615.  
  616.  
  617. Issue 1.10               Posted: 20 December 1993                        9
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  626.  
  627.  
  628.  
  629.  GENEsYs:
  630.      GENEsYs  is  a  GENESIS-based  GA   implementation   which   includes
  631.      extensions  and  new  features  for  experimental  purposes,  such as
  632.      selection   schemes   like   linear    ranking,    Boltzmann,    (mu,
  633.      lambda)-selection,   and   general   extinctive  selection  variants,
  634.      CROSSOVER operators like n-point and uniform  crossover  as  well  as
  635.      discrete and intermediate RECOMBINATION.  Self-adaptation of MUTATION
  636.      rates is also possible.
  637.  
  638.      A set  of  objective  functions  is  provided,  including  De  Jong's
  639.      functions,  complicated  continuous  functions, a TSP-problem, binary
  640.      functions, and a fractal function. There are  also  additional  data-
  641.      monitoring facilities such as recording average, variance and skew of
  642.      object variables and MUTATION rates, or creating bitmap-dumps of  the
  643.      POPULATION.
  644.  
  645.      GENEsYs   1.0   is   available  via  ftp  from  lumpi.informatik.uni-
  646.      dortmund.de (129.217.36.140). Log on with user name  "ftp"  and  give
  647.      your  full  e-mail address as password. The file GENEsYs-1.0.tar.Z in
  648.      directory "pub/GA/src" contains the complete  software  distribution;
  649.      the  documentation alone is available as GENEsYs-1.0-doc.tar.Z in the
  650.      same location.
  651.  
  652.      For more information contact:
  653.  
  654.       Thomas Baeck
  655.       Systems Analysis Research Group, LSXI
  656.       Department of Computer Science
  657.       University of Dortmund
  658.       D-44221 Dortmund, Germany
  659.  
  660.       Net: <baeck@ls11.informatik.uni-dortmund.de>
  661.       Fax: +49 231 755-2450
  662.  
  663.  GenET:
  664.      GenET  Version  1.00  is  now  available  via  anonymous   ftp   from
  665.      radom.umsl.edu,  as  "/var/ftp/GenET.tar.Z".   To learn more, you may
  666.      get  the  User's  Manual,  available  in  compressed  postscript   in
  667.      "/var/ftp/userMan.ps.Z".  It  also  comes  bundled  with the complete
  668.      package.
  669.  
  670.      GenET is a "generic" GA package. It is  not  generic  in  the  normal
  671.      sense,  which  usually  implies some standard (binary) representation
  672.      and its operators.  It is generic  in  the  sense  that  all  problem
  673.      independent   mechanisms  have  been  implemented  and  can  be  used
  674.      regardless of application  domain.   Using  the  package  forces  (or
  675.      allows,  however  you  look  at it) concentration on the problem: you
  676.      have to suggest the best representation, and the best  operators  for
  677.      such  space that utilize your problem-specific knowledge.  You do not
  678.      have to think about possible GA models or their implementation.  This
  679.      speeds   up   problem-specific  GA  applications  by  about  95%  for
  680.  
  681.  
  682.  
  683. Issue 1.10               Posted: 20 December 1993                       10
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  692.  
  693.  
  694.  
  695.      researchers w/o extensive GA libraries and about 50% for  those  with
  696.      complete  good  libraries.  The  package  provides  some libraries of
  697.      representations  and  operators.  The  user  can  either  create  new
  698.      rep/opers,  use  the  existing, or implement rep/operators along with
  699.      the  problem.   Problem  is  implemented  by  specifying   only   the
  700.      evaluation   and  initialization.   Representations  are  defined  by
  701.      functions to allocate storage and display CHROMOSOMEs.  etc. All such
  702.      interfaces have standard definitions.
  703.  
  704.      The  package,  in  addition  to  allowing  for fast implementation of
  705.      applications and being a natural tool for comparing different  models
  706.      and strategies, is intended to become a depository of representations
  707.      and operators.  Currently, only FP representation is  implemented  in
  708.      the library with few operators.
  709.  
  710.      The  algorithm  provides a wide selection of models and choices.  For
  711.      example,  POPULATION  models  range  from  generational  GA,  through
  712.      steady-state,  to  (n,m)-EP  and  (n,n+m)-EP  models  (for  arbitrary
  713.      problems, not just parameter optimization).  (Some are  not  finished
  714.      at  the  moment).   Choices  include automatic adaptation of operator
  715.      probabilities and a dynamic ranking mechanism, etc.
  716.  
  717.      Even though the implementation is  far  from  optimal,  it  is  quite
  718.      efficient  -  implemented  in ATT's C++ (3.0) (functional design) and
  719.      also tested on  gcc.   Along  with  the  package  you  will  get  two
  720.      examples.   They   illustrate   how   to   implement   problems  with
  721.      heterogeneous and homogeneous structures, with explicit rep/opers and
  722.      how  to  use the existing library (FP).  Very soon I will place there
  723.      another example - our  GENOCOP  operators  for  linearly  constrained
  724.      optimization.  This  example  nicely  illustrates  the  power  of the
  725.      generic mechanism for adapting the operators, which nicely  allocates
  726.      the  resources (high probabilities) to those operators that currently
  727.      show the best promise.  One more example soon to  appear  illustrates
  728.      how  to  deal  with  complex structures and non-stationary problems -
  729.      this is a fuzzy rule-based controller optimized using the package and
  730.      some specific rep/operators.
  731.  
  732.      If   you   start  using  the  package,  please  send  me  evaluations
  733.      (especially bugs) and suggestions for future versions.  Have fun.
  734.  
  735.       Cezary Z. Janikow
  736.       Department of Math and CS, CCB319
  737.       St. Louis, MO 63121
  738.  
  739.       Net: <janikow@radom.umsl.edu>
  740.       Tel: +1 (314) 553-6352
  741.       Fax: +1 (314) 553-5400
  742.  
  743.  Genie:
  744.      Genie is a GA-based modeling/forecasting  system  that  is  used  for
  745.      long-term  planning.  One can construct a model of an ENVIRONMENT and
  746.  
  747.  
  748.  
  749. Issue 1.10               Posted: 20 December 1993                       11
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  758.  
  759.  
  760.  
  761.      then view the forecasts of how that environment will evolve into  the
  762.      future.  It  is  then  possible  to  alter  the future picture of the
  763.      environment so as to construct a picture of a desired future (I  will
  764.      not  enter  into  arguments  of  who  is or should be responsible for
  765.      designing a desired or better future). The GA  is  then  employed  to
  766.      suggest  changes  to  the  existing  environment  so  as to cause the
  767.      desired future to come about.
  768.  
  769.      Genie is available free of charge via e-mail or on 3.5'' disk from:
  770.  
  771.       Lance Chambers
  772.       Department of Transport
  773.       136 Stirling Hwy
  774.       Nedlands
  775.       West Australia 6007
  776.  
  777.       Net: <p_stampoul@fennel.cc.uwa.oz.au>
  778.  
  779.  Genitor:
  780.      "Genitor is a modular GA package containing  examples  for  floating-
  781.      point, integer, and binary representations. Its features include many
  782.      sequencing operators as well as subpopulation modeling.
  783.  
  784.      The Genitor Package  has  code  for  several  order  based  CROSSOVER
  785.      operators,  as  well  as  example  code  for doing some small TSPs to
  786.      optimality.
  787.  
  788.      We are planning to release a new and improved  Genitor  Package  this
  789.      summer,  but  it will mainly be additions to the current package that
  790.      will include parallel island  models,  cellular  GAs,  delta  coding,
  791.      perhaps  CHC (depending on the legal issues) and some other things we
  792.      have found useful.
  793.  
  794.      Thank  you  for  your  interest  and  good  luck  in  searching  your
  795.      hyperspace."
  796.  
  797.      To  receive  GENITOR via anonymous ftp from Colorado State University
  798.      Computer Science Department follow these steps:
  799.  
  800.       1. % mkdir Genitor
  801.       2. % cd Genitor
  802.       3. % ftp 129.82.102.183
  803.       4. <login:> anonymous
  804.       5. <password:> {your e-mail address for our information}
  805.       6. ftp> cd pub
  806.       7. ftp> binary
  807.       8. ftp> get GENITOR.tar
  808.       9. ftp> bye
  809.  
  810.      The GENITOR.tar file is in tar format and  can  be  restored  in  the
  811.      current directory using the following commands.
  812.  
  813.  
  814.  
  815. Issue 1.10               Posted: 20 December 1993                       12
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  824.  
  825.  
  826.  
  827.       10. % tar -xvf GENITOR.tar .
  828.  
  829.      Note  to  SPARC-2  users: There is something strange about unix on on
  830.      sparc-2s.  REMOVE the  libraries  /Genitor/lib/ga/libcsu***.a  before
  831.      attempting  to  rebuild  them for your machine.  Somehow, the file is
  832.      not  completely  overwitten  on  this  operating   system.    --   T.
  833.      Starkweather
  834.  
  835.      Please      direct      all     comments     and     questions     to
  836.      <mathiask@cs.colostate.edu>.  If these fail to work, contact:
  837.  
  838.       L. Darrell Whitley
  839.       Dept. of Computer Science
  840.       Colorado State University
  841.       Fort Collins, CO 80523, USA
  842.  
  843.       Net: <whitley@cs.colostate.edu>
  844.  
  845.  GENOCOP, Genetic-2, Genetic-2N:
  846.      These three genetic optimization packages are available as compressed
  847.      tar  files  via  anonymous  ftp from unccsun.uncc.edu (152.15.10.88),
  848.      directory  "coe/evol".  They  have   been   developed   by   Zbigniew
  849.      Michalewicz  and  are described in detail in his recent book "Genetic
  850.      Algorithms + Data Structures = Evolution Programs" (Springer  Verlag,
  851.      August 1992).
  852.  
  853.      GENOCOP (GENETIC ALGORITHM for Numerical Optimization for COnstrained
  854.      Problems) optimizes a function with any number of linear  constraints
  855.      (equalities  and  inequalities). Genetic-2 is an optimization package
  856.      for the linear transportation problem; Genetic-2N for  the  nonlinear
  857.      one.
  858.  
  859.       Zbigniew Michalewicz
  860.       Dept. of Computer Science
  861.       University of North Carolina
  862.       Chappel-Hill, NC, USA
  863.  
  864.       Net: <zbyszek@mosaic.uncc.edu>
  865.  
  866.  GIGA:
  867.      GIGA is designed to propogate information through a POPULATION, using
  868.      CROSSOVER as  its  operator.   A  discussion  of  how  it  propogates
  869.      BUILDING  BLOCKs,  similar  to those found in Royal Road functions by
  870.      John Holland, is given in the DECEPTION section of [1].
  871.  
  872.      References
  873.  
  874.      [1] Genetic Invariance: A New Paradigm for GENETIC  ALGORITHM  Design
  875.      University of Alberta Technical Report TR92-02, June 1992
  876.  
  877.  
  878.  
  879.  
  880.  
  881. Issue 1.10               Posted: 20 December 1993                       13
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  890.  
  891.  
  892.  
  893.      [2]  GIGA  Program  Description  and  Operation University of Alberta
  894.      Computing Science Technical Report TR92-06, June 1992
  895.  
  896.      These can be obtained, along with  the  program,  via  anon.  ftp  to
  897.      ftp.cs.ualberta.ca in "pub/TechReports" in the subdirectories TR92-02
  898.      and TR92-06.
  899.  
  900.      Alternatively, if you have gopher, try:
  901.  
  902.       gopher gopher.cs.ualberta.ca
  903.  
  904.      And follow the links to University of Alberta Technical Reports.
  905.  
  906.       Joe Culberson
  907.       Department of Computer Science
  908.       University of Alberta, CA
  909.  
  910.       Net: <joe@cs.ualberta.ca>
  911.       Tel: (403) 492-5401
  912.  
  913.  LibGA:
  914.      LibGA  Version  1.00  is  now  available  via  anonymous   ftp   from
  915.      ftp.aic.nrl.navy.mil, in the file "/pub/galist/src/ga/libga100.tar.Z"
  916.      or by email request to its author.
  917.  
  918.      LibGA is a library of routines written in C  for  developing  GENETIC
  919.      ALGORITHMs.   It  is  fairly  simple to use, with many knobs to turn.
  920.      Most GA parameters can be set or changed via configuration file, with
  921.      no  need to recompile.  (E.g., operators, pool size and even the data
  922.      type used in the CHROMOSOME  can  be  changed  in  the  configuration
  923.      file.)  Function pointers are used for the genetic operators, so they
  924.      can easily be manipulated on the fly.  Several genetic operators  are
  925.      supplied   and   it  is  easy  to  add  more.   LibGA  runs  on  many
  926.      systems/architectures.  These include Unix, DOS, NeXT, and Amiga.
  927.  
  928.      I realize this is "yet another GA", but I hope it proves useful.
  929.  
  930.       Art Corcoran
  931.       Net: <corcoran@penguin.mcs.utulsa.edu>
  932.  
  933.  mGA1.0, SGA-C, SGA-Cube:
  934.      mGA1.0 is a Common Lisp implementation of a messy GA as described  in
  935.      TCGA  report  No.  90004.  Messy  GAs overcome the linkage problem of
  936.      simple GENETIC ALGORITHMs by combining variable-length strings,  GENE
  937.      expression,   messy   operators,  and  a  nonhomogeneous  phasing  of
  938.      evolutionary processing.  Results on a number of difficult  deceptive
  939.      test functions have been encouraging with the messy GA always finding
  940.      global optima in a polynomial number of function evaluations.
  941.  
  942.      See TCGA reports 89003, 90005, 90006, and 91004 for more  information
  943.      on  messy  GAs;  they  can be obtained from the address below. Please
  944.  
  945.  
  946.  
  947. Issue 1.10               Posted: 20 December 1993                       14
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  956.  
  957.  
  958.  
  959.      note that 91004 is a dissertation and requires a pre-payment of $9.00
  960.      US  ($12.00  US  to  ship  overseas)  to  offset the cost of copying,
  961.      binding and shipping.
  962.  
  963.      SGA-C is a C-language  translation  and  extension  of  the  original
  964.      Pascal  SGA  code presented in Goldberg's book "Genetic Algorithms in
  965.      Search, Optimization & Machine Learning" (Addison  Wesley  1989).  It
  966.      has  some  additional  features, but its operation is essentially the
  967.      same as that of the Pascal version. SGA-C is described in TCGA report
  968.      No.  91002,  which  is  included  in the distribution as a PostScript
  969.      file.
  970.  
  971.      SGA-Cube is a C-language translation  of  Goldberg's  SGA  code  with
  972.      modifications  to  allow  execution on the nCUBE 2 Hypercube Parallel
  973.      Computer.  When run on the nCUBE 2, SGA-Cube can  take  advantage  of
  974.      the   hypercube  architecture,  and  is  scalable  to  any  hypercube
  975.      dimension. The hypercube  implementation  is  modular,  so  that  the
  976.      algorithm  for exploiting parallel processors can be easily modified.
  977.  
  978.      In addition to its parallel capabilities, SGA-Cube can be compiled on
  979.      various  serial  computers  via  compile-time  options. In fact, when
  980.      compiled on a serial computer, SGA-Cube is essentially  identical  to
  981.      SGA-C.  SGA-Cube has been nominally tested on a Sun 4/70 workstation,
  982.      a VAX Ultrix system, a Cray X-MP/24 running UNICOS 5.1, and the nCUBE
  983.      2. It is described in TCGA report No. 91005, which is included in the
  984.      distribution as a PostScript file.
  985.  
  986.      Each of these programs is distributed in form of a  Unix  shar  file,
  987.      available via e-mail or on various formatted media by request from:
  988.  
  989.       Robert Elliott Smith
  990.       Department of Engineering of Mechanics
  991.       Room 210 Hardaway Hall
  992.       The University of Alabama
  993.       P.O. Box 870278
  994.       Tuscaloosa, Alabama 35487, USA
  995.  
  996.       Net: <rob@comec4.mh.ua.edu>
  997.       Tel: +1 (205) 348-1618
  998.       Fax: +1 (205) 348-6419
  999.  
  1000.      SGA-C  and  SGA-Cube  are  also  available in compressed tar form via
  1001.      anonymous ftp from the GA-List  archive  server  ftp.aic.nrl.navy.mil
  1002.      (192.26.18.56) in the "pub/galist/source-code/ga-source" directory.
  1003.  
  1004.  PARAGENESIS:
  1005.      "I  spent this past summer at the Naval Research Lab working with Ken
  1006.      De Jong  and  John  Grefenstette  to  implement  John  Grefenstette's
  1007.      GENESIS  on  the  CM-200  in  C*. The result, which I've been calling
  1008.      PARAGENESIS, is an attempt to improve PERFORMANCE as much as possible
  1009.      without  changing  the behavior of the GENETIC ALGORITHM.  Unlike the
  1010.  
  1011.  
  1012.  
  1013. Issue 1.10               Posted: 20 December 1993                       15
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  1022.  
  1023.  
  1024.  
  1025.      punctuated equilibria and local selection models PARAGENESIS  doesn't
  1026.      modify  the  genetic  algorithm  to  be  more parallelizable as these
  1027.      modifications can drastically alter the behavior  of  the  algorithm.
  1028.      Instead  each  member  is  placed  on  a  separate processor allowing
  1029.      initialization, evaluation and MUTATION to  be  completely  parallel.
  1030.      The  costs  of  global  control  and  communication  in selection and
  1031.      CROSSOVER are present but minimized as much as possible.  In  general
  1032.      PARAGENESIS  on  an  8k  CM-200 seems to run 10-100 times faster than
  1033.      GENESIS on a Sparc 2 and finds equivalent  solutions.  The  solutions
  1034.      are  not  identical only because the parallel random number generator
  1035.      gives a different stream of numbers.
  1036.  
  1037.      PARAGENESIS includes all the features of  serial  GENESIS  plus  some
  1038.      additions.  The  additions  include  the  ability  to  collect timing
  1039.      statistics, probabilistic selection(as opposed to Baker's  stochastic
  1040.      universal  sampling),  uniform  CROSSOVER  and  local or neighborhood
  1041.      selection. Anyone familiar with the serial implementation of  GENESIS
  1042.      and C* should have little problem using PARAGENESIS.
  1043.  
  1044.      PARAGENESIS  is  available via anonymous ftp from the GA-List archive
  1045.      at ftp.aic.nrl.navy.mil (192.26.18.74).  The  compressed  and  tar-ed
  1046.      code is found in the file /pub/galist/src/ga/paragenesis.tar.Z.
  1047.  
  1048.      DISCLAIMER:  PARAGENESIS  is  fairly  untested  at this point and may
  1049.      contain some bugs. I will try to fix any reported bugs as my schedule
  1050.      and my access to the CM allows."
  1051.  
  1052.       Michael van Lent
  1053.       Computer Science Dept.
  1054.       University of Tennessee
  1055.       Knoxville TN 37996-1301, USA
  1056.  
  1057.       Net: <vanlent@cs.utk.edu>
  1058.  
  1059.  PeGAsuS:
  1060.      PeGAsuS   is   a   Programming   Environment  for  Parallel   Genetic
  1061.      Algorithms developed at  the  German  National  Research  Center  for
  1062.      Computer  Science.  In fact, it is a tool kit which can be  used  The
  1063.      environment   is   written  in  ANSI-C  and  is  available  for  many
  1064.      different  UNIX-based  machines.   It runs on MIMD parallel machines,
  1065.      such as transputers, and  distributed  systems.
  1066.  
  1067.      The User Interface  consists  of  three  parts:  the  PeGAsuS  script
  1068.      language, a graphical interface and a user library.  The user library
  1069.      has the same functionality of the PeGAsuS GA library.  It allows  the
  1070.      user  to   define   application   specific  functions  that  are  not
  1071.      provided  by  the system library.  The script  language  is  used  to
  1072.      specify  the  experiment.   The  user   can  use   it   to define the
  1073.      application  dependent  data  structures,   attaches   the    genetic
  1074.      operators   to  them   and   specifies   the input/output  interface.
  1075.      Whereas  the script language specifies the  construction  of  a  sub-
  1076.  
  1077.  
  1078.  
  1079. Issue 1.10               Posted: 20 December 1993                       16
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  1088.  
  1089.  
  1090.  
  1091.      population,  The  the  execution  order   of the  genetic  operators,
  1092.      manage   communication  between  different  processes   and   provide
  1093.      input/output   facilities.    They    build    general   frames   for
  1094.      simulating GAs, and can be considered as autonomous processes.
  1095.  
  1096.      They  interpret  the  PeGAsuS   script,   create   appropriate   data
  1097.      structures, and describe the order of the frame functions.  A "frame"
  1098.      function controls the execution a base function.   They  prepare  the
  1099.      data   representing   the  genetic   material,  and apply the genetic
  1100.      operators to it, according to the script specification.  The  Library
  1101.      contains   genetic  operators,   a  collection  of fitness functions,
  1102.      and input/output and control procedures.  It provides the  user  with
  1103.      a   number   of  validated  modules  for  Currently,  PeGAsuS  can be
  1104.      compiled with the GNU C, RS/6000 C, ACE-C, and  Alliant's  FX/2800  C
  1105.      compilers.   It runs on SUN s and RS/6000 workstations, as well as on
  1106.      the Alliant FX/28.
  1107.  
  1108.      For more information contact:
  1109.  
  1110.       Dirk Schlierkamp-Voosen
  1111.       Research Group for Adative Systems
  1112.       German National Research Center for
  1113.       Computer Science
  1114.       53731 Sankt Augustin, Germany
  1115.  
  1116.       Net: <dirk.schlierkamp-voosen@gmd.de>
  1117.       Tel: +49 2241 14 2466
  1118.  
  1119.  PGA:
  1120.      PGA is a simple testbed for basic EXPLORATIONs in GENETIC ALGORITHMs.
  1121.      Command  line  arguments  control  a range of parameters, there are a
  1122.      number of built-in problems for the GA  to  solve.  The  current  set
  1123.      consists of:
  1124.  
  1125.      o  maximize the number of bits set in a CHROMOSOME
  1126.  
  1127.      o  De Jong's functions DJ1, DJ2, DJ3, DJ5
  1128.  
  1129.      o  binary F6, used by Schaffer et al
  1130.  
  1131.      o  a  crude  1-d  knapsack problem; you specify a target and a set of
  1132.     numbers in an external file, GA tries to find a subset  that  sums
  1133.     as closely as possible to the target
  1134.  
  1135.      o  the `royal road' function(s); a CHROMOSOME is regarded as a set of
  1136.     consecutive blocks of size K, and scores K for each block entirely
  1137.     filled with 1s
  1138.  
  1139.      and  it's easy to add your own problems (see below).  CHROMOSOMEs are
  1140.      represented as character arrays, so you are not  (quite)  stuck  with
  1141.      bit-string problem encodings.
  1142.  
  1143.  
  1144.  
  1145. Issue 1.10               Posted: 20 December 1993                       17
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  1154.  
  1155.  
  1156.  
  1157.      PGA  has  been  used  for teaching for a couple of years now, and has
  1158.      been used as a starting point by a fair number of  people  for  their
  1159.      own projects. So it's reasonably reliable. However, if you find bugs,
  1160.      or have useful contributions to make, Tell Me!
  1161.  
  1162.       Peter Ross
  1163.       Department of AI
  1164.       University of Edinburgh
  1165.       80 South Bridge
  1166.       Edinburgh EH1 1HN, UK
  1167.  
  1168.       Net: <peter@aisb.ed.ac.uk>
  1169.  
  1170.  Splicer:
  1171.      Splicer is a GENETIC ALGORITHM tool that can be used to solve  search
  1172.      and  optimization problems, created by the Software Technology Branch
  1173.      (STB) of the Information Systems Directorate  at  NASA/Johnson  Space
  1174.      Center  with  support from the MITRE Corporation. Splicer was written
  1175.      in C on an Apple Macintosh, then ported to Unix workstations  running
  1176.      X11;  it  has  a  modular  architecture  with well-defined interfaces
  1177.      between a GA kernel, representation libraries, FITNESS  modules,  and
  1178.      user interface libraries.
  1179.  
  1180.      The   representation   libraries   contain  functions  for  defining,
  1181.      creating, and decoding genetic strings, as well as multiple CROSSOVER
  1182.      and  MUTATION  operators.  Libraries  supporting  binary  strings and
  1183.      permutations are provided, others can be created by the user.
  1184.  
  1185.      FITNESS modules are typically written  by  the  user,  although  some
  1186.      sample  applications  are provided. The modules may contain a fitness
  1187.      function, initial  values  for  various  control  parameters,  and  a
  1188.      function which graphically displays the best solutions.
  1189.  
  1190.      Splicer  provides  event-driven  graphic user interface libraries for
  1191.      the Macintosh and the X11 window system (using the HP widget set);  a
  1192.      menu-driven  ASCII  interface  is  also  available  though  not fully
  1193.      supported.  The extensive documentation includes a  reference  manual
  1194.      and  a  user's  manual;  an  architecture  manual  and  the  advanced
  1195.      programmer's manual are currently being written.
  1196.  
  1197.      An  electronic  bulletin  board  (300/1200/2400   baud,   8N1)   with
  1198.      information  regarding  Splicer  can  be reached at (713) 280-3896 or
  1199.      (713)  280-3892.   Splicer  is  available  free  to  NASA   and   its
  1200.      contractors  for  use  on government projects by calling the STB Help
  1201.      Desk weekdays 9am-4pm CST at (713) 280-2233.  Government  contractors
  1202.      should have their contract monitor call the STB Help Desk; others may
  1203.      purchase Splicer for $221 (incl. documentation) from:
  1204.  
  1205.       COSMIC
  1206.       382 E. Broad St.
  1207.       Athens, GA 30602, USA
  1208.  
  1209.  
  1210.  
  1211. Issue 1.10               Posted: 20 December 1993                       18
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  1220.  
  1221.  
  1222.  
  1223.       Net: <bayer@galileo.jsc.nasa.gov>
  1224.       Tel: +1 (404) 542-3265
  1225.       Fax: +1 (706) 542-4807
  1226.  
  1227.  WOLF:
  1228.      This is  a  simulator  for  the  G/SPLINES  (genetic  spline  models)
  1229.      algorithm which builds spline-based functional models of experimental
  1230.      data, using CROSSOVER and MUTATION to evolve a POPULATION  towards  a
  1231.      better  fit.  It is derived from Friedman's MARS models. The original
  1232.      work  was  presented  at  ICGA-4,  and  further   results   including
  1233.      additional basis function types such as B-splines have been presented
  1234.      at the NIPS-91 meeting.
  1235.  
  1236.      Available at no cost via anonymous FTP by contacting the author; runs
  1237.      on  SUN (and possibly any SYSV) UNIX box. Macintosh version available
  1238.      on floppy disk for a $20 fee. Both versions can be redistributed  for
  1239.      noncommercial use. Simulator includes executable and C source code; a
  1240.      technical report (RIACS tech report 91.10) is also available.
  1241.  
  1242.       David Rogers
  1243.       MS Ellis, NASA Ames Research Center
  1244.       Moffett Field, CA 94035, USA
  1245.  
  1246.       Net: <drogers@riacs.edu>
  1247.  
  1248.  CFS-C:
  1249.      CFS-C 1.0 is a domain independent  collection  of  classifier  system
  1250.      routines written by Rick L. Riolo as part of his PhD dissertation.  A
  1251.      completely rewritten CFS-C++ is  planned  for  1994;  the  CFS-C  2.0
  1252.      mentioned  in  [SAB90] (e.g. "latent learning") will not be released;
  1253.      instead an ANSIfied version of 1.0 (CFS-C 1.98j)  is  available  from
  1254.      SAFIER and the SyS ftp server.
  1255.  
  1256.      CFS-C        is        available        from        SAFIER        as:
  1257.      sfi.santafe.edu:/pub/EC/CFS/src/cfsc-1.98j.tar.gz  and  includes  the
  1258.      original  1.02  CFS-C  in it's "cfsc/orig" folder after unpacking. On
  1259.      the     SyS     ftp      server      it's:      lumpi.informatik.uni-
  1260.      dortmund.de:/pub/CFS/src/cfsc-1.98j.tar.gz
  1261.  
  1262.      References
  1263.  
  1264.      Rick  L.  Riolo  (1988)  "CFS-C:  A  package  of  domain  independent
  1265.      subroutines for implementing classifier systems in  arbitrary,  user-
  1266.      defined environments", Logic of computers group, Division of computer
  1267.      science and engineering, University of Michigan.
  1268.  
  1269.      Rick  L.  Riolo  (1988)  "LETSEQ:  An  implementation  of  the  CFS-C
  1270.      classifier-system  in a task-domain that involves learning to predict
  1271.      letter sequences", Logic of computers  group,  Division  of  computer
  1272.      science and engineering, University of Michigan.
  1273.  
  1274.  
  1275.  
  1276.  
  1277. Issue 1.10               Posted: 20 December 1993                       19
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  1286.  
  1287.  
  1288.  
  1289.      Rick  L.  Riolo  (1988)  "CFS-C/FSW1:  An implementation of the CFS-C
  1290.      classifier system in a task domain that involves learning to traverse
  1291.      a finite state world", Logic of computers group, Division of computer
  1292.      science and engineering, University of Michigan.
  1293.  
  1294.  SCS-C:
  1295.      SCS-C is a (`mostly ANSI') C language translation  and  extension  of
  1296.      Goldberg's  Simple  Classifier  System, as presented in Appendix D in
  1297.      his seminal book "Genetic Algorithms  in  Search,  Optimization,  and
  1298.      Machine Learning", Addison-Wesley, Reading, MA, 1989.
  1299.  
  1300.      SCS-C  has been developed in parallel on a Sun 10/40 and an ATARI ST,
  1301.      and thus should be quite portable; it's distributed  free  of  charge
  1302.      and  the other terms of the GPL, i.e. the GNU General Public License.
  1303.  
  1304.      SCS-C   v0.99j   will   be    made    available    via    ftp    from
  1305.      lumpi.informatik.uni-dortmund.de  (129.217.36.140).  Log on with user
  1306.      name "ftp" and give your full e-mail address as  password.  The  file
  1307.      scs-c-0.99j.tar.gz  in  directory "pub/LCS/src" contains the complete
  1308.      software distribution; the documentation alone is available as scs-c-
  1309.      doc.tar.gz in directory "pub/LCS/docs".
  1310.  
  1311.      For more information contact:
  1312.  
  1313.       Joerg Heitkoetter
  1314.       Systems Analysis Research Group, LSXI
  1315.       Department of Computer Science
  1316.       University of Dortmund
  1317.       D-44221 Dortmund, Germany
  1318.  
  1319.       Net: <joke@ls11.informatik.uni-dortmund.de>
  1320.       Fax: +49 231 755-2450
  1321.  
  1322.  
  1323. A20.2) Commercial software packages?
  1324.  EnGENEer:
  1325.      Logica  Cambridge  Ltd.  developed  EnGENEer  as  an in-house GENETIC
  1326.      ALGORITHM ENVIRONMENT to assist the development of GA applications on
  1327.      a wide range of domains. The software was written in C and runs under
  1328.      Unix as part of a consultancy and systems package. It  supports  both
  1329.      interactive  (X-Windows) and batch (command-line) modes of operation.
  1330.  
  1331.      EnGENEer provides a number of flexible  mechanisms  which  allow  the
  1332.      developer  to  rapidly  bring the power of GAs to bear on new problem
  1333.      domains.  Starting  with  the  Genetic  Description   Language,   the
  1334.      developer can describe, at high level, the structure of the ``genetic
  1335.      material'' used. The  language  supports  discrete  GENEs  with  user
  1336.      defined   cardinality   and   includes   features  such  as  multiple
  1337.      CHROMOSOMEs models, multiple SPECIES models and non-evolvable parsing
  1338.      symbols which can be used for decoding complex genetic material.
  1339.  
  1340.  
  1341.  
  1342.  
  1343. Issue 1.10               Posted: 20 December 1993                       20
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  1352.  
  1353.  
  1354.  
  1355.      The  user  also  has available a descriptive high level language, the
  1356.      Evolutionary Model Language. It allows the description of the GA type
  1357.      used  in  terms  of  configurable options including: population size,
  1358.      POPULATION structure and  source,  selection  method,  CROSSOVER  and
  1359.      MUTATION  type  and  probability,  INVERSION,  dispersal  method, and
  1360.      number of offspring per GENERATION.
  1361.  
  1362.      Both the Genetic Description  Language  and  the  Evolutionary  Model
  1363.      Language   are  fully  supported  within  the  interactive  interface
  1364.      (including online help system) and can be defined either "on the fly"
  1365.      or  loaded  from audit files which are automatically created during a
  1366.      GA run.
  1367.  
  1368.      Monitoring of GA progress is provided via both  graphical  tools  and
  1369.      automatic storage of results (at user defined intervals). This allows
  1370.      the user to restart EnGENEer from any point in a run, by loading both
  1371.      the POPULATION at that time and the evolutionary model that was being
  1372.      used.
  1373.  
  1374.      Connecting EnGENEer to  different  problem  domains  is  achieved  by
  1375.      specifying  the  name  of  the  program  used to evaluate the problem
  1376.      specific FITNESS function and constructing a simple  parsing  routine
  1377.      to   interpret   the   genetic   material.   A  library  of  standard
  1378.      interpretation  routines  are  also  provided   for   commonly   used
  1379.      representation  schemes  such  as gray-coding, permutations, etc. The
  1380.      fitness evaluation can then be run as either a slave process  to  the
  1381.      GA  or  via  a standard handshaking routines. Better still, it can be
  1382.      run on either the machine hosting the EnGENEer or on  any  sequential
  1383.      or parallel hardware capable of connecting to a Unix machine.
  1384.  
  1385.      For more information, contact:
  1386.  
  1387.       George Robbins
  1388.       Systems Intelligence Division
  1389.       Logica Cambridge Ltd.
  1390.       Betjeman House
  1391.       104 Hills Road
  1392.       Cambridge CB2 1LQ, UK
  1393.  
  1394.       Tel: +44 716 379111
  1395.       Fax: +44 223 322315
  1396.  
  1397.  EvoFrame:
  1398.      EvoFrame  is  to  Evolution  Strategies  what  MicroGA  is to Genetic
  1399.      Algorithms, a toolkit for application development  incorporating  ESs
  1400.      as the optimization engine.
  1401.  
  1402.      EvoFrame  is  an  object  oriented  implemented  programming tool for
  1403.      Evolution  Strategies   (Rechenberg/Schwefel,   Germany)   for   easy
  1404.      implementation and solution of numerical and combinatorical problems.
  1405.      EvoFrame  gives  you  freedom  of  implementing  every  byte  of  the
  1406.  
  1407.  
  1408.  
  1409. Issue 1.10               Posted: 20 December 1993                       21
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  1418.  
  1419.  
  1420.  
  1421.      optimization  principle  and its user interface. You can focus on the
  1422.      optimization problem and forget about all the rest.
  1423.  
  1424.      EvoFrame is available as Version 2.0 in Borland-Pascal 7.0 and Turbo-
  1425.      Vision  for  PC's and as Version 1.0 in C++ for Apple Macintosh using
  1426.      MPW   and   MacApp.    Both   implementations   allow   full    typed
  1427.      implementation,  i.e.   no  more  translation  from  problem specific
  1428.      format to an optimization  specific  one.   A  prototyping  tool  (cf
  1429.      REALizer) exists for both platforms too.
  1430.  
  1431.      EvoFrame  allows pseudoparallel optimization of many problems at once
  1432.      and you can switch optimization parameters and internal methods (i.e.
  1433.      quality  function etc.) during runtime and during optimization cycle.
  1434.      Both tools can  be  modified  or  extended  by  overloading  existing
  1435.      methods  for  experimental  use.  They  are  developed continously in
  1436.      correlation to new research results.
  1437.  
  1438.      The  PC  version  is  prepared  for  experimental  use   due   to   a
  1439.      comprehensive  protocolling  mechanism of optimzation cycles and user
  1440.      data. It also allows compilation of executable files  with  different
  1441.      complexity  by  setting conditional compilation flags. It can be used
  1442.      with 3 levels of stacked populations.
  1443.  
  1444.      The Mac version is the more complex  (recursive)  implementation.  It
  1445.      allows stacking of any number of populations for modelling of complex
  1446.      systems. Theory stops at multipopulation level at the time.  EvoFrame
  1447.      for  Mac  is  ready for the future, allowing any number of population
  1448.      levels.
  1449.  
  1450.      Ask for porting the Mac version (C++) to any other platform,  i.e.  X
  1451.      Windows.
  1452.  
  1453.  REALizer:
  1454.      REALizer  is  a  tool for rapid prototyping of EvoFrame applications.
  1455.      It's an override of the corresponding framework which is prepared  to
  1456.      optimize  using  a  vector  of real numbers. All methods for standard
  1457.      evolution  and  file  handling,  etc.  are  ready  implemented.   The
  1458.      remaining  work  for the user is to define a constant for the problem
  1459.      size, fill  in  the  quality  function  and  start  the  optimization
  1460.      process.
  1461.       .PP For further information, current prices and orders, contact:
  1462.  
  1463.       Wolfram Stebel
  1464.       Optimum Software
  1465.       Braunfelser Str. 26
  1466.       35578 Wetzlar, Germany
  1467.  
  1468.       Net: <optimum@applelink.apple.com>
  1469.       Tel: +49 6441 25325
  1470.       Fax: +49 6441 24818
  1471.  
  1472.  
  1473.  
  1474.  
  1475. Issue 1.10               Posted: 20 December 1993                       22
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  1484.  
  1485.  
  1486.  
  1487.  Evolver:
  1488.      Evolver   is  a  spreadsheet  add-in  which  incorporates  the  first
  1489.      commercially available GENETIC ALGORITHM  to  search  for  solutions.
  1490.      Evolver  can  be  customized  through  the  macro  language,  and  is
  1491.      available for $345 on 3.5'' or 5.25'' floppies for the  Excel,  WingZ
  1492.      and  Resolve  spreadsheets  on  the Mac and PC computers. For further
  1493.      information, contact:
  1494.  
  1495.       Axcelis, Inc.
  1496.       4668 Eastern Avenue North
  1497.       Seattle, WA 98103-6932, USA
  1498.  
  1499.       Tel: (206) 632-0885
  1500.  
  1501.      To order Evolver, contact:
  1502.  
  1503.       Spreadware Distributors
  1504.       P.O. Box 4552
  1505.       Palm Desert, CA 92261, USA
  1506.  
  1507.       Tel: (619) 347-2365
  1508.       Fax: (619) 347-6045
  1509.  
  1510.  GAME:
  1511.      GAME  (GA  Manipulation   Environment)   aims   to   demonstrate   GA
  1512.      applications and build a suitable programming environment.
  1513.  
  1514.      GAME  is  being  developed  as  part  of  the PAPAGENA project of the
  1515.      European Community's Esprit III initiative.
  1516.  
  1517.      GAME is available as an addendum to a  book  on  PGAs  (cf  PAPAGENA,
  1518.      Q20.3).  And from the project's FTP server bells.cs.ucl.ac.uk see the
  1519.      directories under "papagena", e.g. "papagena/game/docs" contains  all
  1520.      the  papers  that  have  been  produced  over  the course of the GAME
  1521.      project, e.g. you'll find a little bit outdated  draft  of  the  GAME
  1522.      DESIGN  NOTES  document,  which  explains  some of the details of the
  1523.      implementation. There are some other  technical  reports  also.   The
  1524.      sources  can also be obtained by ftp see "papagena/game/version2.01".
  1525.  
  1526.      GAME is now in version 2.01 (the version distributed  with  the  book
  1527.      was  1.0). This version is still able to run only sequential GAs, but
  1528.      version 3.0 is coming soon and will handle parallel GAs as well.
  1529.  
  1530.      Unfortunately, The project  yet  only  produced  a  Borland  C++  3.x
  1531.      version, so far.  It is intended to distribute a version for UNIX/GNU
  1532.      C++  as  well,  when  some  compatibility   issues   concerning   C++
  1533.      "standards"  have  been  resolved.  Afterward  a UNIX version will be
  1534.      released, but this will be  only  happen  after  the  release  of  PC
  1535.      version 3.0.
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541. Issue 1.10               Posted: 20 December 1993                       23
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  1550.  
  1551.  
  1552.  
  1553.      Please, feel free to use and distribute the software.
  1554.  
  1555.      For more information contact:
  1556.  
  1557.       Jose Luiz Ribeiro Filho
  1558.       Department of Computer Science
  1559.       University College London
  1560.       Gower Street
  1561.       London WC1E 6BT, UK
  1562.  
  1563.       Net: <zeluiz@cs.ucl.ac.uk>
  1564.       Tel: +44 (071) 387 7050 x 3701
  1565.       Fax: +44 (071) 387 1397
  1566.  
  1567.  MicroGA:
  1568.      MicroGA  is a powerful and flexible new tool which allows programmers
  1569.      to integrate GAs into their software quickly and  easily.  It  is  an
  1570.      object-oriented  C++  framework  that comes with full source code and
  1571.      documentation as well as three sample applications. Also included  is
  1572.      the  Galapagos  code  generator which allows users to create complete
  1573.      applications interactively without writing any C++ code, and a sample
  1574.      MacApp interface.
  1575.  
  1576.      MicroGA  is  available  for Macintosh II or higher with MPW and a C++
  1577.      compiler, and also in a Microsoft Windows version for PC compatibles.
  1578.      Compiled  applications  made with MicroGA can be sold without license
  1579.      fee. MicroGA is priced at $249.
  1580.  
  1581.  Galapagos:
  1582.      Galapagos is a tool for use with Emergent Behavior's MicroGA Toolkit.
  1583.      It  allows  a  user to define a function and set of constraints for a
  1584.      problem that the user wants to solve using the  GA.   Galapagos  then
  1585.      generates a complete C++ program using the information supplied. Then
  1586.      all the user has to do  is  to  compile  these  files,  using  either
  1587.      Turbo/Borland   C++  (PC,  MS  Windows),  or  MPW  and  C++  compiler
  1588.      (Macintosh), and link the resulting code to the MicroGA library. Then
  1589.      just  run  the  program.  Galapagos  comes  free  with  every copy of
  1590.      MicroGA.
  1591.  
  1592.      For further information and orders, contact:
  1593.  
  1594.       Steve Wilson
  1595.       Emergent Behavior
  1596.       635 Wellsbury Way
  1597.       Palo Alto, CA 94306, USA
  1598.  
  1599.       Net: <emergent@aol.com>
  1600.       Tel: +1 (415) 494-6763
  1601.  
  1602.      MicroGA is distributed in Germany by Optimum Software (cf EvoFrame  &
  1603.      REALizer entries).
  1604.  
  1605.  
  1606.  
  1607. Issue 1.10               Posted: 20 December 1993                       24
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  1616.  
  1617.  
  1618.  
  1619.  Omega:
  1620.      The  Omega  Predictive Modeling System, marketed by KiQ Limited, is a
  1621.      powerful  approach  to  developing  predictive  models.  It  exploits
  1622.      advanced GA techniques to create a tool which is "flexible, powerful,
  1623.      informative and straightforward to  use".  Omega  is  geared  to  the
  1624.      financial  domain,  with applications in Direct Marketing, Insurance,
  1625.      Investigations  and  Credit  Management.   The   ENVIRONMENT   offers
  1626.      facilities  for  automatic handling of data; business, statistical or
  1627.      custom measures of PERFORMANCE, simple and complex  profit  modeling,
  1628.      validation   sample  tests,  advanced  confidence  tests,  real  time
  1629.      graphics, and optional control over the internal GA.
  1630.  
  1631.      For further information, contact:
  1632.  
  1633.       KiQ
  1634.       Business Modeling Systems Ltd.
  1635.       Easton Hall, Great Easton
  1636.       Essex CM6 2HD, UK
  1637.  
  1638.       Tel: +44 371 870254
  1639.  
  1640.  OOGA, GENESIS:
  1641.      OOGA  (Object-Oriented  GA)  is  a  GENETIC  ALGORITHM  designed  for
  1642.      industrial  use.   It  includes examples accompanying the tutorial in
  1643.      the companion "Handbook of Genetic Algorithms". OOGA is designed such
  1644.      that each of the techniques employed by a GA is an object that may be
  1645.      modified, displayed or replaced in object-oriented fashion.  OOGA  is
  1646.      especially well-suited for INDIVIDUALs wishing to modify the basic GA
  1647.      techniques or tailor them to new domains.
  1648.  
  1649.      The buyer of OOGA also receives GENESIS,  a  generational  GA  system
  1650.      written  by  John  Grefenstette.  As  the  first  widely available GA
  1651.      program GENESIS has been very influential in stimulating the  use  of
  1652.      GAs,  and  several  other  GA  packages are based on it. This release
  1653.      sports an improved user interface.  OOGA and  GENESIS  are  available
  1654.      together  on  3.5''  or  5.25''  disk  for  $60  ($52.50 inside North
  1655.      America) by order from:
  1656.  
  1657.       The Software Partnership (T.S.P.)
  1658.       P.O. Box 991
  1659.       Melrose, MA 02176, USA
  1660.  
  1661.       Tel: +1 617 662 8991
  1662.  
  1663.  PC-Beagle:
  1664.      PC-Beagle is a rule-finder program for PCs which examines a  database
  1665.      of  examples  and uses machine-learning techniques to create a set of
  1666.      decision rules for classifying those examples, thus turning data into
  1667.      knowledge.   The  system  contains six major components, one of which
  1668.      (HERB - the "Heuristic Evolutionary Rule Breeder") uses GA techniques
  1669.      to generate rules by natural selection.
  1670.  
  1671.  
  1672.  
  1673. Issue 1.10               Posted: 20 December 1993                       25
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  1682.  
  1683.  
  1684.  
  1685.      PC-Beagle  is  available to educational users for 69 pounds sterling.
  1686.      Orders, payment or requests for information should be addressed to:
  1687.  
  1688.       Richard Forsyth
  1689.       Pathway Research Ltd.
  1690.       59 Cranbrook Rd.
  1691.       Bristol BS6 7BS, UK
  1692.  
  1693.       Tel: +44 272 428692
  1694.  
  1695.  XpertRule GenAsys:
  1696.      XpertRule GenAsys is an expert system  shell  with  embedded  GENETIC
  1697.      ALGORITHM  marketed  by  Attar Software. Targeted to solve scheduling
  1698.      and design applications, this system combines the  power  of  genetic
  1699.      algorithms  in  evolving  solutions  with  the  power  of  rule-based
  1700.      programming in analyzing the effectiveness of  solutions.  Rule-based
  1701.      programming  can  also be used to generate the initial POPULATION for
  1702.      the  genetic  algorithm  and  for  post-optimization  planning.  Some
  1703.      examples  of  design  and  scheduling problems which can be solved by
  1704.      this system include: optimization of design parameters in  electronic
  1705.      and  avionic  industries,  route  optimization  in  the  distribution
  1706.      sector, production scheduling in manufacturing, etc.
  1707.  
  1708.      For further information, contact:
  1709.  
  1710.       Attar Software
  1711.       Newlands Road
  1712.       Leigh, Lancashire, UK
  1713.  
  1714.       Net: <100166.1547@CompuServe.com>
  1715.       Tel: +44 942 608844
  1716.       Fax: +44 942 601991
  1717.  
  1718.  XYpe:
  1719.      XYpe (The GA Engine) is a commercial GA application  and  development
  1720.      package  for  the Apple Macintosh. Its standard user interface allows
  1721.      you to design CHROMOSOMEs, set attributes of the genetic  engine  and
  1722.      graphically  display its progress. The development package provides a
  1723.      set of Think C libraries and include files for the design of  new  GA
  1724.      applications. XYpe supports adaptive operator weights and mixtures of
  1725.      alpha, binary, gray, ordering and real number codings.
  1726.  
  1727.      The price of $725 (in  Massachusetts  add  5%  sales  tax)  plus  $15
  1728.      shipping   and   handling   includes   technical  support  and  three
  1729.      documentation manuals.  XYpe requires a Macintosh SE  or  newer  with
  1730.      2MB  RAM  running  OS  V6.0.4  or  greater,  and Think C if using the
  1731.      development package.
  1732.  
  1733.      Currently the GA engine  is  working;  the  user  interface  will  be
  1734.      completed on demand. Interested parties should contact:
  1735.  
  1736.  
  1737.  
  1738.  
  1739. Issue 1.10               Posted: 20 December 1993                       26
  1740.  
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  1748.  
  1749.  
  1750.  
  1751.       Ed Swartz
  1752.       Virtual Image, Inc.
  1753.       75 Sandy Pond Road #11
  1754.       Ayer, MA 01432, USA
  1755.  
  1756.       Tel: +1 (508) 772-4225
  1757.  
  1758.  
  1759. A20.3) Current research projects?
  1760.  PAPAGENA:
  1761.      The  European  ESPRIT III project PAPAGENA is pleased to announce the
  1762.      availability of the following book and software:
  1763.  
  1764.      Parallel Genetic Algorithms: Theory  and  Applications  was  recently
  1765.      published by IOS press. The book, edited by Joachim Stender, provides
  1766.      an overview  of  the  theoretical,  as  well  as  practical,  aspects
  1767.      involved   in  the  study  and  implementation  of  parallel  GENETIC
  1768.      ALGORITHMs (PGAs).
  1769.  
  1770.      The book comes with a floppy disk version of GAME (Genetic  Algorithm
  1771.      Manipulation Environment).  The disk contains the C++ source code for
  1772.      the sequential version the the GAME Virtual Machine. Also two  simple
  1773.      demonstration  examples  are  included  (an analytical function and a
  1774.      TSP) to illustrate the use of the VM.  Code is provided for both UNIX
  1775.      and MS-DOS.
  1776.  
  1777.      GAME  provides  a  general  purpose  toolkit  for the programming and
  1778.      simulation of a wide range of GA and PGA algorithms and applications.
  1779.      The   GAME   Environment  is  being  upgraded  to  include  graphical
  1780.      monitoring tools, and to allow for arbitrary levels of addressing for
  1781.      GA  manipulation (i.e., POPULATIONs can be broken down into arbitrary
  1782.      substructures  beyond  INDIVIDUALs,  CHROMOSOMEs,  and  GENEs,   with
  1783.      biological operators acting at all levels).
  1784.  
  1785.      For    more    information   contact:   Jose   Luiz   Ribeiro   Filho
  1786.      <zeluiz@cs.ucl.ac.uk> (please refer to the  section  on  GAME  above,
  1787.      that also lists the full affiliation/address).
  1788.  
  1789.  DGENESIS:
  1790.      Based on GENESIS 5.0, this project at ITAM (Mexico) aims to implement
  1791.      a distributed GA on a network of workstations.  For more information,
  1792.      contact Erick Cantu <ecantu@babbage.rhon.itam.mx>.
  1793.  
  1794.  
  1795. A21)  What  are  Gray codes, why to use them, how to efficiently implement
  1796.      them?
  1797.      The correct spelling is "Gray"---not  "gray",  "Grey",  or  "grey"---
  1798.      since Gray codes are named after the Frank Gray  who  patented  their
  1799.      use for shaft encoders in 1953  [1].   Gray  codes  actually  have  a
  1800.      longer history, and the inquisitive reader may want to  look  up  the
  1801.      August, 1972,  issue  of  Scientific  American,  which  contains  two
  1802.  
  1803.  
  1804.  
  1805. Issue 1.10               Posted: 20 December 1993                       27
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  1814.  
  1815.  
  1816.  
  1817.      articles of interest: one on the origin  of  binary  codes  [2],  and
  1818.      another by Martin  Gardner  on  some  entertaining  aspects  of  Gray
  1819.      codes [3].  Other references containing descriptions  of  Gray  codes
  1820.      and more modern, non-GA, applications include the second  edition  of
  1821.      Numerical  Recipes  [4],  Horowitz  and  Hill  [5],  Kozen  [6],  and
  1822.      Reingold [7].
  1823.  
  1824.      A Gray code represents  each  number  in  the  sequence  of  integers
  1825.      {0...2^N-1} as a binary string of length N  in  an  order  such  that
  1826.      adjacent integers have Gray code representations that differ in  only
  1827.      one bit position.  Marching through the  integer  sequence  therefore
  1828.      requires flipping just one bit at a time.  Some  call  this  defining
  1829.      property of Gray codes the "adjacency property" [8].
  1830.  
  1831.      Example (N=3):  The binary coding of {0...7} is {000, 001, 010,  011,
  1832.      100, 101, 110, 111}, while one Gray coding is {000,  001,  011,  010,
  1833.      110, 111, 101, 100}.  In essence, a Gray code takes a binary sequence
  1834.      and shuffles  it  to  form  some  new  sequence  with  the  adjacency
  1835.      property.  There exist,  therefore,  multiple  Gray  codings  or  any
  1836.      given N.  The example shown here belongs to a  class  of  Gray  codes
  1837.      that goes by the fancy name "binary-reflected Gray codes".  These are
  1838.      the most  commonly  seen  Gray  codes,  and  one  simple  scheme  for
  1839.      generationg such a Gray code sequence says, "start with all bits zero
  1840.      and successively flip the right-most bit that produces a new string."
  1841.  
  1842.      Hollstien [9] investigated the use of GAs for optimizing functions of
  1843.      two variables and claimed that  a  Gray  code  representation  worked
  1844.      slightly better than the binary representation.  He attrributed  this
  1845.      difference to the adjacency property of Gray codes.   Notice  in  the
  1846.      above example that the step from three to four requires the  flipping
  1847.      of all the bits in the binary representation.  In  general,  adjacent
  1848.      integers in the binary representaion often lie many bit flips  apart.
  1849.      This fact makes it less likely that a mutation  operator  can  effect
  1850.      small changes for a binary-coded individual.
  1851.  
  1852.      A Gray code representation seems to  improve  a  mutation  operator's
  1853.      chances of making incremental improvements, and a  close  examination
  1854.      suggests why.  In  a  binary-coded  string  of  length  N,  a  single
  1855.      mutation in the most significant  bit  (MSB)  alters  the  number  by
  1856.      2^(N-1).  In a Gray-coded string, fewer mutations lead  to  a  change
  1857.      this large.  The user of Gray codes does, however, pay  a  price  for
  1858.      this feature: those "fewer mutations" lead to  much  larger  changes.
  1859.      In the Gray code illustrated above, for example, a single mutation of
  1860.      the left-most bit changes a zero to a seven and vice-versa, while the
  1861.      largest change a single mutation can make to a corresponding  binary-
  1862.      coded individual is always four.  One might still view this aspect of
  1863.      Gray codes with some favor:  most  mutations  will  make  only  small
  1864.      changes, while the occasional  mutation  that  effects  a  truly  big
  1865.      change may initiate exploration of an  entirely  new  region  in  the
  1866.      space of chromosomes.
  1867.  
  1868.  
  1869.  
  1870.  
  1871. Issue 1.10               Posted: 20 December 1993                       28
  1872.  
  1873.  
  1874.  
  1875.  
  1876.  
  1877.  
  1878.  
  1879. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  1880.  
  1881.  
  1882.  
  1883.      The algorithm for converting between the binary-reflected  Gray  code
  1884.      described above  and  the  standard  binary  code  turns  out  to  be
  1885.      surprisingly simple to state.  First label the bits of a binary-coded
  1886.      string B[i], where larger i's represent more  significant  bits,  and
  1887.      similarly label the corresponding Gray-coded string G[i].  We convert
  1888.      one to the other as follows:  Copy the most  significant  bit.   Then
  1889.      for each smaller i  do  either  G[i] = XOR(B[i+1], B[i])---to convert
  1890.      binary to  Gray---or B[i] = XOR(B[i+1], G[i])---to  convert  Gray  to
  1891.      binary.
  1892.  
  1893.      One may easily implement the above algorithm in C.   Imagine  you  do
  1894.      something like
  1895.  
  1896.       typedef unsigned short      allele;
  1897.  
  1898.      and then use type "allele" for each bit in your chromosome, then  the
  1899.      following two functions will convert between  binary  and  Gray  code
  1900.      representations.  You must pass them the address  of  the  high-order
  1901.      bits for each of the two strings  as  well  as  the  length  of  each
  1902.      string.  (See  the  comment  statements  for  examples.)   NB:  These
  1903.      functions assume a chromosome arranged  as  shown  in  the  following
  1904.      illustration.
  1905.  
  1906.      index:    C[9]                                                    C[0]
  1907.            *-----------------------------------------------------------*
  1908.      Char C:   |  1  |  1  |  0  |  0  |  1  |  0  |  1  |  0  |  0  |  0  |
  1909.            *-----------------------------------------------------------*
  1910.            ^^^^^                                                 ^^^^^
  1911.            high-order bit                                  low-order bit
  1912.  
  1913.  C CODE
  1914.      /* Gray <==> binary conversion routines */
  1915.      /* written by Dan T. Abell, 7 October 1993 */
  1916.      /* please send any comments or suggestions */
  1917.      /* to dabell@quark.umd.edu */
  1918.  
  1919.      void gray_to_binary (Cg, Cb, n)
  1920.      /* convert chromosome of length n from */
  1921.      /* Gray code to binary representation */
  1922.      allele    *Cg,*Cb;
  1923.      int  n;
  1924.      {
  1925.       int j;
  1926.  
  1927.       *Cb = *Cg;               /* copy the high-order bit */
  1928.       for (j = 0; j < n; j++) {
  1929.            Cb--; Cg--;         /* for the remaining bits */
  1930.            *Cb= *(Cb+1)^*Cg;   /* do the appropriate XOR */
  1931.       }
  1932.      }
  1933.  
  1934.  
  1935.  
  1936.  
  1937. Issue 1.10               Posted: 20 December 1993                       29
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  1946.  
  1947.  
  1948.  
  1949.      void binary_to_gray(Cb, Cg, n)
  1950.      /* convert chromosome of length n from */
  1951.      /* binary to Gray code representation */
  1952.      allele    *Cb, *Cg;
  1953.      int  n;
  1954.      {
  1955.       int j;
  1956.  
  1957.       *Cg = *Cb;               /* copy the high-order bit */
  1958.       for (j = 0; j < n; j++) {
  1959.            Cg--; Cb--;         /* for the remaining bits */
  1960.            *Cg= *(Cb+1)^*Cb;   /* do the appropriate XOR */
  1961.       }
  1962.      }
  1963.  
  1964.      References
  1965.  
  1966.      [1] F. Gray, "Pulse Code Communication", U.  S.  Patent  2  632  058,
  1967.      March 17, 1953.
  1968.  
  1969.      [2]  F.  G.  Heath, "Origins of the Binary Code", Scientific American
  1970.      v.227,n.2 (August, 1972) p.76.
  1971.  
  1972.      [3]  Martin  Gardner,  "Mathematical  Games",   Scientific   American
  1973.      v.227,n.2 (August, 1972) p.106.
  1974.  
  1975.      [4]  William H. Press, et al., Numerical Recipes in C, Second Edition
  1976.      (Cambridge University Press, 1992).
  1977.  
  1978.      [5] Paul Horowitz and Winfield Hill, The Art of  Electronics,  Second
  1979.      Edition (Cambridge University Press, 1989).
  1980.  
  1981.      [6]  Dexter  Kozen,  The Design and Analysis of Algorithms (Springer-
  1982.      Verlag, New York, NY, 1992).
  1983.  
  1984.      [7] Edward M. Reingold, et al.,  Combinatorial  Algorithms  (Prentice
  1985.      Hall, Englewood Cliffs, NJ, 1977).
  1986.  
  1987.      [8]  David  E.  Goldberg, Genetic Algorithms in Search, Optimization,
  1988.      and Machine Learning (Addison-Wesley, Reading, MA, 1989).
  1989.  
  1990.      [9] R.  B.  Hollstien,  Artificial  Genetic  Adaptation  in  Computer
  1991.      Control Systems (PhD thesis, University of Michigan, 1971).
  1992.  
  1993.  
  1994. A42) What is Life all about?
  1995.      42
  1996.  
  1997.      References
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003. Issue 1.10               Posted: 20 December 1993                       30
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011. FAQ(3/3)                          ANSWERS                         FAQ(3/3)
  2012.  
  2013.  
  2014.  
  2015.      Adams, D. (1979) "The Hitch Hiker's Guide to the Galaxy", London: Pan
  2016.      Books.
  2017.  
  2018.      Adams, D. (1980) "The Restaurant at the End of the Universe", London:
  2019.      Pan Books.
  2020.  
  2021.      Adams,  D.  (1982)  "Life,  the Universe and Everything", London: Pan
  2022.      Books.
  2023.  
  2024.      Adams, D. (1984) "So long, and thanks for all the Fish", London:  Pan
  2025.      Books.
  2026.  
  2027.      Adams, D. (1992) "Mostly Harmless", London: Heinemann.
  2028.  
  2029.  
  2030. A42b) Is there a FAQ to this group?
  2031.      Yes.
  2032.  
  2033.  
  2034. A98) Any Patents on EAs?
  2035.      Process  patents  have  been  issued  both  for  the  Bucket  Brigade
  2036.      Algorithm (BBA) in classifier systems: U.S.  patent  #[..]  (to  John
  2037.      Holland) and for GP: U.S. patent #4,935,877 (to John Koza).
  2038.  
  2039.      This  FAQ  does  not attempt to provide legal advice. However, use of
  2040.      the Lisp code in the book [KOZA92] is freely  licensed  for  academic
  2041.      use.  Although  those  wishing  to make commercial use of any process
  2042.      should obviously consult any patent holders in question, it is pretty
  2043.      clear  that  it's  not  in  anyone's  best  interests to stifle GA/GP
  2044.      research and/or development. Commercial licenses much like those used
  2045.      for  CAD  software  can  presumably  be obtained for the use of these
  2046.      processes where necessary.
  2047.  
  2048.      There are currently no known patents  for  other  EA  paradigms;  but
  2049.      there  is  a  periodic  posting  on  comp.ai.neural-nets  by  Gregory
  2050.      Aharonian <srctran@world.std.com> about patents on Artificial  Neural
  2051.      Networks (ANNs).
  2052.  
  2053.  
  2054. A99) A Glossary on EAs?
  2055.  A
  2056.      ADAPTIVE BEHAVIOUR:
  2057.       "...underlying  mechanisms  that allow animals, and potentially,
  2058.       ROBOTs to adapt and survive in uncertain environments" --- Meyer
  2059.       & Wilson (1991), [SAB90]
  2060.  
  2061.      AI:  See ARTIFICIAL INTELLIGENCE.
  2062.  
  2063.      ALIFE:
  2064.       See ARTIFICIAL LIFE.
  2065.  
  2066.  
  2067.  
  2068.  
  2069. Issue 1.10               Posted: 20 December 1993                       31
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077. FAQ(3/3)                         GLOSSARY                         FAQ(3/3)
  2078.  
  2079.  
  2080.  
  2081.      ALLELE:
  2082.       (biol) Each GENE is able to occupy only a particular region of a
  2083.       CHROMOSOME, it's locus. At any given locus there may  exist,  in
  2084.       the POPULATION, alternative forms of the gene. These alternative
  2085.       are called alleles of one another.
  2086.  
  2087.       (EC) The value of a GENE.  Hence, for a  binary  representation,
  2088.       each gene may have an ALLELE of 0 or 1.
  2089.  
  2090.      ARTIFICIAL INTELLIGENCE:
  2091.       "...the  study  of  how to make computers do things at which, at
  2092.       the moment, people are better" --- Elaine  Rich (1988)
  2093.  
  2094.      ARTIFICIAL LIFE:
  2095.       Term coined by Christopher G.  Langton  for  his  1987  [ALIFEI]
  2096.       conference.  In  the preface of the proceedings he defines ALIFE
  2097.       as "...the study of simple computer generated hypothetical  life
  2098.       forms, i.e.  life-as-it-could-be."
  2099.  
  2100.  B
  2101.      BUILDING BLOCK:
  2102.       (EC)  A  small,  tightly clustered group of GENEs which have co-
  2103.       evolved  in  such  a  way  that  their  introduction  into   any
  2104.       CHROMOSOME  will  be  likely  to  give increased FITNESS to that
  2105.       chromosome.
  2106.  
  2107.       The "building block hypothesis"  [GOLDBERG89]  states  that  GAs
  2108.       find  solutions  by  first  finding  as  many BUILDING BLOCKs as
  2109.       possible, and then combining them together to give  the  highest
  2110.       FITNESS.
  2111.  
  2112.  C
  2113.      CENTRAL DOGMA:
  2114.       (biol)  The  dogma  that  nucleic acids act as templates for the
  2115.       synthesis of proteins, but never the  reverse.  More  generally,
  2116.       the dogma that GENEs exert an influence over the form of a body,
  2117.       but the form of a body is never  translated  back  into  genetic
  2118.       code: acquired characteristics are not inherited. cf LAMARCKISM.
  2119.  
  2120.       (GA) The dogma that the  behaviour  of  the  algorithm  must  be
  2121.       analysed using the SCHEMA THEOREM.
  2122.  
  2123.       (life in general) The dogma that this all is useful in a way.
  2124.  
  2125.       "You  guys  have  a dogma. A certain irrational set of believes.
  2126.       Well, here's  my  irrational  set  of  beliefs.  Something  that
  2127.       works."
  2128.  
  2129.       --- Rodney A. Brooks, [LEVY92]
  2130.  
  2131.      CHROMOSOME:
  2132.  
  2133.  
  2134.  
  2135. Issue 1.10               Posted: 20 December 1993                       32
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143. FAQ(3/3)                         GLOSSARY                         FAQ(3/3)
  2144.  
  2145.  
  2146.  
  2147.       (biol)  One  of  the  chains of DNA found in cells.  CHROMOSOMEs
  2148.       contain GENEs, each encoded as a subsection of  the  DNA  chain.
  2149.       Chromosomes  are  usually  present  in all cells in an organism,
  2150.       even though only a minority of them will be active  in  any  one
  2151.       cell.
  2152.  
  2153.       (EC)  A datastructure which holds a `string' of task parameters,
  2154.       or GENEs.  This may be stored, for example,  as  a  binary  bit-
  2155.       string, or an array of integers.
  2156.  
  2157.      COMBINATORIAL OPTIMIZATION:
  2158.       Some tasks involve combining a set of entities in a specific way
  2159.       (e.g.  the task of building a house).  A  general  combinatorial
  2160.       task  involves deciding (a) the specifications of those entities
  2161.       (e.g. what size, shape, material to make the bricks  from),  and
  2162.       (b)  the  way in which those entities are brought together (e.g.
  2163.       the number of bricks, and  their  relative  positions).  If  the
  2164.       resulting  combination  of  entities  can in some way be given a
  2165.       FITNESS score, then COMBINATORIAL OPTIMIZATION is  the  task  of
  2166.       designing  a  set  of  entities,  and  deciding how they must be
  2167.       configured, so  as  to  give  maximum  fitness.  cf  ORDER-BASED
  2168.       PROBLEM.
  2169.  
  2170.      CROSSOVER:
  2171.       (EC)  A  REPRODUCTION  OPERATOR  which forms a new CHROMOSOME by
  2172.       combining parts  of  each  of  two  `parent'  chromosomes.   The
  2173.       simplest  form  is single-point CROSSOVER, in which an arbitrary
  2174.       point in the chromosome is  picked.  All  the  information  from
  2175.       parent  A  is  copied  from the start up to the crossover point,
  2176.       then all the information  from  parent  B  is  copied  from  the
  2177.       crossover point to the end of the chromosome. The new chromosome
  2178.       thus gets the head of one parent's chromosome combined with  the
  2179.       tail  of  the  other.   Variations exist which use more than one
  2180.       crossover point, or combine information from  parents  in  other
  2181.       ways.
  2182.  
  2183.       (biol)  A   complicated   process   whereby  CHROMOSOMEs,  while
  2184.       engaged in the  production  of  GAMETEs,  exchange  portions  of
  2185.       genetic material.  The result is that an almost infinite variety
  2186.       of  gametes  may  be  produced.   Subsequently,  during   sexual
  2187.       REPRODUCTION,  male and female gametes (i.e. sperm and ova) fuse
  2188.       to  produce  a  new  cell  with  a  complete  set   of   DIPLOID
  2189.       CHROMOSOMEs.
  2190.  
  2191.       In  [HOLLAND92]  the sentence "When sperm and ova fuse, matching
  2192.       CHROMOSOMEs line up with one another and then cross over partway
  2193.       along  their  length,  thus  swapping  genetic material" is thus
  2194.       wrong, since these two activities occur in  different  parts  of
  2195.       the  life  cycle.  [eds note:  If sexual REPRODUCTION (the  Real
  2196.       Thing) worked like in GAs, then Holland would be right,  but  as
  2197.       we  all  know,   it's   not   the  case.   We just encountered a
  2198.  
  2199.  
  2200.  
  2201. Issue 1.10               Posted: 20 December 1993                       33
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209. FAQ(3/3)                         GLOSSARY                         FAQ(3/3)
  2210.  
  2211.  
  2212.  
  2213.       Freudian  slip  of  a  Grandmaster.  BTW:    even   the   German
  2214.       translation  of   this  article  has  this  "bug", although it's
  2215.       well-hidden by the translator.]
  2216.  
  2217.  D
  2218.      DARWINISM:
  2219.       (biol) Theory of EVOLUTION, proposed by Darwin,  that  evolution
  2220.       comes    about    through    random   variation   of   heritable
  2221.       characteristics, coupled with natural selection (survival of the
  2222.       fittest).  A  physical mechanism for this, in terms of GENEs and
  2223.       CHROMOSOMEs, was discovered many years later. cf LAMARCKISM.
  2224.  
  2225.       (EC) Theory which inspired all branches of EC.
  2226.  
  2227.      DECEPTION:
  2228.       The condition where the  combination  of  good  BUILDING  BLOCKs
  2229.       leads   to  reduced  FITNESS,  rather  than  increased  fitness.
  2230.       Proposed by [GOLDBERG89] as a reason for the failure of  GAs  on
  2231.       many tasks.
  2232.  
  2233.      DIPLOID CHROMOSOME:
  2234.       (biol)  A  CHROMOSOME  which  consists  of  a pair of homologous
  2235.       chromosomes, i.e. two chromosomes containing the same  GENEs  in
  2236.       the  same  sequence.  In sexually reproducing SPECIES, the genes
  2237.       in one of the chromosomes will  have  been  inherited  from  the
  2238.       father's GAMETE (sperm), while the genes in the other chromosome
  2239.       are from the mother's gamete (ovum).
  2240.  
  2241.      DNA: (biol) Deoxyribonucleic Acid, a double stranded macromolecule of
  2242.       helical  structure  (comparable  to  a  spiral  staircase). Both
  2243.       single strands are linear,  unbranched  nucleic  acid  molecules
  2244.       build  up  from  alternating  deoxyribose  (sugar) and phosphate
  2245.       molecules. Each deoxyribose part  is  coupled  to  a  nucleotide
  2246.       base,  which  is  responsible for establishing the connection to
  2247.       the other strand of the DNA.  The  4  nucleotide  bases  Adenine
  2248.       (A),  Thymine (T), Cytosine (C) and Guanine (G) are the alphabet
  2249.       of the genetic information. The sequences of these bases in  the
  2250.       DNA  molecule determines the building plan of any organism. [eds
  2251.       note: suggested reading: James  D.  Watson  (1968)  "The  Double
  2252.       Helix", London: Weidenfeld and Nicholson]
  2253.  
  2254.       (literature)  Douglas  Noel  Adams, contemporary Science Fiction
  2255.       comedy writer. Published "The Hitch-Hiker's Guide to the Galaxy"
  2256.       when  he  was  25 years old, which made him one of the currently
  2257.       most  successful  British  authors.   [eds  note:  interestingly
  2258.       Watson  was  also 25 years old, when he discovered the DNA; both
  2259.       events are probably not interconnected; you might also  want  to
  2260.       look  at:  Neil  Gaiman's  (1987)  "DON'T  PANIC -- The Official
  2261.       Hitch-Hiker's Guide to the Galaxy companion", and of course  get
  2262.       your  hands  on  the  wholly  remarkable FAQ in alt.fan.douglas-
  2263.       adams]
  2264.  
  2265.  
  2266.  
  2267. Issue 1.10               Posted: 20 December 1993                       34
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273.  
  2274.  
  2275. FAQ(3/3)                         GLOSSARY                         FAQ(3/3)
  2276.  
  2277.  
  2278.  
  2279.      DNS: (biol) Desoxyribonukleinsaeure, German for DNA.
  2280.  
  2281.       (comp) The Domain Name System, a distributed database system for
  2282.       translating    computer    names   (e.g.   lumpi.informatik.uni-
  2283.       dortmund.de)   into   numeric   Internet,   i.e.    IP-addresses
  2284.       (129.217.36.140)  and  vice-versa.   DNS allows you to hook into
  2285.       the net without remembering long lists  of  numeric  references,
  2286.       unless  your  system  administrator  has incorrectly set-up your
  2287.       site's system.
  2288.  
  2289.  E
  2290.      EC:  See EVOLUTIONARY COMPUTATION.
  2291.  
  2292.      ENVIRONMENT:
  2293.       (biol) That which  surrounds  an  organism.  Can  be  'physical'
  2294.       (abiotic),  or  biotic.   In both, the organism occupies a NICHE
  2295.       which influences its FITNESS within the  total  ENVIRONMENT.   A
  2296.       biotic  environment  may  present   frequency-dependent  fitness
  2297.       functions within a  POPULATION,  that  is,  the  fitness  of  an
  2298.       organism's  behaviour  may  depend upon how many others are also
  2299.       doing it.  Over several  GENERATIONs,  biotic  environments  may
  2300.       foster   co-evolution,  in  which  fitness  is  determined  with
  2301.       selection partly by other SPECIES.
  2302.  
  2303.      EPISTASIS:
  2304.       (biol) A "masking" or "switching" effect among GENEs.  A biology
  2305.       textbook says: "A gene is said to be epistatic when its presence
  2306.       suppresses the effect of a gene  at  another  locus.   Epistatic
  2307.       genes  are  sometimes  called  inhibiting genes because of their
  2308.       effect on other genes which are described as hypostatic."
  2309.  
  2310.       (EC) When EC  researchers  use  the  term  EPISTASIS,  they  are
  2311.       generally  referring  to  any  kind  of strong interaction among
  2312.       GENEs, not just masking effects. A possible definition is:
  2313.  
  2314.       EPISTASIS is  the  interaction  between  different  GENEs  in  a
  2315.       CHROMOSOME.   It  is  the  extent  to  which the contribution to
  2316.       FITNESS of one gene depends on the values of other genes.
  2317.  
  2318.       Problems with little  or  no  EPISTASIS  are  trivial  to  solve
  2319.       (hillclimbing  is sufficient). But highly epistatic problems are
  2320.       difficult to solve, even for GAs.   High  epistasis  means  that
  2321.       BUILDING BLOCKs cannot form, and there will be DECEPTION.
  2322.  
  2323.      ESS: See EVOLUTIONARILY STABLE STRATEGY.
  2324.  
  2325.      EVOLUTION:
  2326.       That  process  of  change  which is assured given a reproductive
  2327.       POPULATION in which there are (1) varieties of INDIVIDUALs, with
  2328.       some  varieties being (2) heritable, of which some varieties (3)
  2329.       differ in FITNESS (reproductive success).
  2330.  
  2331.  
  2332.  
  2333. Issue 1.10               Posted: 20 December 1993                       35
  2334.  
  2335.  
  2336.  
  2337.  
  2338.  
  2339.  
  2340.  
  2341. FAQ(3/3)                         GLOSSARY                         FAQ(3/3)
  2342.  
  2343.  
  2344.  
  2345.       "Don't assume that all people who accept EVOLUTION are atheists"
  2346.  
  2347.       --- Talk.origin FAQ
  2348.  
  2349.      EVOLUTIONARILY STABLE STRATEGY:
  2350.       A  strategy that does well in a POPULATION dominated by the same
  2351.       strategy.  (cf Maynard Smith, 1974)
  2352.  
  2353.      EVOLUTIONARY COMPUTATION:
  2354.       Encompasses methods of simulating EVOLUTION on a computer.   The
  2355.       term  is  relatively new and represents an effort bring together
  2356.       researchers who have been working in closely related fields  but
  2357.       following  different  paradigms.   The  field  is  now  seen  as
  2358.       including research in GENETIC ALGORITHMs, evolution  strategies,
  2359.       evolutionary  programming, ARTIFICIAL LIFE, and so forth.  For a
  2360.       good overview see the editorial introduction to Vol. 1, No. 1 of
  2361.       "Evolutionary  Computation" (MIT Press, 1993).  That, along with
  2362.       the papers in  the  issue,  should  give  you  a  good  idea  of
  2363.       representative research.
  2364.  
  2365.      EXPLOITATION:
  2366.       When  traversing  a SEARCH SPACE, EXPLOITATION is the process of
  2367.       using information gathered from previously visited points in the
  2368.       search  space  to  determine which places might be profitable to
  2369.       visit next.  An  example  is  hillclimbing,  which  investigates
  2370.       adjacent  points in the search space, and moves in the direction
  2371.       giving  the  greatest   increase   in   FITNESS.    Exploitation
  2372.       techniques are good at finding local maxima.
  2373.  
  2374.      EXPLORATION:
  2375.       The  process of visiting entirely new regions of a SEARCH SPACE,
  2376.       to  see  if  anything  promising  may  be  found  there.  Unlike
  2377.       EXPLOITATION,  EXPLORATION  involves  leaps  into  the  unknown.
  2378.       Problems which have many local  maxima  can  sometimes  only  be
  2379.       solved by this sort of random search.
  2380.  
  2381.  F
  2382.      FITNESS:
  2383.       (biol)  Loosely:  adaptedness.  Often measured as, and sometimes
  2384.       equated to, relative reproductive success.  Also proportional to
  2385.       expected  time  to extinction.  "The fit are those who fit their
  2386.       existing ENVIRONMENTs and  whose  descendants  will  fit  future
  2387.       environments."   (J.  Thoday,  "A  Century  of  Darwin",  1959).
  2388.       Accidents of history are relevant.
  2389.  
  2390.       (EC) A value assigned to an INDIVIDUAL which reflects  how  well
  2391.       the  INDIVIDUAL solves the task in hand. A "fitness function" is
  2392.       used to map a CHROMOSOME to a FITNESS value.
  2393.  
  2394.      FUNCTION OPTIMIZATION:
  2395.       For a function which takes a set  of  N  input  parameters,  and
  2396.  
  2397.  
  2398.  
  2399. Issue 1.10               Posted: 20 December 1993                       36
  2400.  
  2401.  
  2402.  
  2403.  
  2404.  
  2405.  
  2406.  
  2407. FAQ(3/3)                         GLOSSARY                         FAQ(3/3)
  2408.  
  2409.  
  2410.  
  2411.       returns  a  single output value, F, FUNCTION OPTIMIZATION is the
  2412.       task of finding the  set(s)  of  parameters  which  produce  the
  2413.       maximum (or minimum) value of F. Function optimization is a type
  2414.       of VALUE-BASED PROBLEM.
  2415.  
  2416.      FUNCTION SET:
  2417.       (GP) The set of operators used in GP. These functions label  the
  2418.       internal (non-leaf) points of the parse trees that represent the
  2419.       programs in the POPULATION.  An example FUNCTION  SET  might  be
  2420.       {+, -, *}.
  2421.  
  2422.  G
  2423.      GA:  See GENETIC ALGORITHM.
  2424.  
  2425.      GAME THEORY:
  2426.       A  mathematical theory originally developed for human games, and
  2427.       generalized to human economics and  military  strategy,  and  to
  2428.       EVOLUTION in the theory of EVOLUTIONARILY STABLE STRATEGY.  GAME
  2429.       THEORY comes into it's own wherever the optimum  policy  is  not
  2430.       fixed,  but  depends upon the policy which is statistically most
  2431.       likely to be adopted by opponents.
  2432.  
  2433.      GAMETE:
  2434.       (biol) Cells which carry genetic information from their  parents
  2435.       for  the  purposes  of  sexual  REPRODUCTION.   In animals, male
  2436.       GAMETEs are called sperm, female gametes are called ova. Gametes
  2437.       have HAPLOID CHROMOSOMEs.
  2438.  
  2439.      GENE:
  2440.       (EC)  A  subsection  of a CHROMOSOME which (usually) encodes the
  2441.       value of a single parameter.
  2442.  
  2443.       (biol) A unit of heredity. May be defined in different ways  for
  2444.       different  purposes.  Molecular biologists sometimes use it in a
  2445.       more  abstract  sense.  Following  Williams  (cf   Q10.7)   `any
  2446.       hereditary  information  for  which  there  is  a  favorable  or
  2447.       unfavorable selection bias equal to several or  many  times  its
  2448.       rate of endogenous change.' cf CHROMOSOME.
  2449.  
  2450.      GENE-POOL:
  2451.       The  whole  set of GENEs in a breeding POPULATION.  The metaphor
  2452.       on which the term is based  de-emphasizes  the  undeniable  fact
  2453.       that  genes actually go about in discrete bodies, and emphasizes
  2454.       the idea of genes flowing about the world like a liquid.
  2455.  
  2456.       "Everybody out of the GENE-POOL, now!"
  2457.  
  2458.       --- Author prefers to be anonymous
  2459.  
  2460.      GENERATION:
  2461.       (EC) An iteration of the measurement of FITNESS and the creation
  2462.  
  2463.  
  2464.  
  2465. Issue 1.10               Posted: 20 December 1993                       37
  2466.  
  2467.  
  2468.  
  2469.  
  2470.  
  2471.  
  2472.  
  2473. FAQ(3/3)                         GLOSSARY                         FAQ(3/3)
  2474.  
  2475.  
  2476.  
  2477.       of a new POPULATION by means of REPRODUCTION OPERATORs.
  2478.  
  2479.      GENETIC ALGORITHM:
  2480.       A  type  of  EVOLUTIONARY  COMPUTATION  devised  by John Holland
  2481.       [HOLLAND92].   A  model  of  machine  learning   that   uses   a
  2482.       genetic/evolutionary  metaphor.  Implementations  typically  use
  2483.       fixed-length  character  strings  to  represent  their   genetic
  2484.       information.
  2485.  
  2486.      GENETIC DRIFT:
  2487.       Changes  in  gene/allele  frequencies  in a POPULATION over many
  2488.       GENERATIONs, resulting from chance rather than selection. Occurs
  2489.       most  rapidly  in  small  populations.  Can lead to some ALLELEs
  2490.       becoming `extinct', thus reducing the genetic variability in the
  2491.       population.
  2492.  
  2493.      GENETIC PROGRAMMING:
  2494.       GENETIC  ALGORITHMs applied to programs.  GENETIC PROGRAMMING is
  2495.       more expressive than fixed-length character string  GAs,  though
  2496.       GAs  are  likely  to  be  more  efficient  for  some  classes of
  2497.       problems.
  2498.  
  2499.      GENOME:
  2500.       The entire collection of GENEs (and hence CHROMOSOMEs) possessed
  2501.       by an organism.
  2502.  
  2503.      GP:  See GENETIC PROGRAMMING.
  2504.  
  2505.  H
  2506.      HAPLOID CHROMOSOME:
  2507.       (biol)  A  CHROMOSOME  consisting of a single sequence of GENEs.
  2508.       These are found in GAMETEs.  cf DIPLOID CHROMOSOME.
  2509.  
  2510.       In EC, it is usual for CHROMOSOMEs to be haploid.
  2511.  
  2512.  
  2513.  I
  2514.      INDIVIDUAL:
  2515.       A single  member  of  a  POPULATION.   In  EC,  each  INDIVIDUAL
  2516.       contains  a  CHROMOSOME  which represents a possible solution to
  2517.       the task being tackled, i.e. a single point in the SEARCH SPACE.
  2518.       Other  information is usually also stored in an each individual,
  2519.       e.g. its FITNESS.
  2520.  
  2521.      INVERSION:
  2522.       (EC) A REORDERING operator which  works  by  selecting  two  cut
  2523.       points in a CHROMOSOME, and reversing the order of all the GENEs
  2524.       between those two points.
  2525.  
  2526.  L
  2527.      LAMARCKISM:
  2528.  
  2529.  
  2530.  
  2531. Issue 1.10               Posted: 20 December 1993                       38
  2532.  
  2533.  
  2534.  
  2535.  
  2536.  
  2537.  
  2538.  
  2539. FAQ(3/3)                         GLOSSARY                         FAQ(3/3)
  2540.  
  2541.  
  2542.  
  2543.       Theory of EVOLUTION which preceded  Darwin's.  Lamarck  believed
  2544.       that  evolution  came  about through the inheritance of acquired
  2545.       characteristics. That is, the skills or physical features  which
  2546.       an  INDIVIDUAL  acquires during its lifetime can be passed on to
  2547.       its offspring.  Although Lamarckian inheritance  does  not  take
  2548.       place  in  nature, the idea has been usefully applied by some in
  2549.       EC.  cf DARWINISM.
  2550.  
  2551.  M
  2552.      MIGRATION:
  2553.       The transfer of (the GENEs  of)  an  INDIVIDUAL  from  one  SUB-
  2554.       POPULATION to another.
  2555.  
  2556.      MOBOT:
  2557.       MOBile ROBOT.  cf ROBOT.
  2558.  
  2559.      MUTATION:
  2560.       (EC)  a  REPRODUCTION  OPERATOR  which forms a new CHROMOSOME by
  2561.       making (usually small) alterations to the values of GENEs  in  a
  2562.       copy of a single, parent chromosome.
  2563.  
  2564.  N
  2565.      NICHE:
  2566.       (biol)  In  natural ecosystems, there are many different ways in
  2567.       which animals may survive (grazing, hunting, on the  ground,  in
  2568.       trees,   etc.),   and   each  survival  strategy  is  called  an
  2569.       "ecological niche."  SPECIES which occupy different NICHEs (e.g.
  2570.       one eating plants, the other eating insects) may coexist side by
  2571.       side without competition, in a stable way. But  if  two  species
  2572.       occupying  the  same niche are brought into the same area, there
  2573.       will be competition,  and  eventually  the  weaker  of  the  two
  2574.       species  will  be  made  (locally)  extinct.  Hence diversity of
  2575.       species depends on them occupying a diversity of niches  (or  on
  2576.       geographical separation).
  2577.  
  2578.       (EC)  In  EC,  we  often  want  to  maintain  diversity  in  the
  2579.       POPULATION.  Sometimes a FITNESS function may  be  known  to  be
  2580.       multimodal, and we want to locate all the peaks. We may consider
  2581.       each peak in the fitness function as analogous to a  NICHE.   By
  2582.       applying   techniques   such  as  fitness  sharing  (Goldberg  &
  2583.       Richardson, [ICGA87]), the  population  can  be  prevented  from
  2584.       converging  on a single peak, and instead stable SUB-POPULATIONs
  2585.       form at each  peak.  This  is  analogous  to  different  SPECIES
  2586.       occupying different niches. See also SPECIES, SPECIATION.
  2587.  
  2588.  O
  2589.      ORDER-BASED PROBLEM:
  2590.       A  problem  where  the solution must be specified in terms of an
  2591.       arrangement (e.g. a linear ordering)  of  specific  items,  e.g.
  2592.       TRAVELLING   SALESMAN   PROBLEM,  computer  process  scheduling.
  2593.       ORDER-BASED PROBLEMs are a class of  COMBINATORIAL  OPTIMIZATION
  2594.  
  2595.  
  2596.  
  2597. Issue 1.10               Posted: 20 December 1993                       39
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605. FAQ(3/3)                         GLOSSARY                         FAQ(3/3)
  2606.  
  2607.  
  2608.  
  2609.       problems  in  which  the  entities  to  be  combined are already
  2610.       determined. cf VALUE-BASED PROBLEM.
  2611.  
  2612.      ONTOGENESIS:
  2613.       Refers to a single organism, and  means  the  life  span  of  an
  2614.       organism from it's birth to death.  cf PHYLOGENESIS.
  2615.  
  2616.  P
  2617.      PANMICTIC POPULATION:
  2618.       (EC,  biol)  A  mixed  POPULATION.   A  population  in which any
  2619.       INDIVIDUAL may  be  mated  with  any  other  individual  with  a
  2620.       probability  which  depends  only on FITNESS.  Most conventional
  2621.       evolutionary algorithms have PANMICTIC POPULATIONs.
  2622.  
  2623.       The opposite is a POPULATION divided into groups known  as  SUB-
  2624.       POPULATIONs,  where INDIVIDUALs may only mate with others in the
  2625.       same sub-population. cf SPECIATION.
  2626.  
  2627.      PERFORMANCE:
  2628.       cf FITNESS.
  2629.  
  2630.      PHYLOGENESIS:
  2631.       Refers to  a  POPULATION  of  organisms.  The  life  span  of  a
  2632.       POPULATION  of organisms from pre-historic times until today. cf
  2633.       ONTOGENESIS.
  2634.  
  2635.      POPULATION:
  2636.       A group of INDIVIDUALs which may interact together, for  example
  2637.       by mating, producing offspring, etc. Typical POPULATION sizes in
  2638.       EC range from 1  (for  certain  EVOLUTION  strategies)  to  many
  2639.       thousands (for GENETIC PROGRAMMING).  cf SUB-POPULATION.
  2640.  
  2641.  R
  2642.      RECOMBINATION:
  2643.       cf CROSSOVER.
  2644.  
  2645.      REORDERING:
  2646.       (EC)  A  REORDERING  operator  is  a REPRODUCTION OPERATOR which
  2647.       changes the order of GENEs in a CHROMOSOME,  with  the  hope  of
  2648.       bringing related genes closer together, thereby facilitating the
  2649.       production of BUILDING BLOCKs.  cf INVERSION.
  2650.  
  2651.      REPRODUCTION:
  2652.       (biol, EC) The creation of a new  INDIVIDUAL  from  two  parents
  2653.       (sexual  REPRODUCTION).  Asexual reproduction is the creation of
  2654.       a new individual from a single parent.
  2655.  
  2656.      REPRODUCTION OPERATOR:
  2657.       (EC) A mechanism which  influences  the  way  in  which  genetic
  2658.       information  is  passed  on  from  parent(s) to offspring during
  2659.       REPRODUCTION.  REPRODUCTION  OPERATORs  fall  into  three  broad
  2660.  
  2661.  
  2662.  
  2663. Issue 1.10               Posted: 20 December 1993                       40
  2664.  
  2665.  
  2666.  
  2667.  
  2668.  
  2669.  
  2670.  
  2671. FAQ(3/3)                         GLOSSARY                         FAQ(3/3)
  2672.  
  2673.  
  2674.  
  2675.       categories: CROSSOVER, MUTATION and REORDERING operators.
  2676.  
  2677.      ROBOT:
  2678.       "The  Encyclopedia  Galactica  defines  a  ROBOT as a mechanical
  2679.       apparatus designed to do the work of man. The marketing division
  2680.       of  the  Sirius Cybernetics Corporation defines a robot as `Your
  2681.       Plastic Pal Who's Fun To Be With'."
  2682.  
  2683.       --- Douglas Adams (1979)
  2684.  
  2685.  S
  2686.      SCHEMA:
  2687.       A pattern of GENE values in  a  CHROMOSOME,  which  may  include
  2688.       `dont  care'  states.  Thus  in a binary chromosome, each SCHEMA
  2689.       (plural schemata) can be specified  by  a  string  of  the  same
  2690.       length  as the chromosome, with each character one of {0, 1, #}.
  2691.       A particular chromosome is said to `contain' a particular schema
  2692.       if  it  matches the schema (e.g. chromosome 01101 matches schema
  2693.       #1#0#).
  2694.  
  2695.       The `order' of a SCHEMA is the number of non-dont-care positions
  2696.       specified,  while  the `defining length' is the distance between
  2697.       the furthest two non-dont-care positions. Thus #1#0# is of order
  2698.       2 and defining length 3.
  2699.  
  2700.      SCHEMA THEOREM:
  2701.       Theorem  devised by Holland [HOLLAND92] to explain the behaviour
  2702.       of GAs.  In essence, it  says  that  a  GA  gives  exponentially
  2703.       increasing   reproductive  trials  to  above  average  schemata.
  2704.       Because each CHROMOSOME contains a great many schemata, the rate
  2705.       of  SCHEMA processing in the POPULATION is very high, leading to
  2706.       a phenomenon known as implicit parallelism. This gives a GA with
  2707.       a  population  of  size  N  a  speedup  by  a factor of N cubed,
  2708.       compared to a random search.
  2709.  
  2710.      SEARCH SPACE:
  2711.       If the solution to a task can be represented by a set of N real-
  2712.       valued  parameters, then the job of finding this solution can be
  2713.       thought of as a  search  in  an  N-dimensional  space.  This  is
  2714.       referred  to simply as the SEARCH SPACE.  More generally, if the
  2715.       solution to a task can be  represented  using  a  representation
  2716.       scheme,  R,  then  the  search  space is the set of all possible
  2717.       configurations which may be represented in R.
  2718.  
  2719.      SPECIATION:
  2720.       (biol) The process whereby a new SPECIES comes about.  The  most
  2721.       common cause of SPECIATION is that of geographical isolation. If
  2722.       a SUB-POPULATION of a single species is separated geographically
  2723.       from  the  main  POPULATION  for a sufficiently long time, their
  2724.       GENEs will diverge  (either  due  to  differences  in  selection
  2725.       pressures  in  different  locations,  or  simply  due to GENETIC
  2726.  
  2727.  
  2728.  
  2729. Issue 1.10               Posted: 20 December 1993                       41
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735.  
  2736.  
  2737. FAQ(3/3)                         GLOSSARY                         FAQ(3/3)
  2738.  
  2739.  
  2740.  
  2741.       DRIFT).  Eventually, genetic differences will be so  great  that
  2742.       members of the sub-population must be considered as belonging to
  2743.       a different (and new) species.
  2744.  
  2745.       SPECIATION is very important in evolutionary biology. Small SUB-
  2746.       POPULATIONs can evolve much more rapidly than a large POPULATION
  2747.       (because genetic changes don't take long to become fixed in  the
  2748.       population).  Sometimes,  this  EVOLUTION  will produce superior
  2749.       INDIVIDUALs which can outcompete,  and  eventually  replace  the
  2750.       SPECIES of the original, main population.
  2751.  
  2752.       (EC)  Techniques analogous to geographical isolation are used in
  2753.       a number of GAs.  Typically, the POPULATION is divided into SUB-
  2754.       POPULATIONs,  and  INDIVIDUALs  are  only  allowed  to mate with
  2755.       others in the same sub-population. (A small amount of  MIGRATION
  2756.       is performed.)
  2757.  
  2758.       This   produces  many  SUB-POPULATIONs  which  differ  in  their
  2759.       characteristics, and may be referred to as different  "species".
  2760.       This technique can be useful for finding multiple solutions to a
  2761.       problem, or simply maintaining diversity in the SEARCH SPACE.
  2762.  
  2763.       Most   biology/genetics   textbooks   contain   information   on
  2764.       SPECIATION.   A more detailed account can be found in "Genetics,
  2765.       Speciation and  the  Founder  Principle",  L.V.  Giddings,  K.Y.
  2766.       Kaneshiro  and  W.W.  Anderson  (Eds.),  Oxford University Press
  2767.       1989.
  2768.  
  2769.      SPECIES:
  2770.       (biol) There is  no  universally-agreed  firm  definition  of  a
  2771.       SPECIES.   A  species  may be roughly defined as a collection of
  2772.       living creatures,  having  similar  characteristics,  which  can
  2773.       breed  together  to  produce  viable  offspring similar to their
  2774.       parents. Members of  one  species  occupy  the  same  ecological
  2775.       NICHE.   (Members  of  different species may occupy the same, or
  2776.       different niches.)
  2777.  
  2778.       (EC) In EC the definition of  "species"  is  less  clear,  since
  2779.       generally  it is always possible for a pair INDIVIDUALs to breed
  2780.       together.  It is probably safest to use this term  only  in  the
  2781.       context   of   algorithms   which   employ  explicit  SPECIATION
  2782.       mechanisms.
  2783.  
  2784.       (biol) The  existence  of  different  SPECIES  allows  different
  2785.       ecological NICHEs to be exploited. Furthermore, the existence of
  2786.       a variety of different species itself creates new  niches,  thus
  2787.       allowing room for further species. Thus nature bootstraps itself
  2788.       into almost limitless complexity and diversity.
  2789.  
  2790.       Conversely, the domination of one, or a small number of  SPECIES
  2791.       reduces  the  number  of  viable  NICHEs,  leads to a decline in
  2792.  
  2793.  
  2794.  
  2795. Issue 1.10               Posted: 20 December 1993                       42
  2796.  
  2797.  
  2798.  
  2799.  
  2800.  
  2801.  
  2802.  
  2803. FAQ(3/3)                         GLOSSARY                         FAQ(3/3)
  2804.  
  2805.  
  2806.  
  2807.       diversity, and a reduction in  the  ability  to  cope  with  new
  2808.       situations.
  2809.  
  2810.       "Give any one SPECIES too much rope, and they'll fuck it up"
  2811.  
  2812.       --- Roger Waters, "Amused to Death", 1992
  2813.  
  2814.      SUB-POPULATION:
  2815.       A  POPULATION  may  be  sub-divided  into  groups, known as SUB-
  2816.       POPULATIONs, where INDIVIDUALs may only mate with others in  the
  2817.       same  group.  (This  technique  might  be  chosen  for  parallel
  2818.       processors).  Such  sub-divisions  may  markedly  influence  the
  2819.       evolutionary  dynamics of a population (e.g.  Wright's 'shifting
  2820.       balance' model).  Sub-populations  may  be  defined  by  various
  2821.       MIGRATION constraints: islands with limited arbitrary migration;
  2822.       stepping-stones   with   migration   to   neighboring   islands;
  2823.       isolation-by-distance  in  which each individual mates only with
  2824.       near neighbors. cf PANMICTIC POPULATION, SPECIATION.
  2825.  
  2826.      SUMMERSCHOOL:
  2827.       (USA) One of the most interesting things in the  US  educational
  2828.       system: class work during the summer break.
  2829.  
  2830.  T
  2831.      TERMINAL SET:
  2832.       (GP)  The  set  of  terminal  (leaf)  nodes  in  the parse trees
  2833.       representing the programs in the POPULATION.  A  terminal  might
  2834.       be a variable, such as X, a constant value, such as 42, (cf Q42)
  2835.       or a function taking no arguments, such as (move-north).
  2836.  
  2837.      TRAVELLING SALESMAN PROBLEM:
  2838.       The travelling salesperson has the task of visiting a number  of
  2839.       clients,  located  in different cities. The problem to solve is:
  2840.       in what order should the cities be visited in order to  minimise
  2841.       the total distance travelled (including returning home)? This is
  2842.       a classical example of an ORDER-BASED PROBLEM.
  2843.  
  2844.      TSP: See TRAVELLING SALESMAN PROBLEM.
  2845.  
  2846.  U
  2847.      USENET:
  2848.       "Usenet is like a herd of performing elephants with diarrhea  --
  2849.       massive, difficult to redirect, awe-inspiring, entertaining, and
  2850.       a source of mind-boggling amounts of excrement  when  you  least
  2851.       expect it."
  2852.  
  2853.       --- Gene Spafford (1992)
  2854.  
  2855.  V
  2856.      VALUE-BASED PROBLEM:
  2857.       A problem where the solution must be specified in terms of a set
  2858.  
  2859.  
  2860.  
  2861. Issue 1.10               Posted: 20 December 1993                       43
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.  
  2868.  
  2869. FAQ(3/3)                         GLOSSARY                         FAQ(3/3)
  2870.  
  2871.  
  2872.  
  2873.       of real-valued parameters.  FUNCTION OPTIMIZATION  problems  are
  2874.       of this type.  cf SEARCH SPACE, ORDER-BASED PROBLEM.
  2875.  
  2876.  Z
  2877.      ZEN NAVIGATION:
  2878.       A  methodology  with  tremendous propensity to get lost during a
  2879.       hike from A to B.  ZEN NAVIGATION  simply  consists  in  finding
  2880.       something  that  looks  as  if  it knew where it is going to and
  2881.       follow  it.   The  results  are  more  often   surprising   than
  2882.       successful, but it's usually being worth for the sake of the few
  2883.       occasions when it is both.
  2884.  
  2885.       Sometimes ZEN NAVIGATION is referred  to  as  "doing  scientific
  2886.       research,"  where  A is a state of mind being considered as pre-
  2887.       PhD, and B (usually a different) state of mind, known  as  post-
  2888.       PhD. While your time spent in state C, somewhere inbetween A and
  2889.       B, is usually referred to as "being a nobody."
  2890.  
  2891.  
  2892. ACKNOWLEDGMENTS
  2893.      Finally, credit where credit is due. I'd like to thank all the people
  2894.      who  helped  in  assembling  this  guide,  and their patience with my
  2895.      "variations on English  grammar".  In  the  order  I  received  their
  2896.      contributions, thanks to:
  2897.  
  2898.  Contributors,
  2899.      Lutz  Prechelt  (University  of  Karlsruhe)  the  comp.ai.neural-nets
  2900.      FAQmeister, for letting  me  strip  several  ideas  from  "his"  FAQ.
  2901.      Ritesh  "peace"  Bansal  (CMU)  for  lots of comments and references.
  2902.      David  Beasley  (University  of  Wales)  for  a  valuable   list   of
  2903.      publications  (Q12),  and many further additions.  David Corne, Peter
  2904.      Ross,  and  Hsiao-Lan  Fang  (University  of  Edinburgh)  for   their
  2905.      TIMETABLING  and  JSSP  entries.   Mark  Kantrowitz (CMU) for mocking
  2906.      about this-and-that, and being a "mostly valuable" source  concerning
  2907.      FAQ  maintenance;  parts  of  A11  have  been stripped from "his" ai-
  2908.      faq/part4 FAQ; Mark also contributed the less verbose ARCHIVE  SERVER
  2909.      infos.   The  texts  of  Q1.1,  Q1.5, Q98 and some entries of Q99 are
  2910.      courtesy by James  Rice  (Stanford  University),  stripped  from  his
  2911.      genetic-programming  FAQ  (Q15).   Jonathan  I. Kamens (MIT) provided
  2912.      infos on how-to-hook-into the USENET FAQ  system.   Una  Smith  (Yale
  2913.      University)  contributed  the  better parts of the Internet resources
  2914.      guide  (Q15.5).   Daniel   Polani   (Gutenberg   University,   Mainz)
  2915.      "contributed"  the  Alife  II  Video  proceedings  info.   Jim  McCoy
  2916.      (University of Texas) reminded me of  the  GP  archive  he  maintains
  2917.      (Q20).   Ron Goldthwaite (UC Davis) added definitions of Environment,
  2918.      Evolution, Fitness, and Population to the glossary, and some thoughts
  2919.      why   Biologists  should  take  note  of  EC  (Q3).   Joachim  Geidel
  2920.      (University of Karlsruhe) sent a diff of the  current  "navy  server"
  2921.      contents  and the software survey, pointing to "missing links" (Q20).
  2922.      Richard Dawkins "Glossary" section of "The extended phenotype" served
  2923.      for many new entries, too numerous to mention here (Q99).  Mark Davis
  2924.  
  2925.  
  2926.  
  2927. Issue 1.10               Posted: 20 December 1993                       44
  2928.  
  2929.  
  2930.  
  2931.  
  2932.  
  2933.  
  2934.  
  2935. FAQ(3/3)                         GLOSSARY                         FAQ(3/3)
  2936.  
  2937.  
  2938.  
  2939.      (New  Mexico  State  University)  wrote  the  part  on   Evolutionary
  2940.      Programming  (Q1.2).   Dan Abell (University of Maryland) contributed
  2941.      the section on efficient greycoding (Q21).  Walter Harms  (University
  2942.      of  Oldenburg)  commented  on introductory EC literature.  Lieutenant
  2943.      Colonel J.S. Robertson (USMA, West Point), for providing a  home  for
  2944.      this      subversive      posting     on     their     FTP     server
  2945.      euler.math.usma.edu:/pub/misc/GA.  Rosie O'Neill for  suggesting  the
  2946.      PhD thesis entry (Q10.11).  Charlie Pearce (University of Nottingham)
  2947.      for critical remarks concerning "tables"; well, here  they  are!   J.
  2948.      Ribeiro Filho (University College London) for the pointer to the IEEE
  2949.      Computer GA  Software  Survey;  the  PeGAsuS  description  (Q20)  was
  2950.      stripped from it.
  2951.  
  2952.  Reviewers,
  2953.      Robert  Elliott  Smith  (The University of Alabama) reviewed the TCGA
  2954.      infos (Q14), and Nici Schraudolph (UCSD) first  unconsciously,  later
  2955.      consciously, provided about 97% of Q20* answers.  Nicheal Lynn Cramer
  2956.      (BBN) adjusted my historic view of GP genesis.  David Fogel (ORINCON)
  2957.      commented and helped on this-and-that (where this-and-that is closely
  2958.      related to EP).  Kazuhiro M. Saito (MIT) and Mark  D.  Smucker  (Iowa
  2959.      State)  caught  my favorite typo(s).  Craig W. Reynolds was the first
  2960.      who solved one of the well-hidden puzzles in the FAQ, and also  added
  2961.      some  valuable stuff.  Joachim Born (TU Berlin) updated the Evolution
  2962.      Machine (EM) entry and provided the pointer to the Bionics  technical
  2963.      report  ftp  site  (Q14).   Pattie  Maes (MIT Media Lab) reviewed the
  2964.      ALIFE IV additions to the list of conferences (Q12).  Scott D. Yelich
  2965.      (Santa Fe Institute) reviewed the SFI connectivity entry (Q15).  Rick
  2966.      Riolo (MERIT) reviewed the CFS-C entry (Q20).  And  Davika  Seunarine
  2967.      (Acadia Univ.)  for smoothing out this and that.
  2968.  
  2969.  and Everybody...
  2970.      Last  not  least  I'd like to thank Hans-Paul Schwefel, Thomas Baeck,
  2971.      Frank Kursawe, Guenter Rudolph for  their  respective  contributions,
  2972.      and  the  rest  of  the  Systems  Analysis  Research Group for wholly
  2973.      remarkable patience and almost incredible  unflappability  during  my
  2974.      various  extravangances and ego-trips during my time (1990-1993) with
  2975.      this group.
  2976.  
  2977.      It was a tremendously worthwhile experience.  Thanks!
  2978.  
  2979.  
  2980.  
  2981.  
  2982.  
  2983.  
  2984.  
  2985.        "And all our yesterdays have lighted fools; the way to dusty death;
  2986.     out, out brief candle; life's but a walking shadow; a poor player;
  2987.       that struts and gets his hour upon the stage; and then is heared
  2988.        no more; it is a tale; told by an idiot, full of sound an fury,
  2989.                               signifying nothing."
  2990.  
  2991.  
  2992.  
  2993. Issue 1.10               Posted: 20 December 1993                       45
  2994.  
  2995.  
  2996.  
  2997.  
  2998.  
  2999.  
  3000.  
  3001. FAQ(3/3)                         GLOSSARY                         FAQ(3/3)
  3002.  
  3003.  
  3004.  
  3005.                           --- Shakespeare, Macbeth
  3006.  
  3007.  
  3008.                                  EPILOGUE
  3009.               "Natural selection is a mechanism for generating
  3010.                  an exceedingly high degree of improbability."
  3011.  
  3012.                   --- Sir Ronald Aylmer Fisher (1890-1962)
  3013.  
  3014.  
  3015.      This is a GREAT quotation, it sounds like something directly out of a
  3016.     turn of the century Douglas Adams: Natural selection: the original
  3017.                         "Infinite Improbability Drive"
  3018.  
  3019.              --- Craig Reynolds, on reading the previous quote
  3020.  
  3021.      "`The  Babel  fish,'  said  The  Hitch  Hiker's  Guide  to the Galaxy
  3022.      quietly, `is small, yellow and leech-like, and  probably  the  oddest
  3023.      thing  in  the  Universe.   It feeds on brainwave energy received not
  3024.      from his own carrier  but  from  those  around  it.  It  absorbs  all
  3025.      unconscious  mental frequencies from this brainwave energy to nourish
  3026.      itself with.  It then  excretes  into  the  mind  of  its  carrier  a
  3027.      telepathic   matrix   formed   by  combining  the  conscious  thought
  3028.      frequencies with nerve signals picked up from the speech  centers  of
  3029.      the  brain which has supplied them.  The practical upshot of all this
  3030.      is that if you stick a Babel fish  in  your  ear  you  can  instantly
  3031.      understand  anything  said to you in any form of language. The speech
  3032.      patterns you actually hear decode the brainwave matrix which has been
  3033.      fed  into  your mind by your Babel fish.  `Now it is such a bizarrely
  3034.      improbable coincidence than anything so mindbogglingly  useful  could
  3035.      have  evolved  purely by chance that some thinkers have chosen to see
  3036.      it as a final and clinching proof of the non-existence of God.   `The
  3037.      argument  goes  something  like  this:  ``I  refuse  to  prove that I
  3038.      exist,'' says God, ``for proof denies faith, and without faith  I  am
  3039.      nothing.''   ``But,''  says  Man, ``The Babel fish is a dead giveaway
  3040.      isn't it?  It could not have evolved by chance. It proves you  exist,
  3041.      and  so  therefore,  by  your  own arguments, you don't. QED.''  ``Oh
  3042.      dear,'' says God, ``I hadn't thought of that,'' and promptly vanishes
  3043.      in  a  puff  of  logic.   ``Oh, that was easy,'' says Man, and for an
  3044.      encore goes on to prove that black is white and gets  himself  killed
  3045.      on the next zebra crossing."
  3046.  
  3047.                           --- Douglas Adams (1979)
  3048.  
  3049.      "Well, people; I really wish this thingie to turn into a paper babel-
  3050.      fish for all those young ape-descended organic  life  forms  on  this
  3051.      crazy  planet,  who don't have any clue about what's going on in this
  3052.      exciting  "new"  research  field,  called  Evolutionary  Computation.
  3053.      However,  this  is  just  a  start,  I need your help to increase the
  3054.      usefulness of this guide, especially  its  readability  for  natively
  3055.      English  speaking  folks;  whatever  it  is:  I'd  like  to hear from
  3056.  
  3057.  
  3058.  
  3059. Issue 1.10               Posted: 20 December 1993                       46
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065.  
  3066.  
  3067. FAQ(3/3)                         EPILOGUE                         FAQ(3/3)
  3068.  
  3069.  
  3070.  
  3071.      you...!"
  3072.  
  3073.                                 --- The Editor
  3074.  
  3075.            "Parents of young organic life forms should be warned, that
  3076.        paper babel-fishes can be harmful, if stuck too deep into the ear."
  3077.  
  3078.                         --- Encyclopedia Galactica
  3079.  
  3080.  
  3081.  
  3082.  
  3083.  
  3084.  
  3085.  
  3086.  
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.  
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.  
  3109.  
  3110.  
  3111.  
  3112.  
  3113.  
  3114.  
  3115.  
  3116.  
  3117.  
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.  
  3125. Issue 1.10               Posted: 20 December 1993                       47
  3126.  
  3127.  
  3128.  
  3129. -- 
  3130.  
  3131.     -joke
  3132.  
  3133. --
  3134. Joerg Heitkoetter
  3135. Systems Analysis Group                     "Why was I born with such
  3136. University of Dortmund, Germany             contemporaries?"
  3137. <joke@ls11.informatik.uni-dortmund.de>                -- Oscar Wilde
  3138.