Tutorials/Finding conduits

From LifeWiki
Revision as of 00:33, 30 December 2020 by MathAndCode (talk | contribs) (→‎Finding new conduits: More information about researching alternative inputs)
Jump to navigation Jump to search

A conduit is a collection of catalysts that creates an output active object in a certain position in response to an input object and can do so repeatedly. One example is Fx158, which outputs a Herschel in one position in response to an input Herschel in a different position and with a different orientation. (The Herschel is then eaten by a block in this example in order to prevent the next Herschel from crashing into its ash.)

x=35, y = 29, rule = LifeHistory 8.A14.2A$7.A.A13.A$7.A.A11.A.A$5.3A.2A10.2A$4.A$.A2.4A.2A$.3A3.A.2A$4. A$3.2A7$29.D$27.3D3.2A$27.D.D3.2A$27.D$C$C.C$3C$2.C2$15.2A$9.2A4.A.A$ 10.A6.A$7.3A7.2A$7.A! [[ PASTEMODE COPY T 0 PAUSE 1 T 158 PAUSE 2 PASTET 173 PASTE 2.3A.D$4A.AC$2.2A2.C$4.3A$.A! -6 19 T 180 PAUSE 1 T 338 PAUSE 1 PASTET 353 PASTE 2.3A.D$4A.AC$2.2A2.C$4.3A$.A! -6 19 T 360 PAUSE 1 T 518 PAUSE 1 ]]

Conduits can also output a different object from the input object, but this is not required. Conduits are useful for transmitting signals for circuitry and computation. This tutorial will focus on stable conduits, i.e. conduits where the exact timing of the input does not matter.

Introduction

Definitions

Here are some important definitions:

  • A permanent catalyst is a catalyst that remains present for the entire reaction, i.e. a catalyst that is not transparent or sacrificial.
  • A transparent object is an object that is consumed then restored by a reaction.
  • A sacrificial object is an object that is consumed by a reaction and not restored. It must be restored using an additional mechanism in order for the conduit to be able to be used again.
  • A conduit's step time is the number of generations that elapse between when the input object reaches its canonical form and when the output object reaches its canonical form.
  • A conduit's repeat time is the minimum number of generations for which entering the active object twice separated by fewer generations in between would cause the conduit to not function properly.
  • An active object's canonical form is a particular predecessor of that evolutionary sequence that is used as a reference for determining step time, displacement, and relative orientation.
  • An elementary conduit cannot be split into separate pieces so that each piece is a complete conduit by itself. A composite conduit can be split into two or more separate conduits.

Ground rules

There are several basic rules for making and using conduits. The most important are the following:

  • Don't rely on transparent or sacrificial objects.
  • Up-conversion is more difficult than down-conversion.
  • Always try to move the active region to somewhere new.
  • Clearance matters.

Here is a pi-to-LWSS conduit that demonstrates all four of these rules. The basic reaction is the following:

x=24, y = 25, rule = LifeHistory 10.2A$11.A$11.A.A$12.2A$6.2A$6.2A3$22.2A$22.2A$2E$2E9$8.3C$9.C8.2A$9. 3C6.A$19.3A$21.A!

A Herschel is perturbed by some catalysts then collides with a block, resulting in a LWSS. Because the reaction does not restore the block, the block is sacrificial. (If the reaction consumed the block then later restored it, the block would be transparent.) In order for the conduit to be able to be used repeatedly, the block must be restored by the same reaction that produces the Herschel. Thus, the rule of not relying on transparent or sacrificial objects has been violated. In addition, because the LWSS exits in the same direction that the Herschel comes from, the rule of moving the active region to somewhere new has been violated. Because of this, getting the Herschel into the proper position will be difficult. Here is the complete conduit.

x=65, y = 87, rule = LifeHistory 51.2A$52.A$36.A15.A.A$30.A5.3A14.2A$30.3A6.A7.2A$33.A4.2A7.2A$32.2A2$ 63.2A$63.2A3$25.2A$25.2A10.2A$37.A.A$38.A4$37.2A$37.A11.3D$38.3A9.D8. 2A$40.A9.3D6.A$60.3A$62.A6$25.2A$26.A28.2A$3.2A21.A.A26.2A$4.A22.2A$2. A$2.5A14.2A$7.A13.A$4.3A12.A.A$3.A15.2A$3.4A37.3D$.2A3.A3.2A32.D.D$A2. 3A4.2A32.D2.D$2A.A25.2A15.2D$3.A24.A.A$3.2A23.A$27.2A7.2A$35.A.A$11.2A 22.A$12.A21.2A$9.3A$9.A2$60.2A$60.2A8$61.2A$61.A.A$63.A$32.3C28.2A$34. C$32.3C7$31.2A$32.A6.2A$29.3A7.A$29.A10.A$39.2A5$45.D.D$44.D$44.D$44. D2.D$44.3D!

The requirement that no catalysts may be placed in the LWSS's path restricts the possibilities for what conduits may be used to insert the Herschel. This means that the only conduits available may be suboptimal, and indeed, the pi-to-century conduit has a high step time, which contributes to the high repeat time of the overall pi-to-LWSS conduit. One of the reasons that the pi-to-century conduit has a high step time is because it breaks the rule of always moving the active region to a new position; instead, the activity goes forward, stops, goes back, hits the snake, then resumes forward movement.

The sacrificial object also complicates matters. Conduits that can make the century more quickly do exist, but most of them do not emit a glider in addition. The requirement that one of the conduits used to restore the Herschel emit a glider in order to be used to restore the block also complicates matters.

So why use that reaction for creating LWSSes instead of a better one? The answer is: There are currently no known better reactions. LWSSes are relatively rare compared to R-pentominoes and other common active objects, so not many reactions are known that create LWSSes from active objects commonly used in conduits. Of the few such reactions known, none result in a better conduit in terms of repeat time. For example, this Herschel-to-LWSS conduit is even worse in terms of moving the active object to a new location and therefore has an even higher repeat time. Because LWSSes (and the other XWSSes as well) are so rare, they are more difficult to create, so converters that create them from easier-to-create objects are known as upconverters.

However, while XWSSes are harder to make, they (as well as gliders) are also harder to extract signals from. The reason for this is because gliders and XWSSes are small and only move forwards, not outwards. For this reason, any method of perturbing gliders causes all of their cells to die,[notes 1] so all glider-accepting conduits have the glider crash into an object to produce chaos. This object must be restored in order for the conduit to be able to be used again, and any arrangement of catalysts is extremely unlikely to put the same object in that exact location with the same orientation, especially with no other junk. For example, in his effort to find what turned out to be a record smallest and fastest glider-to-glider conduit, Dave Greene spent multiple weeks trying thousands of arrangements of catalysts to restore a single transparent block (The conduit uses two transparent blocks, but one of the transparent reactions was already known.) before finding one that worked, and this was in fact lucky, as most of the time, no arrangement of catalysts will work.[1] Because restoring transparent objects is so difficult/unlikely, it is a bad idea to attempt to restore a transparent object—unless the result would be amazing, very useful, novel, and thus worth it (and even then, one must be prepared for disappointment). XWSSes are little better. When perturbed, the LWSS might coalesce into a block or blinker instead of completely vanishing, so any conduit accepting it requires a transparent object. The MWSS might turn into an object requiring slightly more cells, such as a loaf or a glider, but turning the glider into another signal still requires a transparent reaction. The HWSS is the only XWSS with any hope of not stabilizing within ten generations of being perturbed, but because it does have a sideways movement/expansion mechanism, it must be perturbed from the front, so with its forwards movement mechanism destroyed, and no sideways movement mechanism, the resulting junk cannot move to a new location but instead tends to stay in the same place, possibly destroying one or more of the catalysts used to perturb it. Not wanting the chaos to destroy catalysts that one has already used is another reason why one should try to make sure that the chaos is always moving to a new location. In terms of how easy it is to convert the signal into something else, here is a ranking of potential outputs from most difficult to easiest. The farther down any output is, the better.

  • a still-life or blinker
  • a glider or XWSS
  • a relatively short-lived active region (e.g. bun)
  • any long-lived chaos
  • long-lived chaos especially well-suited for conduits (e.g. Herschel because it does not drop any hard-to-delete still-lifes early on, splits into two regions traveling in opposite directions, consistently travels in the general same direction before then, and releases a glider early on that can be used)

Besides the XWSSes, more useful outputs (in terms of how easy it is to find a reaction of upending another conduit). (Gliders and XWSSes have another advantages, such as not being picky about the exact position and being useful for adjusting timing.)

As for the importance of clearance, the following B-to-Herschel conduit can let the LWSS through and emits an extra glider.

x=42, y = 47, rule = LifeHistory 25.2A$25.2A7.A$33.A.A$33.A.A$32.2A.3A$38.A$32.2A.3A$32.2A.A7$4.2A$4.2A $39.D$39.D.D$39.3D$41.D7$C$.C$.2C$2C$C3$5.2A$5.2A6$12.A.2A12.2A.A$10. 3A.2A12.2A.3A$9.A12.2A10.A$10.3A.2A6.2A4.2A.3A$12.A.A14.A.A$12.A.A14. A.A$13.A16.A!

However, it cannot be used to make the Herschel because one of the eater 2s in that conduit and one of the fishhooks in the next section would get in the way of each other, so the two conduits couldn't be used together. Another way to say this is that they don't have the necessary clearance to be able to be used with each other. Clearance is always a matter of both conduits. For example, this composite century-to-B has fair input clearance.

x=26, y = 25, rule = LifeHistory 2.A$2.3A$5.A$4.2A7$15.2C$13.3C$14.C4$2.2A$.A.A$.A$2A$24.2A$24.2A$17.2D .D$18.3D$19.D!

However, due to a lack of century-making conduits with good output clearance, the only possible proceeding conduit is this:

x=27, y = 15, rule = LifeHistory 7.2A$8.A$8.A.2A$9.A.A13.2A$24.A.A$25.A$2.2D11.C.C$3D12.C.C$.D13.3C5$15. 2A$15.2A!

It has good output clearance but horrible input clearance. In fact, the only (known) way to insert the pi requires a sacrificial object, which leads to bulky conduits with high repeat times.

x=149, y = 178, rule = LifeHistory 63.A$63.3A$66.A$65.2A$31.2A62.A$32.A60.3A$32.A.A13.A43.A$33.2A12.A.A7. A34.2A$48.A6.3A$54.A57.2A$54.2A56.2A5.2A$119.2A2$46.D$46.2D9.2D21.D36. 2A$45.2D11.2D18.3D36.2A$34.2A21.2D2.2A15.D.D42.2A$35.A21.D3.2A15.D44. 2A$35.A.A$36.2A2$103.D$49.2A52.D.D$49.A.A6.2A32.2A9.3D$51.A6.A20.2A11. 2A11.D$51.2A6.A20.A$58.2A17.3A$77.A3$146.A$32.2A3.3D7.2A66.3D4.A21.3A $32.2A4.D8.A.A65.D5.A.A19.A$38.3D8.A64.3D5.A20.2A$49.2A76.2A$31.A95.A $30.A.A85.2E4.2A.A$31.A77.2A7.2E4.A.A$28.3A78.A.A$28.A56.2A23.A$84.A. A31.D.D11.2D$84.A33.D.D12.3D$83.2A33.3D13.D$37.2A$37.2A$112.3D$114.D30. 2A$46.2A65.D5.2A24.A.A$38.2D6.2A71.2A26.A$11.2A25.D.D82.2A2.D19.2A$11. 2A27.2D81.2A2.3D$129.2D$128.D.2D$30.3D12.2A81.3D6.2A.A$30.D.D12.A83.D 7.A.2A$30.D.D8.2A3.3A$41.A.A4.A81.2A$43.A86.2A$43.2A$45.A$16.2A25.3A70. 2A$17.A24.A74.A$14.3A25.2A73.A.A$14.A103.2A2$20.2A19.2A$20.2A19.2A5$141. A$139.3A$129.3D6.A$129.D8.2A$19.2A107.3D$18.A.A16.3D$18.A9.2A8.D$17.2A 10.A6.3D104.A$26.3A113.A.A$26.A91.2A22.A.A$119.A21.2A.3A$119.A.A25.A$ 120.2A19.2A.3A$45.D95.2A.A$46.D$44.3D2$119.2A$61.A57.2A$59.3A$58.A$58. 2A2$36.2A25.3D$36.2A27.D68.D$64.D70.D$27.2A.A7.D94.3D$27.A.2A6.3D5.2A $36.2D.D5.A2.2A$46.2A.A5.2A$47.A7.2A$47.A$45.A.2A$45.2A2.A10.A$48.2A6. 2A.A.A$55.A.A.A.A$31.2A19.A2.A.A.A.A.2A$30.A.A19.4A.2A2.A2.A$30.A25.A 4.2A$29.2A23.A.A$54.2A3$54.2A$49.2A2.A2.A$43.3D3.A.A2.2A$34.2A8.D7.2A $35.A6.3D8.A$32.3A15.A2.A.2A$32.A16.A.A.2A.A$50.A.A$51.A2.2A$52.2A.3A $58.A$52.2A.3A$52.2A.A2$44.2A$35.2A7.2A$36.A$36.A.A$37.2A4$57.2A$57.2A 3$35.3C$37.C$36.C5.A$41.A.A$41.A.A$42.A$39.3A$39.A28$3A$2.A$.A!

In addition, sometimes two conduits have more than enough clearance on one side but not enough clearance on the other side. An example of this is the B-to-Herschel conduit and the Herschel-to-LWSS partial from earlier.

Permanent catalysts

Permanent catalysts are catalysts that remain for the entire reaction. Some permanent catalysts do not lose any of their cells; these are known as rocks. However, most permanent catalysts lose some (but not all) of their cells. These permanent catalysts are turned into what is known as an active or recovering state, which evolves back into the original state due to the structure of the catalyst. Typically, if the active region interacts with a permanent catalyst that is still recovering, that catalyst will be destroyed.

Classes of catalyses

There are four main classes of catalyses (and corresponding catalysts): fishhook-type, block-type, boat-type, and snake-type. There are also other catalysts that don't fall into large categories. One example is the eater 3,[notes 2] which works in the following situation when the white cell closest to the loaf has formed after the other two white cells and none of the red cells are on.

x=14, y = 14, rule = LifeHistory 8.4DC$8.4D2C$9.2A3D$4.2A2.A2.A2D$.A2.A4.A.A2D$A.A.A5.A.2D$.A2.A.2A$4. A2.A$5.A4.A$6.5A2$8.A$7.A.A$8.A! [[ VIEWONLY GRID ]]

In order for that white cell closest to the loaf to be born, the cell above and to the right of it must have been on in the previous generation (because none of the red cells could have been on in order for the catalysis to work.

x=55, y = 15, rule = LifeHistory 32.A$12.CA18.CA18.C2A$13.C19.C19.C$9.2A18.2A18.2A$4.2A2.A2.A12.2A2.A2. A12.2A2.A2.A$.A2.A4.A.A9.A2.A4.A.A9.A2.A4.A.A$A.A.A5.A9.A.A.A5.A9.A.A .A5.A$.A2.A.2A13.A2.A.2A13.A2.A.2A$4.A2.A16.A2.A16.A2.A$5.A4.A14.A4.A 14.A4.A$6.5A15.5A15.5A2$8.A19.A19.A$7.A.A17.A.A17.A.A$8.A19.A19.A! [[ GPS 15 ]]

However, it is allowed to die once it has spawned that closest white cell as long as neither of the other white cells die.

x=55, y = 15, rule = LifeHistory 14.A17.A20.2A$12.CA18.C2A17.C2A$13.CA18.C19.C$9.2A18.2A18.2A$4.2A2.A2. A12.2A2.A2.A12.2A2.A2.A$.A2.A4.A.A9.A2.A4.A.A9.A2.A4.A.A$A.A.A5.A9.A. A.A5.A9.A.A.A5.A$.A2.A.2A13.A2.A.2A13.A2.A.2A$4.A2.A16.A2.A16.A2.A$5. A4.A14.A4.A14.A4.A$6.5A15.5A15.5A2$8.A19.A19.A$7.A.A17.A.A17.A.A$8.A19. A19.A! [[ GPS 15 ]]

This constitute a set of rules that must be followed in order for a successful eater 3 catalysis. Violating these rules will result in the loaf—and sometimes the entire eater 3—being destroyed.

x=34, y = 15, rule = LifeHistory 13.2A15.2A$12.3A17.2A$13.2A18.A$9.2A18.2A$4.2A2.A2.A12.2A2.A2.A$.A2.A 4.A.A9.A2.A4.A.A$A.A.A5.A9.A.A.A5.A$.A2.A.2A13.A2.A.2A$4.A2.A16.A2.A$ 5.A4.A14.A4.A$6.5A15.5A2$8.A19.A$7.A.A17.A.A$8.A19.A! [[ GPS 15 ]]

Every catalyst has its own set of rules concerning how it can perform catalyses and not get destroyed.

Fishhook

The standard fishhook catalysis occurs when the two white cells are present in the indicated positions, neither dies by the next generation, the bottom white cell was not born before the top white cell, and the red cells are all off.

x=6, y = 6, rule = LifeHistory C4D$C4D$2D2A$2DA.A$2D2.A$4.2A! [[ VIEWONLY GRID ]]

Here are some example catalyses.

x=28, y = 7, rule = B3/S23 obo9bo9bo$b2o8b2o7b3o$bo9bo9bo$4b2o8b2o8b2o$4bobo7bobo7bobo$6bo9bo9bo $6b2o8b2o8b2o! [[ GPS 15 ]]

Occasionally, the fishhook may perform a more unusual catalysis where it is converted to another object with tail then back to a fishhook, but these are rare, and they often occur in a quick chain of multiple catalyses beginning with the setup for a more traditional catalysis, so there is no point placing a fishhook where it is not likely to work just because an unusual catalysis is theoretically possible.[notes 3]

x=22, y = 25, rule = B3/S23 9b2o2$11b2o$13bo$12b3o$11b2obo$13b2o5$18b2o$18bobo$20bo$20b2o5$2o3b2o 8b2o$3ob2o8b2o$4bo3b2o4bo3b2o$8bobo7bobo$10bo9bo$10b2o8b2o! [[ GPS 15 ]]

Even when engaging in an unusual catalysis, the fishhook still has to follow a certain set of rules. None of its cells can die besides one cell at the tip of its pre-block; these cells are marked in white. Also, there are certain cells that must not be born that are marked in red.

x=4, y = 5, rule = LifeHistory .3D$AC2D$C.C$D.C$D.2C! [[ VIEWONLY GRID ]]

There are certain setups that are more likely to result in successful catalyses than other setups. For example, the following type of setup is typically successful.

x=24, y = 24, rule = B3/S23 15bo$b2o12b3o$b2o13b2o$3bo14bo$b2o12b3o$b2o2b2o8b3o2b2o$5bobo12bobo$7b o14bo$7b2o13b2o8$3o13b2o$3o13b2o$3bo11bo2bo$3o13b2o$3o2b2o9b2o2b2o$5b obo12bobo$7bo14bo$7b2o13b2o!

On the other hand, the following type of setup fails (i.e. the fishhook gets destroyed) much more frequently.

x=25, y = 22, rule = B3/S23 16bo$2ob2o10b2ob2o$bobo12bobo$2bo3b2o9bo3b2o$6bobo12bobo$8bo14bo$8b2o 13b2o9$15b2o$2ob2o10b2ob2o$2obo12bobo$2bo3b2o9bo3b2o$6bobo12bobo$8bo14b o$8b2o13b2o!

Block

Block catalyses typically occur when a pattern has one cell on its leading edge (row) that is two cells orthogonally away from the closest cell in the block.

x=15, y = 17, rule = B3/S23 o$o$b3o8b2o$3bo9bo2$3b2o8b2o$3b2o8b2o4$2b2o$bo2bo7b3o$2bobo7b3o$3bo9b o2$3b2o8b2o$3b2o8b2o! [[ GPS 15 ]]

In a typical block-type catalysis, that leading edge cell is supported (i.e. has two or three neighbor cells) so that it does not die by the next generation. However, in addition to this, the block sometimes undergoes a reaction where a spark turns it into a pre-beehive, then a later interaction turns the beehive into a grin.

x=3, y = 7, rule = B3/S23 bo$2bo$bo$o2$2o$2o!
x=9, y = 3, rule = B3/S23 bo$3o4b2o$2bo4b2o!
x=4, y = 10, rule = B3/S23 2bo$b3o$2o6$2o$2o!
x=6, y = 12, rule = B3/S23 4b2o$4b2o7$2o$bo$b2o$2b2o!

Of course, this will only work if the chaos stays around or leaves then comes back, but because the block is turned into a beehive by a spark, this first step does not affect the active region, so one will know before placing the block whether the active region could turn the beehive back into a block. (This is why it is worth placing blocks in order to use this region, but it is a bad idea to place beehives so that they will be turned into blocks then hope that a spark will turn them back into beehives; one will not know ahead of time whether or not that spark will be delivered.) Although block catalyses can vary, one rule always applies: In order for the block to recover successfully, the back row must not change (although a block can perform separate catalyses from different directions).

x=8, y = 2, rule = LifeHistory 3.2A$.2D2C2D! [[ VIEWONLY GRID ]]

Like the fishhook, the block is more likely to work in certain situations than others. For example, if the leading cell does not have an on cell directly behind it, the block catalysis is very likely to be successful.

x=35, y = 10, rule = B3/S23 2b2o8b2o8b2o8b2o$2b2o8b2o8b2o8b2o2$2bo9bo9bo9bo$bobo7bobo7bobo7bobo$o 3bo5bo3bo5bo3bo5bo3bo$bobo6bo3bo5bo2bo7bo2bo$10bo3bo5bo2bo9b2o$11bobo 6bobo$12bo!

However, if we advance the pattern by one generation without giving the blocks a head start, the catalyses are not successful.

x=36, y = 10, rule = B3/S23 2b2o8b2o8b2o8b2o$2b2o8b2o8b2o8b2o2$2bo9bo9bo9bo$b3o7b3o7b3o7b3o$2ob2o 5b2ob2o5b5o5b5o$9b3ob3o3b3ob2o9b2o$10b2ob2o4b2ob2o9b2o$11b3o7bo$12bo!

Also, if the leading two rows of the region about to hit the block only take up two rows instead of three, make sure that they are staggered instead of aligned with the block. If they are aligned, then the block will be destroyed.

x=14, y = 15, rule = B3/S23 b2o8b2o$bo9bo2$2o9b2o$2o9b2o5$b3o7b3o$b2o8b2o$bo9bo2$2o9b2o$2o9b2o! [[ COLOR LABEL White LABELSIZE 22 LABELALPHA 0.6 LABEL 0 17 10 "staggered" ]] [[ COLOR LABEL White LABELSIZE 22 LABELALPHA 0.6 LABEL 12 17 10 "aligned" ]] [[ GPS 15 ZOOM 10 Y 2 ]]

This also applies if the interaction starts one generation earlier.

x=14, y = 16, rule = B3/S23 3bo9bo$obo7bobo$bo9bo2$2o9b2o$2o9b2o4$2bo9bo$3bo9bo$obo7bobo$bo9bo2$2o9b2o$2o9b2o! [[ COLOR LABEL White LABELSIZE 22 LABELALPHA 0.6 LABEL 0 18 10 "staggered" ]] [[ COLOR LABEL White LABELSIZE 22 LABELALPHA 0.6 LABEL 12 18 10 "aligned" ]] [[ GPS 15 ZOOM 10 Y 2 T 1 PAUSE 0.5 ]]

Boat

This is how the setup for a boat catalysis looks.

x=7, y = 5, rule = LifeHistory 2D2C2D$6D$3.A$2.A.A$2.2A! [[ VIEWONLY GRID ]]

Here are the rules for the boat catalysis.

x=5, y = 4, rule = LifeHistory 3.2D$2DA.D$DCDCD$.2C! [[ VIEWONLY GRID ]]

The important part is that on the first generation, the bottom four rows look like this:

x=3, y = 4, rule = B3/S23 2o$bo$obo$2o! [[ VIEWONLY GRID ]]

so that on the next generation, the boat looks like this:

x=3, y = 4, rule = B3/S23 $2bo$obo$2o!

(Note that the two cells at the top must die due to overpopulation due to cells in an adjacent row not shown in order for that to work.)

Here is an example:

x=7, y = 10, rule = B3/S23 b2o$obo$bo5$5b2o$4b2o$5bo! [[ GPS 15 ]]

Snake

The snake must function as a rock, meaning that it cannot lose only cells. This is because there are two cells in the middle of the snake that have four neighbors instead of three. If one of the two cells at the top of the snake dies, then one of the cells in the middle will be born in the next generation, which will cause the cell below and to the left of it to be born in the generation after that, which will cause the cell below that cell to be born in the generation after that, which will cause the cell below and to the right of that cell to be born in the generation after that…, and the snake will thus be destroyed. Here are the rules for a snake catalysis.

x=5, y = 7, rule = LifeHistory .3B$DC3D$5D$2.2A$3.A$2.A$2.2A! [[ VIEWONLY GRID ]]

The white cell must be on and survive to the next generation, the red cells must all be off, and exactly two of the three blue cells must be on so that the cell just to the right of the white cell is born for the next generation. This is because the cell to the right and below that cell will be born for the next generation, it must die right away, and the way to make that happen is with the 4z transition.

This is what the next generation of the snake must look like:

x=4, y = 6, rule = LifeHistory .2C$2DCD$2D2A$3.A$2.A$2.2A! [[ VIEWONLY GRID ]]

Typically, in a successful snake catalysis, all three white cells will die of overpopulation by the next generation, (The one below the other two certainly will.), leaving the snake clear. The following alternative next generation is also allowed as long as the two above the snake die at the same time, but that type of recovery much less commonly:

x=2, y = 6, rule = B3/S23 2o2$2o$bo$o$2o! [[ VIEWONLY GRID ]]

Here are four example snake catalyses:

x=37, y = 9, rule = B3/S23 15bo6bo$4bo8b2o8bo6bo4b2o$2ob2o6b2o7bob2o6bob3o$bo9bo9bo9bo2$2b2o8b2o 8b2o8b2o$3bo9bo9bo9bo$2bo9bo9bo9bo$2b2o8b2o8b2o8b2o! [[ GPS 15 ]]

Replacement catalysts

There are hundreds of different catalysts, making trying every single one impractical. Instead, one should try one catalyst from each family in each situation. If it fails, then one should try one or more replacement catalyses based on how exactly the first catalyst failed. There are many guides for replacement catalysts on the forums, such as this guide for catalysts in general and this guide for fishhook-type replacement catalysts, so this article will only cover a small subset of all possible replacement catalysts.

Fishhook replacements

Sometimes, a fishhook will recovery too quickly before all of the sparks have cleared, interact with a spark, and be destroyed.

x=18, y = 7, rule = B3/S23 o$b2o8b2o$2o9bo$4b2o8b2o$4bobo7bobo$6bo9bo$6b2o8b2o! [[ GPS 15 T 4 PAUSE 1 ]]

An eater 2 recovers more slowly and in a different way, so sometimes it gives the sparks enough time to clear so that it doesn't interact with them, but because it recovers in a different way, it can interact with certain sparks and not be destroyed.

x=21, y = 10, rule = B3/S23 o$b2o8b2o$2o9bo$4b2obo6b2obo$4b2ob3o4b2ob3o$10bo9bo$4b2ob3o4b2ob3o$5b obo7bobo$5bobo7bobo$6bo9bo! [[ GPS 15 ]]

In addition, sometimes, an extra cell will end up attached to a fishhook's recovering phase that causes one cell that should die to survive and another cell that should stay dead to be born.

x=9, y = 8, rule = B3/S23 bo$obo$2b2o$3bo$2bo2b2o$5bobo$7bo$7b2o! [[ GPS 15 T 2 PAUSE 1 ]]

Because an eater 2 recovers differently, this extra cell does not create a problem for it.

x=12, y = 11, rule = B3/S23 bo$obo$2b2o$3bo$2bo2b2obo$5b2ob3o$11bo$5b2ob3o$6bobo$6bobo$7bo! [[ GPS 15 T 2 PAUSE 1 ]]

Lastly, an eater 2's symmetry allows it to perform fishhook-type catalyses from two different directions, a feature that is used in the Fx158 conduit at the very beginning of this article.

Block replacements

Although there are several instances where a block that fails must be replaced, I'm going to discuss situations where the block can simply be supported. For example, look at this partial pi-to-B conduit:

x=11, y = 9, rule = LifeHistory 4.2A$4.2A4$.2D6.2A$2D.3C3.2A$.2DC.C$2.DC.C! [[ GPS 15 T 11 PAUSE 0.5 ]]

The block at the top performs a successful catalysts, but the catalysis for the block at the right creates an unwanted line of three cells that turns the block into a loaf. Luckily, this can be suppressed by reinforcing the block with a fishhook, resulting in a successful conduit.

x=14, y = 10, rule = LifeHistory 13.A$4.2A5.3A$4.2A4.A$10.2A3$.2D6.2A$2D.3C3.2A$.2DC.C$2.DC.C! [[ GPS 15 T 11 PAUSE 0.4 ]]

The same trick can also be used to suppress a domino spark that would otherwise destory the block.

x=20, y = 11, rule = B3/S23 4bo9bo$3bo9bo$o2bo6bo2bo$b3o7b3o3$2b2o8b2o$2b2o8b2o2b2o$16bobo$18bo$18b2o! [[ GPS 15 T 5 PAUSE 0.8 ]]

Boat replacements

If what should be a line of two cells is instead a line of three (i.e. the boat gets turned into a nine instead of its recovery state, try replacing the boat with an eater 5. One example of this is with eating gliders.

x=17, y = 10, rule = B3/S23 5bo9bo$6bo9bo$4b3o7b3o2$2o$2o3bo9bo$4bobo7bobo$5bobo7b2o$7bo$7b2o! [[ GPS 15 T 4 PAUSE 1 ]]

Similarly, sometimes, what should be a line of two cells will instead be a line of four or more cells.

x=8, y = 4, rule = B3/S23 6bo$3o2bobo$obo3b2o$obo! [[ GPS 15 T 4 PAUSE 0.5 ]]

In this case, the boat can sometimes be replaced with a cis-boat with tail on fishhook. (The fishhook can be replaced with a snake, aircraft carrier, or other possibilities.)

x=10, y = 10, rule = B3/S23 8b2o$7bobo$7bo$6b2o2$6b2o$3o2bobo$obo3bo$obo4b3o$9bo! [[ GPS 15 T 4 PAUSE 0.4 ]]

In order to recover properly, the catalyst requires a spark to turn the hook with tail back into a boat with tail. This spark can come in one of two positions (marked in white).

x=16, y = 10, rule = LifeHistory 4.2A8.2A$3.A.A7.A.A$3.A9.A$2.2A8.2A2$2.2A8.2A$3.A6.C2.A$C.A9.A$3.3A7. 3A$5.A9.A!

A spark in a third position will cause the necessary cell to be born, but it will also cause another cell to be born that shouldn't be born, causing the catalyst to be destroyed.

x=6, y = 10, rule = LifeHistory 4.2A$3.A.A$3.A$2.2A2$C.2A$3.A$2.A$3.3A$5.A!

If this spark appears with the replacement catalyst, then it will also appear with the boat, so determining whether or not a boat can be replaced with that catalyst is not guesswork. (The relevant cell is shown in red/white.)

x=8, y = 4, rule = LifeHistory 6.A$3A.DA.A$A.A3.2A$A.A! [[ GPS 15 T 6 PAUSE 1.2 ]]

Snake replacements

Some other objects can also perform the snake-type catalysis and have better clearance in certain directions. Typically, for most situations where a solution exists, using a fishhook in at least one of two ways will suffice. For example, in this composite conduit, the snake from one of the constituent elementary conduits is too close to a fishhook from the other constituent elementary conduit, causing the snake to interact with the fishhook's recovering state when it shouldn't.

x=42, y = 25, rule = LifeHistory 34.A$23.A8.3A$23.3A5.A$26.A4.2A8.A$25.2A12.3A$38.A$38.2A2$D21.2D$3D18. 2D14.2A$D.D15.2A2.2D13.2A$2.D15.2A3.D6$21.2A$22.A$21.A$21.2A10.3C$24. 2A8.C$25.A6.3C$22.3A$22.A! [[ T 34 PAUSE 1 T 35 PAUSE 0.3 ]]

Replacing the snake with a fishhook, which has better clearance in a certain direction, makes the composite conduit work.

x=42, y = 25, rule = LifeHistory 34.A$23.A8.3A$23.3A5.A$26.A4.2A8.A$25.2A12.3A$38.A$38.2A2$D21.2D$3D18. 2D14.2A$D.D15.2A2.2D13.2A$2.D15.2A3.D6$21.2A$22.A$19.3A$19.A13.3C$24. 2A8.C$25.A6.3C$22.3A$22.A! [[ T 34 PAUSE 0.8 ]]

Also, if the chaos does not completely clear the snake after the snake-type catalysis, the snake can sometimes be replaced by another catalyst that can recover.

x=16, y = 8, rule = B3/S23 3b2o8b3o$3bo2bo6bobo$4b3o6bobo2$2obob2o$ob2obo$5bo$5b2o! [[ T 12 PAUSE 0.15 T 13 PAUSE 0.15 T 14 PAUSE 0.15 T 15 PAUSE 0.15 T 16 PAUSE 0.15 T 17 PAUSE 0.15 T 18 PAUSE 0.15 T 19 PAUSE 0.15 T 20 PAUSE 0.15 T 21 PAUSE 0.15 T 22 PAUSE 0.15 ]]

Other tips

A recommended process

Here is a summary of my typical conduit-finding process:

  • Place a catalyst where it might work.
  • Run the pattern and see whether the catalyst is successful or gets destroyed.
  • If the catalyst gets destroyed, observe exactly how it fails and try a replacement catalyst.
  • If no catalysts are destroyed, the activity moves to a new region, and no annoying still-lifes or blinkers are left behind, then I keep that catalyst and repeat the process (waiting until the active region has good enough clearance before placing any more catalysts) until all of the activity is well-defined, accessible active regions (including gliders and XWSSes). Otherwise, I remove that catalyst and try another catalyst placement.

Sometimes, especially before I place any catalysts, I will run the pattern without stopping to get a sense of when I should start trying catalysts for maximum clearance and whether or not there are any well-defined regions that I could try extracting. Also, if I want the active region to turn in a particular direction, I will often try only catalyzing it from the side that I want it to turn away from.

Also, when placing catalysts, always make sure that your conduit has feasible input clearance.

Using sparkers

Typically, conduits that rely on sparkers are not as useful because they do not work with every input timing. However, there is one exception: When the sparker is only required for cleanup. For example, consider this partial century-to-glider conduit:

x=23, y = 13, rule = LifeHistory 13.2A$12.A.A$13.A4$2.C$2.2C$.2C$.C9.3D$13.D$12.D8.2A$21.2A!

The century leaves a block which, although on the edge of the reaction envelope, cannot be deleted by stable catalysts due to the specific manner in which it is placed. However, it can be deleted by a dot sparker, such as a (period-six) unix.

x=32, y = 23, rule = LifeHistory 2.2A$.A.A$3A$2A$.A.A$2.A.A2.2A$3.A2.A.A$4.4A$5.2A2$22.2A$21.A.A$22.A4$ 11.C$11.2C$10.2C$10.C9.3D$22.D$21.D8.2A$30.2A!

The only reason why sparkers are discouraged is because they typically cause the conduit to only work at certain timings. Because this conduit can work at any timing, it can be used as a stable conduit.

x=118, y = 46, rule = LifeHistory 2.2A41.2A41.2A$.A.A41.2A41.2A$3A85.2A$2A86.A$.A.A40.3A40.A.A$2.A.A2.2A 26.2A7.2A.A2.2A26.2A8.A.A.3A$3.A2.A.A26.A10.2A2.2A26.A10.A.4A$4.4A25. A.A10.2A28.A.A11.A$5.2A26.2A41.2A2$22.2A41.2A41.2A$21.A.A40.A.A40.A.A $22.A42.A42.A4$11.C42.C42.C$11.2C41.2C41.2C$10.2C41.2C41.2C$10.C9.3D30. C9.3D30.C9.3D$22.D42.D42.D$21.D8.2A32.D8.2A32.D8.2A$30.2A41.2A41.2A$2. 2A41.2A41.2A$A2.A41.2A40.A2.A$87.A$45.A41.A$2A.A40.A.A40.A.A3.A$2.A.A 2.2A26.2A7.A2.A2.2A26.2A8.A.A3.A$3.A4.A26.A12.A.2A26.A10.A4.A$4.A28.A .A10.2A28.A.A11.4A$4.A2.A25.2A41.2A2$22.2A41.2A41.2A$21.A.A40.A.A40.A .A$22.A42.A42.A4$11.C42.C42.C$11.2C41.2C41.2C$10.2C41.2C41.2C$10.C9.3D 30.C9.3D30.C9.3D$22.D42.D42.D$21.D8.2A32.D8.2A32.D8.2A$30.2A41.2A41.2A!

In addition, if one has exhausted all possibilities of supporting a conduit with stable catalysts, then (and only then) may one try to use sparkers. For example, the following reaction results in the pi with the best clearance of any reaction known:

x=43, y = 30, rule = LifeHistory 40.3D$42.D$40.3D7$24.2A$8.C.2C13.A$8.3C11.3A$9.C12.A7$14.2A$14.2A$2A$ 2A4$3.2A8.2A$4.A8.A.A$.3A11.A$.A13.2A!

Unfortunately, it leaves behind a blinker that cannot be deleted with stable catalysts and that causes the conduit to fail on future uses.

x=86, y = 30, rule = LifeHistory 40.3D40.3D$42.D42.D$40.3D40.3D7$24.2A41.2A$8.C.2C13.A25.C.2C13.A$8.3C 11.3A26.3C11.3A$9.C12.A29.C12.A7$14.2A41.2A$14.2A41.2A$2A41.2A$2A41.2A 2$51.A$7.3A41.A$3.2A8.2A31.2A3.A4.2A$4.A8.A.A31.A8.A.A$.3A11.A28.3A11. A$.A13.2A27.A13.2A!

When (and only when) one cannot find a stable stabilization, one may use a sparker, as working at some timings is better than working at no timings.

x=43, y = 39, rule = LifeHistory 40.3D$42.D$40.3D7$24.2A$8.C.2C13.A$8.3C11.3A$9.C12.A7$14.2A$14.2A$2A$ 2A4$3.2A8.2A$4.A8.A.A$.3A11.A$.A13.2A2$10.A$7.2A.2A$7.5A$10.2A$10.A2$ 10.A.A$11.A!

However, this is suboptimal because it does not work at most timings, so this should only be used as a means of last resort; one should not rely on or come in planning to use sparkers.

x=86, y = 39, rule = LifeHistory 40.3D40.3D$42.D42.D$40.3D40.3D7$24.2A41.2A$8.C.2C13.A25.C.2C13.A$8.3C 11.3A26.3C11.3A$9.C12.A29.C12.A7$14.2A41.2A$14.2A41.2A$2A41.2A$2A41.2A 4$3.2A8.2A31.2A8.2A$4.A8.A.A31.A8.A.A$.3A11.A28.3A11.A$.A13.2A27.A13. 2A$53.A$9.3A41.A$7.A43.A.2A$7.A4.A37.2A$8.A45.A$10.2A41.2A$11.A42.2A$ 11.A41.3A$11.A!

If one does use sparkers in a manner that prevents the conduit from working at all timings, lower-period sparkers are better because they work at a greater fraction of timings.

Finding new conduits

If you have a partial or complete conduit, it is recommended to check the Elementary Conduits Collection, which can be downloaded here (in two forms), in order to make sure that what you have found is new before posting it or potentially wasting time completing it.

Another strategy that you may want to use in order for the conduits that you find to have an increased chance of being new is to focus on investigating active regions that have not been investigated as much, such as the two-glider octomino, instead of regions for which many conduits have already been found, such as the Herschel. Lists of the most common active objects can be found here and here, and even if a region's conduits are omitted from the Elementary Conduits Collection, they may still be available to those who ask;[2] looking at the conduits that create that region can be useful in order to get a sense of which direction(s) the active object can come from in order to be able to ensure that the conduits that one makes accepting that object have realistic input clearance.

Asking for help

If you have what you think is a good partial but are unable to complete it, don't be afraid to ask for help. Many conduits get completed this way. For example, the bandersnatch, which solved a lot of glider color (fine positioning) problems, was originally found as a mostly-complete partial glider-to-glider conduit by Extrementhusiast and was completed by Entity Valkyrie 2. Here is some advice for that situation.

Complete what you can

An 90%-complete partial looks more promising and is harder to resist completing than a 20%-complete partial. Each part of a partial that you have not completed is something that you have not demonstrated is completable and therefore makes your partial look less promising. Even if a catalyst is destroyed, if the conduit works except for that catalyst being destroyed, that catalyst should be included because it simplifies the problem from finding an interaction that works—even though one might not exist—to reinforcing the catalyst or finding a replacement catalyst.

Make clear your partial

A conduit that creates some random piece of junk that doesn't occur often enough for anyone to have bothered looking for conduits accepting it isn't useful, so make sure that your conduit doesn't look like one. Sure, the region may have settled into a recognized bottleneck at one point, but that could easily be missed at a high frame rate, most people can't accurately identify a methuselah based on how it looks fifteen generations later, and it may not be apparent exactly when to look. Also, common sequences that have been researched for conduits may pop up in the intermediate activity, including some unextractable ones, and the output object may have been created from an evolutionary sequence that did not go through the output object's canonical form; each of these would further confuse the people whose help you are requesting. A good way to clarify your partial conduit is to mark the output(s) in red cells using the rule LifeHistory, as has been done in the examples. (Marking the input in white is also encouraged but not as important.)

In addition, one can also state one's partial in the message. One can write out the operation in long form, but in order to make things more convenient, the objects commonly used in conduits each have a single-letter symbol that can be used to convey information more concisely, e.g. H→C instead of Herschel-to-century conduit. One can also use the message text to state any special property that your conduit partial has that might make others willing to expend more effort trying to complete it.

Be prepared to take no for an answer

If the more experienced conduit-makers think that your partial does not look promising enough, accept it. If you want, you may work some more on your partial then take it back to them once you've made more progress, but it's much better to do that before asking for help the first time. Nothing good will come out of continuing to pester the experienced conduit-makers about your partial. At best, you will annoy them slightly and make them waste a minute or two of their time typing another reply explaining why your partial does not look promising. At worst, they will relent, waste much more time, be more annoyed and frustrated at you, and likely be less willing to look at your partials in the future.

It is also a good idea to know how practical your partial is before asking. If your partial conduit requires a sacrificial object that can't be replaced with a permanent catalyst, the input region would not realistically be able to get into the conduit, or your partial is otherwise not promising, don't bother posting it.

Examples

Here are examples of how to and how not to ask for help completing a partial.

A bad way of asking for help

x=15, y = 22, rule = B3/S23 2o$2o15$13b2o$10b2ob2o$10b2o2$12b2o$12b2o!
Can the block be restored?
  • By asking whether the block can be restored, the poster implies that this conduit relies either on a transparent reaction, which is extremely unlikely to exist, or an independent restoration of the block, which will lead to a bulky conduit with an impractically long repeat time. Neither is promising.
  • While any reader could probably figure that the output object is a century based on its ash, the input region for this conduit is not obvious. There are three blocks with the characteristic spacing of a century, but this does not indicate whether the input region is a century or a century simply happened to form in the ash. If the latter is true, then for all the reader knows, the only input that this conduit can accept is an arrangement of three blocks that would be extremely unlikely to form from a reaction because the first two blocks would start reacting with each other before the third block could be placed. Either way, the reaction leaves four blocks that would interfere with any attempt to use the conduit again, and there is no indication that they can be cleaned up.
  • As mentioned in the previous bullet point, there is no indication that the partial conduit (if it can even be called that) accepts a well-defined region for which conduits creating it are already known. The poster has provided no indication that the reaction would be useful as a conduit in any way; thus, any reader would be likely to classify it as a novelty reaction—and not one worth completing.

A good way of asking for help

Can the fishhook be replaced with a permanent catalyst that works in this situation?
x=32, y = 47, rule = LifeHistory 7.D$6.3D$8.2D17$2A$.A$.A.A$2.2A2$20.2A$19.A.A$20.A9$14.C$13.3C$12.2C2$ 25.2A$25.2A$25.2A$25.A$12.2A10.A.A$12.2A11.A.A.3A$26.A.4A$27.A!

If that one thing can be fixed, then this will yield a C→C with better output clearnace than anything that we currently have. (The unix is only necessary for cleaning up a block and works at any timing, and the century's first cousin 3bo$3bo$o2bo$b2o can get in and is made by multiple conduits, such as CBx37C and PF*39C.)

Also, as a bonus, a permanent catalyst that works would almost certainly yield an I→R+W signal splitter.

x=15, y = 19, rule = LifeHistory 8.D$7.3D$2A5.D$.A$.A.A$2.2A3$10.C$9.2C2.2D$7.3C2.D.D$7.C3.D2.D$12.2D5$ 10.2A$10.2A!
  • The poster asks whether a fishhook can be replaced with a fishhook-type catalyst that would not be destroyed. As there is a wide variety of replacement fishhook-type catalysts, it is likely that some replacement exists and therefore likely that the conduits can be completed.
  • The outputs are each clearly marked using red cells in LifeHistory. This is important because none of the three outputs form from their canonical forms; instead, each forms from a sibling of its canonical form. The fact that the outputs are marked helps to clarify what the intended outputs are and that they are in fact well-defined regions. The input regions are likewise clearly marked using their canonical forms.
  • The poster has taken steps to clean up all excess junk from the partial conduits. This demonstrates that such cleanup is possible and, by making the partial conduits closer to completed, makes them harder to resist completing.
  • The poster addresses potential concerns about the usage of a sparker or the input clearance for the first conduit, reassuring that the first partial conduit can indeed be used with other stable conduits if it is completed.
  • The poster explains that finding one replacement catalyst would likely yield two conduits. Better yet, each has a special feature that would make experienced conduit-makers willing to spend more effort trying to complete it than otherwise: The first conduit outputs a century with amazing, unprecedented, and certainly useful clearance, and the second conduit is a signal splitter, enabling one to get two output signals from only one input signal. Each conduit's special feature would make it useful, and the poster clearly communicates each special feature. In addition, the poster states that both of these very useful conduits would come from work that would normally only complete one conduit, making experienced conduit-makers even more willing to spend time and efofrt looking for a replacement catalyst.

Notes

  1. This only applies to stable conduits. Using sparkers makes perturbing gliders and XWSSes much easier, but because these do not work at all timings, they are not preferred.
  2. The eater 3 is composed of another catalyst plus a loaf, but because the catalyst without the loaf doesn't have good clearance, it is not important as a catalyst by itself.
  3. However, as will be described later, placing a fishhook in order to identify a potential replacement catalyst from exactly how the fishhook fails is acceptable, although if one already knows that the fishhook will fail before placing one, one might be able to determine the appropriate replacement catalyst without trying a fishhook.

References

  1. dvgrn (December 9, 2020). Re: History Of ConwayLife (discussion thread) at the ConwayLife.com forums
  2. Louis-François Handfield (October 17, 2020). Re: The Hunting of the New Herschel Conduits (discussion thread) at the ConwayLife.com forums