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



       zcscup - run a zeroth level classifier system on the cups


       zcscup -help
       zcscup [-specs  string]  [-steps  integer] [-seed integer]
              [-size integer]  [-sinit  double]  [-lrate  double]
              [-drate  double]  [-trate  double]  [-crate double]
              [-mrate double]  [-grate  double]  [-cover  double]
              [-wild double] [-avelen integer] [-inv] [-mag inte-
              ger] [-term string]


       Train a zeroth level classifier system (ZCS) to solve  the
       cups  problem  with  the implicit bucket brigade algorithm
       and a genetic algorithm.  Solving  this  problem  requires
       the  ZCS to learn to remember important features from pre-
       vious states, which makes this problem  very  challenging.
       The  ZCS  always  starts  in the same initial position. It
       interacts with its environment until it finds  both  cups,
       which  (only  at that point) yields a reward.  The simula-
       tion then restarts with the ZCS  placed  at  the  original
       location.   The  progress of the ZCS is continuously plot-
       ted, while the statistics on the time to  find  both  cups
       are  calculated  and displayed.  At the end of the simula-
       tion the classifiers that make up the final ZCS are  saved
       to a log file.


       -specs string
              World specification file.

       -steps integer
              Number of simulated trials.

       -seed integer
              Random seed for initial state.

       -size integer
              Population size.

       -sinit double
              Initial classifier strength.

       -lrate double
              BB learning rate.

       -drate double
              BB discount rate.

       -trate double
              Tax rate for strength reduce.

       -crate double
              GA crossover rate.

       -mrate double
              GA mutation rate.

       -grate double
              GA invocation rate.

       -cover double
              Covering factor.

       -wild double
              Probability of # in cover.

       -avelen integer
              Length of windowed average.

       -inv   Invert all colors?

       -mag integer
              Magnification factor.

       -term string
              How to plot points.


       The  file format for the specifications files must contain
       the width and height of the world followed by the  details
       of  the world in ASCII format, where '.' is an empty cell,
       'O' is a wall, and 'F' represent a cup.  See  any  of  the
       examples  in  the 'data' subdirectory of this distribution
       for more details.

       The log file, 'zcscup.log', contains one line per  classi-
       fier with the condition string, the action string, and the
       strength of the classifier.  The classifiers are sorted so
       the the strongest classifiers are printed first.

       The  ASCII  output  of  the program shows the most recent,
       windowed average and the total average for the  number  of
       steps needed to find both cups.


       See  the  author's  book,  "The  Computational  Beauty  of
       Nature," for more details.


       The simulation always restarts with the  ZCS  location  at
       position  (0,  4),  which  really only makes sense for the
       data file to work around this or tweak the source code  to
       try a different problem variation.

       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