HatLife

For discussion of other cellular automata.
Post Reply
User avatar
Andrew
Moderator
Posts: 928
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

HatLife

Post by Andrew » May 11th, 2023, 1:34 am

There wasn't much interest in DominoLife, but I didn't let that discourage me! I've written another Lua script called HatLife that lets you explore CA rules on an aperiodic tiling using the recently discovered monotile known as the hat. Details here:

https://arxiv.org/pdf/2303.10798.pdf
https://www.quantamagazine.org/hobbyist ... -20230404/

HatLife runs within Glu, so if you want to try it out you'll need to download Glu 0.8 or later:

https://sourceforge.net/projects/glu1/files/

After starting up Glu, select "Download Script..." from the File menu and click the link for HatLife. A button called HatLife should appear in the DOWNLOADS column. Hit that button and select View > Help (or type H) for details on how to use the script.

Here's a couple of screenshots:

https://glu1.sourceforge.io/screenshots/hatlife.png
https://a.fsdn.com/con/app/proj/glu1/sc ... /max/max/1

Bug reports and suggestions for improving HatLife are all welcome.

EDIT: It seems some people are unable to download files from SourceForge, so here are alternative links to Glu and HatLife:

https://www.trevorrow.com/glu/glu-1.1-mac.dmg (Glu 1.1 for macOS)
https://www.trevorrow.com/glu/glu-1.1-win-64bit.zip (Glu 1.1 for Windows)
https://www.trevorrow.com/glu/glu-1.1-gtk-64bit.tar.gz (Glu 1.1 for Linux)
https://www.trevorrow.com/glu/glu-1.1-src.tar.gz (source code for Glu 1.1)
https://www.trevorrow.com/glu/HatLife.zip (HatLife version 2)
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
Andrew
Moderator
Posts: 928
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: HatLife

Post by Andrew » May 11th, 2023, 2:00 am

When HatLife starts up it reads a file called tiling.txt to create the hat tiling. This file was created by a separate script that extracted a large rectangular region of hats from 5 iterations of the H7/H8 substitution method described in the arxiv paper. It should be quite easy to replace tiling.txt with another hat tiling. See HatLife's help for details.

The tiling has a total of 21,781 hats: 19,008 normal hats and 2,773 reflected hats. Note that HatLife has the option of displaying dead reflected hats using a slightly darker gray. Untick View > Show Reflected Hats to turn off that option (or hit alt-R to toggle it).
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
Andrew
Moderator
Posts: 928
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: HatLife

Post by Andrew » May 11th, 2023, 2:16 am

HatLife supports rules with a variety of formats:
  • Bbbb...Ssss...Nn[E]
These rules behave like those used in Golly's Generations algorithm. The b values (1 to 7) specify the state 1 neighbor counts necessary for an empty hat to be born (as state 1) in the next generation. The s values (0 to 7) specify the state 1 neighbor counts necessary for a state 1 hat to survive to the next generation. The number n specifies the maximum number of states (2 to 9). If n is greater than 2 then hats don't die immediately but "decay" to the next higher state, or 0 if at the maximum state (n-1). A hat's neighbors normally includes all other hats that share an edge or a vertex, but if the rule ends with E then only neighboring hats that share an edge are counted.
  • RrBbmin-bmaxSsmin-smaxNn
This format is based on the Larger than Life rules. The r value (1 to 5) specifies the number of rings of neighboring hats surrounding the central hat. Note that the total number of hats in this neighborhood varies from hat to hat (a reasonably accurate upper limit is 4r(r+1)). To see the neighborhood, enter a rule like R5B1-1S1-1N2, set a hat to state 1 and advance one generation. The bmin and bmax values specify the range of state 1 neighbor counts necessary for an empty hat to be born (as state 1) in the next generation. The smin and smax values specify the range of state 1 neighbor counts necessary for a state 1 hat to survive. The minimum value in both ranges must be less than or equal to the maximum value, and bmin must be greater than 0. The number n specifes the maximum number of states and hats decay just like in the above BSN rules.
  • WireWorld
A simple implementation of Brian Silverman's Wireworld CA. I think this rule is also Turing-complete on the hat tiling (see below).
  • Worms
This rule was designed to support spaceships ("worms") that travel within the wide gaps between two parallel lines of reflected hats (the worms don't survive for very long within the thin gaps). Worms are extensible with a minimum length of 4 hats. The Worms rule also supports still lifes, oscillators, wickstretchers and possibly other objects (a worm gun anyone?) that might be useful for determining if this rule is Turing-complete.

A new rule can be entered via Control > Change Rule, or created randomly via items in the File menu.
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

GUYTU6J
Posts: 2200
Joined: August 5th, 2016, 10:27 am
Location: 拆哪!I repeat, CHINA! (a.k.a. 种花家)
Contact:

Re: HatLife

Post by GUYTU6J » May 11th, 2023, 3:40 am

B35S234N2 has long-lived soups from which oscillators emerge.
p7

Code: Select all

HatLife version=1
view=8 -101 -9
rule=B35S234N2
15767=0 15768=0 15770=0 15780=0 15787=0 15789=0 15791=0 15792=0 15793=1 15794=1
15803=0 15804=0 15806=0 15807=0 15808=0 15811=0 15834=0 15835=0 15836=0 15837=0
15838=0 15839=0 15842=0 15843=0 15844=1 15845=1 15846=0 15847=1 15848=1 15849=1
15968=0 15969=0 15970=0 15971=0 15972=0 15973=0 15974=0 15976=0 15978=0 15985=0
15989=0 15990=0 16008=0 16010=0 16012=0
p8

Code: Select all

HatLife version=1
view=10 -91 -58
rule=B35S234N2
5549=0 5550=0 5607=0 5611=0 5637=0 5638=1 5640=0 5641=0 5642=1 5643=0
5644=0 5645=0 5646=0 5647=1 5648=0 5649=0 5650=0 5651=1 5652=0 5771=0
5772=0 5773=0 5774=0 5775=0 5777=0 5778=0 5780=0 5781=0 5784=0 5786=0
5787=1 5788=0 5789=1 5790=0 5791=1 5792=0 5793=1 5794=0 5795=0 5796=0
5797=0 5800=0 15991=0 15993=0 15994=0 15995=0 15996=0 15997=0 15998=1
p10

Code: Select all

HatLife version=1
view=10 2 -15
rule=B35S234N2
7293=0 7303=0 7326=0 7327=0 7329=0 7330=0 7331=1 7333=0 7334=1 7336=0
7337=0 7338=1 7340=0 7357=0 7358=0 7359=1 7360=1 7361=0 7362=0 7363=0
7364=1 7365=0 7366=0 7367=0 7368=0 7369=0 7371=0 7372=0 7374=0 7512=0
7513=0 16101=0 16102=0 16104=0 16105=0 16106=1 16108=0 16125=0 16127=1 16128=0
16129=0 16130=0 16131=1 16132=0
p11

Code: Select all

HatLife version=1
view=12 -60 85
rule=B35S234N2
7514=0 7515=0 7517=0 7518=0 7519=0 7521=0 7538=0 7540=0 7541=0 7542=0
7543=0 7544=1 7545=1 15830=0 15832=0 15833=0 15856=0 15897=0 15899=0 15901=0
15903=0 15904=0 15913=1 15914=1 15915=0 15916=1 15917=0 15918=0 15919=0 15920=0
15921=0 15922=0 15923=0 15924=1 15925=0 15926=0 15927=1 15928=0 15930=0 15931=0
15937=0 15939=0 15944=0 15945=1 15946=1 15947=1 15948=1 15949=1 15950=1 15951=0
15952=0 15953=0 15954=0 15955=0 15956=0 15957=0 15958=0 15959=0 15960=0 15961=0
15962=0 15963=0 16099=0 16100=0
p14

Code: Select all

HatLife version=1
view=12 -160 153
rule=B35S234N2
5785=0 5818=0 5819=0 5821=0 5822=0 5823=0 5824=0 5825=0 15810=0 15812=0
15813=0 15814=0 15815=0 15816=0 15817=1 15819=0 15821=0 15826=0 15827=1 15828=0
15829=0 15830=0 15831=1 15832=0 15833=0 15850=0 15851=0 15852=0 15853=1 15854=1
15855=0 15856=0 15857=1 15913=0 15914=0 15916=0 15917=0 15918=0 15921=0 15944=0
15945=0 15947=0 15949=0 15952=0 15953=1 15954=1 15955=1 15956=0 15957=0 15958=1
15959=1 16078=0 16079=0 16080=0 16081=0 16084=0 16093=0 16095=0 16096=0 16097=0
16099=0 16100=0 16117=0 16118=0 16120=0 16121=0 16122=0
p16

Code: Select all

HatLife version=1
view=9 -98 -89
rule=B35S234N2
5690=0 7350=0 7353=0 7354=0 7356=0 7373=0 7374=0 7375=0 7376=0 7377=0
7378=0 7379=1 7380=1 7436=0 7437=0 7439=0 7441=0 7468=0 7472=0 7475=1
7476=0 7477=1 7478=0 7479=1 7480=1 7481=0 7482=0 7601=0 7602=1 7603=0
7604=0 7605=1 7606=1 7607=1 7608=0 7609=0 7610=0 7611=0 7616=0 7617=0
7618=1 7619=0 7620=0 7621=0 7622=0 7623=0 7632=0 7633=0 7634=0 7635=0
7636=0 7637=0 7640=0 7641=0 7642=0 7643=0 7645=0 16129=0 16130=0
The rule needs to be changed to match these patterns before I copy them and paste onto canvas.

User avatar
Andrew
Moderator
Posts: 928
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: HatLife

Post by Andrew » May 11th, 2023, 5:33 am

GUYTU6J wrote:
May 11th, 2023, 3:40 am
The rule needs to be changed to match these patterns before I copy them and paste onto canvas.
No need to do that if you use File > Open Clipboard (or type shift-O). If you use Paste then I'll have to think about whether it's a good idea to force a rule change, or maybe bring up a dialog warning that the rules don't match and ask if it's ok to change the current rule. (There will most likely be a new version of HatLife in a few weeks after I've had feedback from users.)
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

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

Re: HatLife

Post by confocaloid » May 11th, 2023, 11:57 am

Oscillators in B2S345N3:
b2s345n3.hlp wrote:

Code: Select all

HatLife version=1
view=5 -33 -3
rule=B2S345N3
4071=1 4092=1 4093=1 4094=1 4095=2 4096=1 4196=1 4197=1 4198=1 4199=1
4318=1 4319=1 4321=1 4322=1 4323=1 4335=1 4339=2 4358=1 4359=2 4362=1
4465=1 4477=1 4479=1 4480=1 4481=1 4482=1 4483=1 4484=1 4485=1 4490=1
4491=1 4492=1 4495=1 4498=2 4500=1 4504=1 4508=2 4997=2 4999=1 5903=1
5974=2 5983=1 5984=2 5985=1 5987=1 5988=1 5998=1 6000=1 6001=1 6002=1
6003=1 6008=2 6014=1 6016=1 6017=1 6019=2 6020=1 6682=2 6684=2 6685=1
6690=1 6691=1 6692=2 6693=1 6694=1 6696=1 6706=1 6730=1 6731=1 6732=1
7252=2 7253=1 7254=1 7273=1 7275=2 7278=1 7428=2 7429=1 7430=1 7431=1
7432=1 7433=1 7435=1 7466=1 7923=1 7925=1 7927=2 7929=1 7930=1 7932=1
7933=1 7935=1 7936=1 7937=1 7938=2 7941=1 7943=1 7970=1 7971=1 7972=1
7973=1 7976=1 7977=1 8079=1 8290=1 8291=2 8300=1 8302=1 8303=1 8304=1
8305=1 8310=2 8332=1 8334=2 8788=1 8789=1 8790=1 8791=1 8792=1 8794=1
8796=1 8797=1 8799=1 8802=1 8803=1 8804=1 8805=1 8806=2 8818=1 8820=1
8821=1 8823=1 8824=2 8826=1 8828=1 8829=1 8830=1 8832=1 8833=2 8897=1
8901=2 8920=1 8921=1 8922=1 8924=1 8925=2 8926=1 8927=2 9045=1 9094=1
16771=2
p6 and p26 in B36S236N2:
b36s236n2.hlp wrote:

Code: Select all

HatLife version=1
view=13 20 -85
rule=B36S236N2
15913=1 15914=1 15916=1 15917=1 15918=1 15920=1 15923=1 15925=1 7436=1 7438=1
7440=1 7442=1 7443=1 7444=1 7445=1 7447=1 7448=1 7449=1
Soups in B34S234N2:
b34s234n2_m1892p2.hlp wrote:

Code: Select all

HatLife version=1
view=20 0 0
rule=B34S234N2
16102=1 16104=1 16094=1 16093=1 16096=1 16127=1 16131=1 16084=1 16083=1 16112=1
16109=1 16113=1 16115=1 7642=1 7640=1 7644=1 7647=1 16086=1 16114=1 16118=1
15959=1 7520=1 16108=1 7521=1 7516=1 7514=1 7519=1 16099=1 15954=1 15952=1
15955=1 7540=1
b34s234n2_m3280p10.hlp wrote:

Code: Select all

HatLife version=1
view=20 0 0
rule=B34S234N2
16102=1 16104=1 16094=1 16093=1 16096=1 16127=1 16131=1 16084=1 16083=1 16112=1
16109=1 16113=1 16115=1 7642=1 7640=1 7644=1 7647=1 16086=1 16114=1 16118=1
15959=1 7520=1 16108=1 7521=1 7516=1 7514=1 7519=1 16099=1 15954=1 15952=1
15955=1 7540=1 15852=1 15850=1 15854=1 16078=1 16089=1 16105=1 7357=1 7639=1
5807=1 5805=1 5779=1 5778=1 5780=1 5784=1 7510=1 7507=1 7362=1 7512=1
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.

User avatar
Andrew
Moderator
Posts: 928
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: HatLife

Post by Andrew » May 11th, 2023, 4:44 pm

It's quite easy to find rules that have oscillating patterns within hexagonally bounded regions. The best example I've found is B3456S012345N2. Note that in the following example the hexagonal walls are made up of normal hats that lie between parallel lines of reflected hats. The interior will fill up and eventually start oscillating. (It's these parallel lines of reflected hats that give me hope there are rules with gliders. Something like the gliders Adam Goucher and Katsunobu Imai found in the Penrose tiling that has infinitely long parallel lines of rhombi.)

hatlife-hexwall.png
hatlife-hexwall.png (226.6 KiB) Viewed 3087 times

Code: Select all

HatLife version=1
rule=B3456S012345N2
5463=1 5473=1 5477=1 5486=1 5487=1 5517=1 5518=1 5536=1 5540=1 5552=1
5583=1 5587=1 5619=1 5620=1 5622=1 5626=1 5628=1 5654=1 5662=1 5666=1
5669=1 5673=1 5709=1 5713=1 5982=1 6013=1 6036=1 6037=1 6767=1 6790=1
6791=1 7058=1 7300=1 7301=1 7319=1 7323=1 7325=1 7394=1 7395=1 7397=1
7401=1 7418=1 7419=1 7449=1 7450=1 7452=1 7456=1 7484=1 7529=1 7536=1
7537=1 7567=1 7568=1 7586=1 7772=1 7782=1 7786=1 7795=1 7796=1 7842=1
7843=1 15770=1 15780=1 15784=1 15793=1 15794=1 15824=1 15825=1 15843=1 15847=1
15859=1 15890=1 15894=1 15935=1 15942=1 15943=1 15966=1 15967=1 15969=1 15973=1
15976=1 15980=1 16016=1 16020=1 16289=1 16320=1
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
Andrew
Moderator
Posts: 928
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: HatLife

Post by Andrew » May 11th, 2023, 9:30 pm

The Bosco-like rule R5B31-42S31-54N2 is the best candidate I've found for producing a glider. The following pattern lasts quite a long time before eventually dying at gen 85. Maybe the starting pattern (indicated by the selected hats) could be modified slightly and placed in a position where it follows a straight line of reflected hats?

hatlife-almost-glider.png
hatlife-almost-glider.png (235.41 KiB) Viewed 3058 times

Code: Select all

HatLife version=1
view=4 159 -143
rule=R5B31-42S31-54N2
19711=1 19715=1 19716=1 19718=1 19722=1 19749=1 19750=1 19752=1 19753=1 19754=1
19755=1 19756=1 20086=1 20087=1 20088=1 20089=1 20090=1 20091=1 20092=1 20093=1
20095=1 20102=1 20103=1 20105=1 20106=1 20107=1 20109=1 20112=1 20116=1 20128=1
20130=1 20132=1 20133=1 20634=1 20635=1 20636=1 20637=1 20638=1 20639=1 20640=1
20649=1 20651=1 20652=1 20653=1 20655=1 20656=1 20674=1 20676=1 20678=1 20758=1
20945=1 20947=1
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

GUYTU6J
Posts: 2200
Joined: August 5th, 2016, 10:27 am
Location: 拆哪!I repeat, CHINA! (a.k.a. 种花家)
Contact:

Re: HatLife

Post by GUYTU6J » May 12th, 2023, 1:07 am

No luck for a spaceship yet, but I may have a constructive proof for the existence of even oscillator periods (semi-omniperiodicity) based on XOR replicators.
Place many copies of the following 5-cell cluster in a row such that distance between adjacent ones is 2 or 3 tiles/cells, forming a bed:

Code: Select all

HatLife version=1
view=5 -474 22
rule=B3S3456N2
14439=1 14441=1 14443=1 14445=1 14446=1

Fill in the holes on the bed and add tiles/cells on the edge, which will then emulate Wolfram's Rule 18 (or Rule 90 as formerly recognised). For instance, here is a p62 predecessor along with its bed:

Code: Select all

HatLife version=1
view=5 -449 -227
rule=B3S3456N2
4207=1 4346=1 4348=1 4380=1 4382=1 4384=1 4386=1 4387=1 4420=1 4422=1
4423=1 4424=1 4426=1 4427=1 4429=1 4430=1 4431=1 4433=1 4434=1 4444=1
4467=1 4469=1 4470=1 4471=1 4473=1 4474=1 4695=1 4697=1 4698=1 4699=1
4701=1 4702=1 4704=1 4705=1 4706=1 4708=1 4709=1 4719=1 4742=1 4744=1
4745=1 4746=1 4748=1 4749=1 4751=1 4752=1 4753=1 4755=1 4756=1 4766=1
4789=1 4791=1 4792=1 4793=1 4795=1 4796=1 4898=1 5017=1 5019=1 5020=1
5021=1 5023=1 5024=1 5026=1 5027=1 5028=1 5030=1 5031=1 5041=1 5064=1
5066=1 5067=1 5068=1 5070=1 5071=1 14439=1 14441=1 14443=1 14445=1 14446=1
14667=1 14669=1 14671=1 14673=1 14674=1 14676=1 14677=1 14678=1 14680=1 14681=1
14714=1 14716=1 14718=1 14720=1 14721=1 16133=1 16135=1 16137=1 16139=1 16140=1
16142=1 16143=1 16144=1 16146=1 16147=1 16180=1 16182=1 16184=1 16186=1 16187=1
16189=1 16190=1 16191=1 16193=1 16194=1 16227=1 16229=1 16231=1 16233=1 16234=1
16455=1 16457=1 16459=1 16461=1 16462=1 16464=1 16465=1 16466=1 16468=1 16469=1
16502=1 16504=1 16506=1 16508=1 16509=1
Taking aperiodicity of the hat tiling into account, it is questionable 1)whether arbitrarily long beds exist, and 2)whether arbitrarily long gaps between adjacent beds exist. The second problem may, by some sophisticated reasoning and analogy, imply the non-existence of glider in a 2-state range-1 B/S rule.

---
Just for ping-ing,
Andrew wrote:
May 11th, 2023, 1:34 am
... I've written another Lua script called HatLife that lets you explore CA rules on an aperiodic tiling using the recently discovered monotile known as the hat.
can I expect a link to HatLife on this page?

User avatar
Andrew
Moderator
Posts: 928
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: HatLife

Post by Andrew » May 14th, 2023, 1:29 am

Coming soon to HatLife...

hatlife-6worms.png
hatlife-6worms.png (297.44 KiB) Viewed 2946 times
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
PHPBB12345
Posts: 1096
Joined: August 5th, 2015, 11:55 pm
Contact:

Re: HatLife

Post by PHPBB12345 » May 14th, 2023, 1:31 am

Can you make WireWorld-like HatLife rule?

User avatar
Andrew
Moderator
Posts: 928
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: HatLife

Post by Andrew » May 14th, 2023, 3:05 am

PHPBB12345 wrote:
May 14th, 2023, 1:31 am
Can you make WireWorld-like HatLife rule?
Sure, but I'm not sure how useful it would be.

EDIT: I've deleted the rest of my answer because WireWorld is now included in version 2 of HatLife.
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
LaundryPizza03
Posts: 2324
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: HatLife

Post by LaundryPizza03 » May 14th, 2023, 8:16 am

The name is already recognized by Catagolue for B35y/S23.

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia

hotdogPi
Posts: 1615
Joined: August 12th, 2020, 8:22 pm

Re: HatLife

Post by hotdogPi » May 14th, 2023, 8:27 am

Even though I haven't played HyperRogue in over a year, looking at these images and not seeing curvature just looks wrong to me.
User:HotdogPi/My discoveries

Periods discovered: 5-16,⑱,⑳G,㉑G,㉒㉔㉕,㉗-㉛,㉜SG,㉞㉟㊱㊳㊵㊷㊹㊺㊽㊿,54G,55G,56,57G,60,62-66,68,70,73,74S,75,76S,80,84,88,90,96
100,02S,06,08,10,12,14G,16,17G,20,26G,28,38,47,48,54,56,72,74,80,92,96S
217,486,576

S: SKOP
G: gun

User avatar
Andrew
Moderator
Posts: 928
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: HatLife

Post by Andrew » May 14th, 2023, 6:14 pm

LaundryPizza03 wrote:
May 14th, 2023, 8:16 am
The name is already recognized by Catagolue for B35y/S23.
I don't see this to be a real problem. HatLife is a script, hatlife is a rule alias (both Catagolue and LifeViewer use lower case).
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
Andrew
Moderator
Posts: 928
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: HatLife

Post by Andrew » May 16th, 2023, 6:47 am

I've just uploaded version 2 of HatLife to Glu's curated collection. Just select "Download Script..." from the File menu, click the link to HatLife and the old version will be replaced with the new version. The changes in version 2:
  • Added two new rules: Worms and WireWorld.
  • If a paste pattern uses a different rule then you're given 3 choices: switch to the paste rule, or paste using the current rule, or abort the paste.
  • The dead_color is slightly lighter so reflected hats stand out more.
The WireWorld rule is a simple implementation of Brian Silverman's CA. This rule is Turing-complete on an aperiodic tiling (see the next post).

The Worms rule was deliberately designed to support spaceships (called "worms") that travel within the wide gaps between two parallel lines of reflected hats (the worms don't survive for very long within the thin gaps). The worms are extensible with a minimum length of 4 hats. Somewhat fortuitously, the Worms rule also supports still lifes, oscillators, wickstretchers and possibly other objects (a worm gun anyone?) that might be useful for determining if this rule is Turing-complete.

Here's a small collection of objects (most of them occur naturally in random soups):

hatlife-worms.png
hatlife-worms.png (288.63 KiB) Viewed 2727 times

Code: Select all

HatLife version=1
# A small collection of worms, still lifes, oscillators, etc.
view=6 0 0
rule=Worms
5638=1 5640=1 5642=1 5644=3 5792=2 5793=2 6036=1 6037=1 6654=1 6655=1
6656=1 6687=1 6690=1 6694=1 6714=1 6717=1 6718=1 6720=1 6728=1 6739=1
6743=1 6745=1 6747=1 6750=1 6751=1 6762=1 6763=1 6766=1 6767=1 6770=1
6772=1 6773=1 6778=1 6780=1 6781=1 6786=1 6787=1 7300=1 7301=1 7304=1
7305=1 7306=1 7307=1 7364=1 7380=1 7382=1 7385=1 7386=1 7390=1 7391=1
7394=1 7405=1 7409=1 7418=1 7419=1 7422=1 7423=1 7429=1 7432=1 7433=1
7435=1 7457=1 7458=1 7481=2 7482=1 7512=2 7513=1 7544=3 7545=2 7641=1
7645=1 7796=1 7834=2 7835=1 15851=2 15855=1 15924=3 15937=1 15941=1 15961=1
15963=1 15998=3 16079=1 16083=1 16086=1 16106=1 16118=1 5555=2 5559=1 5584=1
5588=1 16301=2 16304=1 16314=1 16318=1 16162=2 16244=1 16248=2 16249=3 16252=2
16253=1 16256=2 16259=3 5536=1 5537=3 5539=2 5540=1 5461=1 5486=2 5507=2
7655=1 7654=1 7652=1 7055=1 7058=1 7319=1 15901=1 15902=1 15903=1 15934=1
15935=1 15896=1 7841=2 15898=1 15825=1 15786=1 15785=1 15879=2
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
Andrew
Moderator
Posts: 928
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: HatLife

Post by Andrew » May 27th, 2023, 8:22 pm

I'm pretty sure WireWorld *is* Turing-complete on the hat tiling. It's easy to create clocks with period 3 or more (see the 1st image below). It's also easy to create NOT gates with period 3 or more (see the 2nd image). A simple OR gate exists, so it's easy to create a NOR gate (see the 3rd image). Given that the NOR gate is functionally complete (ie. multiple NOR gates can be used to create all other logic functions), isn't that sufficient to show that WireWorld is also Turing-complete on a large enough hat tiling?

hatlife-wwClocks.png
hatlife-wwClocks.png (193.7 KiB) Viewed 1451 times

Code: Select all

HatLife version=1
# Clocks.
# (p3,4,5,6,7)
view=9 23 -86
rule=WireWorld
7805=3 7810=3 7543=3 7542=3 7545=3 15925=3 15921=3 15917=3 15913=3 15916=3
15833=3 15830=3 15826=3 15829=3 15816=3 15814=3 7495=3 7493=3 7494=1 7496=2
7508=3 7506=3 7511=3 16107=3 16103=3 16098=3 16096=3 16084=3 16082=3 16083=3
16079=3 16120=3 16117=3 16121=3 16124=3 5785=3 7807=3 7786=1 7528=2 7309=3
7348=3 7382=3 7383=3 7385=2 7386=1 7420=3 7423=3 7424=3 7427=3 7437=3
7439=3 7477=3 7478=3 7617=3 7620=3 7621=3 7622=3 7627=3 7625=3 7650=3
7654=3 6007=3 6736=3 6031=3 5994=2 6030=3 6032=3 5996=1 6006=3 6008=3
7465=3 7459=3 7460=3 7486=3 7484=3 5713=3 5709=3 5982=3 5672=3 5668=3
5671=3 5665=3 5661=3 5664=3 7288=3 7292=2 7291=3 7293=1 7366=3 7286=3
7329=3 7326=3 7330=3 7336=3 7333=3 7337=3 7340=3 7374=3 7378=3 7641=3
7643=3 7633=3 7632=3 7638=3 5812=3 5813=3 5772=3
hatlife-wwNOT.png
hatlife-wwNOT.png (187.8 KiB) Viewed 1451 times

Code: Select all

HatLife version=1
# Clocked NOT gates.
view=11 182 -105
rule=WireWorld
16105=3 16101=3 16104=3 16103=3 16106=3 7520=3 16102=3 7363=2 16128=3 16126=3
7644=3 7642=3 7361=1 7359=3 7514=1 7504=3 7503=2 7637=3 7636=3 7517=2
7524=3 7526=1 7568=2 7565=3 7561=1 7638=3 5812=3 5810=3 7564=2 7555=3
7459=3 7461=3 6717=3 6718=3 6719=3 6748=3 6749=3 6750=3 6760=1 6763=2
6766=3 6770=3 6772=3 6911=3 6917=2 6920=3 6924=3 6010=3 6011=3 6012=3
6032=3 6034=3 7404=3 7405=3 7406=3 7407=3 7408=3 7409=3 7429=3 7431=3
6690=1 6921=1 6724=3 6723=3 6715=3 6683=3 6687=2 7502=1
hatlife-wwNOR.png
hatlife-wwNOR.png (196.9 KiB) Viewed 1451 times

Code: Select all

HatLife version=1
# Two p18 clocks sending electrons into a p6 NOR gate.
view=15 83 -28
rule=WireWorld
7508=3 7371=3 7497=1 7495=2 7496=3 7492=3 7531=3 7535=3 7320=1 7322=2
7323=3 7319=3 7280=3 7284=3 7313=3 7312=3 7370=3 7369=3 7334=3 7331=3
7327=3 7292=1 7293=3 7288=2 7285=3 7296=3 7306=3 7308=2 7402=1 7403=3
7520=3 16101=3 16103=3 16104=3 16105=3 16106=3 16091=3 16089=3 16131=3 16127=3
16132=3 7504=3 7517=3 7514=3 7336=3 7335=3 7341=3 7340=3 7347=3 7298=3
7344=3 7339=3 7500=3 16109=3 16110=3 16111=3 16112=3 16113=3 16114=3 16120=3
16090=3 16122=3 5819=3 5821=3 5795=3 5804=3 5805=2 5783=3 5776=1 5775=3
5781=3 5808=3
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
dvgrn
Moderator
Posts: 10670
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: HatLife

Post by dvgrn » June 2nd, 2023, 8:37 am

I completely failed to hear about the Spectre "chiral aperiodic monotile" for a whole couple of days. Working full time plus moving out of one apartment into another is not recommended -- you can miss out on actual important stuff.

Might there be a SpectreLife in the works?

User avatar
Andrew
Moderator
Posts: 928
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: HatLife

Post by Andrew » June 2nd, 2023, 8:53 pm

dvgrn wrote:
June 2nd, 2023, 8:37 am
Might there be a SpectreLife in the works?
Highly unlikely I'd have to say. There was zero interest in DominoLife and only slightly more interest in HatLife, so I don't see much point in implementing other non-periodic tilings.
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
toroidalet
Posts: 1514
Joined: August 7th, 2016, 1:48 pm
Location: My computer
Contact:

Re: HatLife

Post by toroidalet » June 2nd, 2023, 10:32 pm

Is it possible for a rule in HatLife to have a single pattern that can have an arbitrarily long lifespan depending on where it is placed? One option would be to make a rule on the meta-tiles that scales itself up to meta-meta-tiles and so on until the final meta^n simulation discovers it is in a particular meta-tile. This could even give us four such patterns such that on any hat tiling, at least one of them is guaranteed to stabilize. However, it seems very hard to make a rule that simulates meta-copies of itself, especially with the variability of the tiling.

Also, what happens with the Replicator rule on a hat tiling? (I can't download SourceForge files)
Any sufficiently advanced software is indistinguishable from malice.

User avatar
Andrew
Moderator
Posts: 928
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: HatLife

Post by Andrew » June 3rd, 2023, 6:32 am

toroidalet wrote:
June 2nd, 2023, 10:32 pm
Is it possible for a rule in HatLife to have a single pattern that can have an arbitrarily long lifespan depending on where it is placed?
I'm not really sure what sort of pattern you want. Maybe the hexagonal-shaped wall pattern shown above satisfies your condition? The larger the hexagon the longer it takes for the interior to start oscillating. (Creating a rule that somehow uses metatiles seems rather impractical.)
Also, what happens with the Replicator rule on a hat tiling?
I'm assuming you mean a rule like B1357S1357N2? Just an explosive rule.
(I can't download SourceForge files)
I've added alternative links to the top post.
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

Post Reply