NAME
hp - simulate the hodgepodge machine
SYNOPSIS
hp -help
or
hp [-width integer] [-height integer] [-states inte-
ger] [-steps integer] [-seed integer] [-diag]
[-wrap] [-g double] [-k1 double] [-k2 double]
[-freq integer] [-inv] [-mag integer] [-term
string]
DESCRIPTION
The time evolution of the hodgepodge machine is simulated
and plotted according to the specified parameters. The
neighborhood of a cell can optionally include or not
include diagonal cells in a 3x3 area; Moreover, the
neighborhood can also wrap around the edges so that the
grid is topologically toroidal. With a proper choice of
parameters, this system resembles the Belousov-Zhabotinsky
reaction which forms self-perpetuating spirals in a lat-
tice. See the RULES section of the manual pages or the
source code for an explanation of how the cells change
over time.
OPTIONS
-width integer
Width of the plot in pixels.
-height integer
Height of the plot in pixels.
-states integer
Number of cell states.
-steps integer
Number of simulated steps.
-seed integer
Random seed for initial state.
-diag Diagonal cells are neighbors?
-wrap Use a wrap-around space?
-g double
Infection progression rate.
-k1 double
First weighting parameter.
-k2 double
Second weighting parameter.
-freq integer
Plot frequency.
-inv Invert all colors?
-mag integer
Magnification factor.
-term string
How to plot points.
RULES
If each cell can be in one of N states (labelled 0 to n -
1), then cells in state 0 are ``healthy,'' cells in state
n - 1 are ``ill,'' and all other cells are ``infected.''
Within a cell's neighborhood, let Nill, Ninf, and S,
denote the number of ill cells, the number of infected
cells, and the sum of the states of all neighbors plus
this cell's state. The next state is determined by the
three rules:
Healthy: floor( Ninf / k1 ) + floor( Nill / k2 )
Infected: floor( S / ( Ninf + 1 ) ) + g
Ill: magically becomes healthy, thus 0.
Where k1, k2, and g are the parameters specified by the
command line options.
MISCELLANY
If you move from (to) an 8 cell neighborhood to (from) a 4
cell neighborhood try dividing (multiplying) k1 and k2 by
2 to produce a similar time evolution that occurred with
the previous neighborhood size.
For some reason, 4 cell neighborhoods seem to produce pat-
terns with more spirals.
This simulation can be frustratingly slow at times, so you
may wish to use the -freq option to cut down on the over-
head of plotting the states.
BUGS
No sanity checks are performed to make sure that any of
the options make sense.
AUTHOR
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.
Man(1) output converted with
man2html