confocaloid wrote: ↑July 4th, 2023, 8:30 pm
To be precise, one needs to define how to compute the moment of first interaction of a glider with the reflector.
This is another thing that's clear enough that I didn't think it was necessary to spell out. A glider's first interaction with an object is either the suppression of a birth that would ordinarily happen if the glider was traveling through empty space -- or the turning on of one or more cells neighboring the glider's usual five cells, that would not ordinarily occur if the glider was traveling through empty space.
confocaloid wrote: ↑July 4th, 2023, 8:30 pm
After running this for 26 ticks (the period of the reflector), the destruction of the reflector is already in progress. The reflector is already partially destroyed, and any internal logic that could be assumed no longer works. So it is impossible to say whether the fourth output glider on the left is "the" last input glider, or if it is the previous input glider that was allowed to leave thanks to the existence of the last input glider, or if it is the third from last input glider that was allowed to leave, and so on.
If you want to state that "it's impossible to say" that, then you're no longer testing the procedure I outlined. The procedure gives a clear answer to that question:
yes, the glider that is present in your pattern on the left side after 26 ticks, and is not present on the right side, is absolutely clearly the output glider for the input glider that you're testing.
Scorbie's method might make things a little clearer in this case, since we don't have to test anything to destruction that way:
Code: Select all
x = 176, y = 76, rule = LifeHistory
5.2C98.2D$5.C.C97.D.D$8.C2.2C95.D2.2D$6.2C.C2.C93.2D.D2.D$5.C.C.2C94.
D.D.2D$6.C99.D2$12.C99.D$11.2C98.2D$10.2C.C96.2D.D$5.2C3.3C92.2D3.3D$
4.C2.C2.5C89.D2.D2.5D$6.C3.C.3C91.D3.D.3D$2.C9.2C88.D9.2D$.C.2C96.D.
2D$.C13.2A84.D13.2A$2C12.2A84.2D12.2A$16.A99.A4$22.A99.A$21.2A98.2A$
21.A.A97.A.A5$28.2A98.2A$27.2A98.2A$29.A99.A4$35.A99.A$34.2A98.2A$34.
A.A97.A.A5$41.2A98.2A$40.2A98.2A$42.A99.A4$48.A99.A$47.2A98.2A$47.A.A
97.A.A5$54.2A98.2A$53.2A98.2A$55.A99.A4$61.A99.A$60.2A98.2A$60.A.A97.
A.A5$67.2A98.2A$66.2A98.2A$68.A99.A4$74.A99.A$73.2A98.2A$73.A.A97.A.A!
Ten gliders go in, ten gliders come out. There's quite clearly a one-to-one correspondence. The correspondence is clear even if you have only one glider going in, and you run it for however long is needed to get a glider out.
However, I understand how you could be worried about the general case, with signals "hiding" inside the dependent reflector. Let's see if I can make up an example --
Code: Select all
x = 44, y = 63, rule = B3/S23
2o$bo9b2o$bobo6bo2bo$2b2o7b2o2$21b2o$9b2o10bo$8bobo8bobo$9bo9b2o3$2b2o
7b3o$bobo6bo2b2o$bo9bo3bo$2o10b2obo$13b2o2$6bo$4b3o13b2o$4bobo13bobo$
4bo17bo$22b2o17$19b2o$18b2o$20bo20$42bo$41b2o$41bobo!
Two gliders go in, three gliders come out -- no one-to-one correspondence. Meaning there's an extra signal hiding in the active reaction. That shouldn't be surprising, and the problem goes away if you start the analysis where the glider first interacts with the reflector:
Code: Select all
x = 28, y = 47, rule = B3/S23
2o$bo9b2o$bobo6bo2bo$2b2o7b2o2$21b2o$21bo$19bobo$19b2o$9b3o$7b2ob2o$2b
2o11b2o$bobo7bobo$bo9bo3b2o$2o10bo2bo$13b2o3$3bobo14b2o$3b2o15bobo$4bo
17bo$22b2o$2b3o$2bo$3bo20$25b2o$25bobo$25bo!
Two gliders in, two (relevant) gliders out -- back to a clear one-to-one correspondence.
Now, I'll go ahead and build something that will have the best odds of breaking my definition if its' breakable: a dependent reaction that takes a really really long time to produce its output glider. Here goes:
Code: Select all
x = 461, y = 213, rule = B3/S23
45bo233bo$45b3o231b3o$48bo22bo210bo22bo$47b2o20b3o11bo197b2o20b3o11bo$
68bo14b3o216bo14b3o$68b2o16bo14bo200b2o16bo14bo$85b2o12b3o217b2o12b3o$
38bo59bo173bo59bo$36b3o36b4obo17b2o170b3o36b4obo17b2o$12bo2bo19bo30b3o
3bobo3b2ob2o163bo2bo19bo30b3o3bobo3b2ob2o$11bo3b2o5b2o11b2o27b5o2bobo
171bo3b2o5b2o11b2o27b5o2bobo$11bo3bo6b2o39b2o8bo5b2o16b2o146bo3bo6b2o
39b2o8bo5b2o16b2o$11bo3bo48b2o4b3o24b2o146bo3bo48b2o4b3o24b2o$12bo2bo
49bo3b2o3bo2b4o165bo2bo49bo3b2o3bo2b4o$bo12bo59b2o3bo155bo12bo59b2o3bo
$obo231bobo$obo231bobo$bo233bo2$47b2o32b2o198b2o32b2o$47b2o11b2o20bo
198b2o11b2o20bo$60bo19bo213bo19bo$61b3o16b2o213b3o16b2o$63bo20b2o211bo
20b2o$85bo233bo$82b3o231b3o$82bo233bo$22b2o232b2o$23bo233bo$20b3o26bo
204b3o26bo$20bo29bo49b2o152bo29bo49b2o$48b3o49bobo179b3o49bobo$75b2o
25bo206b2o25bo$76bo25b2o206bo25b2o$76bobo15b2o214bobo15b2o$77b2o15b2o
215b2o15b2o8$89b2o232b2o$89bob2o230bob2o$91b2o232b2o$89b2o232b2o$87b2o
6b2o224b2o6b2o$95bobo231bobo$87bobo7bo223bobo7bo$88bo8b2o223bo8b2o9$
85b2o232b2o$85b2o232b2o$73b2o232b2o$72bobo231bobo$72bo233bo$71b2o232b
2o2$96b2o232b2o$75b2o19bo212b2o19bo$76bo17bobo213bo17bobo$76bobo15b2o
214bobo15b2o$77b2o4bo227b2o4bo$82bobo231bobo$82bobo231bobo$83bo10b2o
221bo10b2o$94bobo231bobo$96bo233bo$96b2o232b2o$81b2o232b2o$82bo233bo$
79b3o231b3o$79bo233bo10$104b3o231b3o$104bo233bo$105bo233bo38$144b3o
231b3o$144bo233bo$145bo233bo38$184b3o231b3o$184bo233bo$185bo233bo36$
457bo2$224b3o231b3o$224bo233bo$225bo233bo!
This here is a nice old steampunk dependent reflector based on a
Callahan G-to-H, humming along nicely at p160.
If we don't know about Herschels and consider the Silver reflector to be a mysterious black box, then we definitely don't get anything that looks like one-to-one correspondence. On the left we've got four gliders going in, seven gliders coming out -- three signals are hiding in the dependent reflector.
However, if we suppress one glider -- the last one in the lower right in this case -- and then run for
as long as necessary to get the last glider out on the left-hand (unsuppressed) side, then you see the usual pattern: one glider is missing on the right that was there on the left. That's the output glider that corresponds with the suppressed input glider.
The same exact thing will turn out to be true for pretty much any of these dependent reflectors: when you suppress an input glider, one output glider won't show up that would have otherwise. This is formalizable to whatever degree of formalization is necessary.
Now, possibly I could engineer some nasty complicated collapsing pattern that "reaches ahead" when it fails and suppresses an additional glider. I can't say as I'm terribly interested in that case, though. The definition as I've outlined it gives a clear unique output glider for every input glider in every reasonable case that I can think of at the moment -- so what I'm looking for is reasonable cases where it doesn't work. I'm pretty skeptical that there are any.
We could no doubt complicate the definition to somehow exclude "dependent reflectors with sneaky telegraphs bolted on to them that shoot down extra signals when they collapse", if that case ever actually came up, or if it's even actually possible... but I think it will be pretty easy to recognize cases like that, and that's a very big step away from these dependent reflector loops that we're actually working with here.