The question is what interesting things can you build in Critters? We do know we can build a digital computer with logic gates using a billiard-ball-like model. That is kind of the whole point. But can you get some of the more interesting Life results, like universal construction and syntheses, etc?
The obvious problem is that (1) Critters has conservation of live cells in alternate generations, so you will not get an infinite growth pattern. (2) A more subtle issue is that a Life-like synthesis is impossible with reversible rules because a fixed size oscillator has a finite number of states and cannot be reversed back into gliders receding to infinity.
To dispense with (2) as a fatal objection, just work with collisions that also emit an extra glider. That glider can hold the infinite state for reversibility, and as it recedes into infinity, you exclude it from considera . tion, much like heat dissipation in physical machines.*
For (1), you need some source of new cells. I suggest that you begin with a single fixed-period glider stream entering from infinity. No gun can exist in Critters, so this stream is there by fiat. Is this "cheating"? Well, is it cheating for a plant to require sunlight to grow? If we have physics-like rules, we will never have perpetual motion machines (or more precisely, devices that produce energy out of nothing), so we do need some source of energy.
With the above in mind, I envision a universal constructor that could take (1) an infinite fixed-period glider stream (2) a finite initial pattern and (3) manipulate the stream to direct it as needed (4) replicate the finite component (5) produce reversible "heat" in the form of a pseudorandom cloud of gliders receding to infinity.
First question as always: has anyone done this? Second: is there some obvious reason it would not work?
Unfortunately, I have not had as much luck as I would like redirecting a stream. What I imagined was an oscillating reflector as in Life that would send every other glider off at 90 degrees. In fact, it is trivial to make reflectors in Critters, but most are 180 degrees. Also, they seem either to phase shift the glider or the reflector. Is this a necessary result of a conservation law? Watching Critters on a toroidal grid is certainly fascinating. The gliders do a kind of square dance, often reflecting each other, sometimes leaving a stationary oscillator behind that can be activated later. But my hope of splitting up a periodic stream is either impossible or requires more work.
(12/2/19: updating some patterns to work in LifeViewer)
I noticed some trivial reactions that appeared useful but I can't do much with them. (Critters rule, so it won't work in viewer) The eastward glider is rotated 90 degrees after hitting the 2x2 checkerboard. It exits northward and shifts the checkerboard diagonally.
Code: Select all
x = 7, y = 5, rule = critters
$bo4bo$2bo2bo$2bo$bo!
Code: Select all
x = 36, y = 5, rule = critters
$bo9bo9bo9bo$2bo9bo9bo9bo2bo$2bo9bo9bo9bo2bo$bo9bo9bo9bo!
There are much more chaotic looking reflections that distort a fixed oscillator in a way that is harder to characterize and send off a glider. Could we find one that is repeatable over a succession of collisions? The risk is the very high probability of sending a glider directly back into the stream. Unlike Life, the result often continues to propagate back into the stream. Of course, it's all reversible, but hard to see how to recover the stream at all once this happens.
Has anyone looked into this kind of question in more detail and/or actually tried to catalog the many collisions between gliders/gliders and gliders/small oscillators?
ADDED: an alternative way to get around conservation would be to seed the universe with small oscillators that result from a collision of two gliders an output a single glider. By reversibility, these will duplicate gliders if hit the right way. I think this is more artificial than the glider stream approach, but it may be worth exploring.
* Another way to see this is in terms of entropy "From the point of view of creatures 'living' inside an RCA, their inability to make use of complicated correlations between large numbers of cells means that for all practical purposes, the entropy of the automaton increases. To use a thermodynamic analogy, if I want to compress a gas, it doesn't help me to know that the gas was all in one corner of the room just a few minutes ago. I have no ability to make use of the complicated correlations that this statement implies, and so I say that entropy increased when the gas expanded to its current volume." (Physics-like models of computation, Margolus 1984)
ADDED 3/25: I was thinking about the abundant higher period reflectors in Life and why Critters poses some difficulties with this despite having high period oscillators and lots of reflection.
In Life, high-period oscillators often produce sparks that do not affect the future state of the oscillator because they vanish. But when they don't vanish, they can modify gliders and spaceships in collisions. By contrast, a stray cell in a Critters oscillator will always be pulled back in (or else it would not be reversible). So we can't have sparky oscillators at all.
If we didn't have live-cell conservation, we could have some kind of reversible oscillator that propagated gliders (a gun, essentially) that could work instead of sparks and not affect the oscillator. One question is what happens when the gun reverses back to empty, but in some reversible rule, maybe it could start firing in reverse (anyway not in Critters). So despite the abundance of reflectors in Critters, they are a lot less versatile than in Life.
ADDED: Here is a pair of gliders set to restore the reflector to the original position. The effect is that two gliders on a collision path are each turned 90 degrees. They need enough separation to work and need to have the same phase since the reflector is a period-4 oscillator.
Code: Select all
x = 14, y = 5, rule = critters
$bo4bo7bo$2bo2bo7bo$2bo10bo$bo12bo!