Bistable switch
The bistable switch is a partial stable reflector discovered in 1994 by Paul Callahan.
Bistable switch | |||||||
| |||||||
View static image | |||||||
Pattern type | Memory cell | ||||||
---|---|---|---|---|---|---|---|
Number of cells | 43 | ||||||
Bounding box | 30×48 | ||||||
Discovered by | Paul Callahan | ||||||
Year of discovery | 1994 | ||||||
|
Structure
The switch consists of elementary still lifes. More specifically, it uses a block and eater 1, together with a century eater consisting of three eater 1s surrounding a central beehive. In addition to these permanent catalysts, there is an extra still-life to represent the state. This can either be a block or boat, depending on the state.
Reflecting ability
The switch was found when trying to build a stable reflector. When the glider collides with the boat, it is converted into a block and a glider is emitted perpendicular to the incident glider. When a glider (on a different path) collides with the block, it restores the boat, producing an output glider in the same direction to the input glider.
Variants
In June 2013, Ivan Fomichev found a more compact century eater to replace the constellation comprising a beehive surrounded by three eaters:
<html><div class="rle"><div class="codebox"><div style="display:none;"><code></html>
#C Century eater replacing a four-object constellation in Paul Callahan's bistable switch
#C http://conwaylife.com/wiki/Century_eater
x = 30, y = 43, rule = B3/S23
12bob2o$12b2obo2$10b5o$9bo2bo2bo$9b2o3bobo$15b2o16$28b2o$28b2o2$o$b2o$
2o11$4b2o$3bobo$3bo$2b2o8b2o$12b2o!
#C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]]
#C [[ THUMBSIZE 2 ZOOM 8 HEIGHT 480 WIDTH 640 ]]<html></code></div></div><canvas width="200" height="300" style="margin-left:1px;"><noscript></html> Please enable Javascript to view this LifeViewer. <html></noscript></canvas></div></html> |
(click above to open LifeViewer) RLE: here Plaintext: here |
In November 2017, Adam P. Goucher noticed that the century eater could be replaced by a century-to-glider converter, releasing another glider. By using Snarks to channel the gliders, this can be made into a gun as shown below:
<html><div class="rle"><div class="codebox"><div style="display:none;"><code></html>x = 123, y = 93, rule = B3/S23
56b2o$55bobo$49b2o4bo$47bo2bo2b2ob4o$47b2obobobobo2bo32b2o$50bobobobo
35bobo$50bobob2o38bo4b2o$51bo38b4ob2o2bo2bo$90bo2bobobobob2o$64b2o27bo
bobobo$55b2o7bo29b2obobo$55b2o5bobo33bo$62b2o$84b2o$85bo7b2o$85bobo5b
2o$86b2o25bo$111b3o$110bo$52b2o15b2o39b2o$49bo3bo15b2o$49b4o$118b2o$
49b2o45b2o21bo$49b2o45bo22bob2o$97b3o11b2o4b3o2bo$99bo11b2o3bo3b2o$48b
o67b4o$47bobo52b2o15bo$48bo52bobo12b3o$45b3o53bo13bo$45bo29b2o23b2o14b
5o$74bobo43bo$75bo42bo$118b2o5$9bo$9b3o$12bo$11b2o$85b2o$85bo$3b2o81b
3o$3bo84bo$2obo$o2b3o4b2o$b2o3bo3b2o$3b4o$3bo15b2o$4b3o12bobo34b2o$7bo
13bo14b2o18b2o$2b5o14b2o14bo$2bo32bo$4bo30b5o14b2o$3b2o35bo13bo$37b3o
12bobo$36bo15b2o$36b4o$34b2o3bo3b2o$33bo2b3o4b2o$33b2obo$36bo$36b2o$
61bo$61b3o$44b2o9b2o7bo$45bo9bobo5b2o$42b3o10bo$40b3o$39bo$39b2o3$73b
2o$66b2o5bobo$66b2o7bo$75b2o$29b2o$28bobo5b2o24bo$28bo7b2o23bobob2o$
27b2o32bobobobo$58b2obobobobo2bo$41bo16bo2bo2b2ob4o$37b2obobo17b2o4bo$
36bobobobo23bobo$33bo2bobobobob2o21b2o$33b4ob2o2bo2bo$37bo4b2o64bo$35b
obo71bo$35b2o70b3o!
#C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]]
#C [[ AUTOSTART ZOOM 4 THUMBSIZE 2 WIDTH 640 HEIGHT 560 GPS 60 ]]<html></code></div></div><canvas width="200" height="300" style="margin-left:1px;"><noscript></html> Please enable Javascript to view this LifeViewer. <html></noscript></canvas></div></html> |
(click above to open LifeViewer) RLE: here Plaintext: here |
The over-unity variant of the bistable switch has a population of 32, lower than the original variant.
Memory storage
If a glider enters the switch when it is in the wrong state, the glider merely permeates through the device without affecting it. This means that any combination of input gliders, as long as they are sufficiently separated, will not destroy the device. This gives the conduit the ability to store information:
Let the inputs be called SET and RESET. The outputs can be designated SET SUCCESS, RESET SUCCESS, SET FAILURE and RESET FAILURE. The truth table is shown below:
Input | Current state | Next state | Output |
---|---|---|---|
SET | 0 | 1 | SET SUCCESS |
SET | 1 | 1 | SET FAILURE |
RESET | 0 | 0 | RESET FAILURE |
RESET | 1 | 0 | RESET SUCCESS |