Classifying replicators

For discussion of other cellular automata.
Post Reply
User avatar
muzik
Posts: 5614
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Classifying replicators

Post by muzik » May 8th, 2021, 11:15 am

At this point, the classification of periodic non-infinitely-growing patterns is basically standardised across square-grid CA: two numbers to symbolise displacement, and a third value for period, can be used to describe any spaceship, and for objects with zero displacement we can ignore the displacement values. However, for other classes of patterns, descriptions for their behaviour does not seem to be formally defined. If ever we plan to document replicators in a similar manner to the 5s project, it's best we find a way to classify replicators in the first place.

As the field of known patterns classified as replicators is massively diverse, to have any hope of starting work on creating a way to classify replicators, we'll try to limit the scope: a replicator must be able to function perfectly as a Rule 90 (for range-1, or Rule 6 for range-1/2) unit cell. This excludes 2D replicators as well as replicators that simulate other 1D rules, however the most commonly encountered replicators are still here, and the classification should be extensible to other rules (at least those which actually are replication rules, such as Rule 150, but excluding cases like Rule 50 and 110) somehow later.

In order to function as a unit cell, correctly-positioned copies of the replicator must be able to actually simulate Rule 90 perfectly. This excludes some replicators in which a single copy replicates indefinitely, but multiple copies (for example, removing a single copy after a given number of replication cycles) interfere to yield a non-infinitely-replicating, usually chaotic result.

Another thing worth noting is the fact that the "unit cell distance" of replicators - that is, the distance in which replicators must be separated from each other in order to function as true Rule 90 unit cells - may not be immediately obvious. Take the classic b2a replicator as an example:

Code: Select all

x = 1, y = 2, rule = B2a/S
o$o!
One would reasonably expect the second generation of this replicator to be comparable to the second generation of rule 90:

Code: Select all

x = 3, y = 2, rule = W90
bo$obo!
and therefore for this:

Code: Select all

x = 2, y = 2, rule = B2a/S
2o$2o!
to evolve identically to this:

Code: Select all

x = 2, y = 1, rule = W90
2o!
However, it can be seen that this is not the case. In cases like these, it may be better to think of replicators like these as following rule 6 range 1/2 (which can be simulated in range 1 as rule 60) instead of following rule 90, as a copy in such an invalid location during this generation would correspond to a cell at a half-integer position for rule 6, which is obviously impossible, thus the undefined behaviour.

Code: Select all

x = 128, y = 128, rule = bs0123456h
o$2o$obo$4o$o3bo$2o2b2o$obobobo$8o!
[[ SQUARECELLS ]]
Beyond cases such as this, many known replicators fit into this terminology perfectly. The iconic HighLife replicator, which provably simulates rule 6/rule 90 just fine with correctly positioned copies, moves at (2,2)c/12:

Code: Select all

x = 7, y = 7, rule = B36/S23History
2.3D$2.D2.D$2AC3.D$A2.C2.D$A3.C2D$.A2.A$2.3A!
[[ STOP 12 ]]

Code: Select all

x = 17, y = 17, rule = B36/S23
12b3o$12bo2bo$12bo3bo$13bo2bo$14b3o4$4b3o$4bo2bo$4bo3bo$5bo2bo$3o3b3o$
o2bo$o3bo$bo2bo$2b3o!
and the tHighLife replicator at (4,0)c/11:

Code: Select all

x = 9, y = 3, rule = B36/S2-i34qHistory
4AC4D$4AC4D$4AC4D!
[[ STOP 11 ]]

Code: Select all

x = 29, y = 3, rule = B36/S2-i34q
5o3b5o11b5o$5o3b5o11b5o$5o3b5o11b5o!
This oblique replicator would be classed as (5,2)c/21, and like the other two, provably works as a Rule 6/Rule 90 unit cell:

Code: Select all

x = 8, y = 6, rule = B3-y4y6ci/S23-eHistory
.2A$A.A$A.A3.2D$2A3.D.D$5.D.D$5.2D!
[[ STOP 21 ]]

Code: Select all

x = 33, y = 16, rule = B3-y4y6ci/S23-e
b2o$obo$obo$2o$11b2o$10bobo$10bobo$10b2o5$31b2o$30bobo$30bobo$30b2o!
Here is a 1D replicator that replicates infinitely on its own, but correctly positioned copies results in chaotic behaviour, meaning it does not simulate Rule 6 or Rule 90 (this example actually simulates Rule 22):

Code: Select all

x = 1, y = 2, rule = B2a3j5y6i/S1e2i3a
o$o!

Code: Select all

x = 28, y = 2, rule = B2a3j5y6i/S1e2i3a
o26bo$o26bo!
While these conventional cases are easy to define, this classification is based on the assumption that the replicator will always stay within the same line. Throughout OCA exploration, there have been cases of replicators discovered that go against this, which replicate like one would expect but whose "line" also has a displacement factor. Take this example, which clearly replicates infinitely and simulates Rule 6/Rule 90 without flaw like the rest, but also has a displacement (tracing out Rule 90 in its history as a result):

Code: Select all

x = 2, y = 2, rule = B2a4w/S2e3j
o$2o!

Code: Select all

x = 14, y = 14, rule = B2a4w/S2e3j
o$2o3$4bo$4b2o7$12bo$12b2o!
There are also cases in which a replicator only replicates in one direction, but still stays in the same line, which could be considered as having a "displacement" parallel to the direction of replication:

Code: Select all

x = 2, y = 3, rule = B1e3r4i/S1e2ae3enr4i
2o$o$2o!

Code: Select all

x = 8, y = 3, rule = B1e3r4i/S1e2ae3enr4i
4o2b2o$obo3bo$4o2b2o!
Another example of parallel displacement, where two sides move, but at differing rates:

Code: Select all

x = 2, y = 3, rule = B2e3in4ceit5i6c/S1c2-kn3a
bo$o$bo!

Code: Select all

x = 17, y = 3, rule = B2e3in4ceit5i6c/S1c2-kn3a
bo4bo9bo$o4bo9bo$bo4bo9bo!
So at the moment, I'm somewhat stuck figuring how this new displacement factor would be counted for a replicator. Measuring the displacement of one of the copies of the replicator from its starting position, while functional for the non-displacing symmetric cases, somewhat falls apart here. This distance would probably still be measured, but would we subtract the whole replicating body's displacement from it, or not? Community assistance with this stage would be of much help, so we can get something set in stone for classification.

dani
Posts: 1222
Joined: October 27th, 2017, 3:43 pm

Re: Classifying replicators

Post by dani » May 8th, 2021, 11:47 am

I think it would be useful to list the displacements of every copy over its speed. For example:
muzik wrote:
May 8th, 2021, 11:15 am
There are also cases in which a replicator only replicates in one direction, but still stays in the same line, which could be considered as having a "displacement" parallel to the direction of replication:

Code: Select all

x = 2, y = 3, rule = B1e3r4i/S1e2ae3enr4i
2o$o$2o!

Code: Select all

x = 8, y = 3, rule = B1e3r4i/S1e2ae3enr4i
4o2b2o$obo3bo$4o2b2o!
This could be written as [(0, 0), (0, 2)]c/2.
muzik wrote:
May 8th, 2021, 11:15 am
Another example of parallel displacement, where two sides move, but at differing rates:

Code: Select all

x = 2, y = 3, rule = B2e3in4ceit5i6c/S1c2-kn3a
bo$o$bo!

Code: Select all

x = 17, y = 3, rule = B2e3in4ceit5i6c/S1c2-kn3a
bo4bo9bo$o4bo9bo$bo4bo9bo!
This could be written as [(0, 4), (0, -1)]c/8.

However, this does not at all cover orientation, the rules the replicators follow, or cover any replicators which replicate out of phase with eachother. Here is an example of a replicator which is inadequately covered by this notation:

Code: Select all

x = 6, y = 6, rule = B3-nqry4k5a6n7c/S2-k3-a4jt5a7c
b2o$2obo$obobo$bo3bo$2bob2o$3b2o!
It replicates once, flipped around, at generation 15 position (-4, -4), but its second copy comes at generation 19 position (5, 5). It would be helpful to develop a sort of notation for orientation at the very least. I don't know if one exists.

User avatar
muzik
Posts: 5614
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Classifying replicators

Post by muzik » May 8th, 2021, 12:48 pm

dani wrote:
May 8th, 2021, 11:47 am
However, this does not at all cover orientation, the rules the replicators follow, or cover any replicators which replicate out of phase with eachother. Here is an example of a replicator which is inadequately covered by this notation:

Code: Select all

x = 6, y = 6, rule = B3-nqry4k5a6n7c/S2-k3-a4jt5a7c
b2o$2obo$obobo$bo3bo$2bob2o$3b2o!
It replicates once, flipped around, at generation 15 position (-4, -4), but its second copy comes at generation 19 position (5, 5). It would be helpful to develop a sort of notation for orientation at the very least. I don't know if one exists.
Is it possible for a true unit cell replicator to exhibit such behaviour? Here's generation 47:

Code: Select all

x = 30, y = 30, rule = B3-nqry4k5a6n7c/S2-k3-a4jt5a7c
3o$o2bo$obo$bo4$9bo$8b2o$7b2o2bo$11bo$9b3o9$20b3o$20bo2bo$20bobo$21bo
4$27bobo$29bo$27b3o!
If we remove one copy, it ends up not replicating in the usual fashion:

Code: Select all

x = 30, y = 30, rule = B3-nqry4k5a6n7c/S2-k3-a4jt5a7c
3o$o2bo$obo$bo4$9bo$8b2o$7b2o2bo$11bo$9b3o16$27bobo$29bo$27b3o!
Do inform me if there are any counterexamples.

User avatar
muzik
Posts: 5614
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Classifying replicators

Post by muzik » May 8th, 2021, 12:56 pm

There are also cases in which two sides of the replicator even appear to replicate at different periods, yet emulate Rule 90 as a unit cell just fine:

Code: Select all

x = 32, y = 10, rule = B3aiy4qt5i/S2a3aeiq4e5iy6cSuper
3P.3P20.P.3P$2.P.P.P20.P.P$2.P.P.P20.P.P$3P.P.P20.P.3P$P3.P.P20.P.P.P
$P3.P.P20.P.P.P$3P.3P20.P.3P$7.2D8.2A6.2D$6.3D7.3A5.3D$7.2D8.2A6.2D!

Code: Select all

x = 3, y = 3, rule = B3aiy4qt5i/S2a3aeiq4e5iy6c
b2o$3o$b2o!
[[ AUTOFIT STOP 104 ]]

Code: Select all

x = 107, y = 7, rule = B3aiy4qt5i/S2a3aeiq4e5iy6c
20b4o76b4o$19b2obo76b2obo$b2o2b2o10b6o2b2o70b6o2b2o$3ob3o9b4o4b3o69b4o
4b3o$b2o2b2o10b6o2b2o70b6o2b2o$19b2obo76b2obo$20b4o76b4o!
[[ AUTOFIT AUTOSTART ]]
I'm not sure if these would be able to be counted as well. Drawing this line is a pain...

User avatar
wwei47
Posts: 1651
Joined: February 18th, 2021, 11:18 am

Re: Classifying replicators

Post by wwei47 » May 8th, 2021, 1:19 pm

muzik wrote:
May 8th, 2021, 12:56 pm
There are also cases in which two sides of the replicator even appear to replicate at different periods, yet emulate Rule 90 as a unit cell just fine:
Imagine a slanted Sierpinski triangle.
Help me find high-period c/2 technology!
My guide: https://bit.ly/3uJtzu9
My c/2 tech collection: https://bit.ly/3qUJg0u
Overview of periods: https://bit.ly/3LwE0I5
Most wanted periods: 76,116

User avatar
cgoler2
Posts: 224
Joined: March 10th, 2021, 2:32 pm
Location: Living in a half-bakery

Re: Classifying replicators

Post by cgoler2 » May 8th, 2021, 1:46 pm

What type of replicator is this?

Code: Select all

x = 1, y = 1, rule = B18/S
o!

User avatar
muzik
Posts: 5614
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Classifying replicators

Post by muzik » May 8th, 2021, 1:52 pm

cgoler2 wrote:
May 8th, 2021, 1:46 pm
What type of replicator is this?

Code: Select all

x = 1, y = 1, rule = B18/S
o!
Two-dimensional and obviously therefore not something that we plan on classifying at the moment, as was very, very clearly stated in the second paragraph in the first post. Did you even read it?

User avatar
muzik
Posts: 5614
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Classifying replicators

Post by muzik » May 9th, 2021, 3:39 am

Perhaps it would be possible to classify replicators using two separate sets of displacement and period?

This case has a stationary copy of period 18, and creates a second copy in generation 19, shifted 9 cells orthogonally. So perhaps we could call it something along the lines of [(0,0)c/18, (9,0)c/19]:

Code: Select all

x = 3, y = 2, rule = B2-a3ckq4ektwyz5-in6-i7e8/S1c3cijnr4ejrw5eq6ai
bo$o$bo!
Removing copies accordingly during the correct times does still result in Rule 6 unit cell behaviour.

User avatar
Entity Valkyrie 2
Posts: 1757
Joined: February 26th, 2019, 7:13 pm
Contact:

Re: Classifying replicators

Post by Entity Valkyrie 2 » May 9th, 2021, 5:32 am

muzik wrote:
May 9th, 2021, 3:39 am
Perhaps it would be possible to classify replicators using two separate sets of displacement and period?

This case has a stationary copy of period 18, and creates a second copy in generation 19, shifted 9 cells orthogonally. So perhaps we could call it something along the lines of [(0,0)c/18, (9,0)c/19]:

Code: Select all

x = 3, y = 2, rule = B2-a3ckq4ektwyz5-in6-i7e8/S1c3cijnr4ejrw5eq6ai
bo$o$bo!
Removing copies accordingly during the correct times does still result in Rule 6 unit cell behavior.
That looks like a gun whose output is itself.
Bx222 IS MY WORST ENEMY.

Please click here for my own pages.

My recent rules:
StateInvestigator 3.0
B3-kq4ej5i6ckn7e/S2-i34q6a7
B3-kq4ej5y6c/S2-i34q5e
Move the Box

User avatar
muzik
Posts: 5614
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Classifying replicators

Post by muzik » May 9th, 2021, 5:40 am

Entity Valkyrie 2 wrote:
May 9th, 2021, 5:32 am
That looks like a gun whose output is itself.
Such could be said about any replicator.

User avatar
Entity Valkyrie 2
Posts: 1757
Joined: February 26th, 2019, 7:13 pm
Contact:

Re: Classifying replicators

Post by Entity Valkyrie 2 » May 9th, 2021, 6:00 am

muzik wrote:
May 9th, 2021, 5:40 am
Entity Valkyrie 2 wrote:
May 9th, 2021, 5:32 am
muzik wrote:
May 9th, 2021, 3:39 am
Perhaps it would be possible to classify replicators using two separate sets of displacement and period?

This case has a stationary copy of period 18, and creates a second copy in generation 19, shifted 9 cells orthogonally. So perhaps we could call it something along the lines of [(0,0)c/18, (9,0)c/19]:

Code: Select all

x = 3, y = 2, rule = B2-a3ckq4ektwyz5-in6-i7e8/S1c3cijnr4ejrw5eq6ai
bo$o$bo!
Removing copies accordingly during the correct times does still result in Rule 6 unit cell behavior.
That looks like a gun whose output is itself.
Such could be said about any replicator.
Not exactly. The above replicator has an end that's stable, and one end that's replicating. Most replicators can look like rakes whose output is itself, but not guns whose output is itself.
Bx222 IS MY WORST ENEMY.

Please click here for my own pages.

My recent rules:
StateInvestigator 3.0
B3-kq4ej5i6ckn7e/S2-i34q6a7
B3-kq4ej5y6c/S2-i34q5e
Move the Box

User avatar
muzik
Posts: 5614
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Classifying replicators

Post by muzik » February 5th, 2022, 11:36 am

It might be a good idea to expand terminology somewhat to distinguish unit cell behaviour:

Strong replicator: a replicator which still functions properly (i.e. like a single unit would) when one of its units is removed in an appropiate fashion; it functions properly as a unit cell.

tHighLife's replicator can be seen to replicate strongly:

Code: Select all

x = 29, y = 3, rule = B36/S2-i34q
5o3b5o3b5o3b5o$5o3b5o3b5o3b5o$5o3b5o3b5o3b5o!
[[ AUTOFIT ]]

Code: Select all

x = 29, y = 3, rule = B36/S2-i34q
5o3b5o11b5o$5o3b5o11b5o$5o3b5o11b5o!
[[ AUTOFIT ]]
Weak replicator: a replicator which will successfully replicate infinitely from a single unit, but which cannot have one of its units removed like seen above without causing undefined behaviour.

This would be an example of a weak replicator, since removing one unit in a similar fashion causes the "replication" to become chaotic, unlike what would be expected from a single unit:

Code: Select all

x = 34, y = 34, rule = B3-nqry4k5a6n7c/S2-k3-a4jt5a7c
3o$o2bo$o2b2o$b3obo$2bo2bo$3b3o3$8b3o$8bo2bo$8bob4o$9b2o2bo$10bob2o$
10b6o$13b2obo$13bobo$14bo4$20b3o$20bo2bo$20bo2b2o$21b3obo$22bo2bo$23b
3o5$30b3o$30bo2bo$30bob2o$31b2o!
[[ AUTOFIT ]]

Code: Select all

x = 34, y = 34, rule = B3-nqry4k5a6n7c/S2-k3-a4jt5a7c
3o$o2bo$o2b2o$b3obo$2bo2bo$3b3o3$8b3o$8bo2bo$8bob4o$9b2o2bo$10bob2o$
10b6o$13b2obo$13bobo$14bo14$30b3o$30bo2bo$30bob2o$31b2o!
[[ AUTOFIT ]]
It's important to note that some cases which may appear to be weak at first glance can be shown to actually be strong if a unit is removed at a different time; in this case, the units in that phase would be considered individual strong replicators.

This object, for example, replicates at c/5:

Code: Select all

x = 1, y = 5, rule = B2ae3-ciq4iknqty5-kqr6cei/S2-cn3acik4ckty5cj6c
o$o$o$o$o!
If we go to generation 15 and remove one of the middle two units, however, it no longer replicates like one would expect, which may lead one to believe this is a weak replicator:

Code: Select all

x = 7, y = 5, rule = B2ae3-ciq4iknqty5-kqr6cei/S2-cn3acik4ckty5cj6c
obo3bo$obo3bo$obo3bo$obo3bo$obo3bo!
However, if we instead go to generation 30 and remove one of the middle two units, replication continues as expected:

Code: Select all

x = 13, y = 5, rule = B2ae3-ciq4iknqty5-kqr6cei/S2-cn3acik4ckty5cj6c
o3bo7bo$o3bo7bo$o3bo7bo$o3bo7bo$o3bo7bo!

Ohhhhhhhhh
Posts: 117
Joined: August 19th, 2021, 5:56 am

Re: Classifying replicators

Post by Ohhhhhhhhh » February 6th, 2022, 9:15 pm

muzik wrote:
February 5th, 2022, 11:36 am
It might be a good idea to expand terminology somewhat to distinguish unit cell behaviour:

Strong replicator: a replicator which still functions properly (i.e. like a single unit would) when one of its units is removed in an appropiate fashion; it functions properly as a unit cell.

tHighLife's replicator can be seen to replicate strongly:

Code: Select all

x = 29, y = 3, rule = B36/S2-i34q
5o3b5o3b5o3b5o$5o3b5o3b5o3b5o$5o3b5o3b5o3b5o!
[[ AUTOFIT ]]

Code: Select all

x = 29, y = 3, rule = B36/S2-i34q
5o3b5o11b5o$5o3b5o11b5o$5o3b5o11b5o!
[[ AUTOFIT ]]
Weak replicator: a replicator which will successfully replicate infinitely from a single unit, but which cannot have one of its units removed like seen above without causing undefined behaviour.

This would be an example of a weak replicator, since removing one unit in a similar fashion causes the "replication" to become chaotic, unlike what would be expected from a single unit:

Code: Select all

x = 34, y = 34, rule = B3-nqry4k5a6n7c/S2-k3-a4jt5a7c
3o$o2bo$o2b2o$b3obo$2bo2bo$3b3o3$8b3o$8bo2bo$8bob4o$9b2o2bo$10bob2o$
10b6o$13b2obo$13bobo$14bo4$20b3o$20bo2bo$20bo2b2o$21b3obo$22bo2bo$23b
3o5$30b3o$30bo2bo$30bob2o$31b2o!
[[ AUTOFIT ]]

Code: Select all

x = 34, y = 34, rule = B3-nqry4k5a6n7c/S2-k3-a4jt5a7c
3o$o2bo$o2b2o$b3obo$2bo2bo$3b3o3$8b3o$8bo2bo$8bob4o$9b2o2bo$10bob2o$
10b6o$13b2obo$13bobo$14bo14$30b3o$30bo2bo$30bob2o$31b2o!
[[ AUTOFIT ]]
It's important to note that some cases which may appear to be weak at first glance can be shown to actually be strong if a unit is removed at a different time; in this case, the units in that phase would be considered individual strong replicators.

This object, for example, replicates at c/5:

Code: Select all

x = 1, y = 5, rule = B2ae3-ciq4iknqty5-kqr6cei/S2-cn3acik4ckty5cj6c
o$o$o$o$o!
If we go to generation 15 and remove one of the middle two units, however, it no longer replicates like one would expect, which may lead one to believe this is a weak replicator:

Code: Select all

x = 7, y = 5, rule = B2ae3-ciq4iknqty5-kqr6cei/S2-cn3acik4ckty5cj6c
obo3bo$obo3bo$obo3bo$obo3bo$obo3bo!
However, if we instead go to generation 30 and remove one of the middle two units, replication continues as expected:

Code: Select all

x = 13, y = 5, rule = B2ae3-ciq4iknqty5-kqr6cei/S2-cn3acik4ckty5cj6c
o3bo7bo$o3bo7bo$o3bo7bo$o3bo7bo$o3bo7bo!
You forgot to add Dirty Replicators, which can be considered replicators in some sort. Also, such replicators are more common than Clean Replicators, which can be diverged into your types.
But how will we identify if a replicator is clean or dirty? What if a replicator creates debris which is exactly itself, being moved, turned or advanced some generations?
This is a block of text that can be added to posts you make. There is a 255 character limit.

something useless:

Code: Select all

 #CXRLE Pos=-8,-6
x = 11, y = 10, rule = B3/S23
5bo$6bo$4b3o$9b2o$9b2o3$3o$2bo$bo!

User avatar
wwei47
Posts: 1651
Joined: February 18th, 2021, 11:18 am

Re: Classifying replicators

Post by wwei47 » February 6th, 2022, 11:49 pm

Ohhhhhhhhh wrote:
February 6th, 2022, 9:15 pm
But how will we identify if a replicator is clean or dirty? What if a replicator creates debris which is exactly itself, being moved, turned or advanced some generations?
That's what I call the replication habit. This one is Pascal triangle mod 3.

Code: Select all

x = 4, y = 3, rule = B2e35y7e/S1c2ace3an
b2o$o2bo$b2o!
EDIT: Typo fix
Help me find high-period c/2 technology!
My guide: https://bit.ly/3uJtzu9
My c/2 tech collection: https://bit.ly/3qUJg0u
Overview of periods: https://bit.ly/3LwE0I5
Most wanted periods: 76,116

User avatar
muzik
Posts: 5614
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Classifying replicators

Post by muzik » February 22nd, 2024, 12:38 pm

Ohhhhhhhhh wrote:
February 6th, 2022, 9:15 pm
You forgot to add Dirty Replicators, which can be considered replicators in some sort.
No I didn't, and the reason should be very obvious: if a replicator creates a bunch of extra junk, it can't strictly be considered a replicator under our unit-cell definitions, since that extra debris doesn't also replicate. We're trying to classify the simplest general case possible at this point - any novel or failed replicators that create a mess aren't what we currently want to be bothering with.

User avatar
muzik
Posts: 5614
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Classifying replicators

Post by muzik » March 24th, 2024, 12:03 pm

Six numbers in the form of two displacements seem to be sufficient for describing 1D replicators. Would it be fair to say that twelve numbers in the form of four displacements would make sense for 2D replicators?

For trivial cases like the diagonally-moving "square" replicators and orthogonally-moving "square-that-people-call-a-diamond-for-some-reason" replicators, we can obviously just use one displacement, since it should be equal in all directions.

Code: Select all

x = 5, y = 5, rule = B2k3578/S3-e456k8
2bo$5o$5o$5o$2bo!
[[ AUTOFIT STEP 8 NOTHROTTLE ]]

Code: Select all

x = 4, y = 4, rule = B3-cek5a/S2ace34a5a
3o$o2bo$o2bo$b3o!
[[ AUTOFIT STEP 9 NOTHROTTLE ]]
I have twelve cases of strong 2D replicators here that would probably require more information than just two numbers. How would these be classified?

p20, oblique:

Code: Select all

x = 4, y = 6, rule = B3-nq4nt5ar/S2-k34aiw
b3o$bobo$3bo$o$obo$3o!
p30, oblique:

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
b3o$o2bo$3o!
p32, oblique:

Code: Select all

x = 4, y = 5, rule = B2in3aijr4eq5j6c/S2-in3ijnqr4i5cnr6k
3o$obo$o2bo$bobo$b3o!
p156, oblique:

Code: Select all

x = 30, y = 29, rule = B35i6e/S2-n3-c4q
19b2o$18b2o$17b2o7$2b2o$b2o$2o6$28b2o$27b2o$26b2o7$11b2o$10b2o$9b2o!
p6, rhombic envelope:

Code: Select all

x = 4, y = 4, rule = B2ac3e/S1e5i
3bo$3bo$o$o!
p34, rhombic envelope:

Code: Select all

x = 3, y = 4, rule = B3-r5a/S23-aq5a
o$2o$b2o$2bo!
p56, rhombic envelope:

Code: Select all

x = 9, y = 22, rule = B2i3-ekny4z5r7/S2-cn3-ace4eiz5ejknq6i
3bo$2b3o$bo2bo$obo$b2o13$6b2o$6bobo$4bo2bo$4b3o$5bo!
p84, rhombic envelope:

Code: Select all

x = 9, y = 4, rule = B2i34city5ackqy6ein7c8/S23-a4city
3o$obo3b3o$3o3bobo$6b3o!
p126, rhombic envelope:

Code: Select all

x = 5, y = 9, rule = B34ej5y6n/S23
b3o$bo2bo$3b2o4$2o$o2bo$b3o!
p144, rectangular envelope:

Code: Select all

x = 42, y = 42, rule = B2i34ceiknry8/S23-a4city
7b3o$7bo2bo$6bo3bo$6bo3bo$7b3o$12b3o$2b2o7bo3bo$2o2bo6bo3bo$o3bo6bo2b
2o$o3bo7b2o$b3o$6b3o$5bo3bo$5bo3bo$5bo2bo$6b3o11$33b3o$33bo2bo$32bo3b
o$32bo3bo$33b3o$38b3o$28b2o7bo3bo$26b2o2bo6bo3bo$26bo3bo6bo2b2o$26bo3b
o7b2o$27b3o$32b3o$31bo3bo$31bo3bo$31bo2bo$32b3o!
p150, rectangular envelope:

Code: Select all

x = 19, y = 19, rule = B2n34eiqrtz5eijnr8/S23-a4city
3b3o$3bobo$3b3o$3o$obo$3o8$16b3o$16bobo$16b3o$13b3o$13bobo$13b3o!
p160, rectangular envelope:

Code: Select all

x = 40, y = 40, rule = B2kn3-ckny4irt5r8/S2aek3ijnqr4i
32bo$31b3o$30bo2b2o$29bob3o$29b3o$27b2o2b2o4bo$26bobo3bo3b3o$25bob3o3b
2obob2o$24b2obob2o3b3obo$25b3o3bo3bobo$26bo4b2o2b2o$32b3o$30b3obo$29b
2o2bo$30b3o$31bo9$8bo$7b3o$6bo2b2o$5bob3o$5b3o$3b2o2b2o4bo$2bobo3bo3b
3o$bob3o3b2obob2o$2obob2o3b3obo$b3o3bo3bobo$2bo4b2o2b2o$8b3o$6b3obo$5b
2o2bo$6b3o$7bo!
For the oblique squares and the rectangular envelopes I assume that a single oblique displacement would be sufficient, and for the rhombic envelopes two distinct displacements would be required. Any counterexamples or other points of dispute?

User avatar
muzik
Posts: 5614
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Classifying replicators

Post by muzik » March 26th, 2024, 9:22 am

I've split off the hunt for strong mod-3 replication into its own thread: viewtopic.php?t=6421

Anyway, patterns like these have been perplexing me a tad. Would these count as replicators with three copies plus an added Lorentz shift? I'm finding them difficult to analyse and partition into distinct copies.

Code: Select all

x = 4, y = 3, rule = B2n3acijr4ijqt5ry6i7e8/S2aek3ijnqr4cei5eijnr6-ac7e
2obo$o2bo$b3o!

Code: Select all

x = 3, y = 4, rule = B2k3ai4irw7e/S2aek3ijnqr4i
2o$obo$2bo$3o!
This 1D Lorentz-shifted object also seems to just barely miss the mark for being a replicator, despite exhibiting much the same behaviour as the ones that I've included in the zip in the other thread.

Code: Select all

x = 5, y = 3, rule = B2en3aijny4cijkny5ejq/S01c2ce3-ainy4acjtyz5cy
4bo$o2bo$4bo!
And this replicator is a strange case, as it seems to partition itself into four copies rather than two despite being 1D. Possible rule 27030 unit cell?

Code: Select all

x = 17, y = 17, rule = B3ai4eknqyz5cry6n/S2-ci3-ace4inrt5aeqy6a7
3b2o$3bobo$3b3o$3o$obo$b2o5b2o$8bobo$8b3o$5b3o$5bobo6b2o$6b2o6bobo$14b
3o3$9b3o$9bobo$10b2o!

Code: Select all

x = 1, y = 1, rule = R2,C2,S0-4,B1,3,N@0001e0H
o!
[[ SQUARECELLS AUTOFIT ]]
This would mean that five copies (rule 2523490710) is the lowest number of copies that we've yet to find for a two-state 1D replicator:

Code: Select all

x = 1, y = 1, rule = R2,C2,S0-5,B1,3,5,N@0003e0
o!
[[ AUTOFIT ]]

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

Re: Classifying replicators

Post by confocaloid » March 26th, 2024, 6:54 pm

muzik wrote:
March 25th, 2024, 3:21 pm
[...]
I remember the following failed replicator also having a version that replicates correctly, but searching back then turned up no results (hence why I did a three-state stabilization).

Code: Select all

x = 3, y = 3, rule = B38/S2378
3o$obo$obo!

Code: Select all

x = 3, y = 3, rule = ForcedRepl
3o$obo$obo!
[...]
Two-state range-2 isotropic non-totalistic rule via weighted neighbourhood ("layer-totalistic"):

Code: Select all

#C toggled living conditions in the ruleset: removed S179, added B242 and B344
x = 3, y = 3, rule = R2,C0,S34-67,102-135,170-178,180-203,255-271,323-339,391-424,B51-67,119-135,187-203,242,255-271,344,408-424,NW01010101010111551101015500550101115511010101010101
3o$obo$obo!

Code: Select all

#C should be an equivalent definition of the Life-like cellular automaton B38/S2378
x = 3, y = 3, rule = R2,C0,S34-67,102-135,170-203,255-271,323-339,391-424,B51-67,119-135,187-203,255-271,408-424,NW01010101010111551101015500550101115511010101010101
3o$obo$obo!
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.

Post Reply