
Genetic Algorithms Digest   Tuesday, March 10 1992   Volume 6 : Issue 10

 - Send submissions to GA-List@AIC.NRL.NAVY.MIL
 - Send administrative requests to GA-List-Request@AIC.NRL.NAVY.MIL
 - anonymous ftp archive: FTP.AIC.NRL.NAVY.MIL (see v6n5 for details)

Today's Topics:
	- updated GA software survey

**********************************************************************

CALENDAR OF GA-RELATED ACTIVITIES: (with GA-List issue reference)

 Canadian AI Conference, Vancouver,                           May 11-15, 1992
 COGANN, Combinations of GAs and NNs, @ IJCNN-92 (v5n31)      Jun 6,     1992
 ARTIFICIAL LIFE III, Santa Fe, NM                            Jun 15-19, 1992
 Evolution as a computational process, Monterey (v6n9)        Jun 22-24, 1992
 ML-92, Machine Learning Conference, Aberdeen (v6n8)          Jul  1-3,  1992
 10th National Conference on AI, San Jose,                    Jul 12-17, 1992
 FOGA-92, Foundations of Genetic Algorithms, Colorado (v5n32) Jul 26-29, 1992
 COG SCI 92, Cognitive Science Conference, Indiana, (v5n39)   Jul 29-1,  1992
 ECAI 92, 10th European Conference on AI (v5n13)              Aug  3-7,  1992
 Parallel Problem Solving from Nature, Brussels, (v5n29)      Sep 28-30, 1992
 SAB92, From Animals to Animats, Honolulu (v6n6)              Dec  7-11, 1992

 (Send announcements of other activities to GA-List@aic.nrl.navy.mil)

**********************************************************************
----------------------------------------------------------------------

From: schraudo@cs.UCSD.EDU (Nici Schraudolph)
Date: Tue, 25 Feb 92 20:33:05 PST
Subject: updated GA software survey

[Editor's Note: A copy of the GA software survey is kept on the ga-list
ftp server in the file /pub/galist/information/ga-software-survey.txt.
Use anonymous ftp to ftp.aic.nrl.navy.mil. Updates to this file will be
announced on ga-list.  Thank you Nici for you effort in compiling
this useful survey. --Alan]

   Updated version - 02/25/92.  Changes from original version:

   * ESCaPaDE e-mail server changed: commands must be on *SUBJECT* line now
   * short listing now split into 3 sections: general, special & incomplete
   * more software: GAC, GAL, mGA1.0, SGA-C, SGA-Cube, WOLF, Tierra, Evolver


Genetic Algorithm Software Survey - Overview
============================================


As part of the workshop on Software Support and Test Functions at the 4th
International Conference on Genetic Algorithms (ICGA) I began to solicit
and collect information about available GA software packages.  Having re-
ceived a surprising number of responses, I feel that the following is a
fairly comprehensive picture of what's out there at this time.  Additions
and corrections are of course welcome and may make it into future updates
of this file.

Special thanks to the many informants, including - but not limited to - the
authors/contacts listed below.
                                               San Diego, 10/16/91

- Nici Schraudolph (nici@cs.ucsd.edu).



### PLEASE NOTE: ##########################################################
#                                                                         #
#   For many of these software packages, specific ordering instructions   #
#   are given in the descriptions below.  Please read and follow them     #
#   before unnecessarily bothering the listed author or contact!  Also    #
#   note that I haven't tested any of these programs (with the exception  #
#   the one I administer), so I can't give any comments or recommenda-    #
#   tions regarding their quality.                                        #
#                                                                         #
###########################################################################



Legend:
------

Type - (this is a very ad-hoc classification)
       GE: generational GA, SS: steady-state GA
       ES: evol. strategy,  OO: object-oriented
       AL: artificial life (implicit fitness)

OS - Operating System; X11 implies Unix

Lang - Programming Language; in parentheses: source code not included

Price - (1): free to government contractors, others pay nominal fee
        (2): available on license basis

Author or Contact - given as Internet e-mail address if possible

### General GA Software ###
==================================================================
 Name    Type  OS Lang Price  Author or Contact
==================================================================
GA        GE  DOS (C++) free  mrh@camcon.co.uk (Mark Hughes)
Workbench

Splicer   GE  Mac,  C    (1)  bayer@galileo.jsc.nasa.gov (Steve Bayer)
               X11

Evolution GE, DOS       free  voigt@iir-berlin.adw.dbp.de (Hans-Michael Voigt)
Machine   ES

OOGA      OO     Lisp   $60/  (Lawrence Davis)
GENESIS   GE  DOS   C   both  gref@aic.nrl.navy.mil (John Grefenstette)

GAGA      GE  Unix  C   free  jon@cs.ucl.ac.uk (Jon Crowcroft)

ESCaPaDE  ES  Unix  C   free  iwan@gorbi.informatik.uni-dortmund.de
                              (Frank Hoffmeister)

GAucsd    GE  Unix  C   free  nici@cs.ucsd.edu (Nici Schraudolph)

Genitor   SS  Unix  C   free  whitley@cs.colostate.edu (Darrell Whitley)

GAC       GE  Unix  C   free  spears@aic.nrl.navy.mil (Bill Spears)
GAL        "     Lisp    "             "

mGA1.0    GE     Lisp   free  @ua1ix.ua.edu:rob@galab2.mh.ua.edu
SGA-C      "  Unix  C    "    (Robert Elliott Smith)

### Specialized GA software ###
======================================================================
 Name    Type  OS Lang Price  Author or Contact
======================================================================
SGA-Cube  GE  nCube C   free  @ua1ix.ua.edu:rob@galab2.mh.ua.edu (R.E. Smith)

Genetic   GE  Unix (C)  free  zbyszek@unccvax.uncc.edu (Zbigniew Michalewicz)
Genocop    "   "    "    "             "                      "
Gafoc      "   "    "    "             "                      "

WOLF      SS  Mac,  C   $20/  drogers@riacs.edu (David Rogers)
              Unix      free

Tierra    AL  DOS,  C   $70/  ray@brahms.udel.edu (Thomas Ray)
              Unix      free           "

Evolver   GE  DOS, (C,  $345  (Phil Rybeck, Axcelis Inc.)
              Mac   Pascal)

### Incomplete GA software ###
======================================================================
 Name    Type  OS Lang Price  Author or Contact
======================================================================
GENEsYs   GE  Unix  C   free  baeck@gorbi.informatik.uni-dortmund.de
                              (Thomas Baeck)
GA       
Framework OO  Mac  C++   (2)  America Online: Wilson SD (Steve Wilson) 

XYpe      SS  Mac  (C)  $725  (Ed Swartz, Virtual Image Inc.)

GAME      OO  X11  C++        J.RibeiroFilho@cs.ucl.ac.uk (Jose Ribeiro Filho)

Genetic Algorithm Software Survey - Descriptions
================================================

GA Workbench:
------------

A mouse-driven interactive GA demonstration program aimed at people wishing
to show GAs in action on simple function optimizations and to help newcomers
understand how GAs operate.  Features: problem functions drawn on screen
using mouse, run-time plots of GA population distribution, peak and average
fitness.  Useful population statistics displayed numerically, GA configura-
tion (population size, generation gap etc.) performed interactively with
mouse.  Requirements: MS-DOS PC, mouse, EGA/VGA display.  Available on 5.25''
disk by request from:

    Mark Hughes
    Cambridge Consultants Ltd.
    The Science Park
    Milton Road
    Cambridge  CB4 4DW
    United Kingdom


Splicer:
-------

Splicer is a genetic algorithm tool that can be used to solve search and
optimization problems, created by the Software Technology Branch (STB) of
the Information Systems Directorate at NASA/Johnson Space Center with
support from the MITRE Corporation.  Splicer was written in C on an Apple
Macintosh, then ported to Unix workstations running X11; it has a modular
architecture with well-defined interfaces between a GA kernel, represen-
tation libraries, fitness modules, and user interface libraries.

The representation libraries contain functions for defining, creating,
and decoding genetic strings, as well as multiple crossover and mutation
operators.  Libraries supporting binary strings and permutations are
provided, others can be created by the user.

Fitness modules are typically written by the user, although some sample
applications are provided.  The modules may contain a fitness function,
initial values for various control parameters, and a function which
graphically displays the best solutions.

Splicer provides event-driven graphic user interface libraries for the
Macintosh and the X11 window system (using the HP widget set); a menu-
driven ASCII interface is also available though not fully supported.
The extensive documentation includes a reference manual and a user's
manual; an architecture manual and the advanced programmer's manual
are currently being written.

An electronic bulletin board (300/1200/2400 baud, 8N1) with information
regarding Splicer can be reached at (713) 280-3896 or (713) 280-3892.
Splicer is available free to NASA and its contractors for use on government
projects by calling the STB Help Desk weekdays 9am-4pm CST at (713) 280-2233.
Government contractors should have their contract monitor call the STB Help
Desk; others may purchase Splicer at a nominal fee from:

    COSMIC                    Phone: (404) 542-3265
    382 E. Broad St.
    Athens, GA 30602
    U.S.A.

Evolution Machine:
-----------------

The "Evolution Machine" presents a collection of evolutionary algorithms
(Genetic Algorithms and Evolution Strategies) in a common framework.  It
runs on PCs with MS-DOS and includes extensive menu techniques.  A more
detailed description of the "Evolution Machine" is given by the manual,
available in PostScript form via anonymous ftp from ftp.wtza-berlin.de 
(141.16.244.4), file em-man.ps.Z.

In this manual an introduction is given, the handling is fully described
and the included algorithms are compared with regard to their performance.
Interested parties can order the code of the "Evolution Machine"  free of
charge by request from one of the authors:

           Hans-Michael Voigt             Joachim Born
Internet:  voigt@iir-berlin.adw.dbp.de    born@iir-berlin.adw.dbp.de
Phone:     +372-674-5958                  +372-674-2484
Address:
           Institute for Informatics and Computing Techniques
           Rudower Chaussee 5
           1199 Berlin
           Germany




OOGA, GENESIS:
-------------

OOGA (Object-Oriented GA) is a genetic algorithm designed for industrial use.
It includes examples accompanying the tutorial in the companion "Handbook
of Genetic Algorithms".  OOGA is designed such that each of the techniques
employed by a GA is an object that may be modified, displayed or replaced in
object-oriented fashion.  OOGA is especially well-suited for individuals
wishing to modify the basic GA techniques or tailor them to new domains.

The buyer of OOGA also receives GENESIS, a generational GA system written
by John Grefenstette.  As the first widely available GA program GENESIS has
been very influential in stimulating the use of GAs, and several other GA
packages are based on it.  This release sports an improved user interface.

OOGA and GENESIS are available together on 3.5'' or 5.25'' disk for $60
($52.50 inside North America) by order from:

    T.S.P.
    P.O. Box 991
    Melrose, MA 02176
    U.S.A.




GAGA:
----

GAGA (GA for General Application) is a self-contained, re-entrant procedure
which is suitable for the minimisation of many "difficult" cost functions.
Originally written in Pascal by Ian Poole, it was rewritten in C by Jon
Crowcroft.  GAGA can be obtained by request from the author; given suffi-
cient interest it will be made available via anonymous ftp.

ESCaPaDE:
--------

ESCaPaDE is a sophisticated software environment to run experiments
with Evolutionary Algorithms, such as e.g. an Evolution Strategy.
Future versions of the software will provide a well-defined interface
to any kind of Evolutionary Algorithm, for instance Genetic Algorithms.
The main support for experimental work is provided by two internal
tables:
    (1) a table of objective functions and
    (2) a table of so-called data monitors,

which allow easy implementation of functions for monitoring all types
of information inside the Evolutionary Algorithm under experiment.

ESCaPaDE 1.2 comes with the KORR implementation of the Evolution
Strategy by H.-P. Schwefel which offers simple and correlated mutations.
KORR is provided as a FORTRAN 77 subroutine, and its cross-compiled
C version is used internally by ESCaPaDE.

ESCaPaDE 1.2 will be available by e-mail request in order to track the
spread of the software as this is its first public release.  An extended
version of the package was used for several investigations so far and
has proven to be very reliable.  The software and its documentation is
fully copyrighted although it may be freely used for scientific work;
it requires 5-6 MB of disk space.

In order to obtain ESCaPaDE via mail request, please send a message to

    iwan@ls11.informatik.uni-dortmund.de

The SUBJECT line should contain the request 'help' or 'get ESCaPaDE'.
(If the subject line does not match a predefined set of mail requests
the mail handler will NOT recognize your request!)





GAucsd:
------

GAucsd is a GENESIS-based GA package incorporating numerous bug fixes
and user interface improvements.  Major additions include a wrapper
that simplifies the writing of evaluation functions, a facility to
distribute experiments over networks of machines, and Dynamic Parameter
Encoding, a technique that improves GA performance in continuous search
spaces by adaptively refining the genomic representation of real-valued
parameters.

GAucsd was written in C for Unix systems, but the central GA engine is
easily ported to other platforms.  The entire package can be ported to
systems where implementations of the Unix utilities "make", "awk" and
"sh" are available.

GAucsd can be obtained via anonymous ftp from cs.ucsd.edu (132.239.51.3),
file pub/GAucsd/GAucsd12.sh.Z, or via mail server - send an empty message
with the subject line containing "send GAucsd source" to nici@cs.ucsd.edu.
Requests to be added to a mailing list for dissemination of GAucsd bug
reports, patches and updates should be directed to the same address.

Genitor:
-------

Genitor is a modular GA package containing examples for floating-point,
integer, and binary representations.  Its features include many sequencing
operators as well as subpopulation modelling.




mGA1.0, SGA-C, SGA-Cube:
-----------------------
 
mGA1.0 is a Common Lisp implementation of a messy GA as described in
TCGA report No. 90004.  Messy GAs overcome the linkage problem of simple
genetic algorithms by combining variable-length strings, gene expression,
messy operators, and a nonhomogeneous phasing of evolutionary processing.
Results on a number of difficult deceptive test functions have been en-
couraging with the messy GA always finding global optima in a polynomial
number of function evaluations.

See TCGA reports 89003, 90005, 90006, and 91004 for more information on
messy GAs; they can be obtained from the address below.  Please note that
91004 is a dissertation and requires a pre-payment of $9.00 US ($12.00 US
to ship overseas) to offset the cost of copying, binding and shipping.

SGA-C is a C-language translation and extension of the original Pascal
SGA code presented in Goldberg's book "Genetic Algorithms in Search,
Optimization & Machine Learning" (Addison Wesley 1989).  It has some
additional features, but its operation is essentially the same as that
of the Pascal version.  SGA-C is described in TCGA report No. 91002,
which is included in the distribution as a PostScript file.

SGA-Cube is a C-language translation of Goldberg's SGA code with modi-
fications to allow execution on the nCUBE 2 Hypercube Parallel Computer.
When run on the nCUBE 2, SGA-Cube can take advantage of the hypercube
architecture, and is scalable to any hypercube dimension.  The hypercube
implementation is modular, so that the algorithm for exploiting parallel
processors can be easily modified.

In addition to its parallel capabilities, SGA-Cube can be compiled on
various serial computers via compile-time options.  In fact, when com-
piled on a serial computer, SGA-Cube is essentially identical to SGA-C.
SGA-Cube has been nominally tested on a Sun 4/70 workstation, a VAX Ul-
trix system, a Cray X-MP/24 running UNICOS 5.1, and the nCUBE 2.  It is
described in TCGA report No. 91005, which is included in the distribution
as a PostScript file.

Each of these programs is distributed in form of a Unix shar file,
available via e-mail or on various formatted media by request from:

    Robert Elliott Smith
    Department of Engineering of Mechanics
    The University of Alabama
    Box 870278
    Tuscaloosa, Alabama 35487

<<email>> @ua1ix.ua.edu:rob@galab2.mh.ua.edu
<<phone>> (205) 348-1618
<<fax>>   (205) 348-6419

GAC, GAL:
--------

For those of you interested in obtaining some free GA software, I'm
providing the packages I've been using for a few years. GAC is a GA
written in C. GAL is my Common Lisp version.  They are similar in spirit
to John Grefenstette's Genesis, but they don't have all the nice bells and
whistles. Both versions currently run on Sun workstations. If you have
something else, you might need to do a little modification.  [Alan Schultz
informs me that GAL is easily ported to the Mac - although his version is
no longer available.]

In the spirit of "freeware", I am willing to e-mail either version (or
both) to anyone who wants it. All I ask is that I be credited when it is
appropriate. Also, I would appreciate hearing about improvements! This
software is the property of the Department of the Navy.

The code will be in a "shar" format that will be easy to install. This
code is "as is", however.  There is a README and some documentation in the
code.  There is NO user's guide, though (nor am I planning on writing one
at this time). I am interested in hearing about bugs, but I may not get
around to fixing them for a while. Also, I will be unable to answer many
questions about the code, or about GAs in general. This is not due to a
lack of interest, but due to a lack of free time!

Bill Spears




Genetic, Genocop, Gafoc:
-----------------------

These are four bare-bones GA programs (no documentation, no comments, no
interfaces) written by Zbigniew Michalewicz for his own research.  Genetic
optimizes a transportation problem, either linear (Genetic-2L) or nonlinear
(Genetic-2N).  Genocop is a system to optimize any function with any set of
linear constraints, while Gafoc solves discrete optimal control problems.




WOLF:
----

This is a simulator for the G/SPLINES (genetic spline models) algorithm
which builds spline-based functional models of experimental data, using
crossover and mutation to evolve a population towards a better fit.  It
is derived from Friedman's MARS models. The original work was presented
at ICGA-4, and further results including additional basis function types
such as B-splines have been presented at the NIPS-91 meeting.

Available at no cost via anonymous FTP by contacting the author; runs
on SUN (and possibly any SYSV) UNIX box.  Macintosh version available
on floppy disk for a $20 fee.  Both versions can be redistributed for
noncommercial use.  Simulator includes executable and C source code;
a technical report (RIACS tech report 91.10) is also available.

David Rogers
drogers@riacs.edu
MS Ellis, NASA Ames Research Center
Moffett Field, CA 94035

Tierra:
------

The Tierra software emulates a MIMD computer on which self-replicating,
evolving pieces of machine code compete for CPU time and memory.  The
architecture has been designed such that randomly mutated or recombined
code fragments remain functional often enough for selection to be able
to improve the code over time.  Tierra provides memory management and
timesharing services for the evolving creatures, control over a variety
of factors that affect the course of evolution, and a very elaborate
observation system.

Digital communities evolved with Tierra have been used to computationally
study ecological and evolutionary processes such as competitive exclusion
and coexistence, symbiosis, host/parasite density dependent population
regulation, and the effect of parasites in enhancing community diversity.

Tierra was written by Thomas Ray but includes significant contributions
from Tom Uffner, Dan Pirone and Marc Cygnus.  The software remains copy-
righted ("all rights reserved"), and is not being placed in the public
domain.  However, it will be made available free of charge and may be
freely distributed.  The intent is that it not be used for profit making
activities unless some royalty arrangement is entered into with the authors.

The version of the software currently being distributed is considered
to be a research grade implementation: it emphasizes modifiability and
modularity over speed of execution, and is not free of bugs.  The code
is under rapid development, so if you use it, be prepared to pick up new
versions from the ftp site frequently.

The complete source code for the Tierra simulator is available via anonymous
ftp from the /tierra directory at tierra.slhs.udel.edu (128.175.41.34) and
life.slhs.udel.edu (128.175.41.33).  The file "announce" there contains all
the information necessary to get started.  Although the source code on the
ftp site will compile with Turbo C and run under DOS, a DOS version of the
Tierra software is also for sale for $70.  Make checks payable to Virtual
Life, and mail your order to:

	 Virtual Life
	 P.O. Box 625
	 Newark, DE 19715



Evolver
-------

Evolver is a spreadsheet add-in which incorporates the first commercially
available genetic algorithm to search for solutions.  Evolver can be
customized through the macro language, and is available for $345 on 3.5''
or 5.25'' floppies for the Excel, WingZ and Resolve spreadsheets on the
Mac and PC computers.  For further information, contact:

        Axcelis, Inc.
        4668 Eastern Avenue North      Phone: (206) 632-0885
        Seattle, WA 98103-6932

To order Evolver, contact:

        Spreadware Distributors
        P.O. Box 4552                  Phone: (619) 347-2365
        Palm Desert, CA 92261          FAX:   (619) 347-6045

GENEsYs:
-------

GENEsYs is a GENESIS-based GA implementation which includes extensions
and new features for experimental purposes, such as selection schemes
like linear ranking, Boltzmann, (mu, lambda)-selection, and general
extinctive selection variants, crossover operators like n-point and
uniform crossover as well as discrete and intermediate recombination.
Self-adaptation of mutation rates is also possible.

A set of objective functions is provided, including De Jong's functions,
complicated continuous functions, a TSP-problem, binary functions, and a
fractal function.  There are also additional data-monitoring facilities
such as recording average, variance and skew of object variables and mu-
tation rates, or creating bitmap-dumps of the population.

GENEsYs is expected to become available in June 1992.
   

GA Framework:
------------

This object-oriented framework for doing GAs includes classes of objects
that are easily subclassable to add any special features.  There is also
a library of objects designed to integrate neural networks with GAs.
Originally written in Object Pascal, GA Framework is currently being
rewritten in C++; Steve Wilson is also looking for collaborators for
later improvements.

Not commercially available yet, but interested users should contact:

    Steve Wilson
    Emergent Behavior
    635 Wellsbury Way
    Palo Alto, CA 94306
    U.S.A.


XYpe:
----

XYpe (The GA Engine) is a commercial GA application and development package
for the Apple Macintosh.  Its standard user interface allows you to design
chromosomes, set attributes of the genetic engine and graphically display
its progress.  The development package provides a set of Think C libraries
and include files for the design of new GA applications.  XYpe supports
adaptive operator weights and mixtures of alpha, binary, gray, ordering
and real number codings.

The price of $725 (in Massachusetts add 5% sales tax) plus $15 shipping
and handling includes technical support and three documentation manuals.
XYpe requires a Macintosh SE or newer with 2MB RAM running OS V6.0.4 or
greater, and Think C if using the development package.

Currently the GA engine is working; the user interface will be completed
on demand.  Interested parties should contact:

    Ed Swartz
    Virtual Image, Inc.
    75 Sandy Pond Road #11              Phone: (508) 772-4225
    Ayer, MA 01432
    U.S.A.

GAME:
----

GAME (GA Manipulation Environment) aims to demonstrate GA applications
and build a suitable programming environment.  Currently in the early
development stage, the programming environment will comprise a graphic
interface (using X-Windows), a library of parameterized algorithms and
applications, a specialized high level language based on C++, and com-
pilers to various workstations and parallel machines.

------------------------------
End of Genetic Algorithms Digest
******************************
