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
GASURF Documentation



       gasurf - find a surfaces peak with a genetic algorithm


       gasurf -help
       gasurf [-size  integer]  [-len  integer]  [-gens  integer]
              [-seed integer] [-crate double] [-mrate double]


       Use a genetic algorithm to find the maximum  of  a  multi-
       humped function.  This program serves as an example of how
       GAs can be used to optimize function which take a multiple
       floating  point arguments. Reproduction of strings entails
       crossover and mutation with strings being  selected  based
       on fitness.


       -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