home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / b / breederca / !BreederCA / Files / Help < prev    next >
Text File  |  1993-11-25  |  8KB  |  159 lines

  1. !BreederCA Help File
  2.  
  3. ---Introduction---
  4.  
  5.   !BreederCA is a program for genetically breeding Cellular Automata rules.
  6. Initially a random set of 12 rules are set up, from these a pair can be
  7. selected and bred together, or a single specimen can be bred from asexually.
  8. The 12 specimens then become the parent(s) plus 11 (or 10) offspring. These
  9. can then be selected and bred from etc.
  10.   Using this method interesting rules can be found, offspring often having 
  11. genuine traits from both parents, and random mutations in the breeding
  12. process producing new varieties.
  13.   More technical information will be given at the end of this file for those 
  14. interested.
  15.  
  16. ---Instructions---
  17.   
  18.   When run, the !BreederCA icon will appear on the icon bar.
  19.  
  20. Pointing at this icon you can click :
  21.  
  22.    - Select to run the main part of the program (exiting the desktop).
  23.    - Menu to Save rules that you have previously marked for saving
  24.      in the main program.
  25.  
  26. The Main program.
  27.  
  28.   You are presented with 12 seperate Cellular Automata running
  29. simultaneously on the screen, these run from a random start, as is the norm
  30. for cellular automata programs. Below are some icons, all control of the
  31. program is with the mouse via these icons. From left to right these icons
  32. are :
  33.  
  34.  QUIT    - Double click to return to desktop.
  35.            ( nothing is reset by this action ).
  36.   
  37.  RESTART - Double click to randomly reset the rules of all 12 CAs.
  38.            ( except protected ones, see below ).         
  39.  
  40.  RANDOM  - Click to select/deselect this function.
  41.  START     icon becomes highlighted, other functions are deselected.
  42.  
  43.             When this is selected clicking LEFT button on the mouse while
  44.             pointing at one of the 12 CAs randomises the cells. i.e running
  45.             the same rule from another random start.                   
  46.             Note : The MIDDLE button of the mouse always performs this
  47.             function anyway, for ease of use.
  48.   
  49.  FREEZE  - Click to select/deselect this function.
  50.            icon becomes highlighted, other functions are deselected.
  51.  
  52.             When this is selected, clicking LEFT button on the mouse while
  53.             pointing at one of the 12 CAs stops it from operating, i.e.
  54.             'freezes' it at the current stage. This can be used for
  55.             examining structures that may have appeared, and also for
  56.             speeding up the operation of the other CAs ( gliders etc.are
  57.             much easier to spot on faster running CAs )
  58.             Note: The RIGHT button of the mouse always performs this
  59.             function anyway, for ease of use.
  60.  
  61.  PROTECT - Click to select/deselect this function.
  62.            icon becomes highlighted, other functions are deselected.
  63.  
  64.             If you spot an interesting CA but wish to carry on breeding with
  65.             some others and not overwrite it, this function will 'protect'
  66.             it. Click LEFT button on the mouse to protect the CA pointed at,
  67.             ( or toggle protection off if it is already marked as protected ) 
  68.             Protected CAs are shown with a DOTTED box around them. They will
  69.             carry on operating ( or being 'frozen' ) whilst other lineages
  70.             can be bred. Also they will unaffected by a restart.
  71.  
  72.                --- Saving to Disc ---
  73.  
  74.             Protected CAs can also be saved to disc by Quiting to the desktop
  75.             and saving from the !BreederCA menu. All the CAs marked as
  76.             protected will be collected together and saved as one file.
  77.             These can be reloaded by dragging from a dirctory viewer on to
  78.             the !BreederCA icon. They will be added to any protected CAs
  79.             already in the program, and more can be loaded until there is no
  80.             room left, i.e. there are 12 protected CAs in the program.
  81.  
  82.  SELECT  - Click to select/deselect this funtion.
  83.            icon becomes highlighted, other functions are deselected.
  84.  
  85.             This functiom selects the parent(s) for breeding from. Clicking
  86.             LEFT button on the mouse whilst pointing at a CA selects it ( or
  87.             deselects it, if it is already marked as selected ). Selected CAs
  88.             are shown by a SOLID box around them. Only up to two CAs may be
  89.             selected at once.
  90.  
  91.  BREED   - Click to create a new generation from the selected parent(s).
  92.             If only one parent is selected the offspring will be produced
  93.             asexually with some random mutation of the genes.
  94.             If two parents are selected the genes will be randomly mixed
  95.             together from them, and some random mutation will be added as
  96.             well.
  97.             As many offspring will be produced as possible, without
  98.             writing over any 'protected' CAs, or the parents. The new CA
  99.             rules and the parents will then begin operating from a random
  100.             start.
  101.  
  102. ---More Technical Information---
  103.  
  104.   I have assumed in wrinting these instructions the reader is familiar with
  105. Cellular Automata in general, and I refer those who are not to Help files of
  106. other Cellular Automata or 'LIFE' programs ( such as my own !Splodge ), or
  107. to books such as "The Armchair Universe" by A.K. Dewdeny.
  108.   The CA rules in this program are all 64-state (numbered 0-63) and are
  109. stored in a 32k lookup table. The sum of the 8 nieghbours of a cell (0-504)
  110. combined with the state of the cell itself (0-63) uniquely define where to
  111. look in the table. It can be shown that all possible CA rules with total
  112. number of states less than 64 are a subset of the set of all possible rules
  113. with 64 states. (i.e. their all 'out there' somewhere, including LIFE, Hodge
  114. Podge type CAs, Chris Langtons 8 state CA with its self replicating loops
  115. etc.)
  116.   Unfortunatly I think the emergent possibilities are limited by the initial
  117. randomising of the rule. Filling the tables entirely at random produces CAs
  118. that just look like white noise, nothing can be discerned between them, and
  119. their offspring are no better. In order to get a reasonable set of CAs as a
  120. basis, the tables are filled with strings of the same state, of random
  121. length ( between 1 to 4000 bytes each time ). Breeding sexually randomally
  122. chops between the two genomes at intervals ( between 1 to 4000 bytes each
  123. time ). Also random mutations are added of several kinds :
  124.   
  125.  Edge mutations   : Finds border between one string of numbers and the next,
  126.                     and randomly shifts forward or backward.
  127.  
  128.  New mutations    : Puts a few bytes in the table of random state at a random
  129.                     location.
  130.   
  131.  Shift Mutations  : As above, but the states of the new bytes are derived as
  132.                     the state already present plus or minus a random
  133.                     value (constant for each clump of mutations).
  134.  
  135.  Repeat Mutations : Long strings of numbers are copied from one place to
  136.                     another in the rule, overwriting any data present at
  137.                     new location.
  138.  
  139.   Roughly 3 times as much mutation occurs for asexual breeding to keep the
  140. variety produced about the same for each type of reproduction.
  141.   Basically all these values and methods have been chosen to produce an
  142. aesthetically pleasing and useable amount of variation, and initial CA 
  143. rules. But it would be very hard to breed out very complex CAs that may have
  144.  rule tables with large scale patterning of a different kind to strings of
  145. the same number ( Maybe patterns of repetition with slight variations each
  146. time, for example ). 
  147.   Other types of mutation / breeding may produce a remarkably different
  148. 'feel' to the program. Anyone who is interested in trying things like that
  149. may feel free to use my program as a basis ( sorry it's not very well
  150. documented but the structure's OK ). I'd be very interested to see the 
  151. results, I haven't got time myself because I've got a million and one other
  152. programs to write, most of which won't be of a distributable nature, except
  153. possibly a 3D CA breeder. Thanks a lot 
  154.  
  155.                         John Hedley
  156.                          15 Hill Rise
  157.                           Trowell
  158.                            Nottingham
  159.                             NG9 3PE