Revival of "one interesting CA-like formula"
Revival of "one interesting CA-like formula"
A year ago I posted here one new formula I haven't seen before:
viewtopic.php?f=11&t=440
Unfortunately, I was distracted away by some life events. But recently I came back to this idea and forced myself to write working implementation. Here it is for your enjoyment:
http://jsfiddle.net/prophet/CnjBy/ or http://jsfiddle.net/prophet/CnjBy/8/
This javascript implementation should run in any modern browser supporting canvas. Second link is version without typed arrays - slower but more standarts-complaint. To see evolution just hover your mouse over gray field in the right part of the screen. There is some cosmetic differences in formula from what was in the previous post. Now math inside looks like this:
s(2t,x,y) = δ1( s(2t-1,x,y) , s(2t,x,y-1) , s(2t,x-1,y-1) )
s(2t+1,x,y) = δ2( s(2t,x,y) , s(2t+1,x,y+1) , s(2t+1,x+1,y+1) )
Cells in ruleset have only two states. Field is finite tube (255x255) folded along Y axis. It is drawn on the screen with a slope for better visual impression. Starting configuration is random line at very top of the field with rest of the field filled with stable regular pattern. All this parameters should be easily tweakable in the source code which is shown on the same page.
Please tell me if you find this thing interesting - it was fun to code.
viewtopic.php?f=11&t=440
Unfortunately, I was distracted away by some life events. But recently I came back to this idea and forced myself to write working implementation. Here it is for your enjoyment:
http://jsfiddle.net/prophet/CnjBy/ or http://jsfiddle.net/prophet/CnjBy/8/
This javascript implementation should run in any modern browser supporting canvas. Second link is version without typed arrays - slower but more standarts-complaint. To see evolution just hover your mouse over gray field in the right part of the screen. There is some cosmetic differences in formula from what was in the previous post. Now math inside looks like this:
s(2t,x,y) = δ1( s(2t-1,x,y) , s(2t,x,y-1) , s(2t,x-1,y-1) )
s(2t+1,x,y) = δ2( s(2t,x,y) , s(2t+1,x,y+1) , s(2t+1,x+1,y+1) )
Cells in ruleset have only two states. Field is finite tube (255x255) folded along Y axis. It is drawn on the screen with a slope for better visual impression. Starting configuration is random line at very top of the field with rest of the field filled with stable regular pattern. All this parameters should be easily tweakable in the source code which is shown on the same page.
Please tell me if you find this thing interesting - it was fun to code.
-
Awesomeness
- Posts: 126
- Joined: April 5th, 2009, 7:30 am
Re: Revival of "one interesting CA-like formula"
Well I thought it was interesting! Very cool! 
Re: Revival of "one interesting CA-like formula"
Thank you
Enjoy yourself with tweaking this thing and please give me a notice if you'll find something interesting. I know, this is very far from usual CA-s, with anisotropy and "long-range interaction". But may form interesting evolution with simple ruleset too.
Re: Revival of "one interesting CA-like formula"
Interesting… the individual halves seem to be basically a "hexagonal Margolus" neighborhood, view'd at an angle to the "real" time and space. (The actual dimensions running such that (x', y', t') and (x'+1, y'+2, t'+1) in your initial coordinates represent one cell's state at (x, y, t) and (x, y, t+3)).
I think it should be possible to do something similar with Moore neighborhoods: plot the 3D history of a pattern not in slices of t=0, t=1, t=2… but slices of t+2x=0, t+2x=1, t+2x=2… (Simple t+x or t+x+y does not work, as information propagates at c here, not the c/2 or 2c/3 it does with Margolus neighborhoods.) This seems to come out at determining the status of a cell at (x, y, t) not by (x±1, y±1, t-1) but (x-1, y±1, t-1); (x-1, y±1, t-2); and (x-1, y±1, t-3).
I think it should be possible to do something similar with Moore neighborhoods: plot the 3D history of a pattern not in slices of t=0, t=1, t=2… but slices of t+2x=0, t+2x=1, t+2x=2… (Simple t+x or t+x+y does not work, as information propagates at c here, not the c/2 or 2c/3 it does with Margolus neighborhoods.) This seems to come out at determining the status of a cell at (x, y, t) not by (x±1, y±1, t-1) but (x-1, y±1, t-1); (x-1, y±1, t-2); and (x-1, y±1, t-3).
Re: Revival of "one interesting CA-like formula"
Hm... That's a new idea - I haven't thought before of looking at my formula like at non-orthogonal slice of other automations. May be I'm not getting it, but wouldn't angle of this slice be different for even and odd time in my formula? I'm trying to imagine it and for me feels like it should be symmetric across y axis.
Re: Revival of "one interesting CA-like formula"
Yes, your formula as posted does not quite work out as a non-orthogonal slice, because you have a different transition rule for even and odd generations. However, a "CA-like" that used only one of these rules consistently would come out to such a non-orthogonal slice, AFAICT.Diagoras wrote:Hm... That's a new idea - I haven't thought before of looking at my formula like at non-orthogonal slice of other automations. May be I'm not getting it, but wouldn't angle of this slice be different for even and odd time in my formula?
Each pair of successiv generations can be still interpreted as a slice, but I don't think it works with three of them.