The Computational Beauty of Nature
Computer Explorations of Fractals, Chaos,
Complex Systems, and Adaptation

About the Book
  · title page
  · home*
  · cover artwork
  · jacket text
  · table of contents
  · the author*
  · ordering information
Book Contents
  · three themes
  · part synopses
  · selected excerpts
  · all figures from book
  · quotes from book
  · glossary from book
  · bibliography
  · slide show
Source Code
  · overview &
  · FAQ list*
  · download source code
  · java applets
  · news*
  · reviews & awards
  · errata
  · for educators
  · bibliography (BibTeX format)
  · other links
GABUMP Documentation



       gabump - find a bump's peak with a genetic algorithm


       gabump -help
       gabump [-target  double]  [-var  double]  [-size  integer]
              [-len  integer]  [-gens  integer]  [-seed  integer]
              [-crate double] [-mrate double]


       Use  a  genetic algorithm to find the maximum of a single-
       humped function that is centered at a user-specified loca-
       tion.  This program serves as an example of how GAs can be
       used to optimize functions which  take  a  floating  point
       argument.  Reproduction  of  strings entails crossover and
       mutation with strings being selected based on fitness.


       -target double
              Target value for function.

       -var double
              Variance of bump.

       -size integer
              Population size.

       -len integer
              DNA length.

       -gens integer
              Number of generations.

       -seed integer
              Random seed.

       -crate double
              Crossover rate.

       -mrate double
              Mutation rate.


       The bit strings are converted to  floating  point  numbers
       with  the  formula  (8  *  int(string)  / 2^len - 4) where
       int(string) is the  integer  value  of  a  binary  string.
       Thus, all numbers are forced to be between -4 and 4.

       A  more  sophisticated GA encoding would use Gray codes to
       represent the floating point numbers  which  arguably  are
       better behaved under mutation.


       No  sanity  checks  are performed to make sure that any of
       the options make sense.


       Copyright (c) 1997, Gary William Flake.

       Permission granted for any use according to  the  standard
       GNU ``copyleft'' agreement provided that the author's com-
       ments are neither modified nor removed.   No  warranty  is
       given or implied.

Copyright © Gary William Flake, 1998-2002. All Rights Reserved. Last modified: 30 Nov 2002