Vaccinated glider loop challenge

For discussion of specific patterns or specific families of patterns, both newly-discovered and well-known.
Post Reply
Jormungant
Posts: 610
Joined: May 27th, 2016, 1:01 am

Vaccinated glider loop challenge

Post by Jormungant » May 27th, 2020, 2:36 pm

There is no time to waste! Let's find a vaccine!

(pretty sure you got that far because you are stuck indoor and found plenty of time to w...)

Silence inner struggle! We now live in the era of fake news and alternate facts. In the face of truth, just diminish, deflect and deny! So how do we make a vaccine you ask?

(did not ask, but I will wait in that corner over there until you get your sanity back ...)

It is very simple, we first need to make up some jargon that will be unanimously accepted by the game of life community!

(oh dear... how do we exit the building?)

... Using a door, duh! In any case, here is a vaccinated glider stream, mounted on a glider loop:

Code: Select all

x = 123, y = 113, rule = LifeHistory
14.A$2.A11.3A10.A11.2A$2.3A12.A8.A.A9.B2AB$5.A8.3A.A3.2A2.A.A9.3B$4.
2A8.A2.A.A2.A2.2A.2A9.B.B$4.4B3.BA.A2.A.A3.A.A2.B8.5B$6.4B.B2A4.A.4A
2.AB2A6.6B$6.6B8.A3.A.A.2A4.8B$7.5B7.A2.BA.A2.13B$4.B.6B6.A.2BA.A5.
13B$3.A8B6.2A.2BA5.15B$2.A.A7B10.3B4.15B$3.AB.6B11.2B.B.2A15B$6.7B3.
10B5A14B$6.7B2.10BA4BA15B$6.7B2.10BA2B3A5B2A9B$6.8B.10B2A2BA6BABA3B3.
B2A$3.B2.21B2A7BA4B4.A2.A$2.2AB.19B2.2B2.B3.6B5.2A.A$2.2A18B14.6B7.A$
3.2B.14B14.9B6.2A$6.13B15.2A4.7B$3.2B.14B15.A5.4B$2.2A16B12.3A7.4B$2.
2A14B.B2A10.A10.2B3.B$3.2B.11B2.BA.A22.4B$6.12B4.A23.3B$6.8B.3BA3.2A
22.4B$5.8B3.ABA28.3B$4.7B6.2A29.2B$2A2.4B$A2.A.2A2B$2.2A.A.A.A$3.A.A.
2A.A$3.A2.A3.A44.2A$4.A.A3.2A42.2A2B$5.A49.BA2B$56.4B$57.4B$58.4B$59.
4B$60.4B$61.3B$62.2B7$91.A$85.2A3.A.A$86.A3.A2.A$86.A.2A.A.A$45.A41.A
.A.A.2A$46.A41.2B2A.A2.A$44.3A42.4B2.2A$77.3A6.7B$46.4B27.A3B3.8B$47.
4B22.2A3.A3B.8B$48.4B22.A4.12B$49.4B21.A.AB2.11B.2B$50.4B10.A10.2AB.
14B2A$51.4B7.3A12.16B2A$52.4B5.A15.14B.2B$53.4B4.2A15.13B$46.2A6.9B
14.14B.2B$47.A7.6B14.18B2A$47.A.2A5.6B3.B2.BA2.19B.B2A$48.A2.A4.13B3A
19B2.B$49.2AB3.13BA3BA9B.8B$50.15B3A4BA9B2.7B$51.14B3ABAB2A9B2.7B$52.
13B2A3BA10B3.7B$52.17B.B.2B11.6B.BA$53.15B4.3B10.2BD4BA.A$53.15B5.A2B
.2A6.D7BA$54.13B5.A.A2B.A6.BD4B.B$56.13B2.A.AB2.A7.5B$55.8B4.2A.A.A3.
A8.6B3.2B$55.6B6.2ABA2.4A.A4.2AB.5B2.2B$55.5B8.B2.A.A3.A.A2.A.AB3.7B$
55.B.B9.2A.2A2.A2.A.A2.A7.6B$56.3B9.A.A2.2A3.A.3A8.5B$55.B2AB9.A.A8.A
11.5B$56.2A11.A10.3A8.6B$82.A11.3BA$95.ABA$96.2A21$119.2A$119.A.A$
121.A$121.2A!
The above glider stream is vaccinated, since every glider periodically goes through the syringe hurdle, and all have been healthy ever since. In practice, that means that the phase/timing of all gliders on the loop are mostly unconstrained but for the fact that successive glider have delays must all be 74, 75, 78 or more than 78.

Now what? Let's showcase the following construction, the slow rooftop sniper:

Code: Select all

x = 231, y = 221, rule = LifeHistory
80.A$68.A11.3A10.A11.2A$68.3A12.A8.A.A9.B2AB$71.A8.3A.A3.2A2.A.A9.3B$
70.2A8.A2.A.A2.A2.2A.2A9.B.B$70.4B3.BA.A2.A.A3.A.A2.B8.5B$72.4B.B2A4.
A.4A2.AB2A6.6B$72.6B8.A3.A.A.2A4.8B$73.5B7.A2.2A.A2.13B$70.B.6B6.A.3B
.A5.13B$69.A8B6.2A.2BA5.15B$68.A.A7B10.A2B4.15B$69.AB.6B11.2B.B.17B$
72.7B3.19B3A7B$72.7B2.22BA8B$72.3BA3B2.20B3A9B$72.2B3A3B.27B3.B2A$69.
B2.2BAB2A29B4.A2.A$68.2AB.ABA2B3A11B2.2B2.B3.6B5.2A.A$68.2ABA4BA11B
14.6B7.A$69.2B.A2B3A2BA5B14.9B6.2A$72.B3AB4A4B15.2A4.7B$69.2B.14B15.A
5.4B$68.2A16B12.3A7.4B$68.2A14B.B2A10.A10.4B.B$69.2B.11B2.BA.A21.5B$
72.12B4.A22.4B$72.8B.4B3.2A22.4B$71.8B3.4B27.4B$70.7B6.4B27.4B$66.2A
2.4B10.4B4.2A21.4B$66.A2.A.2A2B10.4B2.B2AB21.2B2A$68.2A.A.A.A10.4B.3B
23.2A2B$69.A.A.2A.A10.4B.B25.BA2B$69.A2.A3.A11.7B24.4B$70.A.A3.2A10.
9B23.4B$71.A15.11B23.4B$87.11B24.4B$88.9B26.4B$89.8B27.4B$89.9B27.4B$
88.6B.4B27.4B$87.7B2.4B27.4B$85.5B2.B4.4B27.4B$85.4B9.3BA27.4B$84.4B
11.3BA27.4B$83.4B13.3AB27.4B$82.4B15.4B27.4B$82.3B17.4B27.4B$82.2B19.
4B27.4B$79.B2.B21.4B27.B3A18.A$78.2B25.4B27.A3B11.2A3.A.A$77.3B26.4B
27.A3B11.A3.A2.A$76.4B27.4B27.4B10.A.2A.A.A$75.4B29.4B27.4B10.A.A.A.
2A$74.4B31.4B27.4B10.2B2A.A2.A$73.4B33.4B27.4B10.4B2.2A$72.4B35.4B27.
4B6.7B$71.4B37.4B27.4B3.8B$70.4B39.4B22.2A3.4B.8B$69.4B41.4B22.A4.12B
$68.4B43.4B21.A.AB2.11B.2B$67.4B45.4B10.A10.2AB.14B2A$66.4B47.4B7.3A
12.16B2A$65.4B49.4B5.A15.5BA2BAB3AB.2B$64.4B51.4B4.2A15.4BA2BABA2BA$
63.4B45.2A6.9B14.5BA8B.2A$62.4B47.A7.6B14.8BA4BA5BA$61.4B48.A.2A5.6B
3.B2.2B2.16B2AB.2BA$60.4B50.A2.A4.32B2AB2.A$59.4B52.2AB3.4B2A21B.3BAB
2AB$58.4B54.9B2A21B2.2B3A2B$57.4B56.7BA23B2.3BA3B$56.4B58.7B2A20B3.7B
$55.4B59.7B2A8B.B.2B11.6B.BA$54.4B61.15B4.3B10.2BD4BA.A$53.4B15.2A45.
15B5.A2B.2A6.D7BA$52.4B15.A.A46.13B5.A.A2B.A6.BD4B.B$51.4B10.2A4.A50.
13B2.A.AB2.A7.5B$50.4B9.A2.A2.2A.4A45.8B4.2A.A.A3.A8.6B3.2B$49.4B10.
2A.A.A.A.A2.A45.6B6.2ABA2.4A.A4.2AB.5B2.2B$48.4B14.A.ABABAB47.5B8.B2.
A.A3.A.A2.A.AB3.7B4.A$47.4B15.A.AB2AB48.B.B9.2A.2A2.A2.A.A2.A7.6B4.3A
$46.4B17.AB.2B50.3B9.A.A2.2A3.A.3A8.5B7.A$45.4B21.3B48.B2AB9.A.A8.A
11.5B6.A.A$44.4B22.4B6.2A40.2A11.A10.3A8.6B5.A.AB$43.4B21.3B2AB6.A67.
A11.4B5.A3B$42.4B22.3B2AB3.BA.A80.4B6.4B$41.4B21.10B.B2A82.4B5.6B$40.
4B21.3BD9B45.A11.2A26.4B4.7B$39.4B21.3BDBD8B44.A.A9.B2AB26.4B2.8B.4B.
B$38.4B21.3BD3BD7B36.A3.2A2.A.A9.3B28.17B.B2A$37.4B21.3BD2.3BD4B37.A.
A2.A2.2A.2A9.B.B28.18B2A$36.4B21.4B5.2BD3B37.A.A3.A.A2.B8.5B28.4BA11B
.2B$35.4B21.4B4.5BD3B37.A.4A2.AB2A6.6B28.2BABA11B$34.4B21.4B5.2A4.D3B
38.A3.A.A.2A4.8B28.3B2A10B$33.4B21.4B7.A5.4B19.2A15.A2.BA.A2.13B27.2A
B.12B$32.4B21.4B5.3A7.4B19.A14.A.2BA.A5.13B24.A.AB2.11B$31.4B21.4B6.A
10.4B8.A9.A.AB11.2A.2BA5.15B23.A5.10B$30.4B21.4B19.4B7.3A3.A4.2AB.2A
12.3B4.15B22.2A5.10B$29.4B21.4B21.B3D9.A.A.A5.2B2AB12.2B.B.17B27.11B$
28.4B21.4B23.D3B5.4A.A2.A4.4B6.29B28.3B2A5B3.2A$27.4B21.4B25.4B4.A4.A
3.A3.6B3.4BD11B2A13B27.B2ABA3B.B2A2.A$26.4B21.4B27.4B5.ABA.3A5.6B2.4B
3D9B2A14B25.BA3BAB3.B2ABA$25.4B21.4B29.4B3.2A.A.A7.7B.4BDBD20B3.B2A
24.BA2B2A6.B.A.A$24.4B21.4B31.4B3.B.BAB6.15BD19B4.A2.A24.B3A2B4.2A2.A
.A$23.4B21.4B33.11B5.20B2.2B2.B3.6B5.2A.A23.2BA5B.A2.2A2.A$86.9B2.21B
14.6B7.A22.9BA.A.A3.2A$87.29B14.9B6.2A12.A8.10BAB.A.A.A2.A$87.28B15.
2A4.4B19.3A6.6B.B.2B2.A.2A2.2A$19.4B21.4B39.30B14.A5.4B21.A4.2B3D2B3.
2B.2A$18.4B21.4B40.31B10.3A7.4B19.2A4.4BD2B3.A.A2.3A$17.4B21.4B39.2AB
.20B.4B.B2A10.A10.4B18.4B.4B3DB3.2A2.A2.A$16.4B21.4B39.A.AB2.19B.3B.
2BABA21.4B19.11B8.2A$3.2A10.4B21.4B40.A7.4B2.14B6.AB21.4B11.2A4.12B$
4.A9.4B21.4B40.2A6.B2A2B3.13B6.2AB21.4B9.A.A4.12B$2.A10.3BD21.4B50.2A
8.10B31.4B8.BA5.11B9.2A$2.5A5.3BD5.2A14.4B61.6B.4B31.4B4.B3.3B4.7B12.
A$7.A3.3BDB5.A2.A11.D3B64.B.B3.4B.2B10.A17.4B.21B8.BA.A$4.3AB2.3BD3B.
BA.A.2A10.B3D64.3B5.4B10.3A18.2B2C23B.B4.B2A$3.A.2B3.4BD2B.B2A.A11.4B
65.B2AB5.4B8.A22.B2C9BA12BA7B$3.4A8BD3B3.A10.4B67.2A7.4B7.2A21.10B2AB
2C3B2ABA7B3AB$.2A2.BA3B2A4BD2B3.3A7.4B78.4B3.5B21.10B2A2DB3A4BA3BA4BA
B$A2.3AB.2B2A5BDB6.A5.4B80.4B2.3B21.2AB.7BA3BD3BA3BA10B$2A.A.B3.9BD5.
2A4.D3B82.9B7.2A10.A.AB3.6BA7B3A7BABA$3.A8.7BD4.5BD3B84.D7B8.A10.A7.
5BA13B2.B.BA$3.2A7.9B5.2BD3B86.D9B3.B.A.2A6.2A8.9B2A7B.3B$13.3B2.4B2.
3BD4B86.BD5B2A2B.B3A2.A17.9BA6B2.B2AB$11.5B3.7BD7B84.2BD4B2A3BAB2.2A
18.8B.BA4B4.2A$11.2A7.5BD8B84.3BD8B4A20.6B6.4B$12.A8.13B82.2AB.2BD4B
3.2B.A20.2B2DB7.2B2AB$9.3A10.2B2D6B.B2A79.A.AB.3BD3B2.B3A21.BD2BD9.2A
$9.A13.BD2B2AB3.BA.A71.A6.A5.BD2B4.A23.3B2D2B$24.D2B2AB6.A71.3A3.2A4.
D4B5.5A17.8B$25.5B6.2A73.A7.BDBDB10.A15.9B$26.3B81.2A7.B2DB9.A16.11B$
23.AB.2B82.5B3.4B10.2A15.11B$22.A.AB2AB83.3B2.4B27.12B$22.A.ABABAB72.
2A7.9B25.2B.5B2A5B$19.2A.A.A.A.A2.A70.A8.7BD25.2A6BA2BA4B39.A11.2A$
19.A2.A2.2A.4A67.2A.A.B3.9BD26.2A7B2A5B38.A.A9.B2AB$21.2A4.A71.A2.3AB
.2B2A5BDB27.B.15B28.A3.2A2.A.A9.3B$27.A.A70.2A2.BA3B2A4BD2B30.14B14.A
12.A.A2.A2.2A.2A9.B.B$28.2A72.4A8BD3B34.11B13.3A10.A.A3.A.A2.B8.5B$
102.A.2B3.4BD2B.B2A33.10B16.A10.A.4A2.AB2A6.6B$103.3AB2.3BD3B.BA.A22.
A8.11B15.2A12.A3.A.A.2A4.8B$106.A4.2BDB5.A22.3A4.13B5.A9.4B9.A2.BA.A
2.13B$101.5A5.3BD5.2A24.A.15B3.3A11.3B7.A.2BA.A5.13B$101.A10.3BD29.A.
A15B2.A13.4B7.2A.2BA5.15B$103.A9.4B28.BA2B.11B4.2A12.5B10.3B4.15B$
102.2A10.4B28.2B3.9B3.4B11.6B11.2B.B.17B$115.4B28.2B3.9B.3B13.8B2.29B
$116.4B26.B2AB3.13B11.14BC11B2A13B$117.4B26.2A4.14B11.13B3C9B2A14B$
118.4B30.15B12.7B.4BCBC20B3.B2A$119.4B29.16B10.15BC19B4.A2.A$120.4B
28.16B10.19B2.2B2.B3.6B5.2A.A$121.4B27.17B8.17B14.6B7.A$122.4B26.20B
2.2B.15B14.9B6.2A$123.4B22.A2.16BD22B15.2A4.4B10.2A$124.4B20.A.A.14BD
BD13B.8B16.A5.4B9.A$125.4B20.A2.6B.B2.4B3D9B2A2B3.8B11.3A7.D3B10.A$
126.4B22.5B5.2B3D11B2A2B5.B3.2A11.A2.3A5.D3B5.5A$127.4B22.2B2AB4.2BD
16B10.A14.A2.A5.BD2B4.A$128.4B19.2AB.A.BA3.B3D8B.3B.B12.3A10.2A2.A.AB
.3BD3B2.B3A$129.4B17.A.AB2.2A.A2.13B19.A15.2AB.2BD4B3.2B.A$130.4B16.A
8.A2.14B36.3BD8B4A$131.4B14.2A5.3A3.15B35.2BD4B2A3BAB2.2A$132.4B20.A
6.15B34.BD5B2A2B.B3A2.A$133.4B26.15B34.D9B3.B.A.2A$134.4B24.18B31.D7B
8.A$135.4B24.12B3.2A30.9B7.2A$136.4B25.3B2A3B5.A30.4B2.3B$137.4B24.2B
A2BAB7.3A26.4B3.5B$138.4B25.B2A11.A25.4B7.2A$139.4B63.4B8.A$140.4B61.
4B10.3A$141.4B59.4B13.A$142.4B57.4B$143.4B55.4B$144.4B53.4B$145.4B51.
4B$146.4B49.4B$147.4B47.4B$148.4B45.4B$149.4B43.4B$150.4B41.4B$151.4B
39.4B$152.4B37.4B$153.4B35.4B$154.4B33.4B$155.4B31.4B$156.4B29.4B$
157.4B27.4B$158.3BD25.4B$159.3BD23.4B$160.3DB21.4B$161.4B19.4B$162.4B
10.A6.4B$163.4B7.3A5.4B$164.4B5.A7.4B$165.3BD4.2A5.4B$166.3BD5B4.4B$
167.3BD2B5.4B$167.4BD3B2.D3B$165.7BD3BD3B$165.8BDBD3B$165.9BD3B$163.
2AB.10B$162.A.AB3.B2A3B$162.A6.B2A3B$161.2A6.4B$170.3B$171.2B.BA$170.
B2ABA.A$169.BABABA.A$167.A2.A.A.A.A.2A$167.4A.2A2.A2.A$171.A4.2A$169.
A.A$169.2A!
One by one they go down, gunned down ^_^. How? Basically, a side effect of the universal regulator pattern (viewtopic.php?f=2&t=1825#p93912) is that one can query the exact timing of a glider in a vaccinated stream, not destructively if the stream is forked.

One that thread, one will find 2 types of regulator, which either picks the timing for the first glider after selected time, of the second glider after selected time (which is the case for the *slow* sniper showcased above). If one queries the time of 2 successive gliders, then one can infer if a time window is available in order to safely insert a new glider into the glider stream (safely => stream remains vaccinated), which might only be possible while simultaneously sniping one or both glider that were queried. In order to check that the delay between successive glider is at least X, for any X selected, the following "universal waiter" gives the answer!

Code: Select all

x = 344, y = 248, rule = LifeHistory
17$242.2A$242.A.A$244.A4.2A$240.4A.2A2.A2.A$240.A2.A.A.A.A.2A$242.BAB
ABA.A$243.B2ABA.A$244.2B.BA$243.3B$234.2A6.4B$235.A6.B2A3B$235.A.AB3.
B2A3B$236.2AB.10B$238.13B$238.14B$238.15B$240.8B2.4B$240.6B5.3B$239.
9B4.2B$238.4B4.2A5.B$237.4B5.A$236.4B7.3A$236.3B10.A$236.2B$236.B48$
116.A$115.A.A40.AB$116.A40.A2B165.A$156.B3A163.3A$114.5A36.4B151.4B8.
A$114.A4.A34.4B153.4B7.2A$116.BAB.A32.4B155.4B3.5B$116.B2A.A2.A28.4B
157.4B2.3B$114.A4B.A.A.A26.4B159.9B7.2A$83.A29.ABAB3.A2.2A25.4B161.8B
8.A$82.A.A4.2A22.A2BA2.2A4.2A22.4B163.10B3.B.A.2A$82.A.A3.B2AB17.5B2A
9.A22.4B164.7B2A2B.B3A2.A$81.2A.2A2.3B7.A10.5B8.BA.A21.4B165.7B2A3BAB
2.2A$81.A2.B3.2B6.3A9.7B3.3B.B2A10.A10.4B166.12B4A$82.AB2AB.3B4.A11.
16B12.3A7.4B165.2AB.7B3.2B.A$80.A.A.2A5B4.2A10.16B15.A5.4B165.A.AB.7B
2.B3A$80.2A4.7B.3B10.15B15.2A4.4B166.A5.4B4.A$87.8B13.15B14.9B6.2A
158.2A5.4B5.5A$86.10B12.17B14.6B7.A122.A42.4B10.A$86.5B2A2B3.3B6.21B
2.2B2.B3.6B5.2A.A121.A.A40.4B9.A$85.6B2A2B2.5B2.20BD19B4.A2.A123.A40.
4B10.2A$85.9B.9B2D11B.4BDBD20B3.B2A164.4B$70.2A13.8B.10BDBD9B2.4B3D9B
2C14B123.5A$69.B2AB13.19BD10B2.4BD11B2C13B124.A4.A$70.2B14.29B4.29B
127.BAB.A$65.B3.2B16.19B4.5B11.4B.17B127.B2A.A2.A$64.2AB.4B15.17B6.5B
12.2B3.15B126.A4B.A.A.A$64.2A8B11.18B7.4B12.3B3.15B11.B83.A29.ABAB3.A
2.2A$65.B.B2A6B2.2B2.21B8.5B6.2A.2BA5.13B11.2B82.A.A4.2A22.A2BA2.2A4.
2A22.4B$68.2A15BD18B10.2A6.A.2BA.A2.13B12.3B82.A.A3.B2AB17.5B2A9.A22.
4B$68.17BDBD4B.7B.4B9.A8.A2.BA.A.2A4.8B10.4B81.2A.2A2.3B7.A10.5B8.BA.
A21.4B$64.21B3D4B.7B2.4B9.3A6.A4.AB2A6.6B9.4B82.A2.B3.2B6.3A9.7B3.3B.
B2A10.A10.4B$64.23BD4B.7B3.4B10.A4.A.5A2.B8.5B8.4B84.AB2AB.3B4.A11.
16B12.3A7.4B$63.2A26B3.5B5.4B14.2A5.3A.A8.B.B7.4B83.A.A.2A5B4.2A10.
16B15.A5.4B$63.2A14B.4B10.7B4.4B16.2A.A3.2A7.3B7.4B84.2A4.7B.3B10.15B
15.2A4.4B$64.B.11B2.4B10.2B4.2A5.4B10.4A.A3.2A10.B2AB5.4B92.8B13.15B
14.9B6.2A$66.10B2.4B11.2AB3.A7.4B8.A3.A.A.2A2.3A8.2A5.4B92.10B12.17B
14.6B7.A$67.14B8.2A.A.A5.3A5.4B7.2A5.A2.A3.A111.5B2A2B3.3B6.21B2.2B2.
B3.6B5.2A.A$66.14B9.A.2A.A.A5.A6.4B3.5B6.2A115.6B2A2B2.5B2.20BD19B4.A
2.A$67.13B7.2A6.2A13.4B2.3B125.9B.9B2D11B.4BDBD20B3.B2A$67.13B2.2A2.A
24.9B7.2A16.B83.2A13.8B.10BDBD9B2.4B3D9B2C14B$69.2B.4B3DB2.A.A2.A.A
22.8B8.A15.2B82.B2AB13.19BD10B2.4BD11B2C13B$72.5BD2B3.B.2A.2A23.10B3.
B.A.2A11.3B83.2B14.29B4.29B$71.4B3D2B2.2B2.A26.7B2A2B.B3A2.A10.4B78.B
3.2B16.19B4.5B11.4B.17B$70.10B.2BAB.A.2A23.7B2A3BAB2.2A10.4B78.2AB.4B
15.17B6.5B12.2B3.15B$69.4B.8BA.A.2A.A23.12B4A11.4B79.2A8B11.18B7.4B
12.3B3.15B11.B$68.4B2.8B.A.A25.2AB.7B3.2B.A10.4B81.B.B2A6B2.2B2.21B8.
5B6.2A.2BA5.13B11.2B$67.4B4.5B4.A2.2A21.A.AB.7B2.B3A10.4B85.2A15BD18B
10.2A6.A.2BA.A2.13B12.3B$66.4B5.6B4.2A.3A19.A5.4B4.A12.4B86.17BDBD4B.
7B.4B9.A8.A2.BA.A.2A4.8B10.4B$65.4B5.6B6.B4.A17.2A5.4B5.5A6.4B83.21B
3D4B.7B2.4B9.3A6.A4.AB2A6.6B9.4B$64.4B6.7B3.B2AB3A24.4B10.A5.4B84.23B
D4B.7B3.4B10.A4.A.5A2.B8.5B8.4B$63.4B8.8B.B2A.A25.4B9.A6.4B84.2A26B3.
5B5.4B14.2A5.3A.A8.B.B7.4B$62.4B9.10B28.4B10.2A4.4B85.2A14B.4B10.7B4.
4B16.2A.A3.2A7.3B7.4B$61.4B9.3B2A6B27.4B16.4B87.B.11B2.4B10.2B4.2A5.
4B10.4A.A3.2A10.B2AB5.4B$60.4B4.2A5.2B2A6B26.4B16.4B90.10B2.4B11.2AB
3.A7.4B8.A3.A.A.2A2.3A8.2A5.4B$59.4B6.A5.10B25.4B16.4B92.14B8.2A.A.A
5.3A5.4B7.2A5.A2.A3.A14.4B$58.4B7.A.AB2.11B23.4B16.4B92.14B9.A.2A.A.A
5.A6.4B3.5B6.2A18.4B$57.4B9.2AB.12B22.4B16.4B94.13B7.2A6.2A13.4B2.3B
27.4B$56.4B12.15B20.4B16.4B95.13B2.2A2.A24.9B7.2A16.4B$55.4B13.16B18.
4B16.4B98.2B.4B3DB2.A.A2.A.A22.8B8.A15.4B$54.4B14.16B.2B14.4B16.4B
102.5BD2B3.B.2A.2A23.10B3.B.A.2A11.4B$53.4B15.18B2A12.4B16.4B102.4B3D
2B2.2B2.A26.7B2A2B.B3A2.A10.4B$52.4B4.A10.17B.B2A11.4B16.4B102.10B.2B
AB.A.2A23.7B2A3BAB2.2A10.4B$51.4B3.3A9.4B2.8B.4B.B11.4B16.4B102.4B.8B
A.A.2A.A23.12B4A11.4B$50.4B3.A11.4B4.7B17.4B16.4B102.4B2.8B.A.A25.2AB
.7B3.2B.A10.4B$49.4B4.2A9.4B5.6B17.4B16.4B102.4B4.5B4.A2.2A21.A.AB.7B
2.B3A10.4B$48.4B3.4B8.4B6.4B18.4B16.4B102.4B5.6B4.2A.3A19.A5.4B4.A12.
4B$47.4B3.2AB9.4B5.A3B19.4B16.4B102.4B5.6B6.B4.A17.2A5.4B5.5A6.4B$32.
A13.4B4.A.AB7.4B5.A.AB19.4B16.4B102.4B6.7B3.B2AB3A24.4B10.A5.4B$32.3A
10.4B6.2AB6.4B4.3A.A19.4B16.4B102.4B8.8B.B2A.A25.4B9.A6.4B$35.A8.4B7.
3B5.4B4.A3.A19.4B16.4B102.4B9.10B28.4B10.2A4.4B$34.2A7.4B9.4B2.4B5.A.
2A19.4B16.4B102.4B9.3B2A6B27.4B16.4B$34.5B3.4B10.9B3.BA.A.A19.4B16.4B
102.4B4.2A5.2B2A6B26.4B16.4B$36.3B2.4B6.3B.12B.B2A4.A5.A10.4B16.4B
102.4B6.A5.10B25.4B16.4B$26.2A7.9B7.2A16B5.2A5.3A7.4B16.4B102.4B7.A.A
B2.11B23.4B16.4B$26.A8.8B7.ABA16B15.A5.4B16.4B102.4B9.2AB.12B22.4B16.
4B$23.2A.A.B3.10B8.BA16B15.2A4.4B16.4B102.4B12.15B20.4B16.4B$23.A2.3A
B.2B2A7B2.2A4.19B14.9B6.2A8.4B102.4B13.16B18.4B16.4B$24.2A2.BA3B2A7B
3.A2.2AB2.18B14.6B7.A8.4B102.4B14.16B.2B14.4B16.4B$26.4A12B3.A.A.AB3.
20B2.2B2.B3.6B5.2A.A7.4B102.4B15.18B2A12.4B16.4B$26.A.2B3.7B.B2A.A.A
5.17BD19B4.A2.A7.4B102.4B4.A10.17B.B2A11.4B16.4B$27.3AB2.7B.BA.A2.A4.
11B.4BDBD20B3.B2A7.4B102.4B3.3A9.4B2.8B.4B.B11.4B16.4B$30.A4.4B5.A.A
4.4B.6B2.4B3D9B2A14B7.4B102.4B3.A11.4B4.7B17.4B16.4B$25.5A5.4B5.2A4.
4B2.5B3.4BD11B2A13B7.4B102.4B4.2A9.4B5.6B17.4B16.4B$25.A10.4B9.4B4.3B
5.29B7.4B102.4B3.4B8.4B6.4B18.4B16.4B$27.A9.4B7.4B3.7B10.2B.B.17B6.4B
102.4B3.2AB9.4B5.A3B19.4B16.4B$26.2A10.4B5.4B4.2A.B.2A9.3B4.15B6.4B
88.A13.4B4.A.AB7.4B5.A.AB19.4B16.4B$39.4B3.4B6.A3.A6.2A.2BA5.15B5.4B
89.3A10.4B6.2AB6.4B4.3A.A19.4B16.4B$40.4B.4B4.3A5.3A3.A.2BA.A5.13B5.
4B93.A8.4B7.3B5.4B4.A3.A19.4B16.4B$41.7B5.A9.A4.A2.BA.A2.13B6.4B93.2A
7.4B9.4B2.4B5.A.2A19.4B16.4B$42.5B22.A3.A.A.2A4.9B3.4B94.5B3.4B10.9B
3.BA.A.A19.4B16.4B$42.5B20.A.4A2.AB2A5.8B2.4B97.3B2.4B6.3B.12B.B2A4.A
5.A10.4B16.4B$41.7B18.A.A3.A.A2.B7.6B2.4B88.2A7.9B7.2A16B5.2A5.3A7.4B
16.4B$40.4B.4B17.A.A2.A2.2A.2A7.5B.4B89.A8.8B7.ABA16B15.A5.4B16.4B$
39.4B3.4B17.A3.2A2.A.A8.9B87.2A.A.B3.10B8.BA16B15.2A4.4B16.4B$38.4B5.
4B24.A.A9.7B88.A2.3AB.2B2A7B2.2A4.19B14.9B6.2A8.4B$37.4B7.4B24.A11.5B
90.2A2.BA3B2A7B3.A2.2AB2.18B14.6B7.A8.4B$36.4B9.4B34.5B93.4A12B3.A.A.
AB3.20B2.2B2.B3.6B5.2A.A7.4B$35.4B11.4B33.4B94.A.2B3.7B.B2A.A.A5.17BD
19B4.A2.A7.4B$34.4B13.4B31.4B96.3AB2.7B.BA.A2.A4.11B.4BDBD20B3.B2A7.
4B$33.4B15.4B29.4B100.A4.4B5.A.A4.4B.6B2.4B3D9B2A14B7.4B$32.4B17.4B
27.4B96.5A5.4B5.2A4.4B2.5B3.4BD11B2A13B7.4B$31.4B19.4B25.4B97.A10.4B
9.4B4.3B5.29B7.4B$30.4B21.4B23.4B100.A9.4B7.4B3.7B10.2B.B.17B6.4B$29.
4B23.4B21.4B100.2A10.4B5.4B4.2A.B.2A9.3B4.15B6.4B$28.4B25.4B19.4B114.
4B3.4B6.A3.A6.2A.2BA5.15B5.4B$27.4B27.4B10.A6.4B116.4B.4B4.3A5.3A3.A.
2BA.A5.13B5.4B$26.2A2B29.4B7.3A5.4B118.7B5.A9.A4.A2.BA.A2.13B6.4B$25.
ABAB31.4B5.A7.4B120.5B22.A3.A.A.2A4.9B3.4B$24.3BA33.4B4.2A5.4B121.5B
20.A.4A2.AB2A5.8B2.4B$24.3B35.9B4.4B121.7B18.A.A3.A.A2.B7.6B2.4B$63.
6B5.4B121.4B.4B17.A.A2.A2.2A.2A7.5B.4B$63.8B2.4B121.4B3.4B17.A3.2A2.A
.A8.9B$61.15B121.4B5.4B24.A.A9.7B$61.14B121.4B7.4B24.A11.5B$61.13B
121.4B9.4B34.5B$59.2AB.10B121.4B11.4B33.4B$58.A.AB3.B2A3B122.4B13.4B
31.4B$58.A6.B2A3B121.4B15.4B29.4B$57.2A6.4B122.4B17.4B27.4B$66.3B121.
4B19.4B25.4B$67.2B.BA117.4B21.4B23.4B$66.B2ABA.A115.4B23.4B21.4B$65.B
ABABA.A114.4B25.4B19.4B$63.A2.A.A.A.A.2A110.4B27.4B10.A6.4B$63.4A.2A
2.A2.A109.2A2B29.4B7.3A5.4B$67.A4.2A110.ABAB31.4B5.A7.4B$65.A.A115.3B
A33.4B4.2A5.4B$65.2A116.3B35.9B4.4B$222.6B5.4B$222.8B2.4B$220.15B$
220.14B$220.13B$218.2AB.10B$217.A.AB3.B2A3B$217.A6.B2A3B$216.2A6.4B$
225.3B$226.2B.BA$225.B2ABA.A$224.BABABA.A$222.A2.A.A.A.A.2A$222.4A.2A
2.A2.A$226.A4.2A$224.A.A$224.2A!

If the glider looped around at least once, then the delay is at least X, otherwise it is less then X (and greater than 73, because it is a vaccinated stream :D)

Now the challenge! Given a random (hence unknown a priori) vaccinated stream mounted on a glider loop with a known period, alter the stream by deleting and inserting gliders until the loop contains the theoretical maximum number of gliders that the loop can hold. In most cases, this would mean that the delays between gliders all become 74 or 75.

That being say, one rule needs to be imposed to avoid cheating. One could fork the stream, use it to negate all gliders on the loop perfectly and then insert the output of a p74 gun back in the loop. Well, that is not allowed. Whatever mechanism is engineered beside the provided glider loop, if it does not simply fork or deflect the whole unaltered vaccinated stream, then it is constrained so that at any given time it can only be aware of the exact timing/phase on the loop of at most 2 gliders, and only such set of mechanisms is allowed to remove/insert gliders on the loop (randomly insert Maxwell's demon reference here https://en.wikipedia.org/wiki/Maxwell%27s_demon ).

And before I forget, no eater on my lawn and in the glider loop, sorry (not!).

This could be modified to emulate 1-dimensional state automatons, which could have interesting emerging properties (oscillators/guns with *very* high periods?)

User avatar
otismo
Posts: 1212
Joined: August 18th, 2010, 1:41 pm
Location: Florida
Contact:

I Tested Negative !

Post by otismo » May 27th, 2020, 4:11 pm

I am going to dare to ask you to elaborate !

Please !

EDIT

Thank You !

It is now elaborate enough to give me a headache !

I am going to have to go back to school until I understand these regulators - when is that textbook coming out ?

Cheers !

( I have now also tested negative for osteo, BTW... )
Last edited by otismo on May 29th, 2020, 12:12 am, edited 1 time in total.
"One picture is worth 1000 words; but one thousand words, carefully crafted, can paint an infinite number of pictures."
- autonomic writing
forFUN : http://viropet.com
Art Gallery : http://cgol.art
Video WebSite : http://conway.life

User avatar
dvgrn
Moderator
Posts: 10671
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: I Tested Negative !

Post by dvgrn » May 27th, 2020, 4:30 pm

otismo wrote:
May 27th, 2020, 4:11 pm
I am going to dare to ask you to elaborate !
Well, this is a challenge thread, so there's not much for Jormungant to elaborate -- the first post was pretty thorough.

So everybody can either

1) build a mechanism that fits the specifications of the challenge, or

2) not build said mechanism.

It looks like a solvable problem, given these regulator mechanisms plus knowledge of the period of the glider loop. Maybe the place to start would be with a glider gun with a period 74 ticks greater than the vaccinated glider loop period -- which will get turned off by another gun when it has emitted floor({vaccinated glider loop period}/74) gliders.

Jormungant
Posts: 610
Joined: May 27th, 2016, 1:01 am

I see what you did there

Post by Jormungant » May 27th, 2020, 5:07 pm

Ok, I indeed left a lot of information out so ppl ponder about this a bit, but it wont hurt to put some more background...

Let's think of a vaccinated stream on a glider loop of length "P" as a State.
it can have 0 glider on; that is 1 valid state
or 1 glider on; that P more states (glider has different timing / phases)
or 2 gliders on; that's P * (P - 151) more states, because the second glider needs to be with delays prescribed so the stream is vaccinated
or 3+ gliders on; that roughly length than \prod^N_i (P - 151I), which or P^N more state for all N

That being say, the maximum glider capacity for the loop is P / 74 rounded down, so that the number of state is finite for any given P. One can write down a state as a set of delays that adds up to P, if P is 500 then:

80-100-120-100-100 uniquely describe a state (thought there is a phase info missing here, but it does not matter to reach maximum capacity.

if we want to add more gliders, we are out of luck, there is no space in between any given glider pair (one would need a delay of at least 148 to become 74-74, which means inserting a glider in the dead middle of two gliders), even worse only removing 1 glider is not helpful (the sum of 2 consecutive delays is at most 220, to remove a glider and replace it by 2 we need the space for 74-74-74 which is 222. Hence here if need to remove 2 gliders an insert 3 back.

this way 80-100-{120-100-100] => 80-100-[74-74-74-98]
delays can be rotated around (as, glider moves on the loop, no absolute position). The highest sum of 3 delays is now 278, it is now impossible to insert new gliders. (also 500 / 74 =6.75, which rounds down to 6)

well, that's all good, but I cheated, since I wrote all the delay down, I know them all and can sum them at will, what if I can only see 1 at the time? Seems impossible, but gliders can be removed anytime. One valid stategy is, if the delay is at least 152, then insert a glider to get split 74-[78+], otherwise remove 1 of the 2 gliders, now that queried delay is added to an unknown delay in front or behind, basically:

this way [80-100]-120-100-100 => [180]-120-100-100
or 80-[100-120]-100-100 => 80-[220]-100-100

Well, that strategy might work, or cycle indefinitely without ever reaching 6 gliders. Well, if one is allowed to keep track of the phase of the whole glider loop, then one could effectively memorize the delay between more than 2 glider, but that's not allowed. Glider phase needs to be forgotten to learn about a new queried delay.

the difficult issue to understand in this problem is that "information theory" constrain, which make the mechanism harder to produce. When a delay is queried, we have to pretend that an unknown amount of time passed, so that the phase of the loop is unknown. Another valid strategy is to clear all gliders (as dvrg suggessted), one by one, and then insert them back all with 74 delays, sadly this relies on our knowledge of the phase of given glider (which would be in sync with a "external engineered clock"), One could clear all gliders using the knownledge of P, but I allowed P be known so one can build such mecanism in Golly, and see what rules allows to reach the maximum capacity. However, the more general problem is that P is unknown, but finite; so no "clear them all then populate" strategy works, as one is never sure the loop is empty, and even if you did, you do not know when to stop adding back gliders, and if you query again, you lose track of time...

I will have to post the actual delay query mechanism, which would be a pair of universal regulators that are in sync, but for now one could just make a script to emulate the whole thing (pen and paper can be used too)...

Also, the fact that 76-77 is not allowed makes things... interesting :D

Another valid solution is to randomly insert/delete gliders (though only when insertions are legal, of course...) but is there such a thing as randomness in a deterministic state automata :roll:

Jormungant
Posts: 610
Joined: May 27th, 2016, 1:01 am

Re: Vaccinated glider loop challenge

Post by Jormungant » May 27th, 2020, 7:15 pm

The problem might be even nastier than what I previously envisioned... I think one would need to solve the problem on paper before ever attempting to design the circuitry that allows it...

So what is a valid mechanism? You have to put yourself in the shoes of someone in a dark room that is given a random number, 74,75, 78+, and have to decide what to do. You do not even remember what number you were given before, or how many number were given to you since the start. Hopeless? maybe, maybe not. I do believe it is possible, but I now think that designing still life circuits will be awfully painful, as one would have to do a lot of comparison of delays to get the exact number for the delay. Why would you care of the exact number? Well, you cannot remember the other delays on the loop, but you can adopt rules that produces specific delays, so that if it is read again later, you might assume something about the neighboring delays (which would be false at first, but once all delays are processed at least once, that would become true). Basically, it is all about defining a rules that reduces the entropy of the state which is the stream on the loop, and converging to the maximum occupancy state.

So... one would need to come up with some kind of Truth table of the following form:

for each row, select one
read 74 => [do nothing, delete first glider,delete second glider, delete both, delete both and insert at 4-70]
read 75 => [do nothing, delete first glider,delete second glider, delete both, delete both and insert at 4-71]
read 78 => [do nothing, delete first glider,delete second glider, delete both, delete both and insert at 4-74, slow down first glider by 4, speed up second glider by 4]
read 79 => [do nothing, delete first glider,delete second glider, delete both, delete both and insert at 4-75, slow down first glider by 4-5, speed up second glider by 4-5]
etc.

User avatar
dvgrn
Moderator
Posts: 10671
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Vaccinated glider loop challenge

Post by dvgrn » May 27th, 2020, 9:49 pm

Jormungant wrote:
May 27th, 2020, 7:15 pm
I do believe it is possible, but I now think that designing still life circuits will be awfully painful, as one would have to do a lot of comparison of delays to get the exact number for the delay. Why would you care of the exact number? Well, you cannot remember the other delays on the loop, but you can adopt rules that produces specific delays, so that if it is read again later, you might assume something about the neighboring delays (which would be false at first, but once all delays are processed at least once, that would become true).
Not sure exactly how bad it would be. Can the insertion point into the vaccinated loop be a good distance after the test and deletion points? I.e., so that there's enough time to do some logical operations and decide whether to place a glider or not, after deleting a glider. Seems like at worst, since we know the period of the full loop, we could delete a glider, wait a cycle, then do whatever the right thing was.

With a startable period (loop period + 74) drive gun, I could see doing something like

1) Get the timing of two consecutive gliders in the vaccinated stream, and delete the second one. That seems to be allowable according to the conditions.
2) Start up the period-plus-74 gun, synced with the first glider.
3) On the next cycle, place a glider 74 ticks after the first glider. We know this is safe, because there was room for a glider after the first glider, because we deleted one.
4) Set the universal regulator mechanism to catch and delete the next glider in the loop.
5) On the next cycle, place a glider 74 ticks after the second glider... i.e., go back to Step 3 and repeat.

At some point this algorithm will have executed successfully floor({vaccinated-loop-period}/74) or more times, so it will have deleted and replaced the original first glider. So there has to be a mechanism that will count to some sufficiently high number, and then stop the read-and-delete mechanism before it deletes a glider. At that point, the loop will be maximally full of 74-tick-separated gliders.

... Is that cheating, somewhere that I didn't notice?

Jormungant
Posts: 610
Joined: May 27th, 2016, 1:01 am

Re: Vaccinated glider loop challenge

Post by Jormungant » May 28th, 2020, 4:15 am

dvgrn wrote:
May 27th, 2020, 9:49 pm
... Is that cheating, somewhere that I didn't notice?
Yes and no. When I posted the problem, I knew that allowing the period of the loop to be known gave guaranties on how many gliders to remove to have get to a clean state (you would query a delay of P when only 1 glider remains), but I did not want that information to be used. Basically, I have to concede that you solved the "click-bait" part of the challenge ^_^. I allowed the period to be known so I do not have to give a more complicated problem that would be harder to comprehend and design in golly, but since you are a script-aware being, I present to you the real challenge question.

Same as before, but the period P of the glider loop is unknown but finite. You "own" and "control" only part of that loop ( for mecanism purposes). You are mandated to complete that loop so that gliders at (0,0) appear at (10000,0), 100K generations later exactly (unless you managed to operate on them while obeying constrains already defined in this challenge). You can build anything you want in (Y >= 0) half plane and you can also use the space in the (0,0)-(10000,-10000) box to coil around your mandated loop. Outside that realm you cannot see are assume anything, just that glider that are sent of at (10000,0) will eventually come back at (0,0) eventually. If some alien light-speed signaling technique is used outside your realm, then you can assume P is a under bounded by 130K, but it is unknown but finite.

Code: Select all

x = 249, y = 145, rule = LifeHistory
9$46.D3.D2.D2.D2.D.3D3.D2.3D.3D.3D4.D3.3D.3D.3D3.3D3.D2.2D2.3D$46.2D.
2D.D.D.2D.D.D2.D.D.D2.D2.D3.D2.D3.D3.D.D.D.D.D2.D2.D2.D.D.D.D.D2.D$
46.D.D.D.3D.D.2D.D2.D.3D2.D2.2D2.D2.D3.D3.D.D.D.D.3D3.3D2.3D.2D3.D$
46.D3.D.D.D.D2.D.D.D2.D.D2.D2.D3.D.D4.D3.D.D.D.D.D5.D4.D.D.2D3.D$46.D
3.D.D.D.D2.D.3D2.D.D2.D2.3D.3D4.3D.3D.3D.D5.D4.D.D.D.D2.D4$76.2A$76.A
.A$78.A4.2A$74.4A.2A2.A2.A$74.A2.A.A.A.A.2A$76.BABABA.A$77.B2ABA.A$
78.2B.BA$77.3B$68.2A6.4B$69.A6.B2A3B$69.A.AB3.B2A3B$70.2AB.10B$72.9BD
3B$72.8BDBD3B$72.7BD3BD3B$74.4BD3B2.D3B$74.3BD2B5.4B$73.3BD5B4.3B$72.
3BD4.2A5.2B$71.4B5.A7.B$70.4B7.3A$50.D11.D6.4B10.A$49.D2.3D3.3D2.D4.
4B33.D18.D$49.D2.D.D3.D.D2.D40.D2.D.3D2.D.D3.3D2.D$49.D2.D.D3.D.D2.D
40.D2.D.D.D2.D.D3.D.D2.D$49.D2.3D3.3D2.D40.D2.D.D.D2.2D4.D.D2.D$50.D
5.D5.D41.D2.D.3D2.D.D3.3D2.D$99.A5.D12.D5.D$62.2A33.A.A$61.A.A34.2A$
63.A$31.29D44.19D$59.D44.D$58.D2.D40.D2.D$57.D2.2D40.2D2.D$56.D2.D.D
40.D.D2.D$55.D2.D2.D40.D2.D2.D$36.2D16.D2.D3.D40.D3.D2.D16.2D$35.4D
14.D2.D4.D40.D4.D2.D14.4D$34.2D2.2D12.D2.D5.D40.D5.D2.D12.2D2.2D47.2D
$34.2D2.2D11.D2.D6.D40.D6.D2.D11.2D2.2D46.D.D$38.2D10.D2.D7.D40.D7.D
2.D14.2D40.2D4.D$38.2D9.D2.D8.D40.D8.D2.D13.2D38.D2.D2.2D.4D$37.2D9.D
2.D9.D40.D9.D14.2D39.2D.D.D.D.D2.D$36.2D9.D2.D10.D40.D10.D12.2D43.D.D
.D.D$36.2D8.D2.D11.D40.D23.2D43.D.D.2D$45.D2.D12.D40.D69.D$36.2D6.D2.
D13.D40.D23.2D$36.2D5.D2.D14.D40.D23.2D57.2D$42.D2.D15.D40.D73.2D7.D$
41.D2.D16.D40.D73.2D5.D.D$28.2D13.D17.D40.D80.2D$29.D12.D18.D40.D$27.
D13.D19.D40.D$27.5D14.2D13.D40.D9.2D$32.D13.D3.2D9.D40.D8.4D55.D$29.
3D12.D.D2.4D8.D40.D7.2D2.2D$28.D15.2D2.2D2.2D7.D40.D7.2D2.2D$28.4D16.
2D2.2D7.D40.D11.2D57.2D4.D$26.2D3.D3.2D15.2D7.D40.D11.2D58.D$25.D2.3D
4.2D15.2D7.D40.D10.2D56.3D$25.2D.D22.2D8.D40.D9.2D57.D$28.D15.D5.2D9.
D40.D9.2D$28.2D20.2D9.D40.D$61.D40.D9.2D$50.2D9.D40.D9.2D96.2D$36.2D
12.2D9.D40.D107.D$37.D23.D40.D49.D45.D13.D$34.3D24.D40.D47.3D39.2D14.
5D$34.D26.D40.D46.D43.D13.D$61.D40.D46.2D42.D.D12.3D$61.42D4.D27.D58.
2D15.D$27.D23.D54.D2.D.3D2.D.D6.D.3D.D.D2.D71.4D$26.D3.3D8.D.3D.D.D2.
D53.D2.D.D.D2.D.D3.2D.D.D.D.D.D2.D20.2D44.2D3.D3.2D$26.D3.D.D5.2D.D.D
.D.D.D2.D14.2D37.D2.D.D.D2.2D7.D.D.D.2D3.D21.D44.2D4.3D2.D$5.2D19.D3.
D.D8.D.D.D.2D3.D13.D.D37.D2.D.3D2.D.D6.D.3D.D.D2.D21.D.2D49.D.2D$6.D
19.D3.3D8.D.3D.D.D2.D7.2D4.D40.D12.D14.D14.2D4.3D2.D33.D15.D$4.D13.D
8.D7.D15.D6.D2.D2.2D.4D79.2D3.D3.2D49.2D$4.5D14.2D33.2D.D.D.D.D2.D26.
2D56.4D$9.D13.D37.D.D.D.D28.4D41.2D15.D$6.3D12.D.D37.D.D.2D28.2D2.2D
39.D.D12.3D44.2D$5.D15.2D39.D32.2D2.2D39.D13.D47.D$5.4D41.2D47.2D38.
2D14.5D43.3D$3.2D3.D3.2D35.4D22.2D22.2D12.2D44.D45.D$2.D2.3D4.2D34.2D
2.2D12.2D7.D22.2D12.4D41.D$2.2D.D42.2D2.2D12.2D5.D.D21.2D12.2D2.2D40.
2D$5.D15.D30.2D19.2D22.2D12.2D2.2D11.D$5.2D45.2D61.2D11.3D$51.2D22.2D
20.2D16.2D14.D$50.2D22.4D19.2D15.2D14.2D50.D$13.2D35.2D8.D12.2D2.2D
34.2D65.3D$14.D58.2D2.2D34.2D64.D$11.3D36.2D25.2D43.2D55.2D$11.D38.2D
11.2D4.D7.2D34.2D7.D$64.D11.2D35.2D4.2D.D$61.3D11.2D42.D2.3D4.2D$61.D
13.2D43.2D3.D3.2D$122.4D$75.2D45.D15.2D$75.2D46.3D12.D.D28.2D$42.D83.
D13.D27.D.D5.2D$42.3D43.D32.5D14.2D26.D7.2D$45.D42.3D30.D45.2D$44.2D
4.D40.D31.D$90.2D4.D25.2D57.D$177.2D.D.D$41.D134.D.D.D.D$87.D85.D2.D.
D.D.D.2D$173.4D.2D2.D2.D$177.D4.2D$54.2D119.D.D$47.2D5.D.D43.2D73.2D$
47.2D7.D36.2D5.D.D$56.2D35.2D7.D$102.2D$43.D$42.D.D.2D41.D$42.D.D.D.D
39.D.D.2D$39.2D.D.D.D.D2.D36.D.D.D.D$39.D2.D2.2D.4D33.2D.D.D.D.D2.D$
41.2D4.D37.D2.D2.2D.4D$47.D.D37.2D4.D$48.2D43.D.D$94.2D!
Here is what I wanted to avoid, giving a set of arbitrary numbers in rules that define how glider loop is shaped so to allow glider loops of unknown length to be considered in this problem.

The spirit of the original problem is that the only P is provided for the sole purpose of successfully chasing down queried gliders and operate in situ, ignoring computation overheads. You should not use the knowledge of P in any other way. If you think that last statement makes no sense, solve the "real challenge question" instead. What I can say, is that one consequence is that, you cannot build a (P+74) driver gun.

User avatar
dvgrn
Moderator
Posts: 10671
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Vaccinated glider loop challenge

Post by dvgrn » May 28th, 2020, 8:05 am

Jormungant wrote:
May 28th, 2020, 4:15 am
Same as before, but the period P of the glider loop is unknown but finite.
"Same as before" meaning the added mechanism still has to fill the period-P loop with the maximum number of gliders?

I can see how to build a mechanism that can be activated by a signal from the (Y >= 0) half plane, that will start filling the glider loop with 74-tick-separated gliders. The mechanism will be guaranteed to complete this task at some point.

However, given the conditions you've specified, I can't see how the mechanism can possibly know for sure that its task is complete -- so it will have to keep deleting and re-adding gliders forever.

That part is easy to solve if there's an upper bound on P as well as a lower bound, or if there's some pattern of gliders that's guaranteed to not be in the original glider loop. Otherwise there seems to be no way to tell for sure when the task is done.

Jormungant
Posts: 610
Joined: May 27th, 2016, 1:01 am

Re: Vaccinated glider loop challenge

Post by Jormungant » May 28th, 2020, 10:24 am

dvgrn wrote:
May 28th, 2020, 8:05 am
However, given the conditions you've specified, I can't see how the mechanism can possibly know for sure that its task is complete -- so it will have to keep deleting and re-adding gliders forever.
Indeed, the mechanism itself might never be sure it is done, it only sees delays sequentially, and hence cannot count how many non-74 delay exists at any given time. It does not matter, it just needs to be there "eventually". The thing is that P in not being bounded above might make things a bit problematic, but that's not that much of an issue an much as the need for an under bound, in fact. Let me give you what I believe is the first step toward the answer (but still not sure if the second step makes sense... will get there in time).

If one queries a delay of 5476 or more, then one is guarantied to have a way to convert it to 74s and at most 73 75s. Now I can claim one can make a mechanism that gets rid of all non-{74,75}.

then... ?

User avatar
dvgrn
Moderator
Posts: 10671
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Vaccinated glider loop challenge

Post by dvgrn » May 28th, 2020, 11:16 am

Jormungant wrote:
May 28th, 2020, 10:24 am
dvgrn wrote:
May 28th, 2020, 8:05 am
However, given the conditions you've specified, I can't see how the mechanism can possibly know for sure that its task is complete -- so it will have to keep deleting and re-adding gliders forever.
Indeed, the mechanism itself might never be sure it is done, it only sees delays sequentially, and hence cannot count how many non-74 delay exists at any given time. It does not matter, it just needs to be there "eventually". The thing is that P in not-bounded above might make things a bit problematic, but that's not that much of an issue. Let me give you what I believe is the first step toward the answer (but still not sure if the second step makes sense... will get there in time).

If one queries a delay of 5476 or more, then one is guarantied to have a way to convert it to 74s and at most 73 75s. Now I can claim one can make a mechanism that gets rid of all non-{74,75}.
That sounds unnecessarily complicated. Unless you change the parameters of the challenge, which were
Jormungant wrote:
May 27th, 2020, 2:36 pm
Now the challenge! Given a random (hence unknown a priori) vaccinated stream mounted on a glider loop with a known period, alter the stream by deleting and inserting gliders until the loop contains the theoretical maximum number of gliders that the loop can hold.
[boldface is mine]

-- there's no point in fiddling around with length-75 delays. You'll never be able to fit more gliders into a loop by replacing length-74 delays with length-75 delays, so there's no point in ever adding anything besides length-74 delays.

That can be done relatively easily, but there's no way to know for sure when to stop. The mechanism could stop when it sees N 74's in a row come out of the loop, and start up again only when it sees a delay bigger than 74+73 = 147. But that's not quite good enough, there doesn't seem to be a way to handle all possible cases.

For example, can the solution you have in mind handle the following case?

The period of the glider loop is 74,000,000,000,074, and it contains two identical sequences of gliders consisting of 500,000,000,000 gliders at 74-tick separation, plus a 37-tick gap (that is, one gap length in each half of 111 ticks, so two 111-tick gaps in all). How will any reasonable diagnostic mechanism be able to tell that the sequence isn't optimal? Until you start deleting gliders, it's completely indistinguishable from a fully optimized period 37,000,000,000,037 loop containing the maximum number of gliders.

Jormungant
Posts: 610
Joined: May 27th, 2016, 1:01 am

Re: Vaccinated glider loop challenge

Post by Jormungant » May 28th, 2020, 12:02 pm

Yes, I think you are right, I though at first to have some kind of encoding that would force non-74s delay to move in some deterministic way so that the two halves reach each other at some point (like, merge 6K>, then place down engineered delays use some signaling mecanism, something like having lone 75s stay in place, 78s moving upstream and 79s downsteam or something) but if an evil opponent gets to select the initial state, whatever clever stratagem I use, if there is only deterministic motion, a loop in the state of the system can be found be selecting an initial state.

I guess an upper bound for P is needed then, but I cannot see how that can be useful, as the actual P might be magnitudes smaller...

If pseudo-randomness is allowed or having some guaranties for the prime factorization of P, maybe we can get somewhere. But it looks like what I had in mind originally is doomed to fail.

The only way I see to salvage this it now introduce some wierd statistic notion and have to show that as P goes to infinity, a random vaccinated stream gets to maximum occupancy state will asymptotic probability 1. Not sure I will have an audience for that (including myself, that is).

On another note, I thought one could emulate 1-D state automata on such loops, but maybe the problem I proposed is not the best to showcase that...
Last edited by Jormungant on May 28th, 2020, 12:14 pm, edited 1 time in total.

User avatar
dvgrn
Moderator
Posts: 10671
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Vaccinated glider loop challenge

Post by dvgrn » May 28th, 2020, 12:09 pm

Jormungant wrote:
May 28th, 2020, 12:02 pm
I guess an upper bound for P is needed then, but I cannot see how that can be useful, as the actual P might be magnitudes smaller...
Yeah, the real challenge seems to be

"Define a version of this problem that doesn't have a boring answer like 'count up to the upper bound of P while cleaning all the gliders out of the glider loop and replacing them with 74-tick-separated gliders.' "

Jormungant
Posts: 610
Joined: May 27th, 2016, 1:01 am

Re: Vaccinated glider loop challenge

Post by Jormungant » May 28th, 2020, 12:16 pm

dvgrn wrote:
May 28th, 2020, 12:09 pm
"Define a version of this problem that doesn't have a boring answer like 'count up to the upper bound of P while cleaning all the gliders out of the glider loop and replacing them with 74-tick-separated gliders.' "
Agreed! lol.

User avatar
gameoflifemaniac
Posts: 1242
Joined: January 22nd, 2017, 11:17 am
Location: There too

Re: Vaccinated glider loop challenge

Post by gameoflifemaniac » May 28th, 2020, 12:25 pm

I don't really understand what you're trying to find.
I was so socially awkward in the past and it will haunt me for the rest of my life.

Code: Select all

b4o25bo$o29bo$b3o3b3o2bob2o2bob2o2bo3bobo$4bobo3bob2o2bob2o2bobo3bobo$
4bobo3bobo5bo5bo3bobo$o3bobo3bobo5bo6b4o$b3o3b3o2bo5bo9bobo$24b4o!

Jormungant
Posts: 610
Joined: May 27th, 2016, 1:01 am

Re: Vaccinated glider loop challenge

Post by Jormungant » May 28th, 2020, 1:42 pm

Well well, I should just explain I guess. Basically, since I improved the universal regulator lately, I noticed that is it now possible to query the exact timing between 2 gliders of unknown timing mounted on a loop, without making any assumptions. If that information is retrieved, one use that information to remove specific glider and safely insert new ones onto the loop there were from. That loop can hypothetically be arbitrarily long.

Because of that, one can emulate 1D state automaton onto the glider stream, and I though a nice challenge would be to define a state automata which is guarantied to reach a state with glider in at definite configuration. If that configuration is known in advance, just paste that in, easy. I tried to make some additional rule that disallowed it, a state automata only sees part of the whole loop at any point in time. But now the problem is impossible, I would need to make the problem even more complicated so it become interesting (i.e. not having a trivial solution).

I guess the only nice trick I had that did work, it that strategy that allows to only get delays that are either 74s, 75s. Gaining the knowledge that there is at most 73 75s on the loop seems hopeless. If they diffused around randomly, then we have a solution, but the system we are dealing with is deterministic, so that might never find each other. A cycle of sequential states for the 1D automaton cannot be ruled out, so it might never reach the desired configuration.

User avatar
toroidalet
Posts: 1514
Joined: August 7th, 2016, 1:48 pm
Location: My computer
Contact:

Re: Vaccinated glider loop challenge

Post by toroidalet » May 28th, 2020, 1:53 pm

An option to do to it with an unknown period is to make a glider pair delayed by 77 (at 76, the reaction only protrudes a single cell) followed by a large gap (a multiple of 74, so we can fill it in easily). When the gliders return, the MWSS produced will trigger some other stuff, which rebuilds the syringe and sends some sort of signal. After receiving the infected glider pair, it would shift the next non-74 gap backward (shift the glider forward so the gap is 74), and then wait for another cycle. If a gap of 148+ is reached, gliders would be filled in. Once the final gap is right before the 77, it would fix that and fill in the big 74n.
The main challenge with this design is converting the E-eater collision into a glider or something while leaving enough room to restore the bait, especially the beehive with tail.
Any sufficiently advanced software is indistinguishable from malice.

User avatar
dvgrn
Moderator
Posts: 10671
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Vaccinated glider loop challenge

Post by dvgrn » May 28th, 2020, 2:11 pm

toroidalet wrote:
May 28th, 2020, 1:53 pm
An option to do to it with an unknown period is to make a glider pair delayed by 77 ...
We're not really allowed to do this, I think -- the "vaccinated glider loop" disallows any 76-tick or 77-tick gaps, because that could cause horrible explosions in the unknown mechanisms that are bouncing the loop around. If you introduce a glider pair with 77-tick spacing into the loop, it might well not come back at all.

It'd be a good trick otherwise, though, and maybe Jormungant will contradict me about its being allowable, since he made this whole thing up. Maybe the whole unknown glider-loop mechanism is guaranteed to be made out of nothing but Snarks.

Making an 77-Tick-Separation Controlled Explosion syringe isn't really that difficult, and rebuilding it is just a couple of compile operations away, plus a little fiddling around -- one compile to get the slow-salvo recipe from slsparse, and another to build a shotgun for that slow salvo. Probably I should build a reliable compiler for the slow-salvo shotgun design that showed up recently in the new pi-calculator printer and in the new binary-tape component.

EDIT: Oops, well, I guess it's not that easy, because we're talking about 74/75/78+ syringes, not the nice constructible syringes for 90+ ticks used for single-channel recipes. Someone would have to make a 1G seed for the right orientation of a standard syringe, first, starting from the known recipe. That's more like "a lot of fiddling around", not just a little.

Jormungant
Posts: 610
Joined: May 27th, 2016, 1:01 am

Re: Vaccinated glider loop challenge

Post by Jormungant » May 29th, 2020, 3:59 pm

nothing to see, just made a script for random vaccinated stream of a loop on +- unknown length (sot sure why I had to compress the lua script to post it, is that intended?).
Attachments
vaccinated_stream.zip
make a random stream of gliders, on a loop of random length
(1005 Bytes) Downloaded 134 times

Post Reply