Newsgroups: comp.ai.genetic,comp.answers,news.answers Path: bloom-beacon.mit.edu!hookup!usc!howland.reston.ans.net!EU.net!uknet!cf-cm!cf.cm.ac.uk!David.Beasley From: David.Beasley@cf.cm.ac.uk (David Beasley) Subject: FAQ: comp.ai.genetic part 5/6 (A Guide to Frequently Asked Questions) Message-ID: Followup-To: comp.ai.genetic Summary: This is part 5 of a entitled "The Hitch-Hiker's Guide to Evolutionary Computation". A periodically published list of Frequently Asked Questions (and their answers) about Evolutionary Algorithms, Life and Everything. It should be read by anyone who whishes to post to the comp.ai.genetic newsgroup, preferably *before* posting. Originator: David.Beasley@cf.cm.ac.uk (David Beasley) Sender: David.Beasley@cf.cm.ac.uk (David Beasley) Organization: University of Wales College of Cardiff, Cardiff, WALES, UK. References: Date: Fri, 18 Mar 94 15:20:36 GMT Approved: news-answers-request@MIT.Edu Expires: 30 Jun 1994 15:18:14 GMT Lines: 1337 Xref: bloom-beacon.mit.edu comp.ai.genetic:2508 comp.answers:4208 news.answers:16514 Archive-name: ai-faq/genetic/part5 Last-Modified: 3/20/94 Issue: 2.1 TABLE OF CONTENTS OF PART 5 Q20: What EA software packages are available? Q20.1: Free software packages? Q20.2: Commercial software packages? Q20.3: Current research projects? ---------------------------------------------------------------------- Subject: Q20: What EA software packages are available? [eds note: the following is a reformatted, alphabetised and updated version of a survey that, until June '93, was maintained by Nici Schraudolph. Nici and I agreed to incorporate the file into this FAQ and he no longer maintains the original version. - Joke] A copy of most of the packages described below are also kept at ENCORE, (See Q15.3), available by anonymous FTP. Check this out! You should also be aware that most GENETIC PROGRAMMING software is archived by Jim McCoy . Available via anonymous FTP in: ftp.cc.utexas.edu:/pub/genetic-programming/ directory there are subdirectories containing papers related to GP, archives of the mailing list, as well as a suite of programs for implementing GP. These programs include the Lisp code from Koza's Genetic Programming [KOZA92], as well as implementations in C and C++, as for example SGPC: Simple Genetic Programming in C by Walter Alden Tackett and Aviram Carmi . A survey paper entitled "Genetic Algorithm Programming Environments" was published in IEEE Computer in the february/1994 issue. Written by J.R. Filho, C. Alippi and P. Treleaven of the University College, London, UK, it's avail. via FTP as bells.cs.ucl.ac.uk:/papagena/game/docs/gasurvey.ps PLEASE NOTE For many of these software packages, specific ordering instructions are given in the descriptions below (see Q20.1, Q20.2, Q20.3). Please read and follow them before unnecessarily bothering the listed author or contact! Also note that I haven't tested any of these programs, so I can't give any comments or recommendations regarding their quality. -- Ed. Legend Type (this is a very ad-hoc classification) GE: generational GA SS: steady-state GA PA: (pseudo) parallel GA ES: evolution strategy OO: object-oriented XP: expert system ED: educational/demo CF: classifier system OS Operating System; X11 implies Unix; "Win" means Microsoft Windows 3.x/NT (PC) Lang Programming Language; in parentheses: source code not included; "TPas" = Think Pascal, "OPas" = MPW Object Pascal Price (1) free to government contractors, $221 otherwise (2) 69 pounds sterling for educational use (3) educational discount available (4) available as addendum to a book (5) 995 pounds sterling (6) single 3.500 DM, site license 10.000 DM (educational dicounts) Author or Contact given as Internet e-mail address if possible ES/GA/XP System Implementations: ========================================================================= Name Type OS Lang Price Author/Contact ========================================================================= BUGS GE, X11, C free Joshua Smith ED Suntools ESCaPaDE ES Unix C free Frank Hoffmeister Evolution GE, DOS C free Hans-Michael Voigt and Machine ES Joachim Born GAC, GE Unix C free Bill Spears GAL " Lisp " GAGA GE Unix C free Jon Crowcroft GANNET GA, Unix C free Darrell Duane NN GAucsd GE Unix C free Nici Schraudolph GA GE, DOS (C++) free Mark Hughes Workbench ED Genesis GE, Unix, C free John Grefenstette ED DOS GECO GE, Unix, Lisp free George P. W. Williams, Jr. ED etc. GENEsYs GE Unix C free Thomas Baeck GenET GE, Unix, C free Cezary Z. Janikow ED etc. Genie GE Mac TPas free Lance Chambers Genitor SS Unix C free Darrell Whitley GENOCOP, GE Unix C free Zbigniew Michalewicz Genetic-2/N GIGA GE Unix C free Joe Culberson LibGA GE, Unix/DOS C free Art Corcoran SS,ED NeXT/Amiga mGA1.0 GE Unix Lisp free Robert E. Smith SGA-C/Cube " nCube C " PARAGENESIS GE CM C* free Michael van Lent PeGAsuS PA, Unix, ANSI-C free Dirk Schlierkamp-Voosen ED etc. PGA PA, Unix, C free Peter Ross ED etc. Splicer GE Mac, C (1) Steve Bayer X11 WOLF SS Mac, C $20/ David Rogers Unix free ========================================================================= Classifier System Implementations: ========================================================================= Name Type OS Lang Price Author/Contact ========================================================================= CFS-C CF, Unix/DOS C free Rick Riolo ED SCS-C CF, Unix/DOS C free Joerg Heitkoetter ED Atari TOS ========================================================================== Commercial Packages: ========================================================================= Name Type OS Lang Price Author/Contact ========================================================================= EnGENEer OO, X11 C ? George Robbins, GA Logica Cambridge Ltd. EvoFrame/ OO, Mac, C++/ (6) Optimum Software REALizer ES Win OPas Evolver GE DOS, (C, $345 Phil Rybeck, Axcelis Inc. Mac Pascal) GAME OO, X11 C++ (4) Jose R. Filho GA MicroGA/ OO, Mac, C++ $249 Emergent Behavior, Inc. Galapagos GA Win (3) Omega ? DOS ? ? David Barrow, KiQ Ltd. OOGA/ OO, Lisp $60/ Lawrence Davis and GENESIS GE DOS C both John Grefenstette PC/Beagle XP DOS ? (2) Richard Forsyth XpertRule/XP DOS (TPas) (5) Attar Software GenAsys <100166.1547@CompuServe.com> XYpe SS Mac (C) $725 Ed Swartz, Virtual Image Inc. ========================================================================= Under Development: ========================================================================= Name Type OS Lang Price Author/Contact ========================================================================= DGENESIS GE Unix C free Erick Cantu-Paz JAZZ-C CF Unix C free Joerg Heitkoetter ========================================================================= ------------------------------ Subject: Q20.1: Free software packages? BUGS: BUGS (Better to Use Genetic Systems) is an interactive program for demonstrating the GENETIC ALGORITHM and is written in the spirit of Richard Dawkins' celebrated Blind Watchmaker software. The user can play god (or `GA FITNESS function,' more accurately) and try to evolve lifelike organisms (curves). Playing with BUGS is an easy way to get an understanding of how and why the GA works. In addition to demonstrating the basic GENETIC OPERATORs (SELECTION, CROSSOVER, and MUTATION), it allows users to easily see and understand phenomena such as GENETIC DRIFT and premature convergence. BUGS is written in C and runs under Suntools and X Windows. BUGS was written by Joshua Smith at Williams College and is available via anonymous FTP at santafe.edu:/pub/misc/BUGS Note that it is unsupported software, copyrighted but freely distributable. Address: Room E15-492, MIT Media Lab, 20 Ames Street, Cambridge, MA 02139. ESCaPaDE: ESCaPaDE is a sophisticated software environment to run experiments with Evolutionary Algorithms, such as e.g. an EVOLUTION STRATEGY. 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. 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, please send a message to the e-mail address below. The SUBJECT line should contain 'help' or 'get ESCaPaDE'. (If the subject lines is invalid, your mail will be ignored!). For more information contact: Frank Hoffmeister Systems Analysis Research Group, LSXI Department of Computer Science University of Dortmund D-44221 Dortmund, Germany Net: Fax: +49 231 755-2450 Evolution Machine: The "Evolution Machine" (EM) was created by Hans-Michael Voigt, Joachim Born and Jens Treptow. The authors developed the EM at the Institute for Informatics and Computing Techniques of Berlin. At present, Hans-Michael Voigt and Joachim Born are at the Technical University of Berlin. The EVOLUTION Machine (EM) is universally applicable to continuous (real-coded) OPTIMIZATION problems. In the EM, we have coded fundamental evolutionary algorithms (GENETIC ALGORITHMs and EVOLUTION STRATEGIEs), and added some of our approaches to evolutionary search. The EM includes extensive menu techniques with: o Default parameter setting for unexperienced users. o Well-defined entries for EM-control by freaks of the EM, who want to leave the standard process control. o Data processing for repeated runs (with or without change of the strategy parameters). o Graphical presentation of results: online presentation of the EVOLUTION progress, one-, two- and three-dimensional graphic output to analyse the FITNESS function and the evolution process. o Integration of calling MS--DOS utilities (Turbo C). We provide the EM-software in object code, which can be run on PC's with MS--DOS and Turbo C, v2.0, resp. Turbo C++,v1.01. The Manual to the EM is included in the distribution kit. The EM software is available by anonymous FTP from ftp- bionik.fb10.tu-berlin.de:/pub/software/Evolution-Machine/ (130.149.192.50). This directory contains the compressed files em_tc.exe (EM for Turbo C), em_tcp.exe (EM for Turbo C++) and em_man.exe (the manual). There is also em-man.ps.Z, a compressed PostScript file of the manual. If you do not have FTP access, please send us either 5 1/4 or 3 1/2 MS-DOS compatible disks. We will return them with the compressed files (834 kB). We welcome bug reports, comments and sugestions, but have only limited manpower for providing help, patches and new releases. We are making EM available in order to encourage the experimental use of evolutionary algorithms, and to get feedback as to its strengths and weaknesses. Official contact information: Hans-Michael Voigt or Joachim Born Technical University Berlin Bionics and Evolution Techniques Laboratory Bio- and Neuroinformatics Research Group Ackerstrasse 71-76 (ACK1) D-13355 Berlin, Germany Net: <{voigt,born}@fb10.tu-berlin.de> Tel: +49 30-314-72-677 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 US 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! There is an anonymous FTP site: ftp.aic.nrl.navy.mil:/ GAC, GAL, and PostScript versions of some papers are under "pub/spears". Feel free to browse. --- Bill Spears GAGA: GAGA (GA for General Application) is a self-contained, re-entrant procedure which is suitable for the minimization 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 sufficient interest it will be made available via anonymous FTP. Jon Crowcroft Univeristy College London Gower Street London WCIE 6BT, UK Net: GANNET: GANNET (Genetic Algorithm / Neural NETwork) is a software package written by Jason Spofford in 1990 which allows one to evolve neural networks. It offers a variety of configuration options related to rates of the GENETIC OPERATORs. GANNET evolves nets based upon three FITNESS functions: Input/Output Accuracy, Output 'Stability', and Network Size. The evolved neural network presently has a binary input and binary output format, with neurodes that have either 2 or 4 inputs and weights ranging from -3 to +4. GANNET only allows for 250 neurodes in a net. GANNET is available by anonymous FTP from fame.gmu.edu:/gannet/source/ (129.174.1.140) There are separate directories for GANNET itself, a verifier program which verifies the best neural network generated (/gannet/verifier), and some sample datasets(/gannet/datasets). Official contact information: Darrell Duane or Dr. Kenneth Hintz George Mason University Dept. of Electrical & Computer Engineering Mail Stop 1G5 4400 University Drive Fairfax, VA 22033-4444 USA Net: or 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:/pub/GAucsd/GAucsd14.sh.Z (132.239.51.3), or via mail server - send an EMPTY message with the subject line containing "send GAucsd source" to . Requests to be added to a mailing list for dissemination of GAucsd bug reports, patches and updates should be directed to the same address. Nicol N. Schraudolph The SALK Institute San Diego, La Jolla, CA, USA Net: 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 configuration (population size, GENERATION gap etc.) performed interactively with mouse. Requirements: MS-DOS PC, mouse, EGA/VGA display. Available by FTP from the simtel20 archive mirrors, e.g. wsmr- simtel20.army.mil:/pub/msdos/neurlnet/gaw110.zip or wuarchive.wustl.edu: or oak.oakland.edu: Produced by Mark Hughes . A windows version is in preparation. GECO: Genetic EVOLUTION through Combination of Objects (GECO), version 2.0. GECO is an extensible, object-oriented framework for prototyping GENETIC ALGORITHMs in Common Lisp. GECO makes extensive use of CLOS, the Common Lisp Object System, to implement its functionality. The abstractions provided by the classes have been chosen with the intent both of being easily understandable to anyone familiar with the paradigm of genetic algorithms, and of providing the algorithm developer with the ability to customize all aspects of its operation. It comes with extensive documentation, in the form of a PostScript(tm) file, and some simple examples are also provided to illustrate its intended use. GECO Version 2.00 is now available via anonymous FTP from ftp.aic.nrl.navy.mil:/pub/galist/src/ga/GECO-v2.0.tar.Z (Unix) or ftp.aic.nrl.navy.mil:/pub/galist/src/ga/GECO-v2.0.cpt.hqx (Macintosh). George P. W. Williams, Jr. 1334 Columbus City Rd. Scottsboro, AL 35768 Net: Tel: +1 (205) 461-2950 Fax: +1 (205) 461-2286 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 MUTATION rates, or creating bitmap-dumps of the POPULATION. GENEsYs 1.0 is available via FTP from lumpi.informatik.uni- dortmund.de:/pub/GA/src/GENEsYs-1.0.tar.Z (129.217.36.140). The documentation alone is available as GENEsYs-1.0-doc.tar.Z in the same location. For more information contact: Thomas Baeck Systems Analysis Research Group, LSXI Department of Computer Science University of Dortmund D-44221 Dortmund, Germany Net: Fax: +49 231 755-2450 GenET: GenET is a "generic" GA package. It is generic in the sense that all problem independent mechanisms have been implemented and can be used regardless of application domain. Using the package forces (or allows, however you look at it) concentration on the problem: you have to suggest the best representation, and the best operators for such space that utilize your problem-specific knowledge. You do not have to think about possible GA models or their implementation. The package, in addition to allowing for fast implementation of applications and being a natural tool for comparing different models and strategies, is intended to become a depository of representations and operators. Currently, only FP representation is implemented in the library with few operators. The algorithm provides a wide SELECTION of models and choices. For example, POPULATION models range from generational GA, through steady-state, to (n,m)-EP and (n,n+m)-EP models (for arbitrary problems, not just parameter OPTIMIZATION). (Some are not finished at the moment). Choices include automatic adaptation of operator probabilities and a dynamic ranking mechanism, etc. Even though the implementation is far from optimal, it is quite efficient - implemented in ATT's C++ (3.0) (functional design) and also tested on gcc. Along with the package you will get two examples. They illustrate how to implement problems with heterogeneous and homogeneous structures, with explicit rep/opers and how to use the existing library (FP). Very soon I will place there another example - our GENOCOP operators for linearly constrained OPTIMIZATION. One more example soon to appear illustrates how to deal with complex structures and non-stationary problems - this is a fuzzy rule-based controller optimized using the package and some specific rep/operators. If you start using the package, please send me evaluations (especially bugs) and suggestions for future versions. Have fun. GenET Version 1.00 is available via anonymous FTP from radom.umsl.edu:/var/ftp/GenET.tar.Z To learn more, you may get the User's Manual, available in compressed postscript in "/var/ftp/userMan.ps.Z". It also comes bundled with the complete package. Cezary Z. Janikow Department of Math and CS, CCB319 St. Louis, MO 63121 Net: Tel: +1 (314) 553-6352 Fax: +1 (314) 553-5400 Genie: Genie is a GA-based modeling/forecasting system that is used for long-term planning. One can construct a model of an ENVIRONMENT and then view the forecasts of how that environment will evolve into the future. It is then possible to alter the future picture of the environment so as to construct a picture of a desired future (I will not enter into arguments of who is or should be responsible for designing a desired or better future). The GA is then employed to suggest changes to the existing environment so as to cause the desired future to come about. Genie is available free of charge via e-mail or on 3.5'' disk from: Lance Chambers Department of Transport 136 Stirling Hwy Nedlands West Australia 6007 Net: 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 modeling. The Genitor Package has code for several order based CROSSOVER operators, as well as example code for doing some small TSPs to optimality. We are planning to release a new and improved Genitor Package this summer, but it will mainly be additions to the current package that will include parallel island models, cellular GAs, delta coding, perhaps CHC (depending on the legal issues) and some other things we have found useful." GENITOR is available from Colorado State University Computer Science Department via anonymous FTP at 129.82.102.183:/pub/GENITOTR.tar (use binary mode). The GENITOR.tar file can be restored (in its own directory) using the command: tar -xvf GENITOR.tar Note to SPARC-2 users: There is something strange about unix on on sparc-2s. REMOVE the libraries /Genitor/lib/ga/libcsu***.a before attempting to rebuild them for your machine. Somehow, the file is not completely overwitten on this operating system. -- T. Starkweather Please direct all comments and questions to . If these fail to work, contact: L. Darrell Whitley Dept. of Computer Science Colorado State University Fort Collins, CO 80523, USA Net: GENOCOP, Genetic-2, Genetic-2N: These three genetic OPTIMIZATION packages are available as compressed tar files via anonymous FTP from unccsun.uncc.edu:/pub/coe/evol/ (152.15.10.88). They have been developed by Zbigniew Michalewicz and are described in detail in his recent book "Genetic Algorithms + Data Structures = EVOLUTION Programs" (Springer Verlag, August 1992). GENOCOP (Genetic Algorithm for Numerical OPTIMIZATION for COnstrained Problems) optimizes a function with any number of linear constraints (equalities and inequalities). Genetic-2 is an optimization package for the linear transportation problem; Genetic-2N for the nonlinear one. Zbigniew Michalewicz Dept. of Computer Science University of North Carolina Chappel-Hill, NC, USA Net: GIGA: GIGA is designed to propogate information through a POPULATION, using CROSSOVER as its operator. A discussion of how it propogates BUILDING BLOCKs, similar to those found in Royal Road functions by John Holland, is given in the DECEPTION section of [1]. References [1] Genetic Invariance: A New Paradigm for Genetic Algorithm Design. University of Alberta Technical Report TR92-02, June 1992 [2] GIGA Program Description and Operation University of Alberta Computing Science Technical Report TR92-06, June 1992 These can be obtained, along with the program, via anon. FTP to ftp.cs.ualberta.ca:/pub/TechReports/ in the subdirectories TR92-02 and TR92-06. Alternatively, if you have gopher, try: gopher.cs.ualberta.ca --- and follow the links to University of Alberta Technical Reports. Joe Culberson Department of Computer Science University of Alberta, CA Net: Tel: (403) 492-5401 LibGA: LibGA Version 1.00 is now available via anonymous FTP from ftp.aic.nrl.navy.mil:/pub/galist/src/ga/libga100.tar.Z or by email request to its author. LibGA is a library of routines written in C for developing GENETIC ALGORITHMs. It is fairly simple to use, with many knobs to turn. Most GA parameters can be set or changed via configuration file, with no need to recompile. (E.g., operators, pool size and even the data type used in the CHROMOSOME can be changed in the configuration file.) Function pointers are used for the GENETIC OPERATORs, so they can easily be manipulated on the fly. Several genetic operators are supplied and it is easy to add more. LibGA runs on many systems/architectures. These include Unix, DOS, NeXT, and Amiga. I realize this is "yet another GA", but I hope it proves useful. Art Corcoran Net: 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 encouraging 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 (See Q14). SGA-C is a C-language translation and extension of the original Pascal SGA code presented in Goldberg's book [GOLD89]. 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. SGA-Cube is a C-language translation of Goldberg's SGA code with modifications 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 compiled on a serial computer, SGA-Cube is essentially identical to SGA-C. SGA-Cube is described in TCGA report No. 91005. 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 Room 210 Hardaway Hall The University of Alabama P.O. Box 870278 Tuscaloosa, Alabama 35487, USA Net: Tel: +1 (205) 348-1618 Fax: +1 (205) 348-6419 SGA-C and SGA-Cube are also available in compressed tar form via anonymous FTP from the GA-List archive server in ftp.aic.nrl.navy.mil:/pub/galist/source-code/ga-source/ (192.26.18.56). PARAGENESIS: "I spent this past summer at the Naval Research Lab working with Ken De Jong and John Grefenstette to implement John Grefenstette's GENESIS on the CM-200 in C*. The result, which I've been calling PARAGENESIS, is an attempt to improve PERFORMANCE as much as possible without changing the behavior of the GENETIC ALGORITHM. Unlike the punctuated equilibria and local SELECTION models PARAGENESIS doesn't modify the genetic algorithm to be more parallelizable as these modifications can drastically alter the behavior of the algorithm. Instead each member is placed on a separate processor allowing initialization, evaluation and MUTATION to be completely parallel. The costs of global control and communication in selection and CROSSOVER are present but minimized as much as possible. In general PARAGENESIS on an 8k CM-200 seems to run 10-100 times faster than GENESIS on a Sparc 2 and finds equivalent solutions. The solutions are not identical only because the parallel random number generator gives a different stream of numbers. PARAGENESIS includes all the features of serial GENESIS plus some additions. The additions include the ability to collect timing STATISTICS, probabilistic selection(as opposed to Baker's stochastic universal sampling), uniform CROSSOVER and local or neighborhood SELECTION. Anyone familiar with the serial implementation of GENESIS and C* should have little problem using PARAGENESIS. PARAGENESIS is available via anonymous FTP from the GA-List archive at ftp.aic.nrl.navy.mil:/pub/galist/src/ga/paragenesis.tar.Z (192.26.18.74). DISCLAIMER: PARAGENESIS is fairly untested at this point and may contain some bugs. I will try to fix any reported bugs as my schedule and my access to the CM allows." Michael van Lent Computer Science Dept. University of Tennessee Knoxville TN 37996-1301, USA Net: PeGAsuS: PeGAsuS is a Programming ENVIRONMENT for Parallel GENETIC ALGORITHMs developed at the German National Research Center for Computer Science. Written in ANSI-C, it runs on MIMD parallel machines, such as transputers, and distributed systems. The User Interface allows the user to define application specific functions that are not provided by the system library. A script language is used to specify the experiment. The user can use it to define the application dependent data structures, attaches the GENETIC OPERATORs to them and specifies the input/output interface. A "frame" function controls the execution a base function. They prepare the data representing the genetic material, and apply the GENETIC OPERATORs to it, according to the script specification. The Library contains genetic operators, a collection of FITNESS functions, and input/output and control procedures. It provides the user with a number of validated modules. Currently, PeGAsuS can be compiled with the GNU C, RS/6000 C, ACE-C, and Alliant's FX/2800 C compilers. It runs on SUNs and RS/6000 workstations, as well as on the Alliant FX/28. For more information contact: Dirk Schlierkamp-Voosen Research Group for Adative Systems German National Research Center for Computer Science 53731 Sankt Augustin, Germany Net: Tel: +49 2241 14 2466 PGA: PGA is a simple testbed for basic explorations in GENETIC ALGORITHMs. Command line arguments control a range of parameters, there are a number of built-in problems for the GA to solve. The current set consists of: o maximize the number of bits set in a CHROMOSOME o De Jong's functions DJ1, DJ2, DJ3, DJ5 o binary F6, used by Schaffer et al o a crude 1-d knapsack problem; you specify a target and a set of numbers in an external file, GA tries to find a subset that sums as closely as possible to the target o the `royal road' function(s); a CHROMOSOME is regarded as a set of consecutive blocks of size K, and scores K for each block entirely filled with 1s and it's easy to add your own problems (see below). CHROMOSOMEs are represented as character arrays, so you are not (quite) stuck with bit-string problem encodings. PGA has been used for teaching for a couple of years now, and has been used as a starting point by a fair number of people for their own projects. So it's reasonably reliable. However, if you find bugs, or have useful contributions to make, Tell Me! Peter Ross Department of AI University of Edinburgh 80 South Bridge Edinburgh EH1 1HN, UK Net: Splicer: Splicer is a GENETIC ALGORITHM tool created by the Software Technology Branch (STB) of the Information Systems Directorate at NASA/Johnson Space Center with support from the MITRE Corporation. Splicer has well-defined interfaces between a GA kernel, representation 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 for $221 (incl. documentation) from: COSMIC 382 E. Broad St. Athens, GA 30602, USA Net: Tel: +1 (404) 542-3265 Fax: +1 (706) 542-4807 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 MS Ellis, NASA Ames Research Center Moffett Field, CA 94035, USA Net: CFS-C: CFS-C 1.0 is a domain independent collection of CLASSIFIER SYSTEM routines written by Rick L. Riolo as part of his PhD dissertation. A completely rewritten CFS-C++ is planned for 1994; the CFS-C 2.0 mentioned in [SAB90] (e.g. "latent learning") will not be released; instead an ANSIfied version of 1.0 (CFS-C 1.98j) is available by FTP. CFS-C is available from ENCORE (See Q15.3) in file: CFS/src/cfsc-1.98j.tar.gz and includes the original 1.02 CFS-C in it's "cfsc/orig" folder after unpacking. On the "SyS" FTP server it's: lumpi.informatik.uni-dortmund.de:/pub/CFS/src/cfsc-1.98j.tar.gz References Rick L. Riolo (1988) "CFS-C: A package of domain independent subroutines for implementing classifier systems in arbitrary, user- defined environments", Logic of computers group, Division of computer science and engineering, University of Michigan. Rick L. Riolo (1988) "LETSEQ: An implementation of the CFS-C classifier-system in a task-domain that involves learning to predict letter sequences", Logic of computers group, Division of computer science and engineering, University of Michigan. Rick L. Riolo (1988) "CFS-C/FSW1: An implementation of the CFS-C classifier system in a task domain that involves learning to traverse a finite state world", Logic of computers group, Division of computer science and engineering, University of Michigan. SCS-C: SCS-C is a (`mostly ANSI') C language translation and extension of Goldberg's Simple CLASSIFIER SYSTEM, as presented in Appendix D in his seminal book "Genetic Algorithms in Search, OPTIMIZATION, and Machine Learning", Addison-Wesley, Reading, MA, 1989. SCS-C has been developed in parallel on a Sun 10/40 and an ATARI ST, and thus should be quite portable; it's distributed free of charge and the other terms of the GPL, i.e. the GNU General Public License. SCS-C v0.99j will be made available via FTP from lumpi.informatik.uni-dortmund.de:/pub/LCS/src/scs-c-0.99j.tar.gz (129.217.36.140). The documentation alone is available as scs-c- doc.tar.gz in directory "pub/LCS/docs". For more information contact: Joerg Heitkoetter Systems Analysis Research Group, LSXI Department of Computer Science University of Dortmund D-44221 Dortmund, Germany Net: Fax: +49 231 755-2450 ------------------------------ Subject: Q20.2: Commercial software packages? EnGENEer: Logica Cambridge Ltd. developed EnGENEer as an in-house GENETIC ALGORITHM environment to assist the development of GA applications on a wide range of domains. The software was written in C and runs under Unix as part of a consultancy and systems package. It supports both interactive (X-Windows) and batch (command-line) modes of operation. EnGENEer provides a number of flexible mechanisms which allow the developer to rapidly bring the power of GAs to bear on new problem domains. Starting with the Genetic Description Language, the developer can describe, at high level, the structure of the ``genetic material'' used. The language supports discrete GENEs with user defined cardinality and includes features such as multiple CHROMOSOMEs models, multiple SPECIES models and non-evolvable parsing symbols which can be used for decoding complex genetic material. The user also has available a descriptive high level language, the Evolutionary Model Language. It allows the description of the GA type used in terms of configurable options including: POPULATION size, POPULATION structure and source, SELECTION method, CROSSOVER and MUTATION type and probability, INVERSION, dispersal method, and number of OFFSPRING per GENERATION. Both the Genetic Description Language and the Evolutionary Model Language are fully supported within the interactive interface (including online help system) and can be defined either "on the fly" or loaded from audit files which are automatically created during a GA run. Monitoring of GA progress is provided via both graphical tools and automatic storage of results (at user defined intervals). This allows the user to restart EnGENEer from any point in a run, by loading both the POPULATION at that time and the evolutionary model that was being used. Connecting EnGENEer to different problem domains is achieved by specifying the name of the program used to evaluate the problem specific FITNESS function and constructing a simple parsing routine to interpret the genetic material. A library of standard interpretation routines are also provided for commonly used representation schemes such as gray-coding, permutations, etc. The fitness evaluation can then be run as either a slave process to the GA or via a standard handshaking routines. Better still, it can be run on either the machine hosting the EnGENEer or on any sequential or parallel hardware capable of connecting to a Unix machine. For more information, contact: George Robbins Systems Intelligence Division Logica Cambridge Ltd. Betjeman House 104 Hills Road Cambridge CB2 1LQ, UK Tel: +44 716 379111 Fax: +44 223 322315 EvoFrame: EvoFrame is to EVOLUTION STRATEGIEs what MicroGA is to GENETIC ALGORITHMs, a toolkit for application development incorporating ESs as the OPTIMIZATION engine. EvoFrame is an object oriented implemented programming tool for EVOLUTION STRATEGIEs (Rechenberg/Schwefel, Germany) for easy implementation and solution of numerical and combinatorical problems. EvoFrame gives you freedom of implementing every byte of the OPTIMIZATION principle and its user interface. You can focus on the optimization problem and forget about all the rest. EvoFrame is available as Version 2.0 in Borland-Pascal 7.0 and Turbo- Vision for PC's and as Version 1.0 in C++ for Apple Macintosh using MPW and MacApp. Both implementations allow full typed implementation, i.e. no more translation from problem specific format to an OPTIMIZATION specific one. A prototyping tool (cf REALizer) exists for both platforms too. EvoFrame allows pseudoparallel OPTIMIZATION of many problems at once and you can switch optimization parameters and internal methods (i.e. quality function etc.) during runtime and during optimization cycle. Both tools can be modified or extended by overloading existing methods for experimental use. They are developed continously in correlation to new research results. The PC version is prepared for experimental use due to a comprehensive protocolling mechanism of optimzation cycles and user data. It also allows compilation of executable files with different complexity by setting conditional compilation flags. It can be used with 3 levels of stacked POPULATIONs. The Mac version is the more complex (recursive) implementation. It allows stacking of any number of POPULATIONs for modelling of complex systems. Theory stops at multipopulation level at the time. EvoFrame for Mac is ready for the future, allowing any number of population levels. Ask for porting the Mac version (C++) to any other platform, i.e. X Windows. REALizer: REALizer is a tool for rapid prototyping of EvoFrame applications. It's an override of the corresponding framework which is prepared to optimize using a vector of real numbers. All methods for standard EVOLUTION and file handling, etc. are ready implemented. The remaining work for the user is to define a constant for the problem size, fill in the quality function and start the OPTIMIZATION process. .PP For further information, current prices and orders, contact: Wolfram Stebel Optimum Software Braunfelser Str. 26 35578 Wetzlar, Germany Net: Tel: +49 6441 25325 Fax: +49 6441 24818 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 Seattle, WA 98103-6932, USA Tel: (206) 632-0885 To order Evolver, contact: Spreadware Distributors P.O. Box 4552 Palm Desert, CA 92261, USA Tel: (619) 347-2365 Fax: (619) 347-6045 GAME: GAME (GA Manipulation ENVIRONMENT) aims to demonstrate GA applications and build a suitable programming environment. GAME is being developed as part of the PAPAGENA project of the European Community's Esprit III initiative. GAME is available as an addendum to a book on PGAs (cf PAPAGENA, Q20.3). And from the project's FTP server bells.cs.ucl.ac.uk:/pub/papagena/ e.g. "papagena/game/docs" contains all the papers that have been produced over the course of the GAME project, e.g. you'll find a little bit outdated draft of the GAME DESIGN NOTES document, which explains some of the details of the implementation. There are some other technical reports also. The sources can also be obtained by ftp see "papagena/game/version2.01". GAME is now in version 2.01 (the version distributed with the book was 1.0). This version is still able to run only sequential GAs, but version 3.0 is coming soon and will handle parallel GAs as well. Unfortunately, The project yet only produced a Borland C++ 3.x version, so far. It is intended to distribute a version for UNIX/GNU C++ as well, when some compatibility issues concerning C++ "standards" have been resolved. Afterward a UNIX version will be released, but this will be only happen after the release of PC version 3.0. Please, feel free to use and distribute the software. For more information contact: Jose Luiz Ribeiro Filho Department of Computer Science University College London Gower Street London WC1E 6BT, UK Net: Tel: +44 (071) 387 7050 x 3701 Fax: +44 (071) 387 1397 MicroGA: MicroGA is a powerful and flexible new tool which allows programmers to integrate GAs into their software quickly and easily. It is an object-oriented C++ framework that comes with full source code and documentation as well as three sample applications. Also included is the Galapagos code generator which allows users to create complete applications interactively without writing any C++ code, and a sample MacApp interface. MicroGA is available for Macintosh II or higher with MPW and a C++ compiler, and also in a Microsoft Windows version for PC compatibles. Compiled applications made with MicroGA can be sold without license fee. MicroGA is priced at $249. Galapagos: Galapagos is a tool for use with Emergent Behavior's MicroGA Toolkit. It allows a user to define a function and set of constraints for a problem that the user wants to solve using the GA. Galapagos then generates a complete C++ program using the information supplied. Then all the user has to do is to compile these files, using either Turbo/Borland C++ (PC, MS Windows), or MPW and C++ compiler (Macintosh), and link the resulting code to the MicroGA library. Then just run the program. Galapagos comes free with every copy of MicroGA. For further information and orders, contact: Steve Wilson Emergent Behavior 635 Wellsbury Way Palo Alto, CA 94306, USA Net: Tel: +1 (415) 494-6763 MicroGA is distributed in Germany by Optimum Software (cf EvoFrame & REALizer entries). Omega: The Omega Predictive Modeling System, marketed by KiQ Limited, is a powerful approach to developing predictive models. It exploits advanced GA techniques to create a tool which is "flexible, powerful, informative and straightforward to use". Omega is geared to the financial domain, with applications in Direct Marketing, Insurance, Investigations and Credit Management. The ENVIRONMENT offers facilities for automatic handling of data; business, statistical or custom measures of PERFORMANCE, simple and complex profit modeling, validation sample tests, advanced confidence tests, real time graphics, and optional control over the internal GA. For further information, contact: KiQ Business Modeling Systems Ltd. Easton Hall, Great Easton Essex CM6 2HD, UK Tel: +44 371 870254 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: The Software Partnership (T.S.P.) P.O. Box 991 Melrose, MA 02176, USA Tel: +1 617 662 8991 PC-Beagle: PC-Beagle is a rule-finder program for PCs which examines a database of examples and uses machine-learning techniques to create a set of decision rules for classifying those examples, thus turning data into knowledge. The system contains six major components, one of which (HERB - the "Heuristic Evolutionary Rule Breeder") uses GA techniques to generate rules by natural SELECTION. PC-Beagle is available to educational users for 69 pounds sterling. Orders, payment or requests for information should be addressed to: Richard Forsyth Pathway Research Ltd. 59 Cranbrook Rd. Bristol BS6 7BS, UK Tel: +44 272 428692 XpertRule GenAsys: XpertRule GenAsys is an expert system shell with embedded GENETIC ALGORITHM marketed by Attar Software. Targeted to solve scheduling and design applications, this system combines the power of genetic algorithms in evolving solutions with the power of rule-based programming in analyzing the effectiveness of solutions. Rule-based programming can also be used to generate the initial POPULATION for the genetic algorithm and for post-optimization planning. Some examples of design and scheduling problems which can be solved by this system include: OPTIMIZATION of design parameters in electronic and avionic industries, route optimization in the distribution sector, production scheduling in manufacturing, etc. For further information, contact: Attar Software Newlands Road Leigh, Lancashire, UK Net: <100166.1547@CompuServe.com> Tel: +44 942 608844 Fax: +44 942 601991 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 Ayer, MA 01432, USA Tel: +1 (508) 772-4225 ------------------------------ Subject: Q20.3: Current research projects? PAPAGENA: The European ESPRIT III project PAPAGENA is pleased to announce the availability of the following book and software: Parallel Genetic Algorithms: Theory and Applications was recently published by IOS press. The book, edited by Joachim Stender, provides an overview of the theoretical, as well as practical, aspects involved in the study and implementation of parallel GENETIC ALGORITHMs (PGAs). The book comes with a floppy disk version of GAME (GENETIC ALGORITHM Manipulation ENVIRONMENT). For more information see the section on GAME in Q20.2. DGENESIS: DGENESIS is a distributed implementation of a Parallel GA. It is based on GENESIS 5.0. It runs on a network of UNIX workstations. It has been tested with DECstations, microVAXes, Sun Workstations and PCs running 386BSD 0.1. Each subpopulation is handled by a UNIX process and the communication between them is accomplished using Berkeley sockets. The system is programmed in C and is available free of charge by contacting Erick Cantu-Paz . DGENESIS allows the user to set the migration interval, the MIGRATION rate and the topology between the subpopulations. There has not been much work investigating the effect of the topology on the PERFORMANCE of the GA, DGENESIS was written specifically to encourage experimentation in this area. ------------------------------ End of ai-faq/genetic/part5 ***************************