State Symmetrical Cellular Automata Control Panel

1. Introduction       top

This control panel provides an environment for comparing the different state symmetrical rules. It constructs a number of different initial patterns in a torus universe with tools probing different properties. The control panel is not limited to state symmetrical rules but by using the abbreviated notation either just the B part of the usual B/S notation or using the H form a state symmetrical rule is guaranteed.

The most studied state symmetrical CA is Day & Night which is defined as: B3678/S34678. The state symmetry is seen in that the list for survive is the opposite of the list for not survive (not Survive count = 8 - survive count) thus a state symmetrical CA can be defined just by the rules for being born. Following the practice of Wolfram the counts on which cells are born can be treated as bits in a binary number bit 0 set 1 for born on count zero thus B3678 is the binary number 1 1100 1000, however hexadecimal notation combines brevity with ease recovery of the bit positions giving H1C8 for this rule. The two's complement of 1 1100 1000 is 0 0011 0111 or in hexadecimal H037 which is referred to as the complementary rule to H1C8 both of these show the same pattern from the same initial conditions except that one changes state when the other does not. The control panel has the ability to swap between a rule and it's complement allowing reverse strobing to be investigated. With an empty universe the odd numbered rule strobes, changing state every generation some rules fill the universe with patterns that strobe in the odd rule a property referred to as reverse strobing. Golly does not support this rule simply running the even rule instead. The control panel has defined a set of three state rules which implement the odd numbered rules. This has two consequences firstly Golly has to be told where the rules are and secondly golly's population count is no longer meaningful.

A universe can be initialised with a random pattern, diagonal band, orthogonal band, checkerboard or an random filled island. A seed defined as a list of numbers 0-3 or as run length encoding of 'o', 'a', 'b' and 'c' ("00123" == "o2abc") is used to provide repeatable variations. The seed initialises the random sequence used for random patterns and imposes a pattern along one boundary of the bands and checkerboard patterns.

2. Features       top

3. Scripting       top

There are two different functions provided by scripts. They can contain commands to control the universe in the control panel. They may also invoke external lua modules that might perform searches in a background universes saving results to files. The commands may be in a file or got directly from the pase buffer.

3.1 Control Panel Universe Scripts

A verity of commands can put results into veriables which persist after the script has run. Lists of commands may be allocated to keys which then run when the key is pressed. This enables simple manual searches using the rule list and seed list and incremeting the universe size. The results can build up a report in a veriable which can then be put into the paste buffer.

3.2 Extrenal Module Search Scripts

These cripts are extensions intended for long searches through rules to collect information for statistical analysis. The script file has a standard format to pass information to external lua modules. These modules can use functions in the control panel modules to utilize Golly's features. A very simple example is Stain-Script.txt:

    SymCA scripting
    SCRIPT script2-Stain
    GENS = 84

SymCA scripting identifies the beginning, SCRIPT script2-Stain identifies the external module as script2-Stain.lua, GENS = gives the number of generation to pass to the module, ONECHANGE is a logical value to pass to the module and SCRIPTEND indicate the last instruction. This module adds a layer and colours cells which have changed state over the number of generations given. When ONECHANGE is true any cells in the initial layer that have changed state are deleted so that stacked layers give one colour for any cell that has changed state.

4. Changes       top

© 2024 Paul Rendell.

Last Update 11/March/24

Comments to Paul Rendell