2005-12-21
"Rule 110" Unit Cell
Jason Summers has put together a "Rule 110" unit cell. A unit cell is a Game of Life pattern which acts as if it were a cell or component in another automata, allowing the Game of Life to incorporate the abilities and results of that automata into itself. For example, several years ago David Bell created a Life unit cell which can be used to recursively simulate the Game of Life.
"Rule 110" is a 1-dimensional non-totalistic cellular automaton. A cell's next state depends on its current state and the states of its two nearest neighbors, as follows:
| Gen 0 | Gen 1 |
|---|---|
| 000 | .0. |
| 001 | .1. |
| 010 | .1. |
| 011 | .1. |
| 100 | .0. |
| 101 | .1. |
| 110 | .1. |
| 111 | .0. |
From Summers' description of his pattern:
The logic used in the pattern is (B AND NOT A) NOR (B XOR C), where A is the cell to the left, B is the cell itself, and C is the cell to the right. This produces the inverse of the correct rule-110 result. The result is then put through various duplication, reflection, and inversion reactions to produce four copies of an uninverted signal. One copy is sent to the cell on the left, one to the cell on the right, one is fed back into the same cell, and one is emitted upward as a visual record of the cell's states.
That the horizontal spacing (256) is a power of 2 is intentional, and might make it more efficient to run in Hashlife. The period (1200) can't reasonably be made a power of 2.
It should be easy to adjust the period by multiples of 120 generations, and the horizontal spacing by multiples of 60 cells. Other adjustments are possible, but more difficult.
As Summers notes, it would be an interesting project to build a puffer which lays down these unit cells as its output, and do so at a rate faster than they'd be needed by the "Rule 110" automata run.
Image Key:
- A: Marker Tubs and initial Block
- B: Glider->Spaceship reaction
- C: Spaceship->Glider reaction
- D: Turn Glider 90°
- E: Invert & turn Glider 90°
- F: Split stream
- G: Duplicate stream
- Red: Input streams
- Green: Output streams
- Blue: Internal streams
Unlabeled are a couple of signal generator Glider Guns and a couple of Fishook Eaters which are a part of the logical operators. The objects in the corners are used for alignment of multiple cells.
Using the pattern:
To use the pattern, place copies such that the "decorative still-lifes" at the corners coincide. The initial state of the cell is forced to be ON by the glider located between the tubs (A in the pattern). Remove the block infront of it to set the cell state to OFF. If the Fishook Eaters on the left and right edges don't disappear on their own in a few generations, then they can be removed manually before starting. For Game of Life programs that don't like the annotation format commands, a file without the formatting is also available
2005-12-18
Fixed-Width and Slipping-Stripe Greyships
The following two patterns are "failed spacefillers" -- they expand in the same way as a standard spacefiller for a while, until an internal instability in the boundary between the two types of stripes catches up with an expanding edge.
slipping-stripe reaction: Hartmut Holzwart, 28 November 2005
by Gabriel Nivasch: Hartmut Holzwart, 21 November 2005
These last two patterns, along with many of the greyships from previous postings, can also be seen here in MCell holiday colors.
Switch-engine breeder
Back in July, David Bell constructed a new switch-engine breeder. An orthogonal c/2 rake shoots gliders at the detritus left by a diagonal c/4 puffer, resulting in a 'natural' reaction that produces c/12 block-laying switch engines.
Sample c/5 and c/4 glider-processing convoys
two gliders to the loop to get p360. David Bell, 28 October 2005
Here are four patterns by David Bell, showing a variety of ways (some discovered relatively recently) for passing spaceships to affect an active pattern. The first is an engineless p1080 rake, using a design similar to the recently-posted p360 spaceship:
The next three patterns involve diagonal c/4 convoys (spaceships that travel the same speed as a glider, but have sufficiently isolated edge sparks that they can interact non-destructively with gliders and other active patterns.) Here are some sample convoys that process input gliders to produce various types of output:
(e.g., 6bo$6bobo$6boo3$11b3o$12b3o3$3o$bbo$bo!) can be converted to a backward or sideways glider by a passing convoy,
making it useful as a 'memory bit'. David Bell, 12 November 2005
with period 28, 24, 16, or 0 (mod 32). David Bell, 2 November 2005
2005-12-16
New perpendicular greyships
spacefiller: Hartmut Holzwart, 6 December 2005
front end from a spacefiller: Hartmut Holzwart, 5 December 2005
down the middle: Hartmut Holzwart, 7 December 2005
small tagalongs at back end: Hartmut Holzwart, 5 December 2005
Hybrid greyships (perpendicular and parallel stripes)
2005-12-11
Object Miscellany
Here a number of new Game of Life objects discovered in the past few months, in no particular order:
A Period 360 c/5 spaceship found by David Bell. Removing one or two of the circulating gliders gives a Period 1080 spaceship instead
Nicolay Beluchenko has found a 20 bit variant on a known Period 3 oscillator.
Scot Ellison has found a set of Period 7 Oscillators, one as small as having a population of 38 Bits, which have some isolated sparks in one of their phases.
A pair of Diagonal c/4 Double Wickstretchers found by Nicolay Beluchenko.
A tagalong for the recently discovered Diagonal c/6 Spaceship, found by Nicolay Beluchenko.
2005-12-10
Extensible spaceships
Over the past few months, Hartmut Holzwart has constructed a series of spaceships with a variety of shapes, periods, and velocities. The majority have been "greyships" of different types -- but here is a random sampling of ships that don't fit neatly into that category:
Jason Summers' raw c/3 collection: Hartmut Holzwart, 14 Nov 2005
(Disclaimer— I have no association with anyone or any organization, and speak only for myself. Links and quotes are provided for information only.)