SRCA - Usage and Rule Information

SRCA  | (History) | Introduction | Download | Usage | Applet
contents
Disclaimer
Starting SRCA
Usage
Known Problems
Conway's Life Rule
Banks2 Rule
LangtonLoop Rule
SRL8 Rule
SRL16 Rule
SRLEN Rule

Disclaimer

The usual disclaimers apply i.e. you use this application entirely at your own risk etc.

Starting SRCA

On Windows NT and 95, using Microsoft VM ('jview')

Double click on 'SrCa.exe'. To obtain the best performance you should first run Microsoft Internet Explorer and ensure the JIT option in the property dialog is set on.

On Windows NT, using Sun Java 1.3

Double click on 'SrCaJdk13.bat'. You may need to edit this file beforehand to increase or decrease the maximum heap size (decrease if you have less than 128MB RAM), and maybe to specify the full 'java.exe' path.

On SuSe linux

Create your own script file based on 'SrCaJdk13.bat'

On other systems (not tested)

Create your own script file based on 'SrCaJdk13.bat'

Instructions for Use

Operation should be mostly self-explanatory. I suggest you first try it out, then have a look at this subsection which lists some pecularities.

General and Main Window

  • Changing the CA rule automatically converts the current pattern for the new rule. This is not loss-less, so you may not get the results you expect. Click on the 'default' pattern to load the initial default pattern for the current rule. Click on 'new' to clear the pattern and zero the click ticks counter.
  • The default directory for saving and loading files is 'SrCa/data/patterns'. No file extensions are enforced, but I suggest you use the convention of always using a '.cap' extension. The CA rule, size and clock ticks are saved in addition to the CA pattern, to be restored upon a load.
  • SR-CA has its own file format. At present it cannot load patterns saved from other CA applications.
  • Viewing cell state details: right mouse click over the desired cell to popup a dialog describing the cell state. You can have more than one dialog open at a time.

Edit Window

  • The display scale for the edit window is always identical to the main window display scale.
  • The clipboard allows cut and pasting of selected cells only if the CA Rule is the same. The clipboard is local to SR-CA, so you will not be able to cut and paste between SR-CA and other applications. The clipboard contents are not maintained between invocations of the application.
  • The Palette works like a file-based clipboard. The default directory for saving and loading files is 'SrCa/data/palette'. No file extensions are enforced, but I suggest you use the convention of always using a '.pal' extension. Patterns can be loaded into the current CA only if the CA rule is the same. Therefore it is important that you don't loose track of the rule associated with each palette file. I suggest you stick to using a subdirectory for palette patterns of each rule.
  • Cell state: right mouse click over the desired cell to popup a dialog describing the cell state and allowing you to make changes. You can have only one dialog open at a time. Usually it's quicker to copy and move existing cells and then use this dialog to adjust the values.
  • Selections: left mouse click to select one cell (+control key to toggle a cell selection). Left mouse drag to make multiple selections.
  • Copy and Move selected cells: right mouse drag selected cells.
  • Operations: the operation buttons act only on selected cells.
  • All rules define a 'null state' which is applied to selected cells when the 'clear' button is clicked. For very simple rules like Conway's Life and Banks2 the null-state is zero, but it may be a different value for other rules (for SRL it is minus one). There is no corresponding 'set' button, as that would only make sense for two (or few) state rules.

Known Problems

Performance Options Dialog

Table lookup is slow unless your machine possesses lots of RAM. It is generally quicker to use method lookup for most rules except for the following:

  • Conway's Life rule.
  • Banks2 rule.
  • SRL(8) or SRL(16) rule, assuming greater than 128MB lookup memory (will probably require 512MB or more of RAM).

Conway's Life Rule

John Conway developed this game of 'life' rule in 1970. It is a very well known CA rule, and there is a lot of information about it published on the Web and elsewhere. For more information see the SRCA Introduction page.

Banks2 Rule

Edwin Banks developed this rule in 1971. It is suitable for building virtual computing circuitry within a CA. I implemented it from information in the book Cellular Automata Machines by Tommaso Toffoli and Norman Margolus, MIT Press 1987.

LangtonLoop Rule

This a rule developed by Christopher Langton. I implemented it using information from DTR, CaLab and MCell.

SRL(8) Rule

This is one of my rules that I developed in 1996. It is partly based on some of the ideas in Chris Langton's loop rule and the other rules and patterns in the DTR package. Essentially what I have done is extend Chris Langton's loop rule to make the loops robust so that colonies of loops can form without killing each other off or clogging up the entire CA lattice, and also to allow loops to mutate and evolve into more complex structures. (Actually there is more to it than just that, which is how it came to be so complicated!) Note that I have extended the ideas of the loop rule, not the implementation: my CA and SRL implementation are entirely my own work and bare little relation to any of the implementations in DTR.

Apart from some minor changes and a bug fix, this is the same rule as described on my original applet web page Self Reproducing Cellular Automata Loops. However these bug fixes and changes mean that generated lattice patterns will not exactly match those of the applet if they are both started with the same parameters and starting pattern.

I intend to produce a better description of this rule some time soon. In the mean time you can have a look at the source code in 'doc/SRL8.java' and 'doc/SRL.java' once you have downloaded and installed SRCA.

SRL(16) Rule

See SRL(8) Rule.

SRLEN Rule

A slight modification of SRL(8) to allow wire cells to live forever under suitable conditions. Wire cells no longer die within a fixed life span. Instead they die if they get too cold or too hot. Wires heat up when they propagate signals and cool down when they don't. I intend to produce a better description some time soon. In the mean time you can have a look at the source code in 'doc/SRLEN.java' once you have downloaded and installed SRCA.

The display color scheme is changed from SRL(8) in order to give an indication of the temperature of each wire cell:

  • Gray: wire.
  • Black: not a wire.
  • Orange: the hotter the wire the more it glows orange.
  • Purple: wire in refractory state (has overheated and is dying).
  • Bright gray or orange: wire propagating a signal.

(Copyright © 1996-2002 C D Osborn, Softrise Limited, UK. All rights reserved.)
(Last updated on 12th February 2002. Site version 3.7)
Author's Contact details