Insilico

For scripts to aid with computation or simulation in cellular automata.
Post Reply
jeremy
Posts: 2
Joined: August 15th, 2022, 7:14 am

Insilico

Post by jeremy » August 15th, 2022, 8:06 am

Several years ago, I created a tool for exploring an elementary 1D cellular automata with a 5 cell neighborhood. It's written in Go and hosted on github here: https://github.com/jeremymadea/insilico. I've recently updated it to be sure it builds with Go 1.19, added an MIT license, and created a release including a MacOS binary.

It can be used as either a command line tool or interactively. In its interactive ("explorer") mode, it runs as a local webserver (defaulting to port 8084) and opens a browser window connected to it. It enables visual exploration of the 2^32 ruleset space, changing starting conditions, and generating PNGs.

I'm posting about it here because I'd be happy to see it get some use. :D

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

Re: Insilico

Post by dvgrn » August 15th, 2022, 1:11 pm

Moved the thread to the Scripts board in response to a suggestion from confocaloid:
Since this thread is about a software tool, I'm requesting the thread to be moved into Scripts viewforum.php?f=9

I think this move may also help this thread to receive more attention than it will probably get in OCA, because Scripts is relatively low-volume.

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

Re: Insilico

Post by Andrew » August 18th, 2022, 7:21 pm

jeremy wrote:
August 15th, 2022, 8:06 am
Several years ago, I created a tool for exploring an elementary 1D cellular automata with a 5 cell neighborhood. ...
Very nice! The macOS binary works fine on my Mac.
I'm posting about it here because I'd be happy to see it get some use. :D
Prepare to be disappointed. ;) Golly comes with a script called 1D.lua that lets people explore 1D CA rules with 4 states and a 9-cell neighborhood, but very few people seem to have used it (I don't remember seeing *any* posts about it). Here's an example pattern you can load after starting up 1D.lua and selecting Open Clipboard from its File menu:

Code: Select all

#CXRLE Pos=-249,-250
x = 498, y = 1, rule = C2568084152K4R2:T500,500
A2.3C.BAB.C3.A.A3B2.B2.B2CB4.C3.A2.B3.BC.B.ABC3.2C.B.BA5.2CB2ABC5.2CB
AC2.2B.2A3CBA.C3.AB2.BC2A.A2B2.A.C2.C.CA4B2.AC4.A.3CBA.CB2.2B2.B4.2AB
2.B2.A3.CA.AC2.A2.B2.A2B4.C.A3.BCB2.A.B3.2BAC.A2C2B.CB.A.C.BC.B.CAB.A
.CAC.2BC.ABC4.BA.BC.C.ABCAC.2C.BCAC2B3.B2.B.B2.2B.B.A.B3.C4.B2.C.CA5.
B2.BC2.BC.A2C.B2.A2.BA4.C.C4A.BC.2A.B3.B.B5.A5.C.AC.B.2B.A2.A.A.3C2A
2.B2CACA2C2A.A.C.2B.A3.3AC.C2.A2C5.2CAC3.2B6.A.2A3.C2.C.2BA2.2B2.AC3.
A2.2C2.4B4.C.C.AC2.A!
Here's what you should see after running it for a few hundred generations:

1Dscreenshot.png
1Dscreenshot.png (176.04 KiB) Viewed 1765 times
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

jeremy
Posts: 2
Joined: August 15th, 2022, 7:14 am

Re: Insilico

Post by jeremy » August 20th, 2022, 10:07 am

Andrew wrote:
August 18th, 2022, 7:21 pm
Very nice! The macOS binary works fine on my Mac.

Prepare to be disappointed. ;) Golly comes with a script called 1D.lua that lets people explore 1D CA rules with 4 states and a 9-cell neighborhood, but very few people seem to have used it (I don't remember seeing *any* posts about it). Here's an example pattern you can load after starting up 1D.lua and selecting Open Clipboard from its File menu:
Glad you tried it out! Thanks for the confirmation that the binary works for you.

I won't be too disappointed. I mostly made it for myself anyway. I wrote a C program and some CGI scripts back in the early 90s that did pretty much the same stuff except for the builder page. (I think it's on my github too in a repo called jdmca.) This was basically an exercise I gave myself while I was learning Golang.

I do know about Golly's 1D script. I think the one advantage I can tout is the ability to see all the 1-bit ruleset* mutations and navigate visually through the ruleset space.

* Excuse me if I use my own language. I've always been a bit cloistered in my exploration of CAs.

Post Reply