Ripple
Posted: September 23rd, 2015, 1:09 am
I've come up with a new rule that is meant to take on some wave-like behaviors. The basic idea is that each cell with a positive integer will get split evenly into its adjacent neighbors in the next tick. If the value can not be divided evenly, the quotient would instead move into the neighbors, and the remainder would be left behind. If given enough space, it will always break down the initial value into its smallest components (all remainder values).
Ex:
However, this rule becomes interesting when the grid is confined to a small area. If the value is large enough, and the grid is small enough, the value won't be able to break down into its smallest components, and this produces chaotic behavior inside the confined area. Eventually, it should find a sort of "resonance" inside the area, and turn into an oscillator. This confined area can be produced either by using a torus, or by lining a box of cells with negative values, making them "unavailable" like a barricade.
Although I've written it in Java, it's not very easy to explore. I am including this rule in bprentice's squarecell, but that might take a while. If anyone wants to try to implement this in Golly, feel free. I'm writing a paper on this for my behavior of complex systems class, so I will be sure to cite whoever helps.
Java code: https://gist.github.com/SeanBP/2a2e3f6f77719bf0d7fa
Ex:
Code: Select all
. . . . 1 .
. 5 . ---> 1 1 1
. . . . 1 . Although I've written it in Java, it's not very easy to explore. I am including this rule in bprentice's squarecell, but that might take a while. If anyone wants to try to implement this in Golly, feel free. I'm writing a paper on this for my behavior of complex systems class, so I will be sure to cite whoever helps.
Java code: https://gist.github.com/SeanBP/2a2e3f6f77719bf0d7fa