Hacker News new | past | comments | ask | show | jobs | submit login

I went through a period of intense study of cellular automata. It it a deep, deep, rabbit hole of interesting bits. One of the things I contributed early was a simple 'two species' variation where the rules for dual species were encoded in three matrices. I used it as a demo on one of the Fred Fish Amiga disks (it used pretty much every Intuition window call in the book on purpose).

The clock has me thinking I need to get out my FPGA based simulator again and to hook it up to a nice 720P display :-).




If you turned that into into an actual clock with half decent accuracy, I'd seriously buy one. Even if the only way to set the time was to wait until noon or midnight to plug it in. It would probably also function well as a space heater in winter. :)


Me too. CAs are fun. But obviously people like Wolfram take them way too seriously (assuming "A New Kind of Science" was sincere and not just a way to convince hobbyists to buy Mathematica)


If you can make a large enough game of life simulation in hardware that runs at the precise speed to make the clock accurate, I'd buy it in an instant. As in, it can run any pattern you want, but running exactly that pattern results in an accurate digital clock. You'll of course need a few buttons to program in a new pattern and to set the pattern to a specific time.


Really? Hm... Clocks/accurate timing && cellular automata/dynamic systems are things I'm passionate about. (and know how to build)

For a hypothetical device you'd "buy in an instant" how are you imagining the output (and controls). Like, would you want a box with its own display? Or what?


Me too but first the design need to be fixed so that counters are both top and bottom - in that answer the bottom half of the clock takes more than 30 second to change and it stays in the transitioned state for too long as well making large changes confusing - like 7 to 8


Could you suggest some good introductory resources for getting into CA? Is there actually some systemic way of studying this stuff?


"Essays on Cellular Automata" by Arthur Burks is a good starting point. Then there's the proceedings of the conference, "International Conference on Cellular Automata for Research and Industry".


Start by going to a good library and checking out the proceedings of the Artificial Life (ALIFE) conference. Read the papers and start following the references.


For something less academic and more "look at cool stuff" there's also https://www.reddit.com/r/cellular_automata/


In addition to the more directly related stuff others have mentioned it's also relevant and interesting to dive into Complex Adaptive Systems literature if you have the inclination, for the classic order-from-chaos essays and discussions of emergent properties and so on.


> I used it as a demo on one of the Fred Fish Amiga disks

Just googled that, it's a whole archive (yay!). Which demo was it? I obviously want to see something with GoL and "every Intuition window call in the book on purpose" :)


The two species variation sounds interesting. If you don't mind, please post more about it including the three matrices. Thanks in advance.


Consider the following:

                            Cell is currently:

          Empty                   Type 1              Type 2
   T 7 | .                 7 | .                7 | . 
   y 6 | . .               6 | . .              6 | . . 
   p 5 | . . .             5 | . . .            5 | . . .  
   e 4 | . . . .           4 | . . . .          4 | . . . .  
     3 | . . . . .         3 | . . . . .        3 | . . . . .  
   1 2 | . . . . . .       2 | . . . . . .      2 | . . . . . . 
     1 | . . . . . . .     1 | . . . . . . .    1 | . . . . . . . 
     0 | . . . . . . . .   0 | . . . . . . . .  0 | . . . . . . . .
       +-----------------    +-----------------   +-----------------
         0 1 2 3 4 5 6 7       0 1 2 3 4 5 6 7      0 1 2 3 4 5 6 7
        Type 2
For each cell, it can be one of empty, type 1, or type 2. In the matrix you specify what the next step is given 0 - 7 type 1 neighbors and 0 - 7 type 2 neighbors, the 'classic' rules would be (only one type):

          Empty                   Type 1              Type 2
   T 7 | E .               7 | E .              7 | .  
   y 6 | E .               6 | E .              6 | . . 
   p 5 | E . .             5 | E . .            5 | . . . 
   e 4 | E . . .           4 | 1 . . .          4 | . . . . 
     3 | 1 . . . .         3 | 1 . . . .        3 | . . . . . 
   1 2 | E . . . . .       2 | E . . . . .      2 | . . . . . . 
     1 | E . . . . . .     1 | E . . . . . .    1 | . . . . . . . 
     0 | E . . . . . . .   0 | E . . . . . . .  0 | . . . . . . . .
       +-----------------    +-----------------   +-----------------
         0 1 2 3 4 5 6 7       0 1 2 3 4 5 6 7      0 1 2 3 4 5 6 7
        Type 2
The way you "read" it is left to right:

If the cell is empty, matrix 1 applies. If it has 3 Type 1 neighbors exactly, then in the next iteration it will have a Type 1 value. If it has more than 3 Type 1 neighbors or fewer than 3 Type 1 neighbors it will be Empty in the next iteration.

If the cell is type 1 then matrix 2 applies. If it has 3 or 4 type 1 neighbors it stays type 1, if it has fewer than 3 or more than 4 neighbors it becomes empty on the next iteration.

There are a number of ways to expand this, you can create two 'co-species' where they follow the original rules for their species and ignore the other except for conflict (3 neighbors of type 1 and 3 neighbors of type 2). You can create 'evolving' species where an over population of type 1 neighbors generates a type 2 cell which behaves using existing rules. Etc.

You change the rules by placing E, 1, or 2 in each matrix spot. Any spot that has more than a total of 7 neighbors is invalid (so the top right diagonal half of each matrix).


Classic Life is B3/S23, not B3/S34. Am I reading your diagrams wrong?

Also, your matrices for empty and type 1 each have an extra dot after the E on the first row (I think).


Thanks for the correction. And yes when I put in the E's I didn't correctly delete the dot on the top row.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: