A 2 state cellular automata uses rules that apply on a 3 by 3 neighborhood.

the bitmap can be encoded as a 9 bit long number

so we can represent the above transition as

there are 29 (i.e. 512) possible transitions 2 state 3x3 bitmap each yielding a 1 or a 0

we can represent this as a 512 digit long binary number

            0101011010100101110111010101010101010111100000100100001.. etc

this can be represented as a sequence of  64 hexadecimal pairs , each pair representing a 8 bits (28)

            00EA102020340230235645675020EA00000E232FDCCC5AA .. etc

This is called a Cellular Automata Rule Biology – CARB – which acts as a lookup table

There are 2512 possible CARBs (around 10151) and it would take a hell of a lot of computational effort to process all of them.

The objective is to find out which CARBS are viable and which ones are not. By viable, I mean when presented with a grid of cellular automata, applying the CARB to each of the cells in the grid does not cause the pattern to die out or become swamped or repeat.

Reference implementation is

Binary (windows) here
Application source code (delphi 6) here
reusable library source code (delphi 6) here

Note that all source code provided here is copyright and that a free license is provided for non commercial use. No suppport or guarantees are provided and no commercial use is permitted.