Home  •  LifeWiki  •  Forums  •  Download Golly

## Naming scheme for Margolus rules

For discussion of other cellular automata.

### Naming scheme for Margolus rules

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):
`00    00    00    01    11    1100    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:
`0     0     1     0     0     0`

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.
Last edited by 77topaz on May 30th, 2018, 4:13 pm, edited 2 times in total.

77topaz

Posts: 1345
Joined: January 12th, 2018, 9:19 pm

### Re: Naming scheme for Margolus rules

Of course there are actually 2^16 anisotropic Margolus rules.
Please, stop spam searching Snowflakes.

Majestas32

Posts: 524
Joined: November 20th, 2017, 12:22 pm
Location: 'Merica

### Re: Naming scheme for Margolus rules

Majestas32 wrote:Of course there are actually 2^16 anisotropic Margolus rules.

Yes, that's true, but there are only 64 totalistic ones, and the totalistic Margolus rules are used a lot more often than non-totalistic ones.

77topaz

Posts: 1345
Joined: January 12th, 2018, 9:19 pm

### Re: Naming scheme for Margolus rules

77topaz wrote: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.

I suppose this is a reasonable standard, with the weight of some precedent behind it.

That said, the Wolfram naming scheme always seemed painfully unintuitive -- the conversion to decimal is just a way of obscuring the bits on which the rule is based.

In this case, the number fits really nicely into two digits in base 8. Any takers for numbering Margolus rules in octal?

dvgrn
Moderator

Posts: 5560
Joined: May 17th, 2009, 11:00 pm

### Re: Naming scheme for Margolus rules

dvgrn wrote:I suppose this is a reasonable standard, with the weight of some precedent behind it.

That said, the Wolfram naming scheme always seemed painfully unintuitive -- the conversion to decimal is just a way of obscuring the bits on which the rule is based.

In this case, the number fits really nicely into two digits in base 8. Any takers for numbering Margolus rules in octal?

That also seems acceptable to me. With an octal system, the Margolus rule that B36/S125 simulates becomes Margolus Rule 10, or M10.

Another, related standard I think might be useful to establish is a way of referring to each of the five media that can support Margolus simulations in Life-like cellular automata (each digit represents a single cell in this case):
`00    00    01    11    1101    11    10    10    11`

We could use something like, from left to right, "s" (for "single"/"solo"; my first thought, "dot", conflicts with "diagonal"), "o" (for "orthogonal"), "d" (for "diagonal"), "p" (for "preblock") and "b" (for "block"). Combining this with the numbering system above gives a way of describing exactly the Margolus simulations a Life-like/Moore rule supports without requiring diagrams: "B36/S125 supports M10b", or "B2c3-cekq4ikt5i8/S2-in3-acky4aijry5eiky6i supports M10s, M10o, M10d and M10b".

77topaz

Posts: 1345
Joined: January 12th, 2018, 9:19 pm

### Re: Naming scheme for Margolus rules

Recently, I found out about a new class of Margolus emulation in isotropic non-totalistic Life-like cellular automata: a diagonal version. Whereas the simplest orthogonal Margolus emulation requires only B2c to function (M10s in B2c/S), this version requires only B2e:

`x = 25, y = 6, rule = B2e/S24bo\$13bo9bo\$3bo8bo9bo\$2bo8bo9bo\$bo8bo9bo\$o8bo9bo!`

These diagonal Margolus oscillators can also coexist with spaceships:
`x = 36, y = 6, rule = B2e3-ce/S2-cn3-ce24bo\$13bo9bo\$3bo8bo9bo\$2bo8bo9bo11b2o\$bo8bo9bo11bo2bo\$o8bo9bo14bo!`

77topaz

Posts: 1345
Joined: January 12th, 2018, 9:19 pm