How do you keep track of INT rules?

For discussion of other cellular automata.
Post Reply
User avatar
confocaloid
Posts: 2725
Joined: February 8th, 2022, 3:15 pm

How do you keep track of INT rules?

Post by confocaloid » June 18th, 2022, 9:40 am

What can be said usefully about every range-1 Moore neighbourhood isotropic non-totalistic rule, or at least about sufficiently many of them? I'm looking for some kind of information that can be stated concisely (e.g. as a single number) and is cheap to compute, and yet is somehow useful for quickly knowing something specific about the rule, even before seeing its behaviour/exploring it/reading more about the rule.
I'm asking this question after seeing that people often talk about some properties of rules (strobing, explosive, apgsearchable, nonrelativistic, can escape bounding box/bounding diamond, ...) and wondering whether this pile of properties can be made into some kind of a useful/interesting/curious classification. Is there a method behind the madness of INT rules, or it is mad to look for one method to rule them all?
I'll give several examples that I can imagine.

For every rule one can say how many isotropic birth/survival conditions have to be toggled to reach Life; it is a cheap-to-compute nonnegative integer. Even though toggling one condition may significantly change the behaviour of the rule, it seems useful to count "toggles away from Life" to distinguish those rules that were (probably) obtained by modifying Life from those rules that were (probably) obtained by random choice or in some other way.

For every rule one can find the least number of toggles that are needed to reach some outer-totalistic rule (not necessarily Life); the reasoning is the same as above. It is also possible to choose a "base outer-totalistic rule" which is as few isotropic conditions away as possible, but this is not always unique.

For every rule, it is possible to enumerate all non-unreasonably-growing patterns with small bounding boxes and write down the longest time to stability as a function of the bounding box area. The result is an integer sequence and first few terms are relatively cheap to compute for many rules. Even if this may not be too useful to distinguish between similar rules, it might be a helpful way to express how some rules behave in a significantly different way than other rules.

It is possible to choose a few objects from Life (e.g. a few spaceships and oscillators). Then for every rule one can write down which of the chosen objects evolve in exactly the same way, which evolve in "essentially the same" way (e.g. pentadecathlon in B3/S238, copperhead/goldenhead in B37/S23, Gabriel's p138 in B3/S234c), and which evolve in a completely different way. If n objects from Life are chosen, there are up to 3^n possibilities. This is also cheap to compute, it can be written down concisely as a ternary string (after choosing three symbols and an ordering of the n objects), and it might be useful for someone who decides to use this as a classification scheme to quickly know which rules support which objects.
127:1 B3/S234c User:Confocal/R (isotropic rules, 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.

User avatar
H. H. P. M. P. Cole
Posts: 114
Joined: July 15th, 2023, 9:36 pm
Location: Error: 'H. H. P. M. P. Cole' has no attribute 'location'.

Re: How do you keep track of INT rules?

Post by H. H. P. M. P. Cole » March 7th, 2024, 9:24 pm

confocaloid wrote:
June 18th, 2022, 9:40 am
What can be said usefully about every range-1 Moore neighbourhood isotropic non-totalistic rule, or at least about sufficiently many of them?
I think a script based on this post by LaundryPizza03 could be a good idea. That could help predict the basic properties/dynamics of a rule solely from its conditions.

Once a rule has been classified under this method, one might want to find more properties.

As some of the many (hypothetical) questions we might ask:
- Is the rule explosive (for some definition of explosive) only under certain symmetries?
- What is the smallest (by number of cells) soup that is explosive (for some definition of explosive)? A rule could have a small soup with a giant FIG index...
- Does the rule support Wolfram/Margolus CA using small(ish) metacells?
- Is the rule Turing-complete? If so, in what way?
- In a rule that cannot expand its bounding box or diamond, is it then more important to prove/disprove omniperiodicity of that rule?
- Does the rule have any endemic patterns (or none at all, as in Seeds)?
- Does the rule have any strange miscellaneous mathematical properties?

... and many more. There are so many questions and so little answers.

(Sidenote: on explosivity: is the rule like 3,4-Life, with the blob having no distinct frontends, or like Seeds, with distinct frontends that make the soup expand at a constant rate? Is it because of a common (true or failed) replicator that collides with many objects?)

Additionally, an interesting avenue of interest is to find objects which work in, say, at least 2^95 INT rules. From my experience in rulegolfing one can add S3a to many non-relativistic rules without fear of explosion, and you get at least one new SL - the smallest being the block. Block itself works in 2^98 INT rules, making it one of the objects that are polyglots in a huge number of rules.

For me the optimal procedure is one that is generalizable (not necessarily fast), and when you are asking about INT rules, I ask about how such a hypothetical procedure could be generalized to other classes of rules (e.g. LtL, multistate, MAP).

Back on the topic on keeping track of INT rules - the hypothetical script that I mentioned at the start of this post will be far from comprehensive, but it gives a basic idea of what the rule is like. One can, given enough computing power, run this script on every one of the 2^100 non-B0 non-B1c rules to find rulespaces that are apgsearchable (or at least nonexplosive), with subcategories like "can theoretically support ships", "cannot support finite SLs", et cetera.

I have been imagining a diagram of INT rules based on this OT rule map - but given that each side needs to be 2^51 units in length to cover every INT rule - it's going to be a large image to download, and even more so to create a human-friendly interface to navigate this diagram. And it gets even worse when one is dealing with other, larger rulespaces.

That said, which non-Hensel rulespace should we explore using these techniques? Possibly R2 INT one-dimensional or R1 INT von Neumann, to give a proof-of-concept.

Sorry if this does not answer your question - if you have any thoughts, let me know.

(I think this type of thread is what really makes progress in CA - these more mathematical threads give more food for thought for me.)
Last edited by H. H. P. M. P. Cole on March 7th, 2024, 10:39 pm, edited 1 time in total.
Harfordson Parker-Cole

Factorio

User avatar
confocaloid
Posts: 2725
Joined: February 8th, 2022, 3:15 pm

Re: How do you keep track of INT rules?

Post by confocaloid » March 7th, 2024, 10:14 pm

H. H. P. M. P. Cole wrote:
March 7th, 2024, 9:24 pm
For me the optimal procedure is one that is generalizable (not necessarily fast), and when you are asking about INT rules, I ask about how such a hypothetical procedure could be generalized to other classes of rules (e.g. LtL, multistate, MAP).
How about rules on other tilings / tessellations?
For example, you could define an algorithm for testing exploding rules, by running many soups on a fixed size torus and computing how long they take to settle in average. There is a natural way to define a torus with {4,4}-type tiling (glue opposite edges of a rectangular region). With hex rules on the {6,3} grid and triangular rules on the {3,6} grid, things become more interesting; what is the best way to define the torus to evolve the soups?
127:1 B3/S234c User:Confocal/R (isotropic rules, 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.

User avatar
H. H. P. M. P. Cole
Posts: 114
Joined: July 15th, 2023, 9:36 pm
Location: Error: 'H. H. P. M. P. Cole' has no attribute 'location'.

Re: How do you keep track of INT rules?

Post by H. H. P. M. P. Cole » March 7th, 2024, 11:35 pm

confocaloid wrote:
March 7th, 2024, 10:14 pm
H. H. P. M. P. Cole wrote:
March 7th, 2024, 9:24 pm
For me the optimal procedure is one that is generalizable (not necessarily fast), and when you are asking about INT rules, I ask about how such a hypothetical procedure could be generalized to other classes of rules (e.g. LtL, multistate, MAP).
How about rules on other tilings / tessellations?
For example, you could define an algorithm for testing exploding rules, by running many soups on a fixed size torus and computing how long they take to settle in average. There is a natural way to define a torus with {4,4}-type tiling (glue opposite edges of a rectangular region). With hex rules on the {6,3} grid and triangular rules on the {3,6} grid, things become more interesting; what is the best way to define the torus to evolve the soups?
Unfortunately, I can't answer that - but that suggestion provided me with something to think about. Offhand I can't think of any manifold with its fundamental polygon being a hexagon or triangle...

But why a torus? Why not the plane (P geometry?) We can use Golly/LifeViewer planes (i.e. the shapes of selection boxes), or if you want something more mathematical, a hexagonal plane for hexagonal rules, and a different type of hexagonal plane for triangular rules:

Code: Select all

x = 7, y = 7, rule = B/S0123456H
4o$5o$6o$7o$b6o$2b5o$3b4o!

Code: Select all

x = 16, y = 9, rule = B/S0123456789XYZL
$4b9o$3b11o$2b13o$b15o$b15o$2b13o$3b11o$4b9o!
Above are what might probably be called a length-4 hexagon in the hexagonal tiling, and a length-7 hexagon in the triangular tiling (hexagons in the triangular tiling are only defined for length-(2n+1) where n is an integer due to the geometry of the lattice). And, of course, we can use a square plane for square-grid rules (using length-n for a nxn square). I'm not sure about grids in other dimensions (apart from 1-dimensional, as there is only one type of grid).

Back to the topic of explosivity. I suggest that we define a metric of explosivity as the average lifespan of a soup on a plane grid (for some definition of plane, and a grid of some size; probably length-63?). I don't know of any Golly script to find the lifespan of a soup. However, we have to consider if the soup is a high-period oscillator (say, p100000+)? I'm not sure how to handle that (but I think you have a solution to that problem, given your expertise in agars in explosive rules).

That said, here is a list of non-B0 INT objects that work in at least 2^95 rules (not sure if this is exhaustive).

- o! (B/S0, 2^98) p1
- 2o! (B/S1e, 2^97) p1
- o$bo! (B/S1c, 2^97) p1
- o$bo! (B2e/S, 2^97) p2
- obo! (B2c/S, 2^96) p2
- 3o! (B3i/S2i, 2^95) p2
- 3o! (B/S1e2i, 2^95) p1
- 3o! (B3a/S2a, 2^95) p2
- 3o! (B/S2ae, 2^95) p1
- o$bo$2bo! (B/S1c2n, 2^96) p1
- 2o$2o! (B/S3a, 2^98) p1
- bo$obo$bo! (B/S2c, 2^96) p1

TODO:
- create a metric of explosivity and implement it in Golly
- create a list of polyglot objects in different rulespaces using hacked EnumPattEvo2 or something similar (or by hand?)
- analyse some small rulespaces using these methods
Harfordson Parker-Cole

Factorio

User avatar
confocaloid
Posts: 2725
Joined: February 8th, 2022, 3:15 pm

Re: How do you keep track of INT rules?

Post by confocaloid » March 7th, 2024, 11:52 pm

Here are some possibilities for bounded grids:

7-cell torus with hexagonal tiling; can be emulated by putting 63 copies into the 21x21 torus

Code: Select all

#C [[ VIEWONLY GRID ]]
x = 21, y = 21, rule = //4H:T21,21
2A2C3A2B2A3B2C2B3C$3A2B2A3B2C2B3C2A2C$B2A3B2C2B3C2A2C3AB$2B2C2B3C2A2C
3A2B2AB$2B3C2A2C3A2B2A3B2C$C2A2C3A2B2A3B2C2B2C$C3A2B2A3B2C2B3C2AC$2B
2A3B2C2B3C2A2C3A$3B2C2B3C2A2C3A2B2A$C2B3C2A2C3A2B2A3BC$2C2A2C3A2B2A3B
2C2BC$2C3A2B2A3B2C2B3C2A$A2B2A3B2C2B3C2A2C2A$A3B2C2B3C2A2C3A2BA$2C2B
3C2A2C3A2B2A3B$3C2A2C3A2B2A3B2C2B$A2C3A2B2A3B2C2B3CA$2A2B2A3B2C2B3C2A
2CA$2A3B2C2B3C2A2C3A2B$B2C2B3C2A2C3A2B2A2B$B3C2A2C3A2B2A3B2CB!
19-cell torus with hexagonal tiling; can be emulated by putting 171 copies into the 57x57 torus

Code: Select all

#C [[ VIEWONLY GRID ]]
x = 57, y = 57, rule = //4H:T57,57
3A4C4A3C5A3B4A4B3A5B3C4B4C3B5C$4A3C5A3B4A4B3A5B3C4B4C3B5C3A4C$5A3B4A
4B3A5B3C4B4C3B5C3A4C4A3C$B4A4B3A5B3C4B4C3B5C3A4C4A3C5A2B$2B3A5B3C4B4C
3B5C3A4C4A3C5A3B4A2B$3B3C4B4C3B5C3A4C4A3C5A3B4A4B3A2B$3B4C3B5C3A4C4A
3C5A3B4A4B3A5B3CB$3B5C3A4C4A3C5A3B4A4B3A5B3C4B4C$C3A4C4A3C5A3B4A4B3A
5B3C4B4C3B4C$C4A3C5A3B4A4B3A5B3C4B4C3B5C3A3C$C5A3B4A4B3A5B3C4B4C3B5C
3A4C4A2C$2B4A4B3A5B3C4B4C3B5C3A4C4A3C5AB$3B3A5B3C4B4C3B5C3A4C4A3C5A3B
4AB$4B3C4B4C3B5C3A4C4A3C5A3B4A4B3AB$4B4C3B5C3A4C4A3C5A3B4A4B3A5B3C$C
3B5C3A4C4A3C5A3B4A4B3A5B3C4B3C$2C3A4C4A3C5A3B4A4B3A5B3C4B4C3B3C$2C4A
3C5A3B4A4B3A5B3C4B4C3B5C3A2C$2C5A3B4A4B3A5B3C4B4C3B5C3A4C4AC$3B4A4B3A
5B3C4B4C3B5C3A4C4A3C5A$4B3A5B3C4B4C3B5C3A4C4A3C5A3B4A$5B3C4B4C3B5C3A
4C4A3C5A3B4A4B3A$C4B4C3B5C3A4C4A3C5A3B4A4B3A5B2C$2C3B5C3A4C4A3C5A3B4A
4B3A5B3C4B2C$3C3A4C4A3C5A3B4A4B3A5B3C4B4C3B2C$3C4A3C5A3B4A4B3A5B3C4B
4C3B5C3AC$3C5A3B4A4B3A5B3C4B4C3B5C3A4C4A$A3B4A4B3A5B3C4B4C3B5C3A4C4A
3C4A$A4B3A5B3C4B4C3B5C3A4C4A3C5A3B3A$A5B3C4B4C3B5C3A4C4A3C5A3B4A4B2A$
2C4B4C3B5C3A4C4A3C5A3B4A4B3A5BC$3C3B5C3A4C4A3C5A3B4A4B3A5B3C4BC$4C3A
4C4A3C5A3B4A4B3A5B3C4B4C3BC$4C4A3C5A3B4A4B3A5B3C4B4C3B5C3A$A3C5A3B4A
4B3A5B3C4B4C3B5C3A4C3A$2A3B4A4B3A5B3C4B4C3B5C3A4C4A3C3A$2A4B3A5B3C4B
4C3B5C3A4C4A3C5A3B2A$2A5B3C4B4C3B5C3A4C4A3C5A3B4A4BA$3C4B4C3B5C3A4C4A
3C5A3B4A4B3A5B$4C3B5C3A4C4A3C5A3B4A4B3A5B3C4B$5C3A4C4A3C5A3B4A4B3A5B
3C4B4C3B$A4C4A3C5A3B4A4B3A5B3C4B4C3B5C2A$2A3C5A3B4A4B3A5B3C4B4C3B5C3A
4C2A$3A3B4A4B3A5B3C4B4C3B5C3A4C4A3C2A$3A4B3A5B3C4B4C3B5C3A4C4A3C5A3BA
$3A5B3C4B4C3B5C3A4C4A3C5A3B4A4B$B3C4B4C3B5C3A4C4A3C5A3B4A4B3A4B$B4C3B
5C3A4C4A3C5A3B4A4B3A5B3C3B$B5C3A4C4A3C5A3B4A4B3A5B3C4B4C2B$2A4C4A3C5A
3B4A4B3A5B3C4B4C3B5CA$3A3C5A3B4A4B3A5B3C4B4C3B5C3A4CA$4A3B4A4B3A5B3C
4B4C3B5C3A4C4A3CA$4A4B3A5B3C4B4C3B5C3A4C4A3C5A3B$B3A5B3C4B4C3B5C3A4C
4A3C5A3B4A3B$2B3C4B4C3B5C3A4C4A3C5A3B4A4B3A3B$2B4C3B5C3A4C4A3C5A3B4A
4B3A5B3C2B$2B5C3A4C4A3C5A3B4A4B3A5B3C4B4CB!
These can be extended to any larger symmetric "hexagonal torus". Asymmetric shapes are also possible. Here is an example torus with sides 3, 4, 5 (one copy is highlighted; all copies will contain the same evolving pattern):

Code: Select all

#C [[ VIEWONLY GRID ]]
x = 54, y = 108, rule = //5H:T54,108
5A6B7A5C6A7C5B6C7B$6A5B7A6C5A7C6B5C7B$7A5C6A7C5B6C7B5A6B$7A6C5A7C6B5C
7B6A5B$C6A7C5B6C7B5A6B7A4C$2C5A7C6B5C7B6A5B7A4C$3C5B6C7B5A6B7A5C6A4C$
3C6B5C7B6A5B7A6C5A4C$3C7B5A6B7A5C6A7C5B3C$3C7B6A5B7A6C5A7C6B2C$4A6B7A
5C6A7C5B6C7BA$5A5B7A6C5A7C6B5C7BA$6A5C6A7C5B6C7B5A6BA$6A6C5A7C6B5C7B
6A5BA$6A7C5B6C7B5A6B7A5C$C5A7C6B5C7B6A5B7A5C$2C5B6C7B5A6B7A5C6A5C$2C
6B5C7B6A5B7A6C5A5C$2C7B5A6B7A5C6A7C5B4C$2C7B6A5B7A6C5A7C6B3C$3A6B7A5C
6A7C5B6C7B2A$4A5B7A6C5A7C6B5C7B2A$5A5C6A7C5B6C7B5A6B2A$5A6C5A7C6B5C7B
6A5B2A$5A7C5B6C7B5A6B7A5CA$5A7C6B5C7B6A5B7A6C$C5B6C7B5D6B7A5C6A6C$C6B
5C7B6D5B7A6C5A6C$C7B5A6B7D5C6A7C5B5C$C7B6A5B7D6C5A7C6B4C$2A6B7A5C6D7C
5B6C7B3A$3A5B7A6C5D7C6B5C7B3A$4A5C6A7C5B6C7B5A6B3A$4A6C5A7C6B5C7B6A5B
3A$4A7C5B6C7B5A6B7A5C2A$4A7C6B5C7B6A5B7A6CA$5B6C7B5A6B7A5C6A7C$6B5C7B
6A5B7A6C5A7C$7B5A6B7A5C6A7C5B6C$7B6A5B7A6C5A7C6B5C$A6B7A5C6A7C5B6C7B
4A$2A5B7A6C5A7C6B5C7B4A$3A5C6A7C5B6C7B5A6B4A$3A6C5A7C6B5C7B6A5B4A$3A
7C5B6C7B5A6B7A5C3A$3A7C6B5C7B6A5B7A6C2A$4B6C7B5A6B7A5C6A7CB$5B5C7B6A
5B7A6C5A7CB$6B5A6B7A5C6A7C5B6CB$6B6A5B7A6C5A7C6B5CB$6B7A5C6A7C5B6C7B
5A$A5B7A6C5A7C6B5C7B5A$2A5C6A7C5B6C7B5A6B5A$2A6C5A7C6B5C7B6A5B5A$2A7C
5B6C7B5A6B7A5C4A$2A7C6B5C7B6A5B7A6C3A$3B6C7B5A6B7A5C6A7C2B$4B5C7B6A5B
7A6C5A7C2B$5B5A6B7A5C6A7C5B6C2B$5B6A5B7A6C5A7C6B5C2B$5B7A5C6A7C5B6C7B
5AB$5B7A6C5A7C6B5C7B6A$A5C6A7C5B6C7B5A6B6A$A6C5A7C6B5C7B6A5B6A$A7C5B
6C7B5A6B7A5C5A$A7C6B5C7B6A5B7A6C4A$2B6C7B5A6B7A5C6A7C3B$3B5C7B6A5B7A
6C5A7C3B$4B5A6B7A5C6A7C5B6C3B$4B6A5B7A6C5A7C6B5C3B$4B7A5C6A7C5B6C7B5A
2B$4B7A6C5A7C6B5C7B6AB$5C6A7C5B6C7B5A6B7A$6C5A7C6B5C7B6A5B7A$7C5B6C7B
5A6B7A5C6A$7C6B5C7B6A5B7A6C5A$B6C7B5A6B7A5C6A7C4B$2B5C7B6A5B7A6C5A7C
4B$3B5A6B7A5C6A7C5B6C4B$3B6A5B7A6C5A7C6B5C4B$3B7A5C6A7C5B6C7B5A3B$3B
7A6C5A7C6B5C7B6A2B$4C6A7C5B6C7B5A6B7AC$5C5A7C6B5C7B6A5B7AC$6C5B6C7B5A
6B7A5C6AC$6C6B5C7B6A5B7A6C5AC$6C7B5A6B7A5C6A7C5B$B5C7B6A5B7A6C5A7C5B$
2B5A6B7A5C6A7C5B6C5B$2B6A5B7A6C5A7C6B5C5B$2B7A5C6A7C5B6C7B5A4B$2B7A6C
5A7C6B5C7B6A3B$3C6A7C5B6C7B5A6B7A2C$4C5A7C6B5C7B6A5B7A2C$5C5B6C7B5A6B
7A5C6A2C$5C6B5C7B6A5B7A6C5A2C$5C7B5A6B7A5C6A7C5BC$5C7B6A5B7A6C5A7C6B$
B5A6B7A5C6A7C5B6C6B$B6A5B7A6C5A7C6B5C6B$B7A5C6A7C5B6C7B5A5B$B7A6C5A7C
6B5C7B6A4B$2C6A7C5B6C7B5A6B7A3C$3C5A7C6B5C7B6A5B7A3C$4C5B6C7B5A6B7A5C
6A3C$4C6B5C7B6A5B7A6C5A3C$4C7B5A6B7A5C6A7C5B2C$4C7B6A5B7A6C5A7C6BC!

User avatar
H. H. P. M. P. Cole
Posts: 114
Joined: July 15th, 2023, 9:36 pm
Location: Error: 'H. H. P. M. P. Cole' has no attribute 'location'.

Re: How do you keep track of INT rules?

Post by H. H. P. M. P. Cole » March 8th, 2024, 9:05 am

Contents:
1. Hexagons in a triangular grid?
2. A proposed explosivity metric and some remarks on the project
3. A pilot study

1.
confocaloid wrote:
March 7th, 2024, 11:52 pm
These can be extended to any larger symmetric "hexagonal torus".
I had a think about how this could work for hexagons in a triangular grid. Probably something based on this could work:

Code: Select all

x = 12, y = 12, rule = 012345678//4L:T12,12
3B3A3B3A$3C3A3C3A$3C3B3C3B$3A3B3A3B$3A3C3A3C$3B3C3B3C$3B3A3B3A$3C3A3C
3A$3C3B3C3B$3A3B3A3B$3A3C3A3C$3B3C3B3C!
Other than that, I have no idea how to proceed. Let's probably focus on square grids first, as they are far easier to deal with.

Next step: implement scripts based on LaundryPizza03's post into Golly. Now we need to create an explosivity metric, and I feel it's going to be very hard...

2.

Here's my take on such a metric.

COLE EXPLOSIVITY METRIC (e_c)
Let f(i) be defined as the average lifespan of a 64x64 100i%-filled soup in a torus before it settles into an oscillator or a collection of oscillators. Then e_c is the integral of f(i) with respect to i from 0 to 1.

Unfortunately I have no idea how we can calculate the average lifespan of a soup using mathematical methods, or at the very least, a Golly script. e_c is going to be very expensive to compute...


Back to the main topic of this thread: how do we even classify INT rules? By rulespace? By dynamics? I think more people should have an opinion on this or at least contribute to this thread.

I have absolutely no idea on what new avenues this research is going to entail. I know this would end with a computer evaluation of all 2^102 INT rules, but can we start with smaller rulespaces first? If yes, which ones? Offhand I could think of:
- R1 OT von Neumann (2^10)
- R2 OT 1D (2^10)
- R1 INT von Neumann (2^12)
- R3 OT 1D (2^14)
- R1 OT Moore (2^18)
- R2 INT 1D (2^20)
- R1 INT Hexagonal (2^22)
- R4 OT 1D (2^22)

3.

EDIT: I have done a LaundryPizza03-like analysis of the non-B0 R2 1D OT rulespace (please let me know through PM if anything is incorrect, misleading, or missing, and I will edit this post accordingly).

The R2 OT 1D rulespace can be arguably described as the smallest rulespace with 'interesting' rules, i.e. rules that are chaotic (for some definition of chaotic) and can expand their bounding box and diamond (for 1D it simply means bounding line).

- With B1, all patterns expand at 2c in both directions. Hence no finite patterns are possible.
- With the lowest birth condition being B3 or B4, there are no patterns whose bounding box can expand.
- There are no SLs with the lowest survival condition being S3 or S4, as the largest complete graph of the line under the R2 1D neighbourhood is of order 3. Hence S2, S1, or S0 is needed for finite SLs.
- There are no ships in B2(34)/S012(34) as every pattern's BB either stays the same in size or expands.
- There are no finite SLs in B2(34)/S2(34). Since the only potential SL with S2 is the line of three, B2 completely destroys it by birthing a cell on both sides.
- There are no finite SLs in B2(34)/S1(4). Since the only potential SLs with S1 are 2o! or obo!, B2 gives unnecessary birthed cells to both potential SLs. In both potential SLs this problem cannot be fixed by adding another condition.
- There are no finite SLs in B2(34)/S12(34). Since every pattern's bounding box expands, except the dot, it implies that the dot should be used as the ‘outside’ of all finite SLs. However, the dot instantly dies, and so there are no finite SLs.
- There are no finite SLs in B23(4)/S13(4). Each finite SL in B2/S13 has an ob2o... left terminus, because if it had the 2o... left terminus then it would have birth on the cell to the left of the leftmost cell in the hypothetical SL, and if it had the obo2b... left terminus, birth would occur on the 2nd leftmost cell. However, B3 affects the 2nd leftmost cell of the ob2o... left terminus, and so the said state-0 cell will get birthed. Hence no finite SLs are possible.

Here is the summary diagram (unfilled cells in the B0 section are unknown, unfilled cells in the non-B0 section are interesting rulespaces to explore)
R2 OT 1D.png
R2 OT 1D.png (15 KiB) Viewed 299 times
Last edited by H. H. P. M. P. Cole on March 10th, 2024, 2:32 am, edited 3 times in total.
Harfordson Parker-Cole

Factorio

User avatar
confocaloid
Posts: 2725
Joined: February 8th, 2022, 3:15 pm

Re: How do you keep track of INT rules?

Post by confocaloid » March 8th, 2024, 10:23 am

H. H. P. M. P. Cole wrote:
March 8th, 2024, 9:05 am
I know this would end with a computer evaluation of all 2^102 INT rules, but can we start with smaller rulespaces first? If yes, which ones? Offhand I could think of: [...]
There is also the CWCFSMNCA rulespace. It contains 2^50 two-state isotropic rules with range-1 Moore neighbourhood which can be expressed with "AlternatingPermute" symmetry.
In other words, in every such rule, living conditions depend only on the current state of the centre cell (0..1), the total number of alive orthogonal neighbours (0..4), and the total number of alive diagonal neighbours (0..4), giving 2x5x5 = 50 possible tweakable conditions.

That idea can be modified for higher range neighbourhoods (e.g. include the 8 cells reachable by a knight's move from the centre cell, again taking into account only the number of alive cells in that set, but not the specific configuration). Many of those rules can be defined with a weighted neighbourhood, and every weighted neighbourhood defines its own rulespace (of rules sharing the same weighted neighbourhood, but having different birth/survival conditions).

And then, well, there is alot of interesting nested rulespaces with three or more cellstates that are smaller than the full rulespace of multistate isotropic rules.

Related: viewtopic.php?p=169985#p169985 viewtopic.php?p=75323#p75323
127:1 B3/S234c User:Confocal/R (isotropic rules, 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.

User avatar
H. H. P. M. P. Cole
Posts: 114
Joined: July 15th, 2023, 9:36 pm
Location: Error: 'H. H. P. M. P. Cole' has no attribute 'location'.

Re: How do you keep track of INT rules?

Post by H. H. P. M. P. Cole » March 10th, 2024, 2:45 am

confocaloid wrote:
March 8th, 2024, 10:23 am
There is also the CWCFSMNCA rulespace.
Okay... so given we can analyze rulespaces with size 2^10 manually (as I have done before) and relatively quickly, what other rulespaces could I tackle next for a full LaundryPizza03-style analysis?
Harfordson Parker-Cole

Factorio

Post Reply