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 86 base64 encoded digits, each digit representing a 6bits (26)

cSxiP76ha5PhKgVMfLwyBwCj38C2+FpcTV84Wc8Rht1z2Eamnp8hDLMw8YsTbGnqjo6MA97eXYGUw7Rz1ljFHA

.. etc

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

There are 2512 possible CARBs (around 10151, which is more than the estimated number of atoms in the universe) 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

Note that Delphi source code is available under a free license for non commercial use.