The original reflection reaction can work at higher periods; variants are shown at right with p6, p7, and p8 sparks. The reflection path is the same as a kickback reaction, but the timing is different. By comparison, a pentadecathlon-based kickback emulator (far right) is four ticks faster -- or four ticks slower, since timing can be adjusted mod 8 by changing the reflector's location.
An early LWSS gun by Bill Gosper, constructed around 1984, serves as the Rosetta Stone for the two scripting languages. This is a very large, sparse pattern of centinal reflectors, with a central column of signal splitters that produce the gliders needed to maintain eight p1100 LWSS streams.
The pattern takes up about 60K as RLE, or about 750K as a flat file; it can be reduced to about 5K of Python or Perl script (see Golly 1.3's Scripts collection). The Perl version is somewhat larger, but appears to be able to recreate the pattern slightly faster.
In the pattern at right, the LWSS streams from the two bottom quadrants are set up to annihilate each other. The top two streams -- one at 60N and one at 120N -- are reflected upward along the central axis for comparison purposes. The spaceships representing 2, the first number in each series, are exactly in alignment.
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.
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.
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
In his continuing quest for Diagonal Spaceships, Nicolay Beluchenko has also found what is currently the smallest known "Grow-By-One" pattern. This type of pattern is one whose population growth rate is exactly linear, without any fluctuations, adding a single bit every generation. Shown here is a slight improvement by David Bell, which starts a generation earlier than Beluchenko's orginal pattern, with a population of 44 at generation 0. (The purpose of the Lightweight Spaceship is to smooth out the fluctuations in the paired wickstretcher's population.)
The second pattern shown here is a version which is also a single object (starting with a population of 53).
On July 2, David Bell noticed that tub-with-tails are larger than needed to form switch-engine lanes (see the bobsled-run posting on 24 June 2005). Several smaller still lifes with tub-shaped protrusions can provide the same catalysis; boats, barges, long boats, long barges, etc. can all be used. At right is a revised switch-engine 'bobsled run' using boats as catalysts.
Long barges can be used as a common boundary between two adjacent lanes without any possible interference. Barges are sufficient if traffic in adjacent lanes is in opposite directions, or if the timing of traffic in two parallel lanes can be controlled to avoid mirror-image switch-engine phases. At right is a p3450 'swimmer' -- a switch engine doing laps in a lane made of boats:
The reaction is unusual for several reasons:
1) Tub-with-tails don't usually catalyze alone -- a tub-with-tail is more commonly paired with a block or other still life, which makes it capable of 'eating' a glider or similar active pattern.
2) The catalysis used in the bobsled run is a reaction that has not been used in previously known Herschel/B-heptomino/R-pentomino/pi conduits.
3) While Herschels do make an appearance in this conduit, they don't play an important role -- in fact, they must be suppressed in order for the reaction to be repeatable.
One possible open problem would be to construct converters to attach to each end of the 'bobsled run', one taking a Herschel (or glider, spaceship, etc.) as input, and one producing one of these standard signals as an output.
On 23 January 2005, Noam Elkies found a collision of 8 gliders with an LWSS that could repeatably create an input signal travelling at two thirds of the speed of light (2c/3) in the "transmitter" end of Dean Hickerson's stable diagonal 2c/3 "signal track" from 18 March 1997.
The new signal-inserting collision is shown on the left edge of the pattern below; the rest of the pattern is a
stable 2c/3 signal receiver constructed by dgreene on February 6.
One remaining open problem is the construction of a similar stable pattern to produce the "transmitter" collision from a single input signal.
Gabriel Nivasch has announced the construction of a spaceship which travels at the speed of 17c/45. It is based on a "Pi Crawler" reaction, where a Pi Heptomino moves up a string of Blinkers leaving the string undisturbed. This means that multiple Pi Crawlers can use the same string of blinkers, and if multiple tracks are properly positioned, they can interact with each other to act as glider puffers or rakes. These gliders can then be used to create c/2 Orthogonal Spaceships which in turn can run ahead of the Pi Crawlers and lay down the necessary Blinker tracks. For more information on how all this works, see Nivasch's earlier report on the Caterpillar components.
The spaceship itself has a period of 270, and is huge. The dimensions are 4195 cells wide by 330,721 cells deep. Starting with a population of 11,967,399, ranging from 11880063 (gen 113) to 12019156 (gen 210). Nivasch reports that he wrote a program which fitted together 51 different .rle subpatterns that make up the Caterpillar into the final, working pattern. This is the first known spaceship which travels at this speed (0.378c), and the largest object ever actually constructed to date.
Jason Summers has made available a zipped 7.1Meg copy of the .rle file, It has been reported that this .rle file will successfully load and execute with the Life32 program by Johan Bontes, or with Hashlife by Tomas Rokicki. With Life32, just wait a bit for it to load, and be sure to zoom down to a reasonable subsection of the entire pattern, otherwise each generation will take an inordinate amount of time to display. Properly zoomed down, it only takes about a second per generation.
Gabriel Nivasch has updated his web page to provide a 1:40 scale illustration of the entire object.