zcs - run a zeroth level classifier system on a terrain
zcs [-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 traverse a
two-dimensional terrain, avoid obstacles, and find food
with the implicit bucket brigade algorithm and a genetic
algorithm. At the beginning of each step the ZCS is
placed at a random location of it's world. It interacts
with its environment until it finds food, which yields a
reward. The simulation then restarts with the ZCS placed
at a new random location. The progress of the ZCS is con-
tinuously plotted, while the statistics on the time to
find food are calculated and displayed. At the end of the
simulation the classifiers that make up the final ZCS are
saved to a log file.
World specification file.
Number of simulated trials.
Random seed for initial state.
Initial classifier strength.
BB learning rate.
BB discount rate.
Tax rate for strength reduce.
GA crossover rate.
GA mutation rate.
GA invocation rate.
Probability of # in cover.
Length of windowed average.
-inv Invert all colors?
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 rock, and 'F' represent food. See any of the
examples in the 'data' subdirectory of this distribution
for more details.
The log file, 'zcs.log', contains one line per classifier
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 food.
See the author's book, "The Computational Beauty of
Nature," for more details.
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.