Gluonic

For discussion of other cellular automata.
Yoel
Posts: 463
Joined: July 2nd, 2020, 1:02 am
Location: Electronic jungle
Contact:

Re: Gluonic

Post by Yoel »

Layz Boi wrote: August 20th, 2020, 6:28 am You can also do it using math.

This works because 432 is divisible by 12.
That's what I meant. In your notation of (a+3n) it corresponds to a ≡ 0 (mod 3). If you solve it by hand, it may take considerable time. Try to find the stretching value for, say, 233. Why not to let machines to do such boring tasks for us? It's what they are for, aren't they?

BTW, talking about machines, I tried to run Apgsearch with this rule... it simply doesn't work. It takes up to 10-30 minutes to process just one soup on a 4-core 4 GHz. Apgluxe crashes after 8-10 soups. Didn't try with the Python version yet, but even if does work, it'll probably take half a year to produce one 10000-soup haul... and still would not work! I've logged about 40 processed soups and found out that Apgsearch doesn't know how to filter out pseudo still-lifes and groups of close, but independent gliders. Hauls submitted for Generations rules on Catagolue suffer from the same problem: Many recorded "objects" are groups of independent objects put next to each other, sometimes even separated by 5 of more cells.

I didn't check the Agpsearch's code yet, but I suspect that the first problem has to do with the abundance of natural breeders, while the filtering problem is due to having more than 2 states and, in the case of this rules family, with having different-looking color flavors and phases of the same object.
Last edited by Yoel on August 26th, 2020, 10:20 am, edited 2 times in total.
User avatar
bubblegum
Posts: 961
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: Gluonic

Post by bubblegum »

Yoel wrote: August 26th, 2020, 1:06 am [a]pgsearch doesn't know how to filter out pseudo still-lifes and groups of close, but independent gliders. Hauls submitted for Generations rules on Catagolue suffer from the same problem: Many recorded "objects" are groups of independent objects put next to each other, sometimes even separated by 5 of more cells.

I didn't check the [a]gpsearch's code yet, but I suspect that the first problem has to do with the abundance of natural breeders, while the filtering problem is due to having more than 2 states and, in the case of this rules family, with having different-looking color flavors and phases of the same object.
These are even problems in Life-like CA. Filter Problem #1 is mostly exemplified because apgsearch (used to?) separates one object from the entire pseudo and censuses the rest, leading to strange things like 3/4ths of a still life. I have no idea why Filter Problem #2 even exists, IIRC the worst it got was 800+ cells separation. It isn't the multi-state; apgsearch is not perfect.
The slowdowns are almost definitely due to abundance of infinite growth. For an example, try searching b3-nqrs23, a rule with a fairly common diagonal puffer evolving from the century.
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:July 2nd, 2020, 8:33 pmconwaylife signatures are amazing[citation needed]
anything
Yoel
Posts: 463
Joined: July 2nd, 2020, 1:02 am
Location: Electronic jungle
Contact:

Re: Gluonic

Post by Yoel »

bubblegum wrote: August 26th, 2020, 2:14 am These are even problems in Life-like CA. Filter Problem #1 is mostly exemplified because apgsearch (used to?) separates one object from the entire pseudo and censuses the rest, leading to strange things like 3/4ths of a still life. I have no idea why Filter Problem #2 even exists, IIRC the worst it got was 800+ cells separation. It isn't the multi-state; apgsearch is not perfect.
The slowdowns are almost definitely due to abundance of infinite growth. For an example, try searching b3-nqrs23, a rule with a fairly common diagonal puffer evolving from the century.
B3-nqrs23 only slows down the search. I successfully ran and submitted a 10000-soup haul in about 3 hours. But you're right: Apgsearch can't handle even 1 soup of Seeds. Since my rules produce very regular breeders, easily cached by Golly, they are kind of in between. I would think that it should be easy to add an option to limit the searches to a certain number of generations, which would (partially?) solve the hanging problem.

EDIT:

Strange... Apgsearch indicated that my b3-nqrs23 haul has been submitted and I have the log, but It does not show up in Catagolue. Another bug?
User avatar
Ian07
Moderator
Posts: 899
Joined: September 22nd, 2018, 8:48 am
Location: Pennsylvania, US

Re: Gluonic

Post by Ian07 »

Yoel wrote: August 28th, 2020, 7:27 am Strange... Apgsearch indicated that my b3-nqrs23 haul has been submitted and I have the log, but It does not show up in Catagolue. Another bug?
Catagolue only adds hauls to the census every 12 minutes, before which they're put in the "uncommitted" queue. The haul's on there now: https://catagolue.appspot.com/haul/b3-n ... 95bf36471a
Wiki: http://www.conwaylife.com/wiki/User:Ian07
Discord: lan07 (yes, that's a lowercase L)

xs24_69bobjob96
Yoel
Posts: 463
Joined: July 2nd, 2020, 1:02 am
Location: Electronic jungle
Contact:

Re: Gluonic

Post by Yoel »

Ian07 wrote: August 28th, 2020, 11:57 am
Yoel wrote: August 28th, 2020, 7:27 am Strange... Apgsearch indicated that my b3-nqrs23 haul has been submitted and I have the log, but It does not show up in Catagolue. Another bug?
Catagolue only adds hauls to the census every 12 minutes, before which they're put in the "uncommitted" queue. The haul's on there now: https://catagolue.appspot.com/haul/b3-n ... 95bf36471a
I see, thanks, good to know!
User avatar
bubblegum
Posts: 961
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: Gluonic

Post by bubblegum »

Yoel wrote: August 28th, 2020, 7:27 am
bubblegum wrote: August 26th, 2020, 2:14 am These are even problems in Life-like CA. Filter Problem #1 is mostly exemplified because apgsearch (used to?) separates one object from the entire pseudo and censuses the rest, leading to strange things like 3/4ths of a still life. I have no idea why Filter Problem #2 even exists, IIRC the worst it got was 800+ cells separation. It isn't the multi-state; apgsearch is not perfect.
The slowdowns are almost definitely due to abundance of infinite growth. For an example, try searching b3-nqrs23, a rule with a fairly common diagonal puffer evolving from the century.
B3-nqrs23 only slows down the search. I successfully ran and submitted a 10000-soup haul in about 3 hours. But you're right: Apgsearch can't handle even 1 soup of Seeds. Since my rules produce very regular breeders, easily cached by Golly, they are kind of in between. I would think that it should be easy to add an option to limit the searches to a certain number of generations, which would (partially?) solve the hanging problem.

EDIT:

Strange... Apgsearch indicated that my b3-nqrs23 haul has been submitted and I have the log, but It does not show up in Catagolue. Another bug?
Okay, bad example. Try b2ei3ij4aqw5c8s1c2-ai3-a4ew8 instead.
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:July 2nd, 2020, 8:33 pmconwaylife signatures are amazing[citation needed]
anything
bprentice
Posts: 920
Joined: September 10th, 2009, 6:20 pm
Location: Coos Bay, Oregon

Re: Gluonic

Post by bprentice »

Yoel,

Please write a concise definition of Gluonic like the excellent one that you recently wrote for Morse.

1. 2 cells of 2 different colors give births to a cell of the third color.
2. 1 cell of one color and 2 cells of another color give birth to a cell of the first (minority) color.
3. A cell survives, if surrounded by 2 or 3 cells of the same color.


This link from your introduction is broken:

https://github.com/yoelmatveyev/Firewor ... er/Gluonic

Brian Prentice
Yoel
Posts: 463
Joined: July 2nd, 2020, 1:02 am
Location: Electronic jungle
Contact:

Re: Gluonic

Post by Yoel »

bprentice wrote: September 7th, 2020, 9:03 am Yoel,

Please write a concise definition of Gluonic like the excellent one that you recently wrote for Morse.

1. 2 cells of 2 different colors give births to a cell of the third color.
2. 1 cell of one color and 2 cells of another color give birth to a cell of the first (minority) color.
3. A cell survives, if surrounded by 2 or 3 cells of the same color.


This link from your introduction is broken:

https://github.com/yoelmatveyev/Firewor ... er/Gluonic

Brian Prentice
Sure:

1. A cell is born, if surrounded by 2 cells of the same color. The newborn cell takes the next color in the cycle: two red cells give birth to a green cell, 2 green to blue, 2 blue to red.

2. A cell of a certain color is born, when surrounded by one cell of the previous color in the cycle and two cells of the next color: one red cell and two blue cells give birth to a green cell, 1 green cell and 2 red cells give birth to a blue cell, 1 blue cells and 2 green cells give birth to a red cell.

3. A cell survives, if it stands alone, surrounded by 2 cells of 2 different colors or surrounded by 3 cells of any color.


Note that since this rule is cyclical, it does not imply that two red cells and 1 blue cell give birth to a green cell etc. That would be another cyclical rule (too exploding).

I switched most of my research to the more simple rule Gluons (the same as above, but without the 2nd rule), which happens to have a rich variety of oscillators, guns, splitters, reflectors, compact AND, NOT, NOR, NAND gates, memory cells etc. But this extra rule adds some unique dynamics, sparky spaceships and other interesting things.

I am now reshuffling my repositories and adding many new patterns. When I settle on the URL settings, I'll provide the permanent link. You can easily browse the repositories though and find the patterns and basic information.

Probably, I'll also either rewrite my ruletable generator as a Golly script, or just make a Lua wrapper that executes the Lisp code. Lua sounds like a fairly simple language, but I never had time to put hand to it.

You may also find interesting my old rule Fireworld, kind of hybrid of Brian's Brain and Seeds with stable 1-cell dots that are easy to utilize as memory cells, triggers and unstable reflectors synchronized by corresponding period guns.
Yoel
Posts: 463
Joined: July 2nd, 2020, 1:02 am
Location: Electronic jungle
Contact:

Re: Gluonic

Post by Yoel »

Layz Boi wrote: August 15th, 2020, 7:03 pm For n >= 0:

Periods (17+3n) covered with the single loop, by extending it by increments of 2(6) and containing 8 equally-spaced gliders.
(136 + 24n)/8

Periods (37+3n) covered with the double loop, by extending a loop by 2(6) with 8 gliders.
(296 + 24n)/8

Periods (27+3n) covered with the triple loop, by extending a loop by 4(6) with 16 gliders.
(432 + 48n)/16

So, remaining periods should be: (7,10,11,13-15,18,19,21,22,25,28,31,34)
Something completely trivial just occurred to me. Your triple loop, if properly stretched, can also be used as a universal gun with any period >=17:

Code: Select all

x = 160, y = 206, rule = Gluonic
20$79.BA$79.C2$30.B45.A$19.CA3.C2.CA.CA36.CB5.BC$20.B2.AB3.B40.A$21.C
6.A$22.B14.B16.CB15.A12.C$12.A5.A6.A9.B16.C16.A13.BA$12.BC4.A5.AC9.B
16.C16.A$20.A3.A12.B16.CB15.AC6.2C$24.A46.A11.A$15.AC8.C39.B4.C4.A7.B
C$16.B7.AB39.CA3.BA3.BC$82.2A$84.C$83.BA$25.A$24.CB58.CB$16.BA66.A$
16.C$20.B.B$25.A$20.2B2.BC4$79.2A2$78.A2.A6$84.C$83.AB$19.C2.C$19.A2.
A2$20.2A53.C$74.AB$83.AB$84.C$79.2B2$78.B2.B$78.A2$75.C20.C15.AB16.A
15.BC$75.AB5.B15.C16.B16.A16.C$81.ABA14.C16.B16.A16.C$95.BC16.B15.CA
16.C$76.A5.C$75.CB5.A.A$19.C2.C60.CB2$20.2C53.C$75.AB2$74.BC$75.A3.2C
2$78.C2.C8$19.A2.A$19.B2.B2$20.2B4$79.2A2$78.A2.A$78.C2.C2$82.ABC$81.
B2.A$82.AB$75.C$75.BA$83.CB$19.A2.A61.A23.BA$108.C$20.2A$105.A$75.B7.
AB12.CB5.BC$74.AC8.C13.A$79.2B$91.AC20.C$71.BC16.A16.B5.BA$71.A17.A
16.B$15.A75.AC2.B$15.BC77.A.A15.A$79.B2.AB3.B6.B.B2.C4.A7.BC$16.AB60.
CA3.C2.CA.CA3.CA3.BA3.BC$16.C72.B$17.2A51.B42.C$24.CB3.AB3.AC33.AC.AC
2.C3.AC30.BA$16.CB7.A4.C4.B36.B3.BA2.B$17.A11.A42.A6.C28.2A3.CB$20.2C
6.CA15.BC16.B14.B34.A$31.A16.C16.B9.A6.A5.A18.A2.A$16.AB13.A16.C16.B
9.CA5.A4.CB18.C2.C$16.C12.A15.BC16.B12.A3.A$76.A34.ABC$31.A43.C8.CA
24.B2.A$24.CB5.BC42.BA7.B26.AB$24.A79.C$104.BA$21.C90.CB$20.AB53.A37.
A23.BA$75.BC60.C$83.AB$84.C49.A$78.B.B23.B7.AB12.CB5.BC$75.A27.AC8.C
13.A$75.CB2.2B27.2B$120.AC20.C$100.BC16.A16.B5.BA$100.A17.A16.B$75.A
44.AC2.B$74.BC47.A.A15.A$108.B2.AB3.B6.B.B2.C4.A7.BC$75.ABA29.CA3.C2.
CA.CA3.CA3.BA3.BC$75.C42.B$99.B42.C$79.AC2.CB3.AB3.AC3.AC.AC2.C3.AC
30.BA$75.CB3.3A.A4.C4.B6.B3.BA2.B$76.A24.A6.C28.2A3.CB$78.B13.B14.B
34.A$77.C16.B9.A6.A5.A18.A2.A$75.AB4.A10.B.B9.CA5.A4.CB18.C2.C$75.C
29.A3.A$79.2A24.A$90.A13.C8.CA$83.CB5.BC12.BA7.B$83.A2$80.C$79.AB23.A
$104.BC$112.AB$113.C$107.B.B$104.A$104.CB2.2B23.CB2.2B$133.A$136.B.B$
142.C$104.A36.AB$103.BC28.BC$133.A$104.ABA$104.C2$108.AC2.CB3.AB3.AC
9.BA7.B$104.CB3.3A.A4.C4.B9.C8.CA$105.A28.A$107.B13.B12.A3.A$106.C16.
B9.CA5.A4.CB$104.AB4.A10.B.B9.A6.A5.A$104.C31.B$108.2A20.A6.C$119.A
10.B3.BA2.B$112.CB5.BC6.AC.AC2.C3.AC$112.A15.B2$109.C$108.AB!
Joaquin
Posts: 3
Joined: October 27th, 2020, 10:33 pm

Re: Gluonic

Post by Joaquin »

On the second post, Yoel posted some spaceship guns in Gluonic. I was scribbling around with the pen and serendipitously discovered a puffer that alternates between three different colors of "dot" still lives.

Code: Select all

x = 5, y = 5, rule = Gluonic
2.A$4.A$.A2.A$3.A$A.A!
EDIT: Oops! I didn't even read the very next post before I posted this. That one features a variety of puffers, one being almost identical to mine except missing one cell. So now you know that that same puffer still works if you add the right cell in the right place at the right time.
Yoel
Posts: 463
Joined: July 2nd, 2020, 1:02 am
Location: Electronic jungle
Contact:

Re: Gluonic

Post by Yoel »

Joaquin wrote: October 28th, 2020, 5:07 pm On the second post, Yoel posted some spaceship guns in Gluonic. I was scribbling around with the pen and serendipitously discovered a puffer that alternates between three different colors of "dot" still lives.

Code: Select all

x = 5, y = 5, rule = Gluonic
2.A$4.A$.A2.A$3.A$A.A!
EDIT: Oops! I didn't even read the very next post before I posted this. That one features a variety of puffers, one being almost identical to mine except missing one cell. So now you know that that same puffer still works if you add the right cell in the right place at the right time.
Thanks! This rule, as well as its twin rule Gluons, is so abundant with puffers that it's even hard to catalog them!

Tamed puffers and rakes are also a natural source of "megaships":

Code: Select all

x = 225, y = 157, rule = Gluonic
6$83.C$85.C$85.C$83.C3$81.2A2$80.A2.A2$108.C$106.C.C.C$96.C3.A3.C6.C$
76.C27.B.2B.B3.C$78.C10.2A22.C$78.C16.3A9.B4.C$74.C21.C3.AB5.AB2.C$
69.A4.C17.A5.B4.B$67.C2.B3.C9.C4.A3.C.C5.B.B$69.A4.C16.B7.A$74.C18.C.
C5.B2.C$78.C13.A11.C$78.C23.C$76.C18.A28$104.C$29.A73.B3.AB$31.A66.B
11.B$31.A65.A5.B6.B$28.CA56.C9.C2.B2.C.C2.AB47.B14.B$22.B43.B18.BCBC
6.2A2.A12.A15.A15.A10.ABA8.C3.B.B$20.A2.C13.A15.B21.B.B8.C.CBC.B.A.A
5.A7.A15.A15.A13.B7.BA7.B$22.B52.B.B11.C.A2.A15.A15.A15.A13.B7.B8.B$
28.CA55.B5.AB3.A15.A15.A15.A10.ABA11.B.B$31.A58.C65.B13.B$31.A$29.A
29$33.C7.C.B$33.A6.A4.B$43.B.B$31.A8.BA$40.C.C6.B7.A7.C7.B17.C$39.A2.
BA3.CA.AC3.BC.CB3.AB.BA3.CA.AC3.B13.C$40.B.C5.B.B5.A.A5.C.C5.B.B8.C7.
C.C$83.C3.C.C$79.CB6.C.C$80.A.CB14.B7.A11.C7.C$82.C29.A.AC8.C2.B.A$
124.C6.A15.B.B$113.B13.B3.A18.B$126.CA.A18.B2.B$123.B2.B.2A21.B$123.C
2.C2.C3.A3.B3.C3.A3.B2$124.2C5$121.C$123.C$123.C$121.C!
User avatar
confocaloid
Posts: 6697
Joined: February 8th, 2022, 3:15 pm
Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms

Re: Gluonic

Post by confocaloid »

It's interesting that you are emphasizing that a rule prescribing what happens with a cell does imply rules obtained by permuting cellstates cyclically, but doesn't imply rules obtained by any other permutations of cellstates.

Did you investigate what are the possibilities when every rule implies rules obtained by all permutations of cellstates? (6 instead of 3 permutations with three cellstates (either counting or not counting zero), 24 instead of 4 permutations with four cellstates, and so on.) One can expect that such additional symmetries would allow a noticeable simplification in terms of the ability to write down a concise human-readable definition of the rules; but are there any known "interesting" rulesets of this type?

At least, one can begin with a two-state self-complementary CA (for example Day & Night):
  • Define the rules so that every pattern containing only two different cellstates (no matter which ones) evolves essentially the same way as it would evolve in Day & Night.
  • In those cases when the neighbourhood of a cell contains more than two distinct cellstates, a simple choice of the rule to be followed is "stay unchanged".
  • The resulting set of rules could be further tweaked, for example by choosing a different behaviour for those cases when the neighbourhood of a cell contains three or more distinct cellstates, and by letting (n-1)-state patterns evolve into n-state patterns under certain conditions. (Say, in a three-state CA, one could let two-state patterns evolve into three-state patterns.)
Here is an example:

Code: Select all

#C Arbitrarily wide wickstretchers by Alexey_Nigin (October 2014)
#C https://conwaylife.com/forums/viewtopic.php?p=13769#p13769
x = 188, y = 72, rule = DaN3
4.3A.2A168.2B.3B$4.5A.A5.A.A12.5A7.A9.A9.A9.A9.A20.B9.B9.B9.B9.B7.5B
12.B.B5.B.5B$.9A4.5A5.A.3A.A5.A3.3A.3A3.3A.3A3.3A.3A3.3A.3A3.3A.3A14.
3B.3B3.3B.3B3.3B.3B3.3B.3B3.3B.3B3.B5.B.3B.B5.5B4.9B$A.8A2.8A2.4A3.
60A10.60B3.4B2.8B2.8B.B$20A.68A10.68B.20B$A.86A12.86B.B$.88A10.88B$2.
A.84A12.84B.B$2.A.84A12.84B.B$.88A10.88B$A.87A10.87B.B$15A3BA2B67A12.
67B2AB3A15B$A.13A5BAB5ABAB12A5B7AB9AB9AB14A10.14BA9BA9BA7B5A12BABA5BA
B5A13B.B$.11A9B4A5B5ABA3BAB5AB3A3BA3B3A3BA3B3A3BA3B11A10.11B3AB3A3B3A
B3A3B3AB3A3BA5BAB3ABA5B5A4B9A11B$2.A.7ABA8B2A8B2A4B3A40B8A12.8B40A3B
4A2B8A2B8ABA7B.B$2.A.7A20BA48B8A12.8B48AB20A7B.B$.10ABA66B10A10.10B
66ABA10B$A.10A68B9A10.9B68A10B.B$13ABA64B9A12.9B64ABA13B$A.11ABA64B
10A10.10B64ABA11B.B$.11A68B9A10.9B68A11B$2.A.7ABA12B3.B2.49B8A12.8B
49A2.A3.12ABA7B.B$2.A.7A14B5.B.5B.B.12B5.7B.14B9A12.9B14A.7A5.12A.A.
5A.A5.14A7B.B$.10ABA9B9.4B5.5B.B3.B.5B.3B3.B3.12B9A10.9B12A3.A3.3A.5A
.A3.A.5A5.4A9.9ABA10B$A.10A9B.B8.2B8.2B4.3B20.10B9A10.9B10A20.3A4.2A
8.2A8.A.9A10B.B$13ABA6B20.B28.9B9A12.9B9A28.A20.6ABA13B$A.11ABA6B.B
46.10B10A10.10B10A46.A.6ABA11B.B$.11A10B48.10B9A10.9B10A48.10A11B$2.A
.7ABA10B.B44.11B8A12.8B11A44.A.10ABA7B.B$2.A.7A12B.B44.10B9A12.9B10A
44.A.12A7B.B$.10ABA9B48.10B9A10.9B10A48.9ABA10B$A.10A9B.B47.10B9A10.
9B10A47.A.9A10B.B$13ABA6B48.10B9A12.9B10A48.6ABA13B$A.11ABA6B.B47.9B
10A10.10B9A47.A.6ABA11B.B$.11A10B48.10B9A10.9B10A48.10A11B$2.A.7ABA
10B.B44.11B8A12.8B11A44.A.10ABA7B.B$2.A.7A12B.B44.10B9A12.9B10A44.A.
12A7B.B$.10ABA9B48.10B9A10.9B10A48.9ABA10B$A.10A9B.B47.10B9A10.9B10A
47.A.9A10B.B$13ABA6B48.10B9A12.9B10A48.6ABA13B$A.11ABA6B.B47.9B10A10.
10B9A47.A.6ABA11B.B$.11A10B48.10B9A10.9B10A48.10A11B$2.A.7ABA10B.B44.
11B8A12.8B11A44.A.10ABA7B.B$2.A.7A12B.B44.10B9A12.9B10A44.A.12A7B.B$.
10ABA9B48.10B9A10.9B10A48.9ABA10B$A.10A9B.B46.11B9A10.9B11A46.A.9A10B
.B$13ABA6B20.B28.9B9A12.9B9A28.A20.6ABA13B$A.11ABA6B.B8.2B8.2B4.3B20.
9B10A10.10B9A20.3A4.2A8.2A8.A.6ABA11B.B$.11A10B9.4B5.5B.B3.B.5B.3B3.B
3.12B9A10.9B12A3.A3.3A.5A.A3.A.5A5.4A9.10A11B$2.A.7ABA12B5.B.5B.B.12B
5.7B.15B8A12.8B15A.7A5.12A.A.5A.A5.12ABA7B.B$2.A.7A14B3.B2.48B9A12.9B
48A2.A3.14A7B.B$.10ABA67B9A10.9B67ABA10B$A.10A68B9A10.9B68A10B.B$13AB
A64B9A12.9B64ABA13B$A.11ABA64B10A10.10B64ABA11B.B$.11A68B9A10.9B68A
11B$2.A.7ABA66B9A12.9B66ABA7B.B$2.A.7A20BA48B8A12.8B48AB20A7B.B$.10AB
A8B2A8B2A4B3A40B9A10.9B40A3B4A2B8A2B8ABA10B$A.10A9B4A5B5ABA3BAB5AB3A
3BA3B3A3BA3B3A3BA3B11A10.11B3AB3A3B3AB3A3B3AB3A3BA5BAB3ABA5B5A4B9A10B
.B$15A5BAB5ABAB12A5B7AB9AB9AB13A12.13BA9BA9BA7B5A12BABA5BAB5A15B$A.
13A3BA2B68A10.68B2AB3A13B.B$.88A10.88B$2.A.84A12.84B.B$2.A.84A12.84B.
B$.88A10.88B$A.86A12.86B.B$20A.68A10.68B.20B$A.8A2.8A2.4A3.60A10.60B
3.4B2.8B2.8B.B$.9A4.5A5.A.3A.A5.A3.3A.3A3.3A.3A3.3A.3A3.3A.3A3.3A.3A
14.3B.3B3.3B.3B3.3B.3B3.3B.3B3.3B.3B3.B5.B.3B.B5.5B4.9B$4.5A.A5.A.A
12.5A7.A9.A9.A9.A9.A20.B9.B9.B9.B9.B7.5B12.B.B5.B.5B$4.3A.2A168.2B.3B!

@RULE DaN3

https://conwaylife.com/forums/viewtopic.php?p=201884#p201884

@TREE

num_states=3
num_neighbors=8
num_nodes=97
1 0 0 0
1 0 0 2
1 0 1 0
2 0 1 2
1 0 1 2
2 1 1 4
2 2 4 2
3 3 5 6
1 1 1 2
2 1 8 4
2 4 4 4
3 5 9 10
1 2 1 2
2 2 4 12
3 6 10 13
4 7 11 14
2 8 4 4
3 9 16 10
3 10 10 10
4 11 17 18
2 12 4 4
3 13 10 20
4 14 18 21
5 15 19 22
2 4 1 4
3 16 24 10
4 17 25 18
4 18 18 18
5 19 26 27
2 4 4 2
3 20 10 29
4 21 18 30
5 22 27 31
6 23 28 32
3 24 9 10
4 25 34 18
5 26 35 27
5 27 27 27
6 28 36 37
3 29 10 13
4 30 18 39
5 31 27 40
6 32 37 41
7 33 38 42
2 8 8 4
3 9 44 10
4 34 45 18
5 35 46 27
6 36 47 37
6 37 37 37
7 38 48 49
2 12 4 12
3 13 10 51
4 39 18 52
5 40 27 53
6 41 37 54
7 42 49 55
8 43 50 56
1 1 1 1
1 0 1 1
2 8 58 59
2 4 59 59
3 44 60 61
1 0 2 2
2 4 59 63
3 10 61 64
4 45 62 65
2 4 63 4
3 10 64 67
4 18 65 68
5 46 66 69
2 4 4 59
3 10 67 71
4 18 68 72
5 27 69 73
6 47 70 74
3 10 71 64
4 18 72 76
5 27 73 77
6 37 74 78
7 48 75 79
2 4 63 63
3 10 64 81
4 18 76 82
5 27 77 83
6 37 78 84
7 49 79 85
8 50 80 86
1 2 2 2
2 12 63 88
3 51 81 89
4 52 82 90
5 53 83 91
6 54 84 92
7 55 85 93
8 56 86 94
9 57 87 95
Yoel wrote: July 24th, 2020, 2:04 am [...]
For the sake of symmetry and consistency, state transformations must be **cyclical**.

For example, if 2 cells of state A and 1 cell of state B give birth to a cell of state C in a 3-state automation (not counting the "ground" zero state),
then 2 cells of state B and 1 cell of state C must give birth to a cell of state A, and 2 cells of state C and 1 cell of state A must give birth to a cell of state B.

Note that this does not define the behavior of a cell surrounded by 2 cells of state B and 1 cell of state A. In a multistate universe it's a different rule, which may cause nothing or give birth to either A, B or C. If a cell is surrounded by an equal numbers of all states, it may not become alive, because it is impossible to define a cyclically consistent birth rule.

Thing become even more complicated, when it comes to survival rules. A surviving cell may be transformed in some cases into a different state; if a cell of state C survives or gets transformed by 2 cells of state B and 1 cell of state A, it does not imply that the same must happen with a cell of state B or A. These may be two different additional rules. The aforementioned rule does imply that if a cell of state C gets transformed into state B by 2 cells of state B and 1 cell of state A, then a cell of state A gets transformed into state C by 2 cells of state C and 1 cell of state B, and a cell of state B gets transformed into state A by 2 cells of state A and 1 cell of state C.
[...]
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Yoel
Posts: 463
Joined: July 2nd, 2020, 1:02 am
Location: Electronic jungle
Contact:

Re: Gluonic

Post by Yoel »

confocaloid wrote: January 18th, 2025, 6:08 am Did you investigate what are the possibilities when every rule implies rules obtained by all permutations of cellstates? (6 instead of 3 permutations with three cellstates (either counting or not counting zero), 24 instead of 4 permutations with four cellstates, and so on.) One can expect that such additional symmetries would allow a noticeable simplification in terms of the ability to write down a concise human-readable definition of the rules; but are there any known "interesting" rulesets of this type?
If I understood your idea correctly, my cyclical system does cover all permutations of cellstates.
confocaloid wrote: January 18th, 2025, 6:08 am At least, one can begin with a two-state self-complementary CA (for example Day & Night):
  • Define the rules so that every pattern containing only two different cellstates (no matter which ones) evolves essentially the same way as it would evolve in Day & Night.
  • In those cases when the neighbourhood of a cell contains more than two distinct cellstates, a simple choice of the rule to be followed is "stay unchanged".
  • The resulting set of rules could be further tweaked, for example by choosing a different behaviour for those cases when the neighbourhood of a cell contains three or more distinct cellstates, and by letting (n-1)-state patterns evolve into n-state patterns under certain conditions. (Say, in a three-state CA, one could let two-state patterns evolve into three-state patterns.)
I have shown a very similar rule within my cyclical rule space, already "further tweaked", Triple-DN or D3a35a6a62a7a71a8a-08b17b26b3a35a4a44a53b6a62a7a71a8a in my notation:

viewtopic.php?f=11&t=702&p=134823&hilit ... DN#p134823

Code: Select all

x = 224, y = 113, rule = Triple-DN
19$18.3A.2A168.2B.3B$18.5A.A5.A.A12.5A7.A9.A9.A9.A9.A20.B9.B9.B9.B9.B
7.5B12.B.B5.B.5B$15.9A4.5A5.A.3A.A5.A3.3A.3A3.3A.3A3.3A.3A3.3A.3A3.3A
.3A14.3B.3B3.3B.3B3.3B.3B3.3B.3B3.3B.3B3.B5.B.3B.B5.5B4.9B$14.A.8A2.
8A2.4A3.60A10.60B3.4B2.8B2.8B.B$14.20A.68A10.68B.20B$14.A.86A12.86B.B
$15.88A10.88B$16.A.84A12.84B.B$16.A.84A12.84B.B$15.88A10.88B$14.A.87A
10.87B.B$14.15A3BA2B67A12.67B2AB3A15B$14.A.13A5BAB5ABAB12A5B7AB9AB9AB
14A10.14BA9BA9BA7B5A12BABA5BAB5A13B.B$15.11A9B4A5B5ABA3BAB5AB3A3BA3B
3A3BA3B3A3BA3B11A10.11B3AB3A3B3AB3A3B3AB3A3BA5BAB3ABA5B5A4B9A11B$16.A
.7ABA8B2A8B2A4B3A40B8A12.8B40A3B4A2B8A2B8ABA7B.B$16.A.7A20BA48B8A12.
8B48AB20A7B.B$15.10ABA66B10A10.10B66ABA10B$14.A.10A68B9A10.9B68A10B.B
$14.13ABA64B9A12.9B64ABA13B$14.A.11ABA64B10A10.10B64ABA11B.B$15.11A
68B9A10.9B68A11B$16.A.7ABA12B3.B2.49B8A12.8B49A2.A3.12ABA7B.B$16.A.7A
14B5.B.5B.B.12B5.7B.14B9A12.9B14A.7A5.12A.A.5A.A5.14A7B.B$15.10ABA9B
9.4B5.5B.B3.B.5B.3B3.B3.12B9A10.9B12A3.A3.3A.5A.A3.A.5A5.4A9.9ABA10B$
14.A.10A9B.B8.2B8.2B4.3B20.10B9A10.9B10A20.3A4.2A8.2A8.A.9A10B.B$14.
13ABA6B20.B28.9B9A12.9B9A28.A20.6ABA13B$14.A.11ABA6B.B46.10B10A10.10B
10A46.A.6ABA11B.B$15.11A10B48.10B9A10.9B10A48.10A11B$16.A.7ABA10B.B
44.11B8A12.8B11A44.A.10ABA7B.B$16.A.7A12B.B44.10B9A12.9B10A44.A.12A7B
.B$15.10ABA9B48.10B9A10.9B10A48.9ABA10B$14.A.10A9B.B47.10B9A10.9B10A
47.A.9A10B.B$14.13ABA6B48.10B9A12.9B10A48.6ABA13B$14.A.11ABA6B.B47.9B
10A10.10B9A47.A.6ABA11B.B$15.11A10B48.10B9A10.9B10A48.10A11B$16.A.7AB
A10B.B44.11B8A12.8B11A44.A.10ABA7B.B$16.A.7A12B.B44.10B9A12.9B10A44.A
.12A7B.B$15.10ABA9B48.10B9A10.9B10A48.9ABA10B$14.A.10A9B.B47.10B9A10.
9B10A47.A.9A10B.B$14.13ABA6B48.10B9A12.9B10A48.6ABA13B$14.A.11ABA6B.B
47.9B10A10.10B9A47.A.6ABA11B.B$15.11A10B48.10B9A10.9B10A48.10A11B$16.
A.7ABA10B.B44.11B8A12.8B11A44.A.10ABA7B.B$16.A.7A12B.B44.10B9A12.9B
10A44.A.12A7B.B$15.10ABA9B48.10B9A10.9B10A48.9ABA10B$14.A.10A9B.B46.
11B9A10.9B11A46.A.9A10B.B$14.13ABA6B20.B28.9B9A12.9B9A28.A20.6ABA13B$
14.A.11ABA6B.B8.2B8.2B4.3B20.9B10A10.10B9A20.3A4.2A8.2A8.A.6ABA11B.B$
15.11A10B9.4B5.5B.B3.B.5B.3B3.B3.12B9A10.9B12A3.A3.3A.5A.A3.A.5A5.4A
9.10A11B$16.A.7ABA12B5.B.5B.B.12B5.7B.15B8A12.8B15A.7A5.12A.A.5A.A5.
12ABA7B.B$16.A.7A14B3.B2.48B9A12.9B48A2.A3.14A7B.B$15.10ABA67B9A10.9B
67ABA10B$14.A.10A68B9A10.9B68A10B.B$14.13ABA64B9A12.9B64ABA13B$14.A.
11ABA64B10A10.10B64ABA11B.B$15.11A68B9A10.9B68A11B$16.A.7ABA66B9A12.
9B66ABA7B.B$16.A.7A20BA48B8A12.8B48AB20A7B.B$15.10ABA8B2A8B2A4B3A40B
9A10.9B40A3B4A2B8A2B8ABA10B$14.A.10A9B4A5B5ABA3BAB5AB3A3BA3B3A3BA3B3A
3BA3B11A10.11B3AB3A3B3AB3A3B3AB3A3BA5BAB3ABA5B5A4B9A10B.B$14.15A5BAB
5ABAB12A5B7AB9AB9AB13A12.13BA9BA9BA7B5A12BABA5BAB5A15B$14.A.13A3BA2B
68A10.68B2AB3A13B.B$15.88A10.88B$16.A.84A12.84B.B$16.A.84A12.84B.B$
15.88A10.88B$14.A.86A12.86B.B$14.20A.68A10.68B.20B$14.A.8A2.8A2.4A3.
60A10.60B3.4B2.8B2.8B.B$15.9A4.5A5.A.3A.A5.A3.3A.3A3.3A.3A3.3A.3A3.3A
.3A3.3A.3A14.3B.3B3.3B.3B3.3B.3B3.3B.3B3.3B.3B3.B5.B.3B.B5.5B4.9B$18.
5A.A5.A.A12.5A7.A9.A9.A9.A9.A20.B9.B9.B9.B9.B7.5B12.B.B5.B.5B$18.3A.
2A168.2B.3B!
I'll see how DaN3 (is it your rule?) is expressed in my notation.

UPDATE:

DaN3 seems to be identical to D3a35a6a62a7a71a8a-01a02a11ar3ar12ar4ar13ar22ar05a14ar23ar6ar15ar24ar33ar7ar16ar25ar34ar17b26b35a44a53b62a71a8a08b
in my notation, where live cells die and don't stay unchanged by default, unless specified otherwise in each case of state combinations.

Code: Select all

#C Arbitrarily wide wickstretchers by Alexey_Nigin (October 2014)
#C https://conwaylife.com/forums/viewtopic.php?p=13769#p13769
x = 188, y = 72, rule = DaN3-Y
4.3A.2A168.2B.3B$4.5A.A5.A.A12.5A7.A9.A9.A9.A9.A20.B9.B9.B9.B9.B7.5B
12.B.B5.B.5B$.9A4.5A5.A.3A.A5.A3.3A.3A3.3A.3A3.3A.3A3.3A.3A3.3A.3A14.
3B.3B3.3B.3B3.3B.3B3.3B.3B3.3B.3B3.B5.B.3B.B5.5B4.9B$A.8A2.8A2.4A3.
60A10.60B3.4B2.8B2.8B.B$20A.68A10.68B.20B$A.86A12.86B.B$.88A10.88B$2.
A.84A12.84B.B$2.A.84A12.84B.B$.88A10.88B$A.87A10.87B.B$15A3BA2B67A12.
67B2AB3A15B$A.13A5BAB5ABAB12A5B7AB9AB9AB14A10.14BA9BA9BA7B5A12BABA5BA
B5A13B.B$.11A9B4A5B5ABA3BAB5AB3A3BA3B3A3BA3B3A3BA3B11A10.11B3AB3A3B3A
B3A3B3AB3A3BA5BAB3ABA5B5A4B9A11B$2.A.7ABA8B2A8B2A4B3A40B8A12.8B40A3B
4A2B8A2B8ABA7B.B$2.A.7A20BA48B8A12.8B48AB20A7B.B$.10ABA66B10A10.10B
66ABA10B$A.10A68B9A10.9B68A10B.B$13ABA64B9A12.9B64ABA13B$A.11ABA64B
10A10.10B64ABA11B.B$.11A68B9A10.9B68A11B$2.A.7ABA12B3.B2.49B8A12.8B
49A2.A3.12ABA7B.B$2.A.7A14B5.B.5B.B.12B5.7B.14B9A12.9B14A.7A5.12A.A.
5A.A5.14A7B.B$.10ABA9B9.4B5.5B.B3.B.5B.3B3.B3.12B9A10.9B12A3.A3.3A.5A
.A3.A.5A5.4A9.9ABA10B$A.10A9B.B8.2B8.2B4.3B20.10B9A10.9B10A20.3A4.2A
8.2A8.A.9A10B.B$13ABA6B20.B28.9B9A12.9B9A28.A20.6ABA13B$A.11ABA6B.B
46.10B10A10.10B10A46.A.6ABA11B.B$.11A10B48.10B9A10.9B10A48.10A11B$2.A
.7ABA10B.B44.11B8A12.8B11A44.A.10ABA7B.B$2.A.7A12B.B44.10B9A12.9B10A
44.A.12A7B.B$.10ABA9B48.10B9A10.9B10A48.9ABA10B$A.10A9B.B47.10B9A10.
9B10A47.A.9A10B.B$13ABA6B48.10B9A12.9B10A48.6ABA13B$A.11ABA6B.B47.9B
10A10.10B9A47.A.6ABA11B.B$.11A10B48.10B9A10.9B10A48.10A11B$2.A.7ABA
10B.B44.11B8A12.8B11A44.A.10ABA7B.B$2.A.7A12B.B44.10B9A12.9B10A44.A.
12A7B.B$.10ABA9B48.10B9A10.9B10A48.9ABA10B$A.10A9B.B47.10B9A10.9B10A
47.A.9A10B.B$13ABA6B48.10B9A12.9B10A48.6ABA13B$A.11ABA6B.B47.9B10A10.
10B9A47.A.6ABA11B.B$.11A10B48.10B9A10.9B10A48.10A11B$2.A.7ABA10B.B44.
11B8A12.8B11A44.A.10ABA7B.B$2.A.7A12B.B44.10B9A12.9B10A44.A.12A7B.B$.
10ABA9B48.10B9A10.9B10A48.9ABA10B$A.10A9B.B46.11B9A10.9B11A46.A.9A10B
.B$13ABA6B20.B28.9B9A12.9B9A28.A20.6ABA13B$A.11ABA6B.B8.2B8.2B4.3B20.
9B10A10.10B9A20.3A4.2A8.2A8.A.6ABA11B.B$.11A10B9.4B5.5B.B3.B.5B.3B3.B
3.12B9A10.9B12A3.A3.3A.5A.A3.A.5A5.4A9.10A11B$2.A.7ABA12B5.B.5B.B.12B
5.7B.15B8A12.8B15A.7A5.12A.A.5A.A5.12ABA7B.B$2.A.7A14B3.B2.48B9A12.9B
48A2.A3.14A7B.B$.10ABA67B9A10.9B67ABA10B$A.10A68B9A10.9B68A10B.B$13AB
A64B9A12.9B64ABA13B$A.11ABA64B10A10.10B64ABA11B.B$.11A68B9A10.9B68A
11B$2.A.7ABA66B9A12.9B66ABA7B.B$2.A.7A20BA48B8A12.8B48AB20A7B.B$.10AB
A8B2A8B2A4B3A40B9A10.9B40A3B4A2B8A2B8ABA10B$A.10A9B4A5B5ABA3BAB5AB3A
3BA3B3A3BA3B3A3BA3B11A10.11B3AB3A3B3AB3A3B3AB3A3BA5BAB3ABA5B5A4B9A10B
.B$15A5BAB5ABAB12A5B7AB9AB9AB13A12.13BA9BA9BA7B5A12BABA5BAB5A15B$A.
13A3BA2B68A10.68B2AB3A13B.B$.88A10.88B$2.A.84A12.84B.B$2.A.84A12.84B.
B$.88A10.88B$A.86A12.86B.B$20A.68A10.68B.20B$A.8A2.8A2.4A3.60A10.60B
3.4B2.8B2.8B.B$.9A4.5A5.A.3A.A5.A3.3A.3A3.3A.3A3.3A.3A3.3A.3A3.3A.3A
14.3B.3B3.3B.3B3.3B.3B3.3B.3B3.3B.3B3.B5.B.3B.B5.5B4.9B$4.5A.A5.A.A
12.5A7.A9.A9.A9.A9.A20.B9.B9.B9.B9.B7.5B12.B.B5.B.5B$4.3A.2A168.2B.3B!

@RULE DaN3-Y

# D3a35a6a62a7a71a8a-01a02a11ar3ar12ar4ar13ar22ar05a14ar23ar6ar15ar24ar33ar7ar16ar25ar34ar17b26b35a44a53b62a71a8a08b

# 2025 Generated by Yoel Matveyev's Lisp code

@COLORS

0 0 0 0
1 255 0 0
2 0 0 255

@TABLE

n_states:3
neighborhood:Moore
symmetries:permute
var A={0,1,2}
var B=A
var C=A
var D=A
var E=A
var F=A
var G=A
var H=A
var I=A

var a={1,2}
var b=a
var b=a
var c=a
var d=a
var e=a
var f=a
var g=a
var h=a
var i=a

0,i,i,i,0,0,0,0,0,i
0,1,1,1,2,2,2,2,2,1
0,2,2,2,1,1,1,1,1,2
0,i,i,i,i,i,i,0,0,i
0,1,1,1,1,1,1,2,2,1
0,2,2,2,2,2,2,1,1,2
0,i,i,i,i,i,i,i,0,i
0,1,1,1,1,1,1,1,2,1
0,2,2,2,2,2,2,2,1,2
0,i,i,i,i,i,i,i,i,i
1,2,0,0,0,0,0,0,0,1
2,1,0,0,0,0,0,0,0,2
1,2,2,0,0,0,0,0,0,1
2,1,1,0,0,0,0,0,0,2
i,1,2,0,0,0,0,0,0,i
i,1,1,1,0,0,0,0,0,i
i,2,2,2,0,0,0,0,0,i
i,1,2,2,0,0,0,0,0,i
i,2,1,1,0,0,0,0,0,i
i,1,1,1,1,0,0,0,0,i
i,2,2,2,2,0,0,0,0,i
i,1,2,2,2,0,0,0,0,i
i,2,1,1,1,0,0,0,0,i
i,1,1,2,2,0,0,0,0,i
1,2,2,2,2,2,0,0,0,1
2,1,1,1,1,1,0,0,0,2
i,1,2,2,2,2,0,0,0,i
i,2,1,1,1,1,0,0,0,i
i,1,1,2,2,2,0,0,0,i
i,2,2,1,1,1,0,0,0,i
i,1,1,1,1,1,1,0,0,i
i,2,2,2,2,2,2,0,0,i
i,1,2,2,2,2,2,0,0,i
i,2,1,1,1,1,1,0,0,i
i,1,1,2,2,2,2,0,0,i
i,2,2,1,1,1,1,0,0,i
i,1,1,1,2,2,2,0,0,i
i,1,1,1,1,1,1,1,0,i
i,2,2,2,2,2,2,2,0,i
i,1,2,2,2,2,2,2,0,i
i,2,1,1,1,1,1,1,0,i
i,1,1,2,2,2,2,2,0,i
i,2,2,1,1,1,1,1,0,i
i,1,1,1,2,2,2,2,0,i
i,2,2,2,1,1,1,1,0,i
1,1,2,2,2,2,2,2,2,2
2,2,1,1,1,1,1,1,1,1
1,1,1,2,2,2,2,2,2,2
2,2,2,1,1,1,1,1,1,1
1,1,1,1,2,2,2,2,2,1
2,2,2,2,1,1,1,1,1,2
i,1,1,1,1,2,2,2,2,i
1,1,1,1,1,1,2,2,2,2
2,2,2,2,2,2,1,1,1,1
1,1,1,1,1,1,1,2,2,1
2,2,2,2,2,2,2,1,1,2
1,1,1,1,1,1,1,1,2,1
2,2,2,2,2,2,2,2,1,2
i,i,i,i,i,i,i,i,i,i
1,2,2,2,2,2,2,2,2,2
2,1,1,1,1,1,1,1,1,1

I,A,B,C,D,E,F,G,H,0
User avatar
confocaloid
Posts: 6697
Joined: February 8th, 2022, 3:15 pm
Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms

Re: Gluonic

Post by confocaloid »

Yoel wrote: January 25th, 2025, 4:45 pm [...] I'll see how DaN3 (is it your rule?) is expressed in my notation. [...]
Yes, I made the ruletree "DaN3" for the purpose of showing an example. However, beyond that example, this CA is probably not much more interesting than plain two-state Day & Night (which is interesting by itself), and the reactions I used in the example (the wickstretchers) are essentially those posted by Alexey_Nigin, in other words nothing new here.
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Yoel
Posts: 463
Joined: July 2nd, 2020, 1:02 am
Location: Electronic jungle
Contact:

Re: Gluonic

Post by Yoel »

confocaloid wrote: February 1st, 2025, 2:49 pm
Yoel wrote: January 25th, 2025, 4:45 pm [...] I'll see how DaN3 (is it your rule?) is expressed in my notation. [...]
Yes, I made the ruletree "DaN3" for the purpose of showing an example. However, beyond that example, this CA is probably not much more interesting than plain two-state Day & Night (which is interesting by itself), and the reactions I used in the example (the wickstretchers) are essentially those posted by Alexey_Nigin, in other words nothing new here.
As you may have noticed, self-complementary rules are one of my obsessions. I've invented this notation as a multistate generalization of rules similar to Day & Night. This is basically my concept of "cyclicity".

Unfortunately, my notation (and the generator script of ruletables) does not cover non-totalistic isotopic rules such as DN74 and its twin that I call DN74b (B3-r4cekz5aei6-ae78/S2ae3-aei4-cekz5r678). There are extremely many ways how 3 or more states can interact non-totalistically. I don't know yet how to denote them in a systematic, consistent and clear fashion, but I'll think about it.
User avatar
confocaloid
Posts: 6697
Joined: February 8th, 2022, 3:15 pm
Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms

Re: Gluonic

Post by confocaloid »

Yoel wrote: February 2nd, 2025, 6:54 am [...]
As you may have noticed, self-complementary rules are one of my obsessions. I've invented this notation as a multistate generalization of rules similar to Day & Night. This is basically my concept of "cyclicity".

Unfortunately, my notation (and the generator script of ruletables) does not cover non-totalistic isotopic rules such as DN74 and its twin that I call DN74b (B3-r4cekz5aei6-ae78/S2ae3-aei4-cekz5r678). There are extremely many ways how 3 or more states can interact non-totalistically. I don't know yet how to denote them in a systematic, consistent and clear fashion, but I'll think about it.
With three cellstates counting zero, there are 2862 equivalence classes of 3-by-3 configurations "up to rotations and reflections".

I think the approach "make the ruleset symmetric under exchange of cellstates 1 and 2" leads to 1444 fully-specified conditions (equivalence classes of 3-by-3 configurations "up to rotations, reflections, and exchanging cellstates 1 and 2").
Out of those 1444 conditions, 26 correspond to those configurations that remain the same "up to rotations and reflections" when cellstates 1 and 2 are exchanged. In each of these 26 cases (shown below), the only consistent way to choose the matching rule is by saying that the middle cell stays zero:

Code: Select all

#C The cellstates are incremented, in other words
#C states 1, 2, 3 in the pattern below mean 0, 1, 2 respectively.
x = 31, y = 19, rule = //4
2AC.2AC.BAC.BAC$3A.3A.3A.3A$B2A.2AB.CAB.BAC2$ACA.ACA.ACA.ACA$3A.2AB.B
AB.BAC$ABA.3A.ACA.ABA2$ACB.ACB.ACB.BCB.ACB$B2A.3A.3A.3A.BAC$C2A.CBA.A
BC.CBC.CBA2$A2C.A2C.A2C.3C.A2C$B2A.3A.3A.3A.BAC$B2A.2BA.A2B.3B.2BA2$
3A.B2C.B2C.A2C.A2C.B2C.B2C.B2C$3A.3A.3A.CAB.BAB.BAB.CAB.BAC$3A.C2B.2B
C.2BA.BCA.2CB.2BC.2BC!
#C [[ VIEWONLY GRID THEME Golly ]]
The remaining (1444 - 26 = 1418) conditions can be viewed as unordered pairs of configurations that are distinct "up to rotations and reflections", but the same "up to rotations, reflections, and exchanging cellstates 1 and 2".
(Sanity check: 1418 * 2 + 26 = 2862.)
In each of those 1418 cases, it should be possible to choose the matching rule in one of three ways.

Assuming the above is correct, there should be 3^1418 different rulesets in the family "three-state isotropic CA with Moore neighbourhood, with ruleset symmetric under exchange of nonzero cellstates".

Regardless of the specific notation, as long as the notation covers the entire space, pseudorandom rulestrings would be fairly long. With base64 encoding, a "typical rulestring" might look like this (this is just a meaningless example to illustrate):

Code: Select all

MDEyMzQ1NjAxMjM0NTYwMTIzNDU2MDEyMzQ1NjAxMjM0NTYwMTIzNDU2MDEyMzQ1NjAxMjM0NTYw
MTIzNDU2MDEyMzQ1NjAxMjM0NTYwMTIzNDU2MDEyMzQ1NjAxMjM0NTYwMTIzNDU2MDEyMzQ1NjAx
MjM0NTYwMTIzNDU2MDEyMzQ1NjAxMjM0NTYwMTIzNDU2MDEyMzQ1NjAxMjM0NTYwMTIzNDU2MDEy
MzQ1NjAxMjM0NTYwMTIzNDU2MDEyMzQ1NjAxMjM0NTYwMTIzNDU2MDEyMzQ1NjAxMjM0NTYwMTIz
NDU2MDEyMzQ1NjAxMjM0NTYwMTIzNDU2MDEyMzQ1NjAxMjM0NTYwMTIzNDU2MDEyMzQ1NjA=
This is just three cellstates counting zero (two nonzero cellstates). If more cellstates are added, the "rulestrings" would become even longer.
It may be possible to have a shorter notation covering special cases that are likely to be investigated, though.
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Yoel
Posts: 463
Joined: July 2nd, 2020, 1:02 am
Location: Electronic jungle
Contact:

Re: Gluonic

Post by Yoel »

confocaloid wrote: February 2nd, 2025, 7:33 pm I think the approach "make the ruleset symmetric under exchange of cellstates 1 and 2" leads to 1444 fully-specified conditions (equivalence classes of 3-by-3 configurations "up to rotations, reflections, and exchanging cellstates 1 and 2").
Realistically 1443 conditions. I believe Golly can't handle B0 in such rules (and even if it could, if would look weird and ugly). 489 birth conditions and 954 survival/mutation conditions.

Extremely many! Any notation would be very verbose and difficult to comprehend by humans...
User avatar
confocaloid
Posts: 6697
Joined: February 8th, 2022, 3:15 pm
Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms

Re: Gluonic

Post by confocaloid »

Yoel wrote: February 4th, 2025, 11:24 am Extremely many! Any notation would be very verbose and difficult to comprehend by humans...
I can imagine a notation that would "focus on a small subspace", simplifying investigation of that subspace. The entire space (3^1443) could still be supported in principle (despite the focus on a small subspace), but "pseudorandom rulestrings" would become longer than if all possibilities were "put on equal footing" and roughly the same length encoded optimally.

For example, one can begin with a two-state isotropic CA, and introduce two different living states ("Colourised Life") while preserving the zero/nonzero evolution unchanged. That leads to Immigration and other similar CA. I think below are all possibilities when beginning with B3/S23 (Life) and maintaining isotropic rules. Only subconditions of B3, S2, S3 "up to rotations, reflections and exchanging nonzero cellstates" need to be considered.
(I think this gives 2^122 = 5316911983139663491615228241121378304 three-state isotropic "colourised B3/S23" rulesets that are symmetric under exchange of states 1 and 2. The count for Seeds or Day & Night would differ from the count for Life, however, it's still possible to have a notation accounting for that.)

Code: Select all

x = 75, y = 37, rule = //4
2AB.2AC.ABA.ACA$ACA.ACA.ACA.ACA$B2A.C2A.ABA.ACA3$2AC.2AC.ACA.ACA.ACA.
ACA.ACA.ACA.BCB.ACB.3C$3A.3A.3A.3A.2AB.2AC.2AC.2AC.3A.2AC.3A$CAB.CAC.
BAB.CAC.ACA.B2A.C2A.ACA.3A.3A.3A2$A2C.2AB.2AB.2AC.BAC.2AC.2AC.2AC.ABA
.ABA.ABA$2AC.ACA.ACA.ACA.ACA.ACA.ACA.ACA.ACA.ACA.ACB$3A.2AB.BAB.B2A.
2AB.CAB.2AC.CAC.BAB.CAC.3A2$ABA.ABA.ABA.3B.A2B.CBC.ABC.ACA.ACA.ACA.AC
A$ACB.ACB.ACB.ACA.ACB.ACA.ACB.ACA.ACA.ACA.BCB$B2A.C2A.ABA.3A.3A.3A.3A
.ABA.BAB.CAC.3A2$ACA.ACA.ACA.ACA.ACA.BCB.ACB.3C.A2C$ACB.A2C.A2C.A2C.A
2C.ACA.A2C.ACA.A2C$ACA.3A.B2A.C2A.ACA.3A.3A.3A.3A3$2AC.ACA.ACA.ACA.AC
B.ACB.ACB.ACB.ACB.ACB.ACB.ACB.B2C.A2C.A2C.A2C.A2C.A2C.A2C$3A.3A.2AB.
2AC.B2A.C2A.3A.3A.3A.3A.3A.3A.3A.B2A.C2A.3A.3A.3A.3A$BAC.BAC.C2A.ABA.
3A.3A.B2A.C2A.ABA.ACA.2AB.2AC.3A.3A.3A.B2A.C2A.ABA.ACA2$A2C.A2C.A2C.
2AC.2AC.2AC.ABA.ABA.ABA.A2B.A2B.A2B.A2B.A2B.A2B.A2B.ABC.2BC.ABC$3A.3A
.2AB.ACA.ACA.ACA.ACA.ACA.ACA.ACA.BCA.ACA.ACA.ACA.ACA.ACA.ACA.ACA.BCA$
2AB.2AC.3A.2AB.BAB.BAC.2AB.2AC.BAC.3A.3A.B2A.C2A.ABA.2AB.2AC.3A.3A.3A
2$ABC.ABC.ABC.ABC.ABC.ACA.ACA.ACA.ACA.ACA.ACA.ACA.ACA.ACA.ACA.ACA.ACA
.ACB.ACB$ACA.ACA.ACA.ACA.ACA.ACA.ACA.ACA.ACA.ACA.ACB.ACB.ACB.ACB.ACB.
ACB.A2C.ACA.BCA$B2A.C2A.ABA.2AB.2AC.2AB.A2B.2AC.BAC.ABC.3A.B2A.C2A.AB
A.2AB.2AC.ABA.3A.3A2$ACB.ACB.ACB.ACB.ACB.ACB.ACB.ACB.A2C.B2C.A2C.A2C.
A2C.A2C.A2C.A2C.A2C.A2C.A2C$2CA.ACA.ACA.ACA.ACA.ACA.ACA.ACB.ACA.ACA.B
CA.2CA.ACA.ACA.ACA.ACA.ACA.ACA.ACB$3A.B2A.C2A.ABA.ACA.2AB.2AC.3A.3A.
3A.3A.3A.B2A.C2A.ABA.ACA.2AB.2AC.3A!
#C [[ VIEWONLY GRID THEME Golly ]]
So far, all of that would only reach 2^122 rulesets which are "essentially the same as Life" when the "state 1 vs. state 2" distinction is ignored (and likewise when beginning from another two-state isotropic CA); however, the notation could be extended to allow "tweaking further away" from any of those rulesets to let the "1 vs. 2" distinctions affect the "zero vs. nonzero" distinctions.
It remains an open question how to design/implement all of that, but it can be done, and would be one possible way of focusing on a "small" subspace of the entire space (while also potentially supporting the entire space of 3^1443 rulesets, with much longer definitions on average).
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Yoel
Posts: 463
Joined: July 2nd, 2020, 1:02 am
Location: Electronic jungle
Contact:

Re: Gluonic

Post by Yoel »

confocaloid wrote: February 4th, 2025, 6:21 pm The count for Seeds or Day & Night would differ from the count for Life, however, it's still possible to have a notation accounting for that.)
I had a thread on the 4-state rule called Weeds (T2b-2a3a) and have elsewhere mentioned Seed2 and Seeds3 (D2a and T3a). We also had a discussions on colorized extensions of Life that act radically different when different colors meet each other:

viewtopic.php?f=11&t=4676

In fact, my second post on this forum was something somewhat similar:

viewtopic.php?f=11&t=4580&p=99902#p99902

If we apply the same method to non-totalistic rules, the notation of the same entire space might be the standard rulestring + additional information on collisions of different colors + conditions that switch the color (which may be denoted by standard rulestrings as well, but counted at last as they violate the behavior of one-color patterns by allowing to jump to another color).

The states must still interact "cyclically" as I call it (all patterns are invariant under state increment of all non-zero cells mod the number of non-zero states). Otherwise the interactions are difficult to define consistently and logically. I find subconditions of only B3, S2, S3 way too limited though.

For example, we can imagine something like C2/B3aij/S2-i3-ac4-ajnwy5-y/[whatever between non-zero states]/2B6c7c/2S6a, which means that 6c7c give birth to the other color, while 6a flips the color. There would more such sections with several colors, like 6c giving birth to color X and 7c to color Y.

For multi-color interactions, I suggest the following:

1. We sort them by the number of interacting cells, smaller numbers first, even if the codes for smaller numbers look longer.

2. We consider all possible 8 isotropic equivalents, remove the trailing zeros and pick us the minimal number. For example:

Code: Select all

1 1 1
0 0 0
2 0 0
Counting the central cell separately, this may be denoted (counting cells like in Golly ruletables) as

11000201, 01110200, 02000111, 02011100, 01110002, 00011102, 11020001, 00020111.

We encode this transition as 11102.

The corresponding color-inversed transitions are:

22000102, 02220100, 01000222, 01022200, 02220001, 00022201, 22010002, 00010222.

We encode this transition as 10222.

For births, we denote the one that gives birth to color 1. For mutations, we add an index to the one that mutates color 1, e.g. 10222.1 or something like that. I don't think survivals should be separated from mutations, because in multi-state interactions they are closely related. So we may have a rulestring like:

C2/B3aij/S2-i3-ac4-ajnwy5-y/XB10,100010/XS100010,10222.1/2B6c7c/2S6a

I'll think how to implement something like that up to 8 colors in R1 Moore neighborhood and up to 6 for hexagonal rules. Technically one can imagine 9 colors (very rare conditions of survival/mutation when each cell in a 3x3 square has a different color), but I personally think that there should be no more colors than ones surrounding the central cell.

EDIT (also edited some other stuff, see above):

We may also introduce some short codes for rules like colorized Day&Night, applying the rulestring either "cyclically" (between colors 1 and 2, 2 and 3, etc.) or to all permutations between colors, whenever logically possible. There may also be some natural ways to abbreviate some groups of multi-color transitions.
Last edited by Yoel on February 5th, 2025, 4:03 am, edited 2 times in total.
User avatar
confocaloid
Posts: 6697
Joined: February 8th, 2022, 3:15 pm
Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms

Re: Gluonic

Post by confocaloid »

Yoel wrote: February 4th, 2025, 9:25 pm [...] Counting the central cell separately, this may be denoted (counting cells like in Golly ruletables) as [...]
I believe the RuleLoader ruletables use another order of neighbours, different from the one you used.
In a ruletable, each rule is written as "c, n,r,e,h,s,v,w,l, x" which means

Code: Select all

l n r
w c e -> x
v s h
(that is, in a rule, the neighbours are listed beginning at an orthogonal neighbour, not a diagonal neighbour).
Yoel wrote: February 4th, 2025, 9:25 pm [...] So we may have a rulestring like:

C2/B3aij/S2-i3-ac4-ajnwy5-y/XB10,100010/XS100010,10222.1/2B6c7c/2S6a
[...]
Probably that would run again into the question "what is the purpose of the notation?" The Hensel notation part is visible, and a user of the notation might be tempted to tweak that part while keeping the suffix unchanged; that may or may not make sense. Tweaking the suffix manually would probably require more efforts than could be expected from a user of the notation.

An alternative possibility is to make the suffix encode only the changes ("delta") away from defaults, and encode them in a near-optimal way. So the rulestring might still begin with

Code: Select all

C2/B3aij/S2-i3-ac4-ajnwy5-y/...
but then after that, there would be a machine-readable "base64 gibberish" of variable length; with shorter suffixes for those CA definitions where only few rules are changed from their defaults, and with longer suffixes for those CA definitions where many rules are changed from their defaults.

This way, the suffix would become obviously "untweakable by hand", one would need additional scripts to use that. An advantage would be that the notation would be reasonably short for many interesting cases (shorter than with any attempt at a more human-readable suffix), and it would at least partially explain itself (what is the closest two-state isotropic CA with Moore neighbourhood, and roughly how many rules were changed away from the defaults).
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Yoel
Posts: 463
Joined: July 2nd, 2020, 1:02 am
Location: Electronic jungle
Contact:

Re: Gluonic

Post by Yoel »

confocaloid wrote: February 4th, 2025, 11:07 pm
Yoel wrote: February 4th, 2025, 9:25 pm [...] Counting the central cell separately, this may be denoted (counting cells like in Golly ruletables) as [...]
I believe the RuleLoader ruletables use another order of neighbours, different from the one you used.
In a ruletable, each rule is written as "c, n,r,e,h,s,v,w,l, x" which means

Code: Select all

l n r
w c e -> x
v s h
(that is, in a rule, the neighbours are listed beginning at an orthogonal neighbour, not a diagonal neighbour).
Indeed! I've written hundreds of ruletables by hand, but I still keep making this mistake. I'll edit the post above.
confocaloid wrote: February 4th, 2025, 11:07 pm Probably that would run again into the question "what is the purpose of the notation?" The Hensel notation part is visible, and a user of the notation might be tempted to tweak that part while keeping the suffix unchanged; that may or may not make sense. Tweaking the suffix manually would probably require more efforts than could be expected from a user of the notation.
What I have suggested is still readable for a user who has some experience. When I tweak the regular Hensel notation, I still check out the transitions table, because the relation between letters and figures is not trivial. One can mentally add zeros and see what my suggested notation is meant to represent, add or modify it, etc. One should be free to write these conditions in any order with or without the trailing zeros. Similarly, one can write Hensel transitions on any order; Golly then arranges them canonically. There may also be some ways to preserve the Hensel letters, especially with rules that only have 2-3 colors.

Or maybe it is better to start with hexagonal rules and see where it leads us to. The notation will be much shorter and more humanly readable due to the p6 rotational symmetry.
User avatar
confocaloid
Posts: 6697
Joined: February 8th, 2022, 3:15 pm
Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms

Re: Gluonic

Post by confocaloid »

Yoel wrote: February 5th, 2025, 3:57 am
confocaloid wrote: February 4th, 2025, 11:07 pm Probably that would run again into the question "what is the purpose of the notation?" [...]
What I have suggested is still readable for a user who has some experience. [...]
A notation can have different purposes / can be useful in several different ways.
  • (Enforcing self-consistency) For "restricted" families of cellular automata (such as your cyclical CA, or self-complementary two-state CA), it can be helpful to have a dedicated notation, because that allows the user of the notation to "forget" the exact constraints/restrictions on the ruleset. (The script used to parse the notation will correctly generate a consistent ruleset satisfying the restrictions.) A notation can be useful when it correctly captures inherent symmetries or repetition.
    (By "restricted" I mean here any restrictions of the following general form:

    Code: Select all

    "either ALL of these birth/survival/mutation/... rules must be in the ruleset,
    or NEITHER of these birth/survival/mutation/... rules can be in the ruleset"
    For self-complementary two-state CA, those restrictions are that every birth rule implies the corresponding death rule and vice versa, and every survival rule implies the corresponding "abstain" (non-birth) rule and vice versa.)
  • (Intuitive understanding) Another way how a notation can be useful, if it helps to "read and understand" the definition. This doesn't directly follow from ensuring self-consistency. A notation can guarantee self-consistency and still be obscure. For comparison:
    • Hensel notation can be learned, but it takes time and efforts (and I still can't remember the exact meanings of 3q/3n/3r).
    • Weighted neighbourhoods can lead to long rulestrings, but they can have advantages both in terms of guaranteeing consistency ("R1,NW151505151" captures restrictions that would otherwise be hard to describe with Hensel notation) and in terms of human-readability (fewer arbitrarily assigned letters that would require a table to interpret).
  • (Bookmarking) Another way how a notation might be helpful, if it makes it possible to "save" or "share" interesting rulesets quickly (by copying a single string, rather than an entire file). This doesn't have to be human-readable, and doesn't have to guarantee self-consistency - it's simply sort of a way to "bookmark" an interesting ruleset.
  • ...
In this case (isotropic cyclical CA), I think having a notation can be helpful due to automatically enforcing self-consistency between rules in the ruleset. It can be also helpful due to providing a way to "bookmark" or share interesting rulesets. However, in this case, it seems very likely that any such notation will be sufficiently obscure and sufficiently hard to interpret without repeatedly checking the "instruction manual". (There are birth rules, and survival rules, and mutation rules, and then there would be some notational shorthands for special cases. At some point, the "instruction manual" for the notation is going to become long enough and complicated enough, to "cancel" most of the advantages of having a supposedly-human-readable notation.)

Therefore my idea/suggestion to consider using "base64 gibberish" as a suffix. It would be shorter for many rulesets that are likely to be investigated at all. It would provide a way to "bookmark" interesting rulesets. If designed/implemented in a reasonable way, it would automatically enforce self-consistency of the ruleset.

I might try doing something along these lines myself, but the same ideas would work for many different CA families.
Yoel wrote: July 24th, 2020, 2:04 am [...]
Writing such rule tables by hand is a laborious task prone to errors. Therefore I developed a notation for such rules and wrote a Lisp program that produces the corresponding rule files.
[...]
Birth rules are written as a sequence of digits representing the number of neighbors of all in the states in the rule,
followed by a small letter, from a to h, representing the state of the cell to be born. [...]
[...]
Survival or mutation rules are notated the same way, except that the state A is always used as the original state of the surviving or mutated cell. [...]
[...]
Note that the number of possible meaningful birth rules is much shorter that the number of all possible survival rules, e.g. 54 vs. 165 for 3-state rules and as many as 1618 vs. 12870 for 8-state rules.

The reason behind is that while T2a, T02b and T002c result exactly in the same birth rule, T-2b,T-02b and T-002b give three distinct survival or mutation rules:

a&aa->b;b&bb->c;c&cc->a

a&bb->b;b&cc->c&aa->a

a&cc->b;b&aa->c&bb->a
[...]
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Post Reply