Slow salvo seeds

For discussion of specific patterns or specific families of patterns, both newly-discovered and well-known.
User avatar
dvgrn
Moderator
Posts: 10670
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Slow salvo seeds

Post by dvgrn » September 22nd, 2015, 10:18 pm

codeholic wrote:V is quite curious in that all the still lifes are so close to each other and the reaction is also quite compact. It could be a good candidate for cheap synthesis for the cases when there are no strict spatial constraints.
Yes, there will be quite a few cases where it's possible to choose the order in which catalysts will be constructed. As long as the eater2 is constructed before any smaller still lifes nearby, that seed constellation should be reasonably easy to build and trigger in any orientation. The awkward extra blinker can even be suppressed without increasing the size very much:

Code: Select all

x = 27, y = 30, rule = LifeHistory
9.2A$9.2A3$14.2A$13.A2.A$7.A5.A2.A$6.A.A5.2A$6.A.A12.A$7.A12.A.A$20.
2A2$16.2A$12.D.2D2A$10.3D.2D$9.D$5.2D3.3D.2D$5.2D5.D.C$12.DADA$12.AD.
A$13.2A2$.3C$3.C$2.C!
The leftover block can be similarly suppressed by adding a bi-block, but that does increase the area quite a bit -- and anyway in many cases the block will come in handy as a target for the next part of the construction salvo.

At least one other seed can also be translated into a six-object eater2 constellation with very little spark around the eater2, in three directions anyway. This one's component objects are surprisingly far apart from each other, and again a convenient block target is left nearby:

Code: Select all

x = 82, y = 36, rule = LifeHistory
62.A$61.A.A$62.2A5$58.2A$14.2A42.2A$14.2A4$A.A47.A.A$.2A19.A28.2A19.A
$.A20.A28.A19.BAB$22.A49.A6$4.A49.A$3.A.A47.A.A$3.A.A47.A.A$4.A49.A3$
29.A49.A$13.2A13.DA2D31.2A13.DA2D$13.2A11.3DA2D31.2A11.3DA2D$25.D49.D
$26.3D.2D44.3D.2D$26.2AD.D45.2AD.D$25.A.AD.D44.A.AD.D$26.A2.D46.A2.D!

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Slow salvo seeds

Post by simsim314 » September 22nd, 2015, 10:27 pm

@dvgrn I'm surprised how consistent the 6SL cost for eater two.

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

Re: Slow salvo seeds

Post by dvgrn » September 23rd, 2015, 10:03 am

simsim314 wrote:@dvgrn I'm surprised how consistent the 6SL cost for eater two.
Maybe it shouldn't be too surprising. Eater2s are fairly unlikely creatures, so maybe 5sL just isn't quite a big enough search space, so there aren't any 5sL constellations, or just a few hard-to-find ones. But then 6sL constellations outnumber 5sL ones by several orders of magnitude, so lots of eater2 seeds show up when you cross that boundary.

Obviously there will be no shortage of 7sL seeds, since there are thousands of times as many of them as 6sLs again. But I suppose Catagolue will tend to find the 6sL ones as often as not, because a smaller simpler constellation (or equivalent active stuff) is more likely to show up at random in soup searches.

I still haven't gotten back to feeding my enumeration of all possible constellations to a custom version of apgsearch, to see how long it takes for things like eater2s show up. One of these days -- !

User avatar
codeholic
Moderator
Posts: 1147
Joined: September 13th, 2011, 8:23 am
Location: Hamburg, Germany

Re: Slow salvo seeds

Post by codeholic » September 23rd, 2015, 4:07 pm

I've brought a new portion of seeds, this time it's an eater 2 variant with the smallest bounding box.

Code: Select all

x = 428, y = 112, rule = LifeHistory
20.2A36.2A49.2A71.2A42.2A35.A53.3A3.3A32.3A63.2A$19.A2.A35.2A48.A2.A
70.2A41.A.A30.3A2.A44.3A.A104.2A5.2A$14.2A4.2A87.A.A51.2A60.2A31.A4.A
47.2A53.2A5.2A42.2A$13.A2.A59.2D32.A5.3A43.A2.A53.2A9.2A22.2D2.3A104.
A.A5.2A$14.2A50.A6.2D2.D85.2A7.2A45.2A9.2A22.D.D.2D61.2A43.A49.D$25.A
39.2A4.3D.2D37.A52.A3.A2.A11.2A68.D.2D61.2A92.D.D$25.A38.2A4.D43.A30.
2D19.A.A2.A2.A11.2A67.D153.2A4.D.D$25.A39.2A4.3D.2D37.A21.A5.2D2.D18.
A2.A3.2A42.3A36.2D.2D2.2A102.3A39.A.A3.2D.2D4.2A$66.A6.D.2D34.A5.2A
16.A.A2.3D.2D20.2A47.A3.A36.D.D3.A.A44.2A55.2A41.A8.D4.2A$27.2A81.A.A
4.A.A15.A.A.D65.D8.A5.A35.D.D4.A45.2A55.A2.A44.2D.D$27.2A81.A.A4.A18.
A3.3D.2D58.D.D8.A3.A37.D109.2A45.2D.D.D$111.A30.D.2D15.2D.D39.D.D9.3A
153.2D44.2D$161.2D.3D36.2D.2DA160.2D2.D$167.D35.D4.A101.2D55.3D.2D47.
2A$18.3A10.2A126.A.2D.3D37.D.2DA101.D2.2D9.2A40.D53.2A$9.2A6.A2.A10.
2A125.A.A2.2D9.A.A25.D.D.2D53.2A48.2D.3D6.A.A41.3D.2D$8.A.A6.A2.A137.
A.AD12.A2.A24.2D56.A.A54.D5.2A44.DA2D$8.2A7.2A53.A86.A14.A2.A3.2A78.A
49.2D.3D52.A.A$31.A39.A.A65.2A35.2A3.2A128.2D.D55.2A$12.A17.A.A38.A.A
65.2A283.3A$12.A18.2A39.A35.A316.A$12.A95.A316.3A$17.2A89.A$16.A2.A$
16.A2.A38.2A148.A$10.A6.2A14.D.2D21.2A148.A$9.A.A19.3D.2D171.A$9.A.A
18.D$10.A20.3D.2D27.2A$33.2D2.D26.2A110.A$36.DCA83.A52.A.A$36.A2.A82.
A52.A.A$37.2A83.A53.A2$124.3A$62.3A66$19.2A$19.2A$8.3A$10.A$8.3A$2D$D
2.2D$.2D.3D25.2A$7.D24.A.A$.2D.3D17.2A7.2A$.2D.D19.2A!
They're not as promising as the previous ones, but the last but one in the first row looks very good (the one that starts with a phi spark).
Ivan Fomichev

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

Re: Slow salvo seeds

Post by dvgrn » September 25th, 2015, 11:30 am

codeholic wrote:I've brought a new portion of seeds, this time it's an eater 2 variant with the smallest bounding box...
They're not as promising as the previous ones, but the last but one in the first row looks very good (the one that starts with a phi spark).
So what's a good one-glider seed for a phi spark? The one from a glider+blinker collision only works in the wrong orientation:

Code: Select all

x = 16, y = 20, rule = LifeHistory
A$A$A$7.2A5.2A$6.A.A5.2A$7.A$10.A.A$7.2D.2A$6.D2.D.A$6.D2.D$6.D2AC$7.
2D$13.2D$10.2D2.D$8.3D.2D$7.D$8.3D.2D$10.DA2D$10.A.A$11.2A!
The G+boat phi spark is obviously no good either -- interferes with the rest of the seed:

Code: Select all

x = 14, y = 9, rule = LifeHistory
2.A$3.A$.3A2$4.2D$3.D2.D5.A$3.D2.D4.A.A$3.D2.D4.2A$4.2D!

chris_c
Posts: 966
Joined: June 28th, 2014, 7:15 am

Re: Slow salvo seeds

Post by chris_c » September 25th, 2015, 6:41 pm

codeholic wrote:I went through all asymmetric soups in Catagolue that produce the canonical Eater 2 and compiled a list of the most promising ones in terms of slow salvo synthesis and usefulness for constructible circuitry.

I think the best of the best are the I, VI and VII. It also looks like to me they may constitute a universal set, that would be good enough for most purposes.
I did some work on recipes I and VI and I agree that we are pretty close to universal now:

Code: Select all

x = 206, y = 53, rule = LifeHistory
182.A$33.2A53.A92.A.A$33.2A52.A.A37.2A52.2A$88.2A37.2A$31.A5.A156.3A$
25.2A3.A.A3.A.A140.A$25.2A3.A.A3.A.A36.2A14.A87.A12.A$18.2A11.A5.A37.
2A14.A87.A12.A$17.A2.A70.A43.A56.A$18.2A115.A$135.A68.A$66.A136.A.A$
18.2A45.A.A135.A.A$17.A.A45.A.A60.2A74.A$19.A46.A60.A2.A$128.2A$117.A
$13.2A101.A.A$12.A.A101.A.A$14.A102.A68.A$84.A101.A$19.2A63.A101.A$
13.A4.A2.A62.A57.A$13.A4.A2.A120.A$.2A10.A5.2A121.A$A.A$2.A190.2A$76.
2A61.2A26.A25.2A$76.2A60.A.A26.2A$139.A26.A.A3$114.3A$116.A$115.A4$
160.3A$162.A$105.3A53.A$43.A63.A$43.2A61.A$42.A.A7$99.A$99.2A$98.A.A!

BobShemyakin
Posts: 214
Joined: June 15th, 2014, 6:24 am

Re: Slow salvo seeds

Post by BobShemyakin » September 26th, 2015, 7:00 am

gmc_nxtman wrote:Slow-salvo seed for an interesting (but useless) p2, I'm guessing that it can be reduced:

Code: Select all

x = 26, y = 28, rule = B3/S23
23bobo$23b2o$24bo12$10bo$10bo$10bo$5b2o10bo$4bo2bo8bobo$5b2o10bobo$b2o
7b2o6b2o$o2bo5bo2bo10b2o$b2o7b2o10bo2bo$23b2o$6bo$5bobo$5bobo$6bo!
Or from 14 gliders:

Code: Select all

x = 79, y = 66, rule = B3/S23
59bobo$59b2o$60bo15$43bobo$43b2o$44bo2$33bo$32bo$32b3o$2bo$obo$b2o3$
28bobo$28b2o$29bo$obo$b2o$bo5bo$5bobo$6b2o2$36bo$19bobo12b2o$20b2o13b
2o$20bo2$73b2o2b2o$72bo2bo2bo$15bobo54bo2b3o$15b2o52b2obo$16bo53bobob
2o$68bobobo2bo$68b2o3b2o$13b3o$15bo$14bo2$22b3o$24bo$23bo4$44bo$43b2o$
43bobo$20bo$20b2o$19bobo!
Bob Shemyakin

User avatar
gmc_nxtman
Posts: 1150
Joined: May 26th, 2015, 7:20 pm

Re: Slow salvo seeds

Post by gmc_nxtman » October 12th, 2015, 10:28 am

BobShemyakin wrote:
gmc_nxtman wrote:Slow-salvo seed for an interesting (but useless) p2, I'm guessing that it can be reduced:

Code: Select all

x = 26, y = 28, rule = B3/S23
23bobo$23b2o$24bo12$10bo$10bo$10bo$5b2o10bo$4bo2bo8bobo$5b2o10bobo$b2o
7b2o6b2o$o2bo5bo2bo10b2o$b2o7b2o10bo2bo$23b2o$6bo$5bobo$5bobo$6bo!
Or from 14 gliders:

Code: Select all

x = 79, y = 66, rule = B3/S23
59bobo$59b2o$60bo15$43bobo$43b2o$44bo2$33bo$32bo$32b3o$2bo$obo$b2o3$
28bobo$28b2o$29bo$obo$b2o$bo5bo$5bobo$6b2o2$36bo$19bobo12b2o$20b2o13b
2o$20bo2$73b2o2b2o$72bo2bo2bo$15bobo54bo2b3o$15b2o52b2obo$16bo53bobob
2o$68bobobo2bo$68b2o3b2o$13b3o$15bo$14bo2$22b3o$24bo$23bo4$44bo$43b2o$
43bobo$20bo$20b2o$19bobo!
Bob Shemyakin
Nice!

Reporting the messy but edgy 5-SL phoenix seed from here.

Code: Select all

x = 59, y = 35, rule = B3/S23
2o$2o11$15bo$10b2ob2o$10b2o2b2o13$45bo$45bo11b2o$45bo11b2o3$11bo$11bo$
11bo!
Could someone try seeds of destruction on that one, or try to find a one-object seed for the 14-cell diehard in this pattern?

Code: Select all

#C 14-cell object + SLS = Phoenix + Junk 
x = 27, y = 21, rule = B3/S23
b2o$o2bo$b2o$7bobo$9b2o$10b2o$9b2o$7b3o$7b2o$7bo2$12b3o10b2o$25b2o7$5b
2o$5b2o!
I scoured catagolue and found these seeds.

Some 4-5 SL seeds for eater2 variants:

Code: Select all

#C Leftmost- 5-SL clean seed for an eater2 variant.
#C Middle- 4-SL seed for the same variant.
#C Rightmost- 4-SL seed for another variant, which IMHO is best because the only
#C debris can be cleaned up with slow salvo gliders.
x = 79, y = 29, rule = LifeHistory
41.2E$40.B2E22.B$12.B24.B3.2B21.3B$10.2B2D2B19.7B22.3B$10.BD2BD2B18.
8B19.6B$9.2BD2BD3B16.9B13.B5.7B$8.4BCD5B14.4BE6B11.14B$8.2DBEBE4B15.
2DBEBE4B10.17B$8.2DBEBE3B16.2DBEBE3B11.17B$4.2B.5BE3B13.2B.5BE3B11.
15B2EB$3.3B3DBD4B13.3B3DBD4B13.4BE9B2EB$.4BD3B2DE4B10.4BD3B2DE4B12.3B
EBE10B$.E4B2D2BEBE2B11.E4B2D2BEBE2B13.4B2E10B$EBE4BDBDC2BEB10.EBE4BDB
DC2BEB13.12BE3B$EBE4BD2BD2EB11.EBE4BD2BD2EB15.10BEBE2B$.E6B2D3B13.E6B
2D3B18.8BEBE2B$4.8B17.8B20.8BE4B$4.5B2E2B16.5B2E2B20.12B2EB$5.3BEBE2B
17.3BEBE2B20.7B2D2BE2BEB$6.3BE2B19.3BE2B21.6BD2BD2B2E4B$6.6B19.6B21.
6BDBD10B$8.B2A22.B2A22.2B2AB2DB2D9B$8.A.AB21.A.AB22.ABA13B2D2B$9.BA
23.BA24.BAB2DB4D5B2D2B$61.2B2DBD2BD8B$61.15B$62.4B2.6B$62.4B2.5B$63.
2B4.2B!
Some oscillator seeds(EDIT: Moved here)

Code: Select all

#C 1: Mold in 4SL. The topmost block is a tentative cleanup object, and a neater cleanup
#C object is wanted.
#C 2: 3 4SL Figure Eight seeds, two of which are trivial variants of each other.
#C 3: Two "edgy" 4SL unix seeds, useful in different situations.
#C 4: 4SL seed for Octagon II.
#C 5: Fumarole + Glider in 5SL.
#C 6: Mazing in 4SL.
#C 7: Eater eating Integral in 6SL.
#C 8: Tumbler in 5SL.
#C 9: Clock in 3SL.
x = 94, y = 354, rule = LifeHistory
35.F.2B$36.3B$36.4B$37.4B$38.4B$39.4B$40.4B$41.4B27.3B$42.4B25.B2D2B$
43.4B23.BD2BD2B$44.4B15.B6.BDBD2BDB$45.4B12.3B2E.2B.2BD6B$46.4B9.5B2E
7B2DBD3B$30.3BDB12.4B8.16BD4B$26.B.5BD2B12.4B6.22B4.C$22.11BD3B12.4B
5.22B3.EDE$21.16B13.4B3.25B.BCE$19.19B3.2B2.B5.4B.29B$2.D15.29B5.28BD
4B$19.29B5.27BD3B$2.D17.29B5.26BD3B2.2E$20.4B.60B.2E$2.D18.2B2.6B2.B.
42BD10B$29.B6.40BDBD9B$2.D33.40BDBD9B.2B$36.41BD15B$2.D33.58B$36.43BD
14B$35.20B.16BABA4BD14B$34.2D3B2D4B2D8B2.16B2A4BD14B$34.2D3B2D4B2D2.
4B6.14BA10B2D6B$36.7B16.8B.16B2D6B$36.6B20.2B4.5B2E16B$37.4B28.3B.2E
2.3B3.7B$84.B3.B15$31.B5.B2.3B$29.B3E3.8B$29.3E2B.9B14.E16.2E$29.10B
2E4B8.2B2.E.E10.2B2.E2.E$30.9BEBE2B7.ABA4BE.E7.ABA4BE.E$29.11BE3B7.B
2A5BE8.B2A5BE$28.6B3D6B6.2BDAD5B7.2BDAD5B$29.5B3D5B7.2B3D2BE2B7.2B3D
2BE2B$30.4B3D4B8.2B3DBEBE2B6.2B3DBEBE2B$30.7B3D2B7.5BDCDE2B6.5BDCDE2B
$29.8B3D2B5.2EB.3B2DC2B5.2EB.3B2DC2B$D.D.D23.9B3D2B5.2EB2.2B3D2B5.2EB
2.2B3D2B$28.12B13.4B13.4B$4.D22.14B10.6B11.6B$28.6B2D6B9.2E15.2E$D.D.
D23.6B2D6B9.2E15.2E$30.11B$D29.3BA7B$32.2BA6B$D.D.D27.3A2BE4B$33.3BEB
E4B$35.BE2BE4B$34.3B2E5B$34.8B$32.10B$32.2BE7B$32.2BE6B$33.BE4B$34.5B
$36.3B17$57.4B$57.3B2E$55.2C3BEB$53.2B2C4B.BE$36.B15.8B.B2EB$35.3B13.
8B.5B$35.4B13.2B.3B.6B$35.4B13.13B$D.D.D28.7B12.9B2C$33.7B12.9B2C$4.D
28.9B12.8B$33.3BA3B2E2B10.BA6B$D.D.D28.4B2AB2E3B8.ABA5B$34.2B2A8B8.2A
4B$4.D23.17B9.6B$28.3BDCE8B11.6B$D.D.D22.2C2BCD.EB.5B11.2B2EB$27.2CB.
C.DCB17.2BE3B$28.B3.2CDB16.BEBE4B$33.3B16.B2E4B$32.4B16.7B$31.B2C2B
17.5B$32.2C19.4B$54.B18$32.2D3.3BA$31.D2BD3BABAB$D3.D26.BCD5B2AB$31.E
BE7B.2B$D3.D27.2E5BE4B$34.4BEBE4B$D.D.D29.4BE2BE3B$34.5B2E4B$4.D26.
13B$31.D2BD9B$4.D24.BDBDCED7BD$29.2BDEBC2B3.2EDBD$29.2BD2ED2B3.EBCBD$
29.BCE2DBDB4.EBD$29.EBC2BD$29.2E4B10$64.B$62.3B$62.3BF$61.4B$60.4B$
59.4B$58.4B$57.4B$31.4B14.4B3.4B$27.2B.2B2D5B2.2B3.13B$D.D.D21.5BD2BD
20B2EB$25.7B2D21B2E$D22.33B$22.6B3E18BABA3B$D.D.D17.28B2A2B$23.3BE5B
2D16BA3B$4.D19.BCDE.BD4BDB.B2DB4.8B$24.BCDBEBD4BDB2.2DB6.2B2E2B$D.D.D
20.B2E.ED4BDB13.2E$27.BEBED2BD2B$28.EDBE2.DECB$29.2C4.2C11$35.2B$34.
4B$33.5B$32.7B$31.8B$31.8B$31.9B$31.8B2D$32.4BE2B2D$31.5BE4B$31.5BE5B
$27.3B.12B$27.5B3E9B$26.18B$25.19B$D.D.D19.20B$24.7BA12B$D24.7BA3B2D
6B$24.6B3A3B2D5B3.2B$D.D.D18.11BE8B2.4B$24.10BE5BD8B$D3.D20.3B.5BE4BD
BDE5B2E$25.2B3.9B2DEBE4B2E$D.D.D26.2BD2B3E3BE6B$31.2BD15B$31.3D13B$
30.B2D14B$31.2D2B3D6B.B$33.3D8B$33.3D7B$34.9B$36.7B$36.6B$36.7B$37.6B
$38.B.B10$41.3B$40.4B2D$40.3BD2BD$40.4BDBD2B$40.5BD4B$39.12B.B$38.14B
2E$38.14B2E$38.5B2D9B$D.D.D34.4B2D12B$36.2B2.18B2.2B$4.D28.BE4B.B2E
20B$30.3BEBE5B2E7BD12B$4.D24.4BEBE14BD4B2D7B$28.6BE15BD4B2D7B$4.D22.
36B$27.2B2E13B2D17B$4.D22.BE2BE12B2D16B$26.3B2E29B$26.34B$26.11B3E19B
$26.33B$26.26B2.5B$25.5B2D20B3.2B$26.4B2D2B2E16B$27.7B2E15B$29.14B2.
6B$29.2BD11B3.4B$29.3D11B5.B$28.D14B$28.2D3B2D9B$26.7B2D8B$26.2D2.12B
$26.BD7BA5B$24.3D9B2AB2EB$23.D11B2A2B2CB$23.2D13BD2BD$24.15B2DB$27.
14B$28.13B$29.12B$30.10B$31.7B$29.10B$29.9B$30.9B$30.10B$31.2BD6B$31.
2BD6B$32.BD5B$35.4B$37.B20$D.D.D34.2E$39.2E$D3.D30.6B$32.2B2D6B$D.D.D
23.5BD9B$27.B2E4BDB2D7B$D3.D21.2B2E5BDADA6B$25.12B2A7B$D.D.D21.9BDBC
7B$26.B2E5BDB2D7B$25.BE2BE3BD2B2E5B$25.BE.E3.2B2D2E4B$26.BE7.6B$39.2E
$39.2E14$38.4B$33.3B.6B$32.2B3DA5B$30.8BA4B$24.12B3A2BEB$22.18BEBE$
21.3D16BEBE$D.D.D17.19BE2B$24.19B$D3.D24.2B.5BD5B$28.9BDBD2B$D.D.D24.
2B2E3BDBD2B$28.2BE2BE4BD$4.D23.2BEBE5B$28.3BEB2DB.3B$2.D.D24.4B2D3.2E
$29.4B5.2E!
And some spaceship seeds:

Code: Select all

#C Top: Clean Eastward HWSS on HWSS in 5SL
#C Bottom: Westward HWSS on fore-LWSS in 5SL
x = 46, y = 81, rule = LifeHistory
12.B$11.3B$10.4B$10.5B$10.5B$8.33B2D$6.5BABA25BD4BD$5.6B2A32BD$6.6BA
26BD5BD$7.33B6D$7.5B2E30B$7.5B2E5B$6.38B$6.34B6D$7.32BD5BD$7.6BE31BD$
7.5BEBE24BD4BD$7.6BE27B2D$8.9B$7.10B2E$7.10B2E$7.11B$7.11B$7.11B$6.5B
2E5B$6.2E2BE2BE5B$6.2E3BEBE5B$5.7BE4B$5.12B$6.10B$8.B.6B$10.5B$11.4B
2E$14.B2E7$17.2E$15.2B2EB$15.5B$16.3B$16.4B$10.D3.B2.3B5.2B$9.BD18B$
9.BD19B.2B$8.25B$8.26B$8.26B$8.26B2.B$8.30B$7.31B$6.BD30B$5.BDBD30B$
4.2BDBD11BD19B$4.3BD11BDBD18B$3.16B2D17B$.B2D7B2D24B$BD2BD5BD2BD2BABA
17B$.B2D7B2D4B2A16B$3.14BA16B$5.2BD26B$4.2BDBD8B2E9B.2B$3.3BDBDB2E5B
2E5B.3B$4.3BDBE2BE14B$4.6BEBE14B$5.6BE15B$3.35BD2BD$3.2EB.12B2E21BD$
3.2EB3.9BEBE17BD3BD$14.5BE19B4D$15.26B$17.12B$17.24B$18.19B6D$19.17BD
5BD$19.23BD$19.17BD4BD$20.B3.14B2D!

simeks
Posts: 407
Joined: March 11th, 2015, 12:03 pm
Location: Sweden

Re: Slow salvo seeds

Post by simeks » January 27th, 2016, 2:37 pm

An eater2 seed from this soup:

EDIT: Oh, one of the blocks wasn't needed, updated pattern:

Code: Select all

x = 28, y = 22, rule = LifeHistory
14.2A$14.2A2$21.A$21.A$21.A3$26.2A$22.A3.2A$14.2A6.A$13.A.A6.A$14.A3$
16.A$16.A$16.A2$3A$2.A$.A!

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

Re: Slow salvo seeds

Post by dvgrn » January 28th, 2016, 2:59 am

simeks wrote:An eater2 seed from this soup...
Hey, this is really a nice eater2 seed -- no big sparky splashes, a quick conversion, and it will probably be possible to find slow-salvo recipes to build some pairs of seed objects simultaneously.

If the top boat is replaced by a ship, it's a clean eater2 seed:

Code: Select all

x = 22, y = 18, rule = LifeHistory
7.2A$7.A.A$8.2A3$14.3A3$9.3D$20.2A$9.D3.D6.2A$8.2A4D.3A$7.A.A3.D$8.A$
2A$.2A$A$9.3A!
Also, check out T=50. That's a switch engine! So using Chris Cain's two-boats-to-switch-engine conversion, we can knock this down to a 5sL seed:

Code: Select all

x = 27, y = 26, rule = LifeHistory
12.2A$12.A.A$13.2A3$19.3A4$15.2A8.2A$15.A.A7.2A$16.A3$15.2A$15.A.A$
16.A7$3A$2.A$.A!
Now, ideally this would be an eater2 variant instead of an actual eater2. It turns out that it's currently much more expensive to build the nearby fishhook eater (e.g., in the syringe variant found in the Demonoids) next to a standard eater2, because almost all fishhook eater seeds (and all known slow-salvo recipes) turn on too many cells near the tip of the eater's tail.

The block+table+hat eater2 (for example) is much more compatible with known slow-salvo fishhook-eater recipes. I think the best of the known eater2 variant seeds is this 4sL one that gmc_nxtman pointed out a while ago:

Code: Select all

x = 27, y = 28, rule = LifeHistory
13.B$12.3B$12.3B$10.6B$4.B5.7B$3.14B$.17B$.17B$15B2EB$.4BE9B2EB$.3BEB
E10B$.4B2E10B$.12BE3B$2.10BEBE2B$4.8BEBE2B$5.8BE4B$6.12B2EB$6.7B2D2BE
2BEB$6.6BD2BD2B2E4B$6.6BDBD10B$6.2B2AB2DB2D9B$7.ABA13B2D2B$8.BAB2DB4D
5B2D2B$9.2B2DBD2BD8B$9.15B$10.4B2.6B$10.4B2.5B$11.2B4.2B!
-- The new one is still really good, though! There are other circuits besides syringes where eater2s might come in handy, if they're this inexpensive to build.

EDIT: Thinking again this morning: I was making an assumption that certainly won't be true in all cases. Any time it can be arranged to build the fishhook eater first, and then trigger the eater2 seed, that will be fairly inexpensive because normal cheap fishhook eater recipes can be used. chris_c's universal-ish set of recipes will allow that build order... This new clean eater2 seed won't help in that case, though.

An important detail in future self-constructing patterns is, if there's self-destruct circuitry, remember to design it to be compatible with whatever eater2 seed is going to be used. The Demonoids had some tricky build-order difficulties that could easily have been avoided, if I hadn't already put in too much construction work before I saw the problem. Eater2s are going to start being really surprisingly cheap -- with enough advance planning.

simeks
Posts: 407
Joined: March 11th, 2015, 12:03 pm
Location: Sweden

Re: Slow salvo seeds

Post by simeks » January 28th, 2016, 1:53 pm

dvgrn wrote:Also, check out T=50. That's a switch engine!
Yes, I found that out the hard way ;)

Actually, I searched for a seed for the pattern in gen 49, but that pattern doesn't occur in Chris Cain's two-boats-to-switch-engine conversion, or else I might have found it...
dvgrn wrote:It turns out that it's currently much more expensive to build the nearby fishhook eater (e.g., in the syringe variant found in the Demonoids) next to a standard eater2, because almost all fishhook eater seeds (and all known slow-salvo recipes) turn on too many cells near the tip of the eater's tail.
Maybe this one will work?

Code: Select all

x = 400, y = 381, rule = LifeHistory
18.A$16.3A$15.A$15.2A$2A$.A$.A.2A$2.A2.A$3.2A$18.2A13.2D$18.2A13.2D4$
29.3E3$21.2A.A6.2D$21.2A.3A3.D.D$27.A2.D$21.2A.3A2.2D$22.A.A$10.2A10.
A.A$10.2A11.A17$61.3A$61.A$62.A55$109.3A$109.A$110.A50$157.3A$157.A$
158.A44$205.3A$205.A$206.A40$254.2A$253.2A$255.A35$302.2A$301.2A$303.
A50$349.3A$349.A$350.A50$397.3A$397.A$398.A!
EDIT: This one is even less intrusive:

Code: Select all

x = 498, y = 484, rule = LifeHistory
18.A$16.3A$15.A$15.2A$2A$.A$.A.2A$2.A2.A$3.2A$18.2A13.2A$18.2A13.2A7$
21.2A.A6.2D$21.2A.3A3.D.D$27.A2.D$21.2A.3A2.2D$22.A.A$10.2A10.A.A$10.
2A11.A7.3E26$63.3A$63.A$64.A48$111.3A$111.A$112.A40$159.3A$159.A$160.
A52$208.2A$207.2A$209.A41$256.2A$255.2A$257.A52$303.3A$303.A$304.A41$
351.3A$351.A$352.A50$400.2A$399.2A$401.A40$448.2A$447.2A$449.A50$496.
2A$495.2A$497.A!

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

Re: Slow salvo seeds

Post by dvgrn » January 29th, 2016, 12:04 am

simeks wrote:
dvgrn wrote:... almost all fishhook eater seeds (and all known slow-salvo recipes) turn on too many cells near the tip of the eater's tail.
Maybe this one will work?...
EDIT: This one is even less intrusive...
Yup, those look good. Where did you dig those up? They should certainly get added to the standard slow-salvo eater placement toolkit (unless they were there already and I somehow missed them when fighting my way through the Demonoid Tile A recipe.)

Between these and the new eater seeds, it looks like someone (besides me!) could cut several percentage points off the size of the Demonoid, if they spent enough time on it.

simeks
Posts: 407
Joined: March 11th, 2015, 12:03 pm
Location: Sweden

Re: Slow salvo seeds

Post by simeks » January 29th, 2016, 4:54 pm

dvgrn wrote:Where did you dig those up?
The single-construction-lane elbow-op search program I'm working on is quite similar to a slow salvo search program. Just send single gliders instead of pairs, and vary the lane instead of the distance between the gliders in the pair.

So I adapted my program, and made a search specifically for an eater 1 in that orientation. I meant to track the envelope of the recipes somehow to filter the results, but it was a bit more compicated to add than I thought at first, so I ended up sifting through some 1300 results manually, for up to 10 slow gliders.

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

Re: Slow salvo seeds

Post by dvgrn » January 29th, 2016, 11:20 pm

simeks wrote:... I adapted my program, and made a search specifically for an eater 1 in that orientation. I meant to track the envelope of the recipes somehow to filter the results, but it was a bit more compicated to add than I thought at first, so I ended up sifting through some 1300 results manually, for up to 10 slow gliders.
If you're searching to a depth of 10 gliders that quickly, your code is doing pretty well, I would say!

Paul Chapman's 'Glue2' search program could reach a depth of 15-20, but only by severely constraining the search space (small intermediate targets, fast settling time, no P2 stuff, etc.) The half-million results I have are from a fairly thorough depth-9 search, so I guess it makes sense that I wouldn't have your ten-glider recipe. And the eight-glider version starts from a blinker, where Paul's search started from a block.

I think the envelope-tracking idea is another good application for a post-processor script, by the way. For example, a script could very quickly run through your 1300 recipes and find the ones where at least one of the final eater cells was adjacent to a state-0 cell in LifeHistory (as opposed to a state-2 cell).

Actually, I'd like to do a similar automatic or semi-automatic collection of "edgy" slow-salvo recipes for all orientations of all Spartan still lifes. I'd really like to see a reasonably efficient construction recipe for the 14sL loafer seed, for example.

[Put a single-channel recipe for that loafer seed into a big loop, and suddenly anywhere you want to put in a glider splitter, you can get another loafer out almost for free, just by dropping an elbow block and a hand target in the right place...!]

User avatar
Kazyan
Posts: 1247
Joined: February 6th, 2014, 11:02 pm

Re: Slow salvo seeds

Post by Kazyan » January 30th, 2016, 4:48 am

Seed for this 14-bit SL:

Code: Select all

x = 11, y = 28, rule = B3/S23
8bobo$8b2o$9bo6$3b2o$3b2o2$8b3o$3bo$2bobo$2bobo$3bo$6bo$6bo$6bo2$2o$ob
o$b2o4$9b2o$2b3o4b2o!
On a more useful note, I think it may be worth finding seeds that function as components--for example, adding a tail to an object. These catalysts would be easier to use, if cheap tail-adding seeds were found:

Code: Select all

x = 19, y = 10, rule = B3/S23
2o8b2o$obo7b2o3bo$2bo11bobo$2b2o11bobo$17bo$2b2o13b2o$2bobo$3bo$3o$o!
Tanner Jacobi
Coldlander, a novel, available in paperback and as an ebook. Now on Amazon.

simeks
Posts: 407
Joined: March 11th, 2015, 12:03 pm
Location: Sweden

Re: Slow salvo seeds

Post by simeks » January 30th, 2016, 2:54 pm

dvgrn wrote:If you're searching to a depth of 10 gliders that quickly, your code is doing pretty well, I would say!
Well, I certainly have to limit the search space too, to reach 10 gliders.

Already after 7 slow gliders on a blinker, there are about 20 million intermediate targets, so I have to start filtering them.

I tried a slightly wider search today, on eaters in the same oriention as before. After each new glider, I limited the number of intermediate targets to at most 3 million, by picking those that fit in a small enough circle centered on the original blinker target.

Searching to 10 gliders took 2.5 hours and found 1964 results, including these two edgy ones that weren't found in the previous search. One of them is only 5 gliders and some clean-up away from a block.

Code: Select all

x = 453, y = 433, rule = LifeHistory
18.A127.A$16.3A125.3A$15.A127.A$15.2A126.2A$2A126.2A$.A127.A$.A.2A
124.A.2A$2.A2.A124.A2.A$3.2A126.2A$18.2A13.2A111.2A13.2A$18.2A13.2A
111.2A13.2A7$21.2A.A6.2D116.2A.A6.2D$21.2A.3A3.D.D116.2A.3A3.D.D$27.A
2.D3.3A118.A2.D$21.2A.3A2.2D118.2A.3A2.2D8.2A$22.A.A125.A.A14.2A$10.
2A10.A.A113.2A10.A.A$10.2A11.A114.2A11.A25$199.3A$199.A$200.A6$67.2A$
66.2A$68.A31$247.3A$247.A$248.A4$115.2A$114.2A$116.A40$163.2A$162.2A$
164.A15$295.3A$295.A$296.A27$210.3A130.3A$210.A132.A$211.A132.A50$
258.3A$258.A$259.A2$392.2A$391.2A$393.A49$306.3A$306.A$307.A32$354.3A
$354.A$355.A54$402.3A$402.A$403.A48$451.2A$450.2A$452.A!
However, I guess the best trade-off between searching deep and wide needs to be explored further.

The method of filtering based on a circle centered on the original target, I moved over without change from the single-lane elbow searcher, where it seems to work reasonably well. But for the slow salvo version I'm not so sure.
dvgrn wrote:Actually, I'd like to do a similar automatic or semi-automatic collection of "edgy" slow-salvo recipes for all orientations of all Spartan still lifes.
I take it most slow salvo recipes collected this far, have started with a block? I assumed a blinker would be a good alternative because there are more useful reactions with the first glider, and you can have recipes with a very small envelope. But I notice there is a very efficient block splitter with just 2 gliders, while it takes 4 gliders to split a blinker.

So, I was considering if collecting recipes like this one would be an option, to do away with the need to split the target object for each new recipe. Or are such recipes (with blocks) already used in slow-salvo construction?

Code: Select all

x = 275, y = 274, rule = LifeHistory
272.3C26$240.3A$242.A$241.A55$192.3A$194.A$193.A43$144.3A$146.A$145.A
41$96.3A$98.A$97.A56$48.2A$49.2A$48.A40$2A$.2A$A!
Kazyan wrote:On a more useful note, I think it may be worth finding seeds that function as components--for example, adding a tail to an object.
Yes, that would be interesting. It would need some work to allow for existing objects that must survive in the search program, but it could be useful in other ways too. I'll keep it in mind.

I've already been able to search for a seed for a specific spark with my program. Is there a known spark that adds the tail to those objects?

User avatar
Extrementhusiast
Posts: 1966
Joined: June 16th, 2009, 11:24 pm
Location: USA

Re: Slow salvo seeds

Post by Extrementhusiast » January 30th, 2016, 3:17 pm

simeks wrote:I've already been able to search for a seed for a specific spark with my program. Is there a known spark that adds the tail to those objects?
Yes, something along these lines:

Code: Select all

x = 6, y = 7, rule = B3/S23
2o$4o$2b4o2$bo$obo$bo!
The top two cells are just there to prevent a block from forming and killing the tail; it doesn't have to be those specific cells.

I had also found this method via the soup search:

Code: Select all

x = 17, y = 22, rule = B3/S23
2bo$obo$b2o4$11bobo$11b2o$12bo$3bo$bobo$2b2o2$12bo$11bo$11b3o2$14b2o$
14bobo$4bo9bo$3bobo$4bo!
I Like My Heisenburps! (and others)

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

Re: Slow salvo seeds

Post by dvgrn » January 30th, 2016, 4:01 pm

simeks wrote:I take it most slow salvo recipes collected this far, have started with a block? I assumed a blinker would be a good alternative because there are more useful reactions with the first glider, and you can have recipes with a very small envelope.
That's right. The block is traditional, not for any very good reason, just because the original idea was not to allow P2 intermediate objects: when the recipe was being read off a static tape, it would have taken another bit of information and a lot more circuitry to specify the parity of each glider.

Any kind of leftover junk is good, as long as there isn't too much of it, it's not dangerously close to the constructed object, and there's a cheap path to the next object. Ideally each recipe should have a choice of a lot of different leftover objects, so an automatic compiler could go through them and pick the best target for continuing a particular construction.
simeks wrote:But I notice there is a very efficient block splitter with just 2 gliders, while it takes 4 gliders to split a blinker.

So, I was considering if collecting recipes like this one would be an option, to do away with the need to split the target object for each new recipe. Or are such recipes (with blocks) already used in slow-salvo construction?
Yes, an object-plus-leftover-blinker recipe catalogue would be a great thing to have! I sorted out several thousand object+block recipes for the linear propagator project, and relied on them heavily -- the list is posted somewhere or other.

The only reason for limiting the target junk to a block was that it made the project simpler -- it was easy to look up a block deltaX and deltaY in a table. Working from honeyfarm to honeyfarm would have been just as good, or better, because there are so many ways to get to a honeyfarm. There are a quite a few other leftover-junk objects that it might be worth generating lookup tables for, along with blinkers. It's just tough to get that much information organized properly.

simeks
Posts: 407
Joined: March 11th, 2015, 12:03 pm
Location: Sweden

Re: Slow salvo seeds

Post by simeks » January 30th, 2016, 9:14 pm

Kazyan wrote:On a more useful note, I think it may be worth finding seeds that function as components--for example, adding a tail to an object.
I found this:

Code: Select all

x = 9, y = 19, rule = LifeHistory
.2A$A.A$.A$4.A$4.A$4.A2$6.3A$3.A$3.A$3.A6$2.3A$4.A$3.A!
Here is the full recipe from a blinker:

Code: Select all

x = 379, y = 391, rule = LifeHistory
372.2A$371.A.A$372.A6$376.3A34$336.3A$338.A$337.A49$289.A$289.2A$288.
A.A39$240.3A$242.A$241.A51$192.3A$194.A$193.A42$145.A$145.2A$144.A.A
52$97.A$97.2A$96.A.A50$49.A$49.2A$48.A.A49$.A$.2A$A.A!

User avatar
Kazyan
Posts: 1247
Joined: February 6th, 2014, 11:02 pm

Re: Slow salvo seeds

Post by Kazyan » January 30th, 2016, 9:30 pm

simeks wrote:

Code: Select all

x = 9, y = 19, rule = LifeHistory
.2A$A.A$.A$4.A$4.A$4.A2$6.3A$3.A$3.A$3.A6$2.3A$4.A$3.A!
Here is the full recipe from a blinker:

Code: Select all

x = 423, y = 437, rule = LifeHistory
417.2A$416.A.A$417.A3$420.3A39$384.3A$386.A$385.A41$336.2A$337.2A$
336.A50$288.3A$290.A$289.A38$240.2A$241.2A$240.A51$192.2A$193.2A$192.
A43$144.3A$146.A$145.A52$96.3A$98.A$97.A50$48.3A$50.A$49.A49$3A$2.A$.
A!
Very nice. The spark to look for is a P-spark or pre-block at the edge of the reaction envelope:

Code: Select all

x = 26, y = 11, rule = LifeHistory
19.A$18.A.A$19.A$4.2A$.3BA4B11.4A$3BA6B12.4A$10B11.A.A$10B$10B$10B$.
8B!
There are also bound to be recipes in Catagolue. Trans-half-bakery with tail is almost exclusively going to appear when a tail is tacked onto a half-bakery, in particular. Here's an option found from one of the soups there:

Code: Select all

x = 30, y = 17, rule = B3/S23
5bo$6b2o$5b2o2b2o$9b2o5$24b2o$4b2o19bo$3bobo17bobo$3b2o18b2o2$7b2o18b
2o$bo5bobo11bo5bobo$obo5bo11bobo5bo$bo19bo!
(I don't know off-hand the cheap way to make a century from a glider and SL.)
Tanner Jacobi
Coldlander, a novel, available in paperback and as an ebook. Now on Amazon.

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

Re: Slow salvo seeds

Post by dvgrn » February 12th, 2016, 6:41 pm

simeks wrote:I tried a slightly wider search today, on eaters in the same oriention as before. After each new glider, I limited the number of intermediate targets to at most 3 million, by picking those that fit in a small enough circle centered on the original blinker target.

Searching to 10 gliders took 2.5 hours and found 1964 results...
Whenever you think that the slow-salvo version of your search program might be comprehensible to a wider audience, please advertise it! It seems like you might be working toward a good replacement for Paul Chapman's 'Glue2' program, which found pretty much every slow-salvo recipe that's been used in self-constructing circuitry so far.

Among other things, I'd be very interested to see the first couple thousand (let's say) results for each type of Spartan still life found in the Cordership and loafer seeds. That would be boats, ships, ponds, and longboats-pointing-away-from-the-slow-salvo.

We already have pretty good recipes for blocks and eaters. Searches have never been run starting from a blinker, though, and it looks like there are quite a few nice new recipes to be found there.

Given a collection of thousands of recipes, I might write a script to automatically sort out the "edgiest" ones... or I might just run them in a big stamp collection in LifeHistory and pick out the good ones by hand. It depends on what kind of lazy I'm feeling, which changes from day to day.

EDIT:
Kazyan wrote:(I don't know off-hand the cheap way to make a century from a glider and SL.)
The block+ship seed looks pretty good for now, at least until a search is run for the cheapest edgy slow-salvo recipe. You can get a century from one particular boat+glider collision, but it's not edgy in the least:

Code: Select all

x = 10, y = 12, rule = LifeHistory
2A$A.A$.A2$2.2D$3.D$.D.D$.2D2$8.2A$7.2A$9.A!
There's also a ship+glider collision that makes a queen-bee, which turns into two centuries that are edgy enough to work here:

Code: Select all

x = 21, y = 11, rule = LifeHistory
17.2A$.A15.A.A$A.A15.2A$.A2$18.3A$20.A$19.A$2.2A$.A.A$2.A!
-- but that would be right back to 2sL again, a block and a ship, once the second century is suppressed. I don't have any other output centuries in my notes on glider/still-life collisions, but my list is mostly just Spartan still lifes.

simeks
Posts: 407
Joined: March 11th, 2015, 12:03 pm
Location: Sweden

Re: Slow salvo seeds

Post by simeks » February 14th, 2016, 1:17 pm

dvgrn wrote:Whenever you think that the slow-salvo version of your search program might be comprehensible to a wider audience, please advertise it!
Yes, I think this is a good idea too!
I'm beginning to think that soon it will not be very useful to build slow-salvo recipe databases for the most common objects. Instead, it will be easier to just do an on-demand search, using exactly the constraints of the needed recipe (such as the position of the target object, the wanted result (which could be more than one object), any pre-existing objects that must survive, an optional area where we'd like to have a new target object generated, etc.)
dvgrn wrote:Among other things, I'd be very interested to see the first couple thousand (let's say) results for each type of Spartan still life found in the Cordership and loafer seeds.
Currently my search program generates a lot of duplicate results... But nonetheless, here's a test run of going from a blinker to a boat, pointing in the same direction as the incoming gliders, with up to 6 slow gliders.
boats.txt
(204.25 KiB) Downloaded 406 times
Here's how the second from the top of these recipes should be interpreted:

Code: Select all

x = 54, y = 60, rule = LifeHistory
C$C$C7$2.3A$2.A$3.A14$27.3A$27.A$28.A13$36.A$35.2A$35.A.A15$51.3A$51.
A$52.A!
Kazyan wrote:(I don't know off-hand the cheap way to make a century from a glider and SL.)
I coudn't find any recipe from a single still life, but there's a nice edgy one from a glider and a toad:

Code: Select all

x = 6, y = 13, rule = LifeHistory
4.A$2.A2.A$2.A2.A$3.A7$3A$2.A$.A!
EDIT: Here's a very edgy eater2 seed from this soup. It even allows the dependent glider eater to be build before it:

Code: Select all

x = 42, y = 23, rule = LifeHistory
.A$2.A$3A4$25.2C13.2C$6.D18.2C13.2C$5.D.D11.2A$5.D2.D10.2A$3.2A.DACA$
3.2A2.2D3$26.2A10.2C$25.A2.A8.C.C$26.2A9.C$36.2C3$29.2A$28.A.A$29.A!

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

Re: Slow salvo seeds

Post by dvgrn » February 14th, 2016, 2:14 pm

simeks wrote:EDIT: Here's a very edgy eater2 seed from this soup.
Wow. That's one of the best yet. The bait constellation is only five still lifes as it stands... seems as if it should be only 4, but I don't see a single-object collision in my slow-salvo notes that produces an R-mango. Is there one, from a less common still life maybe?

It has a pretty big active area, but depending on the construction direction, that's likely to be all out "in the open" where it doesn't matter (because the leftover junk will be re-used to build the next pieces of the circuitry anyway.)

Also the initiating R-mango -- otherwise known as a dove, a.k.a. half an LOM explosion -- is very common. There should be lots of 2sL seeds for one of those, in different orientations relative to the slow-salvo stream, to build an eater2 facing in any direction you might want. This recipe could even sneak in and add an eater2 behind already-constructed objects, in some cases. Very nice!

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

Re: Slow salvo seeds

Post by dvgrn » February 17th, 2016, 11:51 pm

simeks wrote:I'm beginning to think that soon it will not be very useful to build slow-salvo recipe databases for the most common objects. Instead, it will be easier to just do an on-demand search, using exactly the constraints of the needed recipe (such as the position of the target object, the wanted result (which could be more than one object), any pre-existing objects that must survive, an optional area where we'd like to have a new target object generated, etc.)
For really common objects I could see that working -- like blocks, blinkers, and possibly beehives and a few common constellations. But that approach seems impractical for rarer objects like eaters -- and probably anything not in the top five most common, tubs and ponds and ships and so on.

Given that we need the lookup tables for nearly all Spartan objects, it doesn't seem like it will do any harm to have tables for the common objects also. Then the same exact compiler code can do the same thing for any object to be constructed -- basically, look through recipes from cheapest to most expensive, until something is found that fits the current constraints.

Maybe do a rough pre-filtering of the list based on clearance? If a construction recipe leaves its output in the middle of its reaction envelope, four cells from the nearest edge, but an already-constructed object is only four cells away... then it doesn't matter how cheap the recipe is, there's no point in looking at it.

However, there are two parts to optimizing this kind of slow-salvo compiler. Generally we start from a target object, and want to produce an output object at (x,y) relative to the original target... plus another target object, conveniently placed. If possible the new target object should be exactly where it needs to be to start constructing the next object.

So to use, for example, one of the forward-pointing-boat recipes, we have to pick a boat recipe that is compatible with whatever objects have already been constructed -- but first we have to find a way to move a blinker to the starting position for that recipe, again without touching any already-constructed objects.

------------------------------------------

Speaking of forward-pointing boats, here are some trial results from a script (attached) that filters object recipes according to how many cells around the object are black instead of blue -- state 0 instead of state 2. I arbitrarily decided that state-0 cells immediately neighboring the object were ten times more valuable than neighbors of those neighbor cells. I ran the script on the forward-pointing-boat recipe list, and it made it easy to dig out the following recipes:

Code: Select all

#C super cheap, to back edge of reaction envelope
#C -3,2 from blinker:E-13 E-5 O-11 E-11
x = 466, y = 472, rule = LifeHistory
A$A$A17$12.3A$12.A$13.A148$166.3A$166.A$167.A148$314.2A$313.2A$315.A
148$463.3A$463.A$464.A!

Code: Select all

#C Push boat a long distance back, option to leave a blinker
#C -1,-20 from blinker:E5 E17 E11 E21 E5 [E1]
#C -13,-8 from blinker:E5 E17 E15 E3 E19 [E19]
#C -4,-17 from blinker:E5 O-5 E-9 O9 O-7 [O-7]
#C -7,-16 from blinker:E-13 E-9 E1 E-15 E-11 [E-5]
x = 772, y = 772, rule = LifeHistory
A$A$A17$21.3A$21.A$22.A148$177.3A$177.A$178.A148$324.3A$324.A$325.A
148$479.3A$479.A$480.A148$621.3A$621.A$622.A148$769.3A$769.A$770.A!

Code: Select all

#C small sideways offset
#C -7,4 from blinker:E-13 E-5 O9 E3 E9 E-7
x = 768, y = 772, rule = LifeHistory
A$A$A17$12.3A$12.A$13.A148$166.3A$166.A$167.A148$324.2A$323.2A$325.A
148$470.3A$470.A$471.A148$623.3A$623.A$624.A148$765.3A$765.A$766.A!

Code: Select all

#C bigger sideways offset
#C 16,-1 from blinker:E-13 O-11 O-3 E-21 E-5 E-1
x = 771, y = 772, rule = LifeHistory
A$A$A17$12.3A$12.A$13.A148$164.2A$163.2A$165.A148$318.2A$317.2A$319.A
148$458.3A$458.A$459.A148$616.3A$616.A$617.A148$768.3A$768.A$769.A!

Code: Select all

#C reach around from behind
#C -2,14:E-13 E-9 O5 O-1 E17 E-1
x = 771, y = 772, rule = LifeHistory
A$A$A17$12.3A$12.A$13.A148$164.3A$164.A$165.A148$322.2A$321.2A$323.A
148$469.2A$468.2A$470.A148$627.3A$627.A$628.A148$768.3A$768.A$769.A!

Code: Select all

#C narrow recipe with boat in west corner of reaction envelope
#C -1,2:E5 O-5 E11 O13 E9 O-5
x = 769, y = 772, rule = LifeHistory
A$A$A17$21.3A$21.A$22.A148$167.2A$166.2A$168.A148$324.3A$324.A$325.A
148$476.2A$475.2A$477.A148$623.3A$623.A$624.A148$767.2A$766.2A$768.A!
Obviously the script can be adapted to do a better job or sorting and classifying; this was just an easy first step.

---------------------------------

Maybe there's a case to be made for a backward lookup table for each object. For forward-pointing boats, let's say, we could make a collection of all [object@x,y] that we know about, that can be turned into a boat@0,0 with a reasonable number of slow gliders. "Reasonable number" would be bigger for rarer objects.

Then it seems like it might make sense to do an on-demand search for each new object to be constructed. I've been thinking about this for a while now: if you're constructing something fairly large, like a Demonoid-sized piece of circuitry, then at any stage of the construction you usually have a set of "optional objects" available. Each optional object is a leftover piece of junk from a previous construction, which can be shot down if it's not needed, but it isn't in the way of anything so you can leave it in place in case it becomes useful as a target.

Obviously if a later construction recipe is chosen that overlaps an optional-object location, that object stops being optional -- the compiler would go back and add a glider at some appropriate point in the compiled recipe, to shoot that object down.

Of course that brings up another big can of worms. The extra glider can be added any time after the optional object is created... but not all times are created equal. There will be a cheapest time to shoot down the object -- probably when the construction arm's elbow happens to be in the vicinity.

I think that's another problem for another month. However, it would definitely be nice to figure out a format for slow-salvo recipes that can record that kind of timing/ordering ambiguity, just as a first step toward a compiler that can make use of that information.
Attachments
recipe-tester.zip
recipe-tester.py packaged with sample input and output files (except the output sorting was done separately)
(56.55 KiB) Downloaded 412 times

simeks
Posts: 407
Joined: March 11th, 2015, 12:03 pm
Location: Sweden

Re: Slow salvo seeds

Post by simeks » February 21st, 2016, 5:11 pm

Another small eater2 seed from this soup:

Code: Select all

x = 17, y = 22, rule = LifeHistory
9.A$9.A$9.A5$13.A$13.A$13.A$.A4.AC2D$A.A3.AC.2D$A2.A3.D3.D3.A$.2A5.2D
2.D.A.A$9.4D2.A$11.D4$6.3A$8.A$7.A!
EDIT: One more with just 5 simple P1 objects, from this soup:
EDIT 3: The red object is of course a very common one. Added a way to create it from a different direction.

Code: Select all

x = 50, y = 22, rule = LifeHistory
10.2A30.2A$10.2A30.2A$3.A12.2A17.A12.2A$2.A.A11.2A16.A.A11.2A$2.2A30.
2A$13.A$12.A.A$9.3DA.A26.3D$11.D.A29.D$8.3D28.AC2D$2A30.2A4.A2.A$2A
30.2A5.A.A$40.A4.2A$44.A2.A$44.A.A$45.A$.3A$3.A$2.A$43.3A$43.A$44.A!
EDIT 2: The following reaction from this soup looks like a good starting point for a simple slow glider pair (Gemini style) eater2 synthesis (previous work by chris_c):

Code: Select all

x = 12, y = 16, rule = LifeHistory
10.A$9.A.A$9.A.A$10.A3$10.2A$9.2A$10.2A5$5.3A$2A3.A.A$2A3.A.A!

Post Reply