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 <jrs@media.mit.edu> at Williams College and is available by FTP from santafe.edu:/pub/misc/BUGS/BUGS.tar.Z and from ftp.aic.nrl.navy.mil:/pub/galist/src/ga/BUGS.tar.Z Note that it is unsupported software, copyrighted but freely distributable. Address: Room E15-492, MIT Media Lab, 20 Ames Street, Cambridge, MA 02139. (Unverified 8/94). 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 anonymous FTP from lamport.rhon.itam.mx:/ and from ftp.aic.nrl.navy.mil:/pub/galist/src/ga/dgenesis-1.0.tar.Z DGenesis allows the user to set the MIGRATION interval, the migration rate and the topology between the SUB-POPULATIONs. 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. It still needs many refinements, but some may find it useful. Contact Erick Cantu-Paz <ecantu@lamport.rhon.itam.mx> at the Instituto Tecnologico Autonomo de Mexico (ITAM) Dougal: DOUGAL is a demonstration program for solving the TRAVELLING SALESMAN PROBLEM using GAs. The system guides the user through the GA, allowing them to see the results of altering parameters relating to CROSSOVER, MUTATION etc. The system demonstrates graphicaly the OPTIMIZATION of the route. The options open to the user to experiment with include percentage CROSSOVER and MUTATION, POPULATION size, steady state or generational replacement, FITNESS technique (linear normalised, is evaluation, etc). DOUGAL requires an IBM compatible PC with a VGA monitor. The software is free, however I would appreciate feedback on what you think of the software. Dougal is available by FTP from ENCORE (see Q15.3) in file EC/GA/src/dougal.zip It's pkzipped and contains executable, vga driver, source code and full documentation. It is important to place the vga driver (egavga.bgi) in the same directory as DOUGAL. Author: Brett Parker, 7 Glencourse, East Boldon, Tyne + Wear, NE36 0LW, England. <b.s.parker@durham.ac.uk> 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: <hoffmeister@ls11.informatik.uni-dortmund.de> Evolution Machine: 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 FTP from ftp-bionik.fb10.tu- berlin.de:/pub/software/Evolution-Machine/ This directory contains the compressed files em_tc.exe (Turbo C), em_tcp.exe (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). 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> (Unverified 8/94). GAC, GAL: Bill Spears <spears@aic.nrl.navy.mil> writes: These are 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. Both versions are free: 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! Available by FTP from ftp.aic.nrl.navy.mil:/pub/galist/src/ga/GAC.shar.Z and GAL.shar.Z . PostScript versions of some papers are under "/pub/spears". Feel free to browse. 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: Jon Crowcroft <jon@cs.ucl.ac.uk>, Univeristy College London, Gower Street, London WCIE 6BT, UK, or by FTP from ">cs.ucl.ac.uk:/darpa/gaga.shar">ftp://cs.ucl.ac.uk:/darpa/gaga.shar GAGS: GAGS 0.92 (Genetic Algorithms from Granada, Spain) is a library and companion programs written and designed to take the heat out of designing a GENETIC ALGORITHM. It features a class library for genetic algorithm programming, but, from the user point of view, is a genetic algorithm application generator. Just write the function you want to optimize, and GAGS surrounds it with enough code to have a genetic algorithm up and running, compiles it, and runs it. GAGS Is written in C++, so that it can be compiled in any platform running this GNU utility. It has been tested on various machines. Documentation is available. GAGS includes: o Steady-state, roulette-wheel, tournament and elitist SELECTION. o FITNESS evaluation using training files. o Graphics output through gnuplot. o Uniform and 2-point CROSSOVER, and bit-flip and gene-transposition MUTATION. o Variable length CHROMOSOMEs and related operators. The application generator gags.pl is written in perl, so this language must also be installed before GAGS. Available by FTP from: kal-el.ugr.es:/pub/GAGS-0.92.tar.gz The programmer's manual is in the same directory, file gagsprogs.ps.gz. GAGS is also available from ENCORE (see Q15.3) in file EC/GA/src/gags-0.92.tar.gz with documentation in EC/GA/docs/gagsprog.ps.gz Maintained by J.J. Merelo, Grupo Geneura, Univ. Granada <jmerelo@kal- el.ugr.es> GALOPPS: GALOPPS (Genetic Algorithm Optimized for Portability and Parallelism) is a flexible, generic GA, based upon SGA-C. It has been extended to provide three types of island parallelism, ranging from a single PC simulating parallel subpopulations, to multiple computers on a network. It's been tested on a wide variety of DOS and UNIX machines. An 80-page User Guide is provided. GALOPPS extends the SGA capabilities several fold: o 5 SELECTION methods. o Random or superuniform initialization of binary CHROMOSOMEs. o 3 CROSSOVER routines for value-based representations, and 4 for order-based reps. o 3 MUTATION routines. o 4 FITNESS scaling routines. o Various replacement strategy options, including crowding replacement and new incest-reduction option. o Elitism is optional. o Convergence: lost, CONVERGED, percent converged, etc. o Various PERFORMANCE measures o Uses "SGA philosophy" of one template file for the user to modify, but enriched with many additional user callbacks, for added flexibility, extensibility. Ten sample applications are provided -- "standard" ones are Goldberg's three examples, Holland's Royal Road "Challenge" problem, and a blind traveling salesperson problem. For portability, the user interface in the standard distribution is non-graphical. A number of GUIs are in development. GALOPPS Release 2.20 and manual v2.20.ps are available by FTP from isl.cps.msu.edu:/pub/GA/GALOPPS2.20/ Contact: Erik Goodman, Genetic Algorithms Research and Applications Group (GARAGe), Computer Science and Case Center for Computer-Aided Engineering and Manufacturing, 112 Engineering Building, Michigan State University, East Lansing 48824. <goodman@egr.msu.edu> GAMusic: GAMusic 1.0 is a user-friendly interactive demonstration of a simple GA that evolves musical melodies. Here, the user is the FITNESS function. Melodies from the POPULATION can be played and then assigned a fitness. Iteration, RECOMBINATION frequency and MUTATION frequency are all controlled by the user. This program is intended to provide an introduction to GAs and may not be of interest to the experienced GA programmer. GAMusic was programmed with Microsoft Visual Basic 3.0 for Windows 3.1x. No special sound card is required. GAMusic is distributed as shareware (cost $10) and can be obtained by FTP from wuarchive.wustl.edu:/pub/MSDOS_UPLOADS/GenAlgs/gamusic.zip or from fly.bio.indiana.edu:/science/ibmpc/gamusic.zip The program is also available from the America Online archive. Contact: Jason H. Moore <jhm@superh.hg.med.umich.edu> or <jasonUMICH@aol.com> 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 allows for up to 250 neurodes in a net. Research using GANNET is continuing and version 2.0 will be released in early 1995. GANNET is available by FTP from fame.gmu.edu:/gannet/source/ 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). Further, Spofford's masters thesis descrribing GANNET is available in postscript format (/gannet/thesis). Contact: 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: <dduane@fame.gmu.edu> or <khintz@fame.gmu.edu> 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 is available by FTP from cs.ucsd.edu:/pub/GAucsd/GAucsd14.sh.Z or from ftp.aic.nrl.navy.mil:/pub/galist/src/ga/GAucsd14.sh.Z To be added to a mailing list for bug reports, patches and updates, send "add GAucsd" to <listserv@cs.ucsd.edu>. Cognitive Computer Science Research Group, CSE Department, UCSD 0114, La Jolla, CA 92093-0114, USA. Net: <GAucsd-request@cs.ucsd.edu> 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 <mrh@i2ltd.demon.co.uk>. A windows version is in preparation. GECO: GECO (Genetic Evolution through Combination of Objects) 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 file, and some simple examples are also provided to illustrate its intended use. GECO Version 2.0 is available by FTP. See the file ftp.aic.nrl.navy.mil:/pub/galist/src/ga/GECO-v2.0.README for more information. George P. W. Williams, Jr., 1334 Columbus City Rd., Scottsboro, AL 35768. Net: <george@hsvaic.hv.boeing.com>. Genesis: Genesis is a generational GA system written in C 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. Genesis is available together with OOGA (see below), or by FTP from ftp.aic.nrl.navy.mil:/pub/galist/src/ga/genesis.tar.Z (Unverified 8/94). 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 The documentation alone is available as /pub/GA/docs/GENEsYs-1.0-doc.tar.Z For more information contact: Thomas Baeck, Systems Analysis Research Group, LSXI, Department of Computer Science, University of Dortmund, D-44221 Dortmund, Germany. Net: <baeck@ls11.informatik.uni- dortmund.de> (Unverified 8/94). 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 floating point 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 evaluations (especially bugs) and suggestions for future versions to the author. GenET Version 1.00 is available by 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, USA. Net: <janikow@radom.umsl.edu> 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: <pstamp@yarrow.wt.uwa.edu.au> It is also available by FTP from hiplab.newcastle.edu.au:/pub/Genie&Code.sea.Hqx 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 (1993), 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 by FTP from ftp.cs.colostate.edu:/pub/GENITOR.tar Please direct all comments and questions to <mathiask@cs.colostate.edu>. If these fail to work, contact: L. Darrell Whitley, Dept. of Computer Science, Colorado State University, Fort Collins, CO 80523, USA. Net: <whitley@cs.colostate.edu> (Unverified 8/94). GENlib: GENlib is a library of functions for GENETIC ALGORITHMs. Included are two applications of this library to the field of neural networks. The first one called "cosine" uses a genetic algorithm to train a simple three layer feed-Forward network to work as a cosine-function. This task is very difficult to train for a backprop algorithm while the genetic algorithm produces good results. The second one called "vartop" is developing a Neural Network to perform the XOR-function. This is done with two genetic algorithms, the first one develops the topology of the network, the second one adjusts the weights. GENlib may be obtained by FTP from ftp.neuro.informatik.uni- kassel.de:/pub/NeuralNets/GA-and-NN/ Author: Jochen Ruhland, FG Neuronale Netzwerke / Uni Kassel, Heinrich-Plett-Str. 40, D-34132 Kassel, Germany. <jochenr@neuro.informatik.uni-kassel.de> GENOCOP: This is a GA-based OPTIMIZATION package that has been developed by Zbigniew Michalewicz and is described in detail in his book "Genetic Algorithms + Data Structures = Evolution Programs" (Springer Verlag, 2nd ed, 1994). GENOCOP (Genetic Algorithm for Numerical Optimization for COnstrained Problems) optimizes a function with any number of linear constraints (equalities and inequalities). The second version of the system is available by FTP from ftp.uncc.edu:/coe/evol/genocop2.tar.Z Zbigniew Michalewicz, Dept. of Computer Science, University of North Carolina, Chappel-Hill, NC, USA. Net: <zbyszek@uncc.edu> 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: "Genetic Invariance: A New Paradigm for Genetic Algorithm Design." University of Alberta Technical Report TR92-02, June 1992. See also: "GIGA Program Description and Operation" University of Alberta Computing Science Technical Report TR92-06, June 1992 These can be obtained, along with the program, by FTP from ftp.cs.ualberta.ca:/pub/TechReports/ in the subdirectories TR92-02/ and TR92-06/ . Also, the paper "Mutation-Crossover Isomorphisms and the Construction of Discriminating Functions" gives a more in-depth look at the behavior of GIGA. Its is available from ftp.cs.ualberta.ca:/pub/joe/Preprints/xoveriso.ps.Z Joe Culberson, Department of Computer Science, University of Alberta, CA. Net: <joe@cs.ualberta.ca> GPEIST: The GENETIC PROGRAMMING ENVIRONMENT in Smalltalk (GPEIST) provides a framework for the investigation of Genetic Programming within a ParcPlace VisualWorks 2.0 development system. GPEIST provides program, POPULATION, chart and report browsers and can be run on HP/Sun/PC (OS/2 and Windows) machines. It is possible to distribute the experiment across several workstations - with subpopulation exchange at intervals - in this release 4.0a. Experiments, populations and INDIVIDUAL genetic programs can be saved to disk for subsequent analysis and experimental statistical measures exchanged with spreadsheets. Postscript printing of charts, programs and animations is supported. An implementation of the Ant Trail problem is provided as an example of the use of the GPEIST environment. GPEIST is available from ENCORE (see Q15.3) in file: EC/GP/src/GPEIST4.tar.gz Contact: Tony White, Bell-Northern Research Ltd., Computer Research Lab - Gateway, 320 March Road, Suite 400, Kanata, Ontario, Canada, K2K 2E3. tel: (613) 765-4279 <arpw@bnr.ca> Imogene: Imogene is a Windows 3.1 shareware program which generates pretty images using GENETIC PROGRAMMING. The program displays GENERATIONs of 9 images, each generated using a formula applied to each pixel. (The formulae are initially randomly computed). You can then select those images you prefer. In the next generation, the nine images are generated by combining and mutating the formulae for the most- preferred images in the previous generation. The result is a SIMULATION of natural SELECTION in which images evolve toward your aesthetic preferences. Imogene supports different color maps, palette animation, saving images to .BMP files, changing the wallpaper to nice images, printing images, and several other features. Imogene works only in 256 color mode and requires a floating point coprocessor and a 386 or better CPU. Imogene is based on work originally done by Karl Sims at (ex-)Thinking Machines for the CM-2 massively parallel computer - but you can use it on your PC. You can FTP Imogene from: ftp.cc.utexas.edu:/pub/genetic-programming/code/imogenes.zip Contact: Harley Davis, ILOG S.A., 2 Avenue Gallini, BP 85, 94253 Gentilly Cedex, France. tel: +33 1 46 63 66 66 <davis@ilog.fr> LibGA: 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 a 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. LibGA Version 1.00 is available by FTP from ftp.aic.nrl.navy.mil:/pub/galist/src/ga/libga100.tar.Z or by email request to its author, Art Corcoran <corcoran@wiltel.com> (Unverified 8/94). LICE: LICE is a parameter OPTIMIZATION program based on EVOLUTION STRATEGIEs (ES). In contrast to classic ES, LICE has a local SELECTION scheme to prevent premature stagnation. Details and results were presented at the EP'94 conference in San Diego. LICE is written in ANSI-C (more or less), and has been tested on Sparc-stations and Linux-PCs. If you want plots and graphics, you need X11 and gnuplot. If you want a nice user interface to create parameter files, you also need Tk/Tcl. LICE-1.0 is available as source code by FTP from lumpi.informatik.uni-dortmund.de:/pub/ES/src/LICE-1.0.tar.gz Author: Joachim Sprave <joe@ls11.informatik.uni-dortmund.de> Matlab-GA: The MathWorks FTP site has some Matlab GA code in the directory ftp.mathworks.com:/pub/contrib/optim/genetic It's a bunch of .m files that implement a basic GA. mGA: mGA is an 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, and IlliGAL report 91008 for more information on messy GAs (See Q14). The C language version is available by FTP from IlliGAL in the directory gal4.ge.uiuc.edu:/pub/src/messyGA/C/ PARAGenesis: PARAGenesis is the result of a project implementing Genesis on the CM-200 in C*. It 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. 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 by FTP from ftp.aic.nrl.navy.mil:/pub/galist/src/ga/paragenesis.tar.Z DISCLAIMER: PARAGenesis is fairly untested at this point and may contain some bugs. Michael van Lent, Advanced Technology Lab, University of Michigan, 1101 Beal Av., Ann Arbor, MI 48109, USA. Net: <vanlent@eecs.umich.edu>. 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 includes: 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, etc; a range of parameters. o max contiguous bits, you choose the ALLELE range. o timetabling, with various smart MUTATION options; capable of solving a good many real-world timetabling problems (has done so) Lots of GA options: rank, roulette, tournament, marriage-tournament, spatially-structured SELECTION; one-point, two-point, uniform or no CROSSOVER; fixed or adaptive MUTATION; one child or two; etc. Default output is curses-based, with optional output to file; can be run non-interactively too for batched series of experiments. It's easy to add your own problems. 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! It is available by FTP from ftp.dai.ed.ac.uk:pub/pga-2.7/pga-2.7.tar.Z (see the file pga.README in the same directory for more information) Peter Ross, Department of AI, University of Edinburgh, 80 South Bridge, Edinburgh EH1 1HN, UK. Net: <peter@aisb.ed.ac.uk> SGA-C, SGA-Cube: 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 the 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: <rob@comec4.mh.ua.edu> SGA-C and SGA-Cube are also available in compressed tar form by FTP from ftp.aic.nrl.navy.mil:/pub/galist/src/ga/sga-c.tar.Z and sga- cube.tar.Z . 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. (Unverified 8/94). Last known address <bayer@galileo.jsc.nasa.gov> (Steve Bayer). This now bounces back with "user unknown". TOLKIEN: TOLKIEN (TOoLKIt for gENetics-based applications) is a C++ class library, intended for those involved in GAs and CLASSIFIER SYSTEM research with a working knowledge of C++. It is designed to reduce effort in developing genetics-based applications by providing a collection of reusable objects. For portability, no compiler specific or class library specific features are used. The current version has been compiled successfully using Borland C++ Version 3.1 and GNU C++. TOLKIEN contains a lot of useful extensions to the generic GENETIC ALGORITHM and CLASSIFIER SYSTEM architecture. Examples include: (i) CHROMOSOMEs of user-definable types; binary, character, integer and floating point; (ii) Gray code encoding and decoding; (iii) multi- point and uniform CROSSOVER; (iv) diploidy and dominance; (v) various SELECTION schemes such as tournament selection and linear ranking; (vi) linear FITNESS scaling and sigma truncation; (vii) the simplest one-taxon-one-action classifiers and the general two-taxa-one-action classifiers. TOLKIEN is available from ENCORE (See Q15.3) in file: GA/src/TOLKIEN.tar.gz The documentation and two primers on how to build GA and CFS applications alone are available as: GA/docs/tolkien-doc.tar.gz Author: Anthony Yiu-Cheung Tang <tang028@cs.cuhk.hk>, Department of Computer Science (Rm 913), The Chinese University of Hong Kong. Tel: 609-8403, 609-8404. 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 free by FTP by contacting the author; runs on SUN (and possibly any SYSV) UNIX box. 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: <drogers@msi.com> CLASSIFIER SYSTEMS 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/95; this may include the features of CFS-C 2.0 mentioned in [SAB90] (e.g. "latent learning") or they may be included in a separate package released in 1995. An ANSIfied version of CFS-C 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/LCS/src/cfsc-1.98j.tar.gz with documentation in /pub/LCS/docs/cfsc.ps.gz Another version of CFS-C (version XV 0.1) by Jens Engel <engel@asterix.irb.uni-hannover.de> is also available. This includes bug fixes of earlier versions, allowing it to run on a wider range of machines (e.g. Linux and nCUBE). It also has an XView front end that makes it easier to control, and some extensions to the algorithms. It is available from ENCORE in file: CFS/src/cfscxv-0.1.tar.gz with documentation in CFS/docs/cfscxv-0.1.readme.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 [GOLD89]. 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 under the terms of the GNU General Public License. Included are some additional goodies, e.g. the VAX/VMS version of SCS, rewritten in C by Erik Mayer <emayer@uoft02.utoledo.edu>. SCS-C v1.0j is available from ENCORE (See Q15.3), by FTP in file EC/CFS/src/scsc-1.0j.tar.gz For more information contact: Joerg Heitkoetter, EUnet Deutschland GmbH, Techo-Park, Emil-Figge-Str. 80, D-44227 Dortmund, Germany. Net: <joke@Germany.EU.net>.Go Back Up