From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

For discussion of other cellular automata.
User avatar
MortezaRahmani
Posts: 18
Joined: August 4th, 2026, 3:59 am
Contact:

From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by MortezaRahmani »

Hello everyone,
I’m Morteza Rahmani, from Iran, and I’m interested in mathematics, cellular automata, and fractals.
I have developed a cellular fractal automaton inspired by the traditional medallion patterns found in Iranian carpets. I call it "Toranj (ICM: Iranian Carpet Medallion)".
The idea started with a simple question: what would happen if the geometric structure of an Iranian carpet medallion were translated into a cellular automaton rule?
The result is a surprisingly intricate and symmetric pattern that evolves from a very simple local rule.
Here is a short video showing Toranj in action:
https://www.youtube.com/watch?v=980bAiDV_pY

A brief look at the rule
Toranj uses a simple 3×3 neighborhood.
Unlike most cellular automata, the top-left cell of the 3×3 neighborhood is the reference cell, rather than the cell at the geometric center.
The reference cell itself is also included in the calculation.
For each reference cell, I examine the corresponding 3×3 block and count the live cells, including the reference cell itself.
The reference cell is alive in the next generation if the total number of live cells in this 3×3 block is 3 or 4.
In other words:

Code: Select all

Next state = Alive if the 3×3 sum is 3 or 4;
otherwise Dead.
Despite this very simple rule, Toranj produces a highly structured and symmetric pattern.

Initial conditions and boundary structure
The initial configuration has a specific diagonal structure at the end of the implemented region.
The final cell of the implemented region has the value 4 in the first generation and immediately becomes 5 from the second generation onward.
Relative to this cell, the cells at offsets (-1,-1) and (-2,-2) remain 1 throughout the entire evolution.
These conditions define the starting and boundary structure from which the Toranj pattern develops.

Direction and size of the universe
The cellular universe in Toranj is directed toward the upper-left. In this direction, the computational region can be extended without a fixed upper bound.
The dimensions of the computational region do not necessarily have to be square; rectangular regions are also possible.
However, because of the geometry and symmetry of Toranj, a square computational region provides the most balanced, natural, and visually coherent form.
For example, configurations such as 100×100, 200×200, or even 1,000,000×1,000,000 cells can be used.
As the computational region is extended toward the upper-left, Toranj becomes larger, more detailed, and increasingly populated. In cellular-automaton terms, this means that the population increases as larger regions of the universe are explored.
The larger the computational region, the richer and more detailed the resulting Toranj becomes.
ICM.gif
ICM.gif (5.53 MiB) Viewed 682 times
I’d love to hear your thoughts
I’d be very interested to hear what you think about Toranj, especially from people here who have experience with cellular automata.
I’m happy to provide more details about the rule, its construction, implementation, and evolution if anyone is interested.
Morteza Rahmani
Mathematics · Cellular Automata · Fractals
hotdogPi
Moderator
Posts: 2261
Joined: August 12th, 2020, 8:22 pm

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by hotdogPi »

Based on your description, I believe "R2,C2,S3-4,B3-4,NW0000000000001110011100111" below matches it.

R2: range-2
C2: 2-state rule
S3-4: survival on 3-4 cells
B3-4: birth on 3-4 cells
NW00...: read the 0s and 1s as a 5×5 grid; the 1s correspond to a 3×3 subset and those are the neighbors that are considered

Code: Select all

x = 3, y = 3, rule = R2,C2,S3-4,B3-4,NW0000000000001110011100111
bo$3o$bo!
The equivalent non-shifting rule is much simpler. Survival numbers ignore the center cell, which is why they are one lower than above.

Code: Select all

x = 3, y = 3, rule = B34/S23
bo$3o$bo!
Edit 2 hours later: This equivalency won't work for most rules in this rulespace, since it's checking whether the current cell is off or on, not the shifted cell, to determine whether it checks "S3-4" or "B3-4". It works here since it's the same (3-4) for both birth and survival.
User:HotdogPi/My discoveries

Periods discovered:

All evens ≤128 except 52,58,78,82,92,94,98,104,118,122

5-15,㉕-㉛,㉟㊺,51,63,65,73,75
1㊳㊵㊹㊼㊽,54,56,72,74,80,90,92
217,240,300,486,576

Guns: 20,21,32,54,55,57,114,117,124,126
SKOPs: 32,74,76,102,196
melwin22
Posts: 48
Joined: September 9th, 2017, 5:40 am

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by melwin22 »

Rules posted by hotdogPi do indeed seem to match the evolution in the video, with the exception of the bottom-right corner, which in the video pulsates constantly. This shouldn't be possible if every pattern moves to top-left, so it must be a hardcoded "spawner" of sorts? Unless it's a diagonal spaceship traveling at the speed of light, but I don't think that's possible here either.

Anyway, B34/S23 (which is basically the same thing) remains largely unexplored due to its explosive nature. People rarely want to investigate a rule in which almost everything expands infinitely, even if there might be interesting behavior inside of the growing object. A youtuber carykh suggested the name "A world on fire" for this rule, but the name "Toranj" is just as valid.
User avatar
I6_I6
Posts: 999
Joined: July 26th, 2025, 8:44 pm
Location: Here, there, somewhere, anywhere, everywhere.
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by I6_I6 »

melwin22 wrote: August 30th, 2026, 2:21 pm Rules posted by hotdogPi do indeed seem to match the evolution in the video, with the exception of the bottom-right corner, which in the video pulsates constantly. This shouldn't be possible if every pattern moves to top-left, so it must be a hardcoded "spawner" of sorts? Unless it's a diagonal spaceship traveling at the speed of light, but I don't think that's possible here either.
[...]
This is probably what's causing the "spawner":
MortezaRahmani wrote: August 30th, 2026, 5:12 am [...]
Initial conditions and boundary structure
The initial configuration has a specific diagonal structure at the end of the implemented region.
The final cell of the implemented region has the value 4 in the first generation and immediately becomes 5 from the second generation onward.
Relative to this cell, the cells at offsets (-1,-1) and (-2,-2) remain 1 throughout the entire evolution.
These conditions define the starting and boundary structure from which the Toranj pattern develops.
[...]

Code: Select all

#C [[ THEME Golly ]]
x = 27, y = 15, rule = LifeHistory
8.A$A6.A.A$3A4.BA2B.B2D$3.A4.2B.2B2DB$2.2A2.3B.6B2.3B$2.20B$4.19B$4.2B
C10BD4B$4.2B2C10BD4B$4.B2C11B2D3B$4.13B2D4B$5.12BD3B.B2A$6.13B3.BA.A$
6.3B.B3.B10.A$25.2A!
RuleEdit: A .rule file editing tool
melwin22
Posts: 48
Joined: September 9th, 2017, 5:40 am

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by melwin22 »

I6_I6 wrote: August 31st, 2026, 1:09 am This is probably what's causing the "spawner":
Ah yes, indeed. But that isn't really necessary for the "carpet" to form, as it works just as fine from the X pentomino, tub, T tetromino, or other small patterns. Here's a different sequence that seems to evolve much faster horizontally than vertically:

Code: Select all

x = 2, y = 5, rule = B34/S23
2o$2o2$2o$2o!
Also, I believe that this rule has a finite, non-empty set of still lives, which is pretty unusual. I don't think it was proven, but 9 years ago a user stated that:
praosylen wrote: December 21st, 2017, 5:02 pm There are no still lives besides the block, beehive, boat, ship, and long ship in B34/S23.
And here's the mentioned set:

Code: Select all

x = 23, y = 4, rule = B34/S23
2o2b2o3b2o3b2o5bo$2o2bobo2bobo2bobo3bobo$5bo4b2o3bobo2bobo$16b2o3bo!
User avatar
MortezaRahmani
Posts: 18
Joined: August 4th, 2026, 3:59 am
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by MortezaRahmani »

The 100% Toranj Challenge
From a similar evolution to an exact reproduction.
First of all, I would like to thank everyone who has taken the time to investigate Toranj and especially to examine its rule and behavior.
I think we have now come quite close to understanding the underlying cellular automaton rule. However, there is still an important difference between finding a rule that produces similar behavior and actually reproducing Toranj.
So, I would like to turn the remaining part of this investigation into a small challenge:

Can we reproduce Toranj with 100% accuracy?
By 100%, I mean more than simply obtaining a visually similar pattern.
The goal is to reproduce the original Toranj:
• cell by cell
• generation by generation
• with the same geometry and growth
• with the same direction and spatial behavior
• with the same boundary conditions and corner behavior
• and ultimately with the same visual structure as the original implementation.

In other words, I am looking for a solution for which the following is true:
Original Toranj = Reproduced Toranj

not just approximately, and not just in its general behavior.

The current rules discussed above appear to explain a large part of Toranj's evolution, but I have not yet been able to demonstrate a complete 100% correspondence with the original implementation.
This is therefore an open challenge.
If anyone can produce a Golly pattern, rule, script, or mathematical description that reproduces the original Toranj exactly, I would be very interested in testing it against the original implementation, generation by generation.

The target is simple:
Not “something that looks like Toranj”.
Not “something that behaves similarly”.
But Toranj itself — reproduced exactly.

Can we get the remaining distance down to 0%?
Morteza Rahmani
Mathematics · Cellular Automata · Fractals
User avatar
J5L
Posts: 42
Joined: July 31st, 2026, 8:53 am
Location: Flower Garden

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by J5L »

MortezaRahmani wrote: September 4th, 2026, 5:06 am The 100% Toranj Challenge
[snip]
Is this what you wanted(or not?)?

Code: Select all

x = 3, y = 3, rule = B34/S23
bo$3o$bo!
JayFiveEll.
Recovering from LWTDS.
User avatar
MortezaRahmani
Posts: 18
Joined: August 4th, 2026, 3:59 am
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by MortezaRahmani »

J5L wrote: September 4th, 2026, 6:22 ambo$3o$bo!
Thank you for trying this!
Not quite. I appreciate the attempt, but this is not what I meant by Toranj.
The important distinction is that Toranj is not simply a B34/S23 cellular automaton. Its rule is based on the sum of the entire 3×3 neighborhood, including the reference cell, with the top-left cell as the reference:

Sum = 3 or 4 → Alive; otherwise → Dead.

So the challenge is actually to find a true Life-like or equivalent representation of Toranj, if such an equivalence exists—not merely a pattern that happens to resemble part of it.
But this is definitely a useful direction to test. Thank you!
Morteza Rahmani
Mathematics · Cellular Automata · Fractals
hotdogPi
Moderator
Posts: 2261
Joined: August 12th, 2020, 8:22 pm

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by hotdogPi »

The first of the two code blocks I posted in the first reply shifts toward the top left. Is that what you wanted?
User:HotdogPi/My discoveries

Periods discovered:

All evens ≤128 except 52,58,78,82,92,94,98,104,118,122

5-15,㉕-㉛,㉟㊺,51,63,65,73,75
1㊳㊵㊹㊼㊽,54,56,72,74,80,90,92
217,240,300,486,576

Guns: 20,21,32,54,55,57,114,117,124,126
SKOPs: 32,74,76,102,196
User avatar
MortezaRahmani
Posts: 18
Joined: August 4th, 2026, 3:59 am
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by MortezaRahmani »

hotdogPi wrote: September 4th, 2026, 7:44 am The first of the two code blocks I posted in the first reply shifts toward the top left. Is that what you wanted?
The top-left shift and some other characteristics are correct. However, it does not satisfy all the requirements of the challenge, and it does not produce Toranj in its actual form.
Morteza Rahmani
Mathematics · Cellular Automata · Fractals
User avatar
dvgrn
Moderator
Posts: 12023
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by dvgrn »

MortezaRahmani wrote: September 4th, 2026, 8:09 am The top-left shift and some other characteristics are correct. However, it does not satisfy all the requirements of the challenge, and it does not produce Toranj in its actual form.
I think you'll have to be more specific about exactly what details you'd like to have match, then.

The cellular automaton that hotdogPi provided is the correct equivalent evolutionary rule. Your GIF doesn't show every frame of the developing pattern, but there's clearly a correspondence -- e.g. the 26th frame of your GIF and the 90th step of hotdogPi's equivalent CA look like this:

comparison.png
comparison.png (130.03 KiB) Viewed 386 times
That's clearly precisely the same evolutionary mechanism.

Now, it looks like your display algorithm is adding a red color to cells with a higher neighbor count. That could maybe be done in LifeViewer with a custom rule table, but I'm not sure what the point of that exercise would be. LifeViewer has an option to color by neighbor count, but the colors aren't the same of course:

Code: Select all

x = 3, y = 3, rule = B34/S23
bo$3o$bo!
#C [[ NEIGHBOR AUTOFIT GPS 6 ]]
It looks nice, though!
User avatar
MortezaRahmani
Posts: 18
Joined: August 4th, 2026, 3:59 am
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by MortezaRahmani »

dvgrn wrote: September 4th, 2026, 9:13 am
MortezaRahmani wrote: September 4th, 2026, 8:09 am The top-left shift and some other characteristics are correct. However, it does not satisfy all the requirements of the challenge, and it does not produce Toranj in its actual form.
I think you'll have to be more specific about exactly what details you'd like to have match, then.

The cellular automaton that hotdogPi provided is the correct equivalent evolutionary rule. Your GIF doesn't show every frame of the developing pattern, but there's clearly a correspondence -- e.g. the 26th frame of your GIF and the 90th step of hotdogPi's equivalent CA look like this:


comparison.png

That's clearly precisely the same evolutionary mechanism.

Now, it looks like your display algorithm is adding a red color to cells with a higher neighbor count. That could maybe be done in LifeViewer with a custom rule table, but I'm not sure what the point of that exercise would be. LifeViewer has an option to color by neighbor count, but the colors aren't the same of course:

Code: Select all

x = 3, y = 3, rule = B34/S23
bo$3o$bo!
#C [[ NEIGHBOR AUTOFIT GPS 6 ]]
It looks nice, though!

Thank you, dvgrn. I think the key point may be where we draw the line for “equivalent to Toranj.”

I am not referring to the coloring or to a general visual similarity. What I mean is that the complete evolution of Toranj must be reproduced: the same initial configuration, followed by the same development, generation by generation, with the same structure and progression.

So, if the CA provided by hotdogPi produces the same evolution from the same starting configuration, then yes, that would be the equivalence I am looking for. But if it only reproduces some corresponding structures or a similar evolutionary mechanism, while the beginning or subsequent development differs from Toranj, then I would not consider it a complete equivalence.

In other words, my criterion is not simply “does it look similar?” or “does it use the same evolutionary mechanism?” — it is “does it reproduce Toranj itself, from its starting point through its subsequent generations?”

That is what I meant by satisfying all the requirements of the challenge.
Morteza Rahmani
Mathematics · Cellular Automata · Fractals
User avatar
MortezaRahmani
Posts: 18
Joined: August 4th, 2026, 3:59 am
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by MortezaRahmani »

To all:

Let’s be completely clear and precise about what I mean.
If generation 50 has exactly 270 live cells and generation 100 has exactly 1029 live cells, and the resulting shapes are exactly as shown in the attached figures, then everything is correct and we’re on the same page.

If those cell counts and shapes do not match, then it is not my Toranj.
That is really the whole point of my argument. I’m not asking for an interpretation or an approximation. I’m defining two concrete, verifiable checkpoints for the exact behavior of Toranj.

So, simply:

G50 = 270 live cells
G100 = 1029 live cells
+ the corresponding shapes shown in the attachments


If all of these match, then everything is OK. Otherwise, we are dealing with a different evolution, not my Toranj.
Generation50.png
Generation50.png (5.97 KiB) Viewed 345 times
Generation100.png
Generation100.png (9 KiB) Viewed 345 times
Morteza Rahmani
Mathematics · Cellular Automata · Fractals
hotdogPi
Moderator
Posts: 2261
Joined: August 12th, 2020, 8:22 pm

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by hotdogPi »

Those match generations 48 and 98 in the viewer in reply #1, with the exception of the lower right corner.
User:HotdogPi/My discoveries

Periods discovered:

All evens ≤128 except 52,58,78,82,92,94,98,104,118,122

5-15,㉕-㉛,㉟㊺,51,63,65,73,75
1㊳㊵㊹㊼㊽,54,56,72,74,80,90,92
217,240,300,486,576

Guns: 20,21,32,54,55,57,114,117,124,126
SKOPs: 32,74,76,102,196
User avatar
MortezaRahmani
Posts: 18
Joined: August 4th, 2026, 3:59 am
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by MortezaRahmani »

hotdogPi wrote: September 4th, 2026, 12:10 pm Those match generations 48 and 98 in the viewer in reply #1, with the exception of the lower right corner.

So this is the OK point!
The only difference seems to be how we number the generations: I count the initial configuration as Generation 1, because it is still a generation/state of the system, even though it is fixed.

If the initial configuration is instead called Generation 0, then all subsequent generation numbers are shifted by one.
GenZero.png
GenZero.png (5.94 KiB) Viewed 320 times
Gen1.png
Gen1.png (7.74 KiB) Viewed 320 times
Gen2.png
Gen2.png (7.73 KiB) Viewed 320 times
Morteza Rahmani
Mathematics · Cellular Automata · Fractals
User avatar
MortezaRahmani
Posts: 18
Joined: August 4th, 2026, 3:59 am
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by MortezaRahmani »

To the LifeWiki moderators and experienced editors:

I would like to create a LifeWiki page for my cellular automaton pattern Toranj (Iranian Carpet Medallion or ICM), under its proper name and with the relevant information about the pattern and its origin.

Could someone please guide me on the proper procedure?

In particular, I would like to know:

* What requirements does a pattern need to meet before a LifeWiki page can be created?
* Am I allowed to create the page myself, or would it be preferable for another editor to create it?
* If I need Trusted status first, is there any waiting period or any other requirement I should meet before requesting it?

I would appreciate any guidance on the appropriate way to proceed. I want to make sure I follow the LifeWiki guidelines and community practices from the beginning.
Morteza Rahmani
Mathematics · Cellular Automata · Fractals
User avatar
LuveelVoom
Posts: 522
Joined: April 27th, 2022, 7:59 pm

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by LuveelVoom »

MortezaRahmani wrote: September 4th, 2026, 2:09 pm To the LifeWiki moderators and experienced editors:

I would like to create a LifeWiki page for my cellular automaton pattern Toranj (Iranian Carpet Medallion or ICM), under its proper name and with the relevant information about the pattern and its origin.

Could someone please guide me on the proper procedure?

In particular, I would like to know:

* What requirements does a pattern need to meet before a LifeWiki page can be created?
* Am I allowed to create the page myself, or would it be preferable for another editor to create it?
* If I need Trusted status first, is there any waiting period or any other requirement I should meet before requesting it?

I would appreciate any guidance on the appropriate way to proceed. I want to make sure I follow the LifeWiki guidelines and community practices from the beginning.
I believe you do need trusted status. The requirements for a LifeWiki page are very high; however, there are no requirements for userpages, so you could make a userpage devoted to your ICMs. People use userpages to draft content and make pages for specific rules all the time.
User avatar
MortezaRahmani
Posts: 18
Joined: August 4th, 2026, 3:59 am
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by MortezaRahmani »

LuveelVoom wrote: September 4th, 2026, 2:29 pm
MortezaRahmani wrote: September 4th, 2026, 2:09 pm To the LifeWiki moderators and experienced editors:

I would like to create a LifeWiki page for my cellular automaton pattern Toranj (Iranian Carpet Medallion or ICM), under its proper name and with the relevant information about the pattern and its origin.

Could someone please guide me on the proper procedure?

In particular, I would like to know:

* What requirements does a pattern need to meet before a LifeWiki page can be created?
* Am I allowed to create the page myself, or would it be preferable for another editor to create it?
* If I need Trusted status first, is there any waiting period or any other requirement I should meet before requesting it?

I would appreciate any guidance on the appropriate way to proceed. I want to make sure I follow the LifeWiki guidelines and community practices from the beginning.
I believe you do need trusted status. The requirements for a LifeWiki page are very high; however, there are no requirements for userpages, so you could make a userpage devoted to your ICMs. People use userpages to draft content and make pages for specific rules all the time.
Thanks
Morteza Rahmani
Mathematics · Cellular Automata · Fractals
User avatar
rabbit
Posts: 242
Joined: March 4th, 2024, 6:00 am
Location: Stuck inside a magician's hat. it hurts so bad

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by rabbit »

MortezaRahmani wrote: September 4th, 2026, 2:09 pm * What requirements does a pattern need to meet before a LifeWiki page can be created?
* Am I allowed to create the page myself, or would it be preferable for another editor to create it?
* If I need Trusted status first, is there any waiting period or any other requirement I should meet before requesting it?
The main article space for LifeWiki only concerns patterns that work in the standard Conway's Game of Life rules (B3/S23). Since the pattern exists in a different rule (B34/S23), it would have to exist under the OCA:(x) space. However, OCA patterns do not typically get their own page. Thus, the page would have to be for the rule B34/S23, but only rules that are well-explored tend to get their own page, and there isn't much community interest in that rule by virtue of being highly explosive, which is why it doesn't have a page yet (and likely will not unless further Life-like engineering progress is made).

In addition, creating mainspace/OCAspace pages for one's own discovery is generally discouraged.

It's possible to put a subpage under your own userpage for it since the standards are much looser for those, but I'm not sure what the general consensus on someone signing up for a LifeWiki account just to edit their user space is.
That's the bunny.
Check out my OCA exploration script, crule.lua!
User avatar
MortezaRahmani
Posts: 18
Joined: August 4th, 2026, 3:59 am
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by MortezaRahmani »

rabbit wrote: September 4th, 2026, 5:45 pm
MortezaRahmani wrote: September 4th, 2026, 2:09 pm * What requirements does a pattern need to meet before a LifeWiki page can be created?
* Am I allowed to create the page myself, or would it be preferable for another editor to create it?
* If I need Trusted status first, is there any waiting period or any other requirement I should meet before requesting it?
The main article space for LifeWiki only concerns patterns that work in the standard Conway's Game of Life rules (B3/S23). Since the pattern exists in a different rule (B34/S23), it would have to exist under the OCA:(x) space. However, OCA patterns do not typically get their own page. Thus, the page would have to be for the rule B34/S23, but only rules that are well-explored tend to get their own page, and there isn't much community interest in that rule by virtue of being highly explosive, which is why it doesn't have a page yet (and likely will not unless further Life-like engineering progress is made).

In addition, creating mainspace/OCAspace pages for one's own discovery is generally discouraged.

It's possible to put a subpage under your own userpage for it since the standards are much looser for those, but I'm not sure what the general consensus on someone signing up for a LifeWiki account just to edit their user space is.

Thanks
Morteza Rahmani
Mathematics · Cellular Automata · Fractals
User avatar
dvgrn
Moderator
Posts: 12023
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by dvgrn »

MortezaRahmani wrote: September 5th, 2026, 1:33 am Just a small visual reference to the Iranian carpet medallion that inspired the name “Toranj”.

Image
That's a wonderful set of images. I can certainly see the connection you're making with the patterns produced from a small symmetrical seed in B34/S23.

At various times people have pointed out similarities between Life-like CAs and traditional Lachak Toranj medallion-and-corner rug designs. There are a number of Life-like CAs besides B34/S23 that produce explosive diamond-shaped symmetrical patterns starting from tiny central seeds.

The rule B234/S, for example, has carried the name "Persian Rug" at least since 1999 or so, when the cellular automaton simulator "Mirek's Cellebration" was made available with an unusually wide-ranging pattern collection.

The relevant sample pattern can still be found in the modern online MCell app. It's the Serviettes pattern in the "Life" family. "Serviettes" is an outside-of-the-United-States-only word for what Americans always call "napkins" instead -- I suspect the reference is to highly decorated lace napkins.

Code: Select all

x = 2, y = 2, rule = B234/S
2o$2o!
I'm thinking the "Persian Rug" name was applied to B234/S not so much because of the appearance of central medallions, and more because of the evolution of a distinctive multi-layered border in a persistent (45-degree rotated) square pattern. At various points the border looks quite a bit like the border/guard border combination in some Iranian carpet styles (like four of the six examples above).

You could certainly also make a case for some definite "Lachak Toranj" echoes at various points in the first few hundred ticks of evolution of a B234/S seed, but the effect gets less clear as the pattern gets larger, whereas the border remains very distinct.

Here is another example of someone making a connection between Iranian textile art and CAs.
User avatar
MortezaRahmani
Posts: 18
Joined: August 4th, 2026, 3:59 am
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by MortezaRahmani »

dvgrn wrote: September 5th, 2026, 3:50 am
MortezaRahmani wrote: September 5th, 2026, 1:33 am Just a small visual reference to the Iranian carpet medallion that inspired the name “Toranj”.

Image
That's a wonderful set of images. I can certainly see the connection you're making with the patterns produced from a small symmetrical seed in B34/S23.

At various times people have pointed out similarities between Life-like CAs and traditional Lachak Toranj medallion-and-corner rug designs. There are a number of Life-like CAs besides B34/S23 that produce explosive diamond-shaped symmetrical patterns starting from tiny central seeds.

The rule B234/S, for example, has carried the name "Persian Rug" at least since 1999 or so, when the cellular automaton simulator "Mirek's Cellebration" was made available with an unusually wide-ranging pattern collection.

The relevant sample pattern can still be found in the modern online MCell app. It's the Serviettes pattern in the "Life" family. "Serviettes" is an outside-of-the-United-States-only word for what Americans always call "napkins" instead -- I suspect the reference is to highly decorated lace napkins.

Code: Select all

x = 2, y = 2, rule = B234/S
2o$2o!
I'm thinking the "Persian Rug" name was applied to B234/S not so much because of the appearance of central medallions, and more because of the evolution of a distinctive multi-layered border in a persistent (45-degree rotated) square pattern. At various points the border looks quite a bit like the border/guard border combination in some Iranian carpet styles (like four of the six examples above).

You could certainly also make a case for some definite "Lachak Toranj" echoes at various points in the first few hundred ticks of evolution of a B234/S seed, but the effect gets less clear as the pattern gets larger, whereas the border remains very distinct.

Here is another example of someone making a connection between Iranian textile art and CAs.
Thanks
Morteza Rahmani
Mathematics · Cellular Automata · Fractals
User avatar
MortezaRahmani
Posts: 18
Joined: August 4th, 2026, 3:59 am
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by MortezaRahmani »

Excel ↔ Golly
I’ve been seriously thinking about whether it would be possible to build a practical and strategic system for translating between Golly and Excel not just exporting data, but actually translating the underlying Cellular Automaton logic.

The idea would be to support both directions:

Golly → Excel
Convert Golly rules, patterns, RLEs, neighborhoods, offsets, and generation logic into Excel formulas, using VBA only where formulas alone are not sufficient.

Excel → Golly
Take an Excel-based Cellular Automaton model and reconstruct its rule, neighborhood, initial pattern, and relevant parameters so that it can be represented and run in Golly.

The interesting part, however, is not the simple syntax conversion. Excel and Golly are fundamentally different environments, so I think the system would need some kind of intermediate mathematical representation of the Cellular Automaton.
Something along the lines of:
Golly / Excel → CA Model → Excel / Golly
This intermediate model could describe things such as:
  • The rule (e.g. B34/S23)
  • Neighborhood size and geometry
  • Reference-cell position
  • Relative offsets
  • Birth/survival conditions
  • Initial configuration
  • Generation-to-generation transformations
  • Constants and their spatial arrangement
  • Symmetries, translations, expansions, collisions, etc.
And this leads to what I think is the hardest and potentially most interesting part of the idea:
Reverse-engineering the constants and their arrangement.
For example, in the case of Toranj, it is not enough to know that certain values such as 4, 5, and 1 occur. We also need to determine why they occur, where they are positioned, what their offsets are, and how their arrangement changes from one generation to the next.
In other words, the system should ideally be able to infer the underlying structure from observed generations, rather than simply copying a known pattern.
That would make it less of a conventional code converter and more of a Cellular Automaton translator / reverse-engineering tool.
I’m wondering whether anything like this has already been developed particularly a genuinely bidirectional Excel ↔ Golly workflow, rather than simply implementing Conway’s Game of Life in Excel or exporting a pattern from one environment to another.
If something similar already exists, I’d be very interested to see it. If not, I think this could be a rather interesting project to explore.
Morteza Rahmani
Mathematics · Cellular Automata · Fractals
User avatar
dvgrn
Moderator
Posts: 12023
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by dvgrn »

MortezaRahmani wrote: September 5th, 2026, 2:44 pm Excel ↔ Golly
I’ve been seriously thinking about whether it would be possible to build a practical and strategic system for translating between Golly and Excel not just exporting data, but actually translating the underlying Cellular Automaton logic.
Why Excel specifically? Excel is a very powerful tool for what it does -- crunching numbers -- but for CA purposes Golly is considerably more powerful.

So why not just leave the "rules, patterns, RLEs, neighborhoods, offsets, and generation logic" in Golly, and avoid getting Excel involved at all? What do you think Excel can accomplish that Golly can't? Golly already has pretty much all of the features of the "CA model" that you've listed, it seems to me.

For inferring rules from two or more observed generations, you might be interested in a couple of Golly scripts -- isorule.py for the isotropic non-totalistic rulespace, and I6_I6's script for outer totalistic rules. These scripts look at the specific configurations of neighbors and the transitions that they cause, and determine the entire range of rules that will allow a given pattern to function as documented.

These scripts use whatever CA rule is defined for the pattern, to evolve some number of generations to analyze. But it would be fairly easy to start instead from a pre-generated list of still frames and infer the possible rules from there -- assuming there is any consistent rule to be found for a given series of frames, anyway.
User avatar
MortezaRahmani
Posts: 18
Joined: August 4th, 2026, 3:59 am
Contact:

Re: From an Iranian Carpet to a Cellular Automaton: Meet Toranj (ICM: Iranian Carpet Medallion)

Post by MortezaRahmani »

dvgrn wrote: September 5th, 2026, 9:02 pm
MortezaRahmani wrote: September 5th, 2026, 2:44 pm Excel ↔ Golly
I’ve been seriously thinking about whether it would be possible to build a practical and strategic system for translating between Golly and Excel not just exporting data, but actually translating the underlying Cellular Automaton logic.
Why Excel specifically? Excel is a very powerful tool for what it does -- crunching numbers -- but for CA purposes Golly is considerably more powerful.

So why not just leave the "rules, patterns, RLEs, neighborhoods, offsets, and generation logic" in Golly, and avoid getting Excel involved at all? What do you think Excel can accomplish that Golly can't? Golly already has pretty much all of the features of the "CA model" that you've listed, it seems to me.

For inferring rules from two or more observed generations, you might be interested in a couple of Golly scripts -- isorule.py for the isotropic non-totalistic rulespace, and I6_I6's script for outer totalistic rules. These scripts look at the specific configurations of neighbors and the transitions that they cause, and determine the entire range of rules that will allow a given pattern to function as documented.

These scripts use whatever CA rule is defined for the pattern, to evolve some number of generations to analyze. But it would be fairly easy to start instead from a pre-generated list of still frames and infer the possible rules from there -- assuming there is any consistent rule to be found for a given series of frames, anyway.
I don't see Excel as a replacement for Golly at all. It is simply another tool that can be used to implement and explore cellular automata.

One reason I am interested in Excel is accessibility. You don't necessarily need to know programming or scripting, or be familiar with a specialized CA environment, to start experimenting with it. Excel is already a very familiar and approachable environment for a huge number of people, and its grid-based structure is actually quite natural for cellular automata.

So I don't really see this as a competition between Excel and Golly, where we have to ask which one is more powerful. Golly is obviously a much more specialized and powerful CA tool. My point is simply: why not have another way of doing it?

The implementation can be quite different while the underlying process and the resulting behavior can be essentially the same. In fact, I think that diversity of implementations is a good thing. Different environments can make different aspects of the same system visible, and sometimes that can lead to new ideas or unexpected experiments.

Toranj is a good example of this. I have implemented the same automaton in both Excel and Golly. They are not identical in appearance or in the way the computation is presented, and the visual results have their own characteristics in each environment. I don't see that as a problem at all. On the contrary, I find it interesting to see how the same CA can look and behave as an implementation in two quite different environments.

There is also a question of audience. Excel is an extremely widespread tool, with a user base vastly larger than that of specialized CA software. That accessibility, together with its familiar graphical interface and its ability to expose calculations directly in the grid, can make it an interesting gateway for people who might never otherwise experiment with cellular automata.

So my intention is not to build a competitor to Golly. I would rather think of it as:

Golly + Excel, rather than Golly vs. Excel.

And regarding your point about inferring rules from pre-generated still frames, yes, that is actually very close to the reverse-engineering direction I have in mind. That part of your suggestion is particularly interesting to me.

Totally, for me, this is ultimately about sharing the enjoyment of cellular automata as widely as possible.
If Excel can make it easier for someone who has never written a CA script to experiment with one, understand it, modify it, and enjoy what happens, then I think it has already served a useful purpose.
I don't think we lose anything by having more tools, more approaches, and more people involved. Quite the opposite, we potentially gain new ideas, new experiments, and new ways of seeing the same fascinating systems.
So, in a sense, I am not trying to make Excel compete with Golly. I am trying to make the circle of people who can participate in and enjoy cellular automata a little wider.
Morteza Rahmani
Mathematics · Cellular Automata · Fractals
Post Reply