I've noticed that there doesn't seem to be any established notation to refer to the 64 different Margolus rules (besides writing out all the transitions), so I've thought up a system of referring to them similar to the one for Wolfram cellular automata. I'd be surprised if no-one thought of a system like this before, but I don't see it in use anywhere, so...

Firstly, take the six transitions of the rule; for convenience, let's list them in the order David Eppstein's website does (each digit represents a 2x2 block):

Code: Select all

```
00 00 00 01 11 11
00 01 11 10 10 11
```

Eppstein's website writes "-> 1" if a live block is produced, and "-> 0" otherwise. For the Margolus rule simulated by 2x2 blocks in the 2x2 rule (B36/S125), which is the most well-known of the Margolus rules to the point of often being referred to as simply "

*the* Margolus rule", we have:

Now, we concatenate those six digits into one binary string, and convert that to a decimal number, like the Wolfram rule naming scheme does. Thus, the Margolus rule in B36/S125 can be referred to as Margolus Rule 8, or M8.

Thoughts?

EDIT: I have decided to adopt dvgrn's suggestion below; the binary string is now converted to an octal number instead of decimal, meaning the Margolus rule in B36/S125 is now Margolus Rule 10, or M10.