Gun Discussion Thread
Re: Gun Discussion Thread
Periods discovered:
All evens ≤128 except 52,58,78,82,92,94,98,104,118,122
5-15,㉕-㉛,㉟㊺,51,63,65,73,75
1㊳㊵㊹㊼㊽,54,56,72,74,80,90,92
217,240,300,486,576
Guns: 20,21,32,54,55,57,114,117,124,126
SKOPs: 32,74,76,102,196
- Period1GliderGun
- Posts: 1097
- Joined: March 9th, 2022, 1:50 am
- Location: Everywhere you look
- Contact:
Re: Gun Discussion Thread
Here's a p150 example (shown with a PD to release gliders)hotdogPi wrote: ↑May 14th, 2024, 12:26 pmI'm currently compiling a list of 3o2$o! + domino → glider reactions on User:HotdogPi/3o2$o!, and I reduced gun_495 (45 and 55) and gun_4182 (82 and 102) this way. What else can I add to the list (especially edgy dominoes)?
Code: Select all
x = 56, y = 41, rule = B3/S23
54bo$53bobo2$16bob2o33b3o$16b2obo2$53b3o2$43b2o8bobo$43b2o9bo$33bo$32b
obo19bo$16b2o13bo3bo18bo$16b2o14bobo15bobo$33bo3b2o13bo$37b2o10bo2bo$
29b2o8bo9bo$27b2o2bo$27b2ob2o$27b2ob2o13b2o$29bo14bo$6b2o39bo$5bo39b2o
$8bo14bo$6b2o13b2ob2o$21b2ob2o$21bo2b2o$3bo9bo8b2o$o2bo10b2o$o13b2o3b
o$obo15bobo14b2o$17bo3bo13b2o$18bobo$19bo$8b2o$8b2o4$33bob2o$33b2obo!
Code: Select all
x = 36, y = 9, rule = B3/S23
23bobo$21bo3bo$13bo7bo$12b4o4bo4bo8b2o$11b2obobo4bo12b2o$2o8b3obo2bo3b
o3bo$2o9b2obobo6bobo$12b4o$13bo!
[[ STEP 30 ]]- Period1GliderGun
- Posts: 1097
- Joined: March 9th, 2022, 1:50 am
- Location: Everywhere you look
- Contact:
Re: Gun Discussion Thread
Code: Select all
x = 26, y = 27, rule = B3/S23
5bo$5b3o$8bo$7b2o2$3b2o$2bo2bo$2bob3o5b2o$b2o3bo4b3o$o3b4o4bobo$b3o3b
o3b4o$4b3ob6ob2o3bo$3bo2bo6bobo2bo$3b2o8bo2bobo$b2o4bo7bo2bo2b2o$2bo5b
o6b2o4bobo$2bobo7b3o8bo$3b2o5bo3bo8b2o$21b2o$11b3o5bo2bo$18bob2o$19bo
2b3o$20b2o3bo$23b2o$20b2obo$20bo2bo$21b2o!
Code: Select all
x = 36, y = 9, rule = B3/S23
23bobo$21bo3bo$13bo7bo$12b4o4bo4bo8b2o$11b2obobo4bo12b2o$2o8b3obo2bo3b
o3bo$2o9b2obobo6bobo$12b4o$13bo!
[[ STEP 30 ]]- Period1GliderGun
- Posts: 1097
- Joined: March 9th, 2022, 1:50 am
- Location: Everywhere you look
- Contact:
Re: Gun Discussion Thread
Code: Select all
x = 32, y = 35, rule = B3/S23
20b2o$10bo$10b3o5b2o$13bo6bo$12b2o5b3o$6b2o11b2o$6bobo11bo8b2o$8bo11b
obo6bo$8b2o4bobo3bo2bo3bobo$10bo5bo3bo6b2o$8b2obo9b2ob2o$7bo2bo4b2o5b
o2bo$7b2o14bobo$23b2o$27b2o$27bobo$o28bo$3o25bo$3bo25b3o$2bo28bo$2bob
o$3b2o$7b2o$6bobo14b2o$6bo2bo5b2o4bo2bo$6b2ob2o9bob2o$3b2o6bo3bo5bo$2b
obo3bo2bo3bobo4b2o$2bo6bobo11bo$b2o8bo11bobo$11b2o11b2o$10b3o5b2o$11b
o6bo$12b2o5b3o$21bo!
Code: Select all
x = 36, y = 9, rule = B3/S23
23bobo$21bo3bo$13bo7bo$12b4o4bo4bo8b2o$11b2obobo4bo12b2o$2o8b3obo2bo3b
o3bo$2o9b2obobo6bobo$12b4o$13bo!
[[ STEP 30 ]]Re: Gun Discussion Thread
Code: Select all
x = 40, y = 32, rule = B3/S23
5bo$5b3o6b2o4bo4b2o3bo$8bo4bo2bobo3bobo2bobobo$7b2o4b3o9b2o3bobo$8b3o
5b2o5b2o2b2obobo$9bobo3bo2b5o2bobobobob2obo$8bo2bo3b2o7bobo4bobob2o$9b
2o14bo5b2o3$23b3o7b2o$23bobo7b2o$7b2o14bob2o$5bo2b2o2b2o14bo$5b2o2b2o
4bo6bo6bo$b2o3bo2bo5bo5bo7bo$o5bo2bo3b2o5b2o2b2ob2o$o4b2o2b2o9b3o2bo$
2b2o2b2o2bo9b2o$7b2o12bo$22bo13b2o$36bo$37b3o$39bo$5b2o$4bo2bo$4bobo23b
o$5b3o20bobo$7b2o20b2o$7bo$8b3o$10bo!
- Period1GliderGun
- Posts: 1097
- Joined: March 9th, 2022, 1:50 am
- Location: Everywhere you look
- Contact:
Re: Gun Discussion Thread
Code: Select all
x = 37, y = 32, rule = B3/S23Investigator
18.A$18.3A14.2A$21.A13.A$20.2A11.A.A$33.2A2$28.2A$27.A2.A$27.A2.A$10.
2A14.A2.2A$11.A14.A.A$11.A.A12.3A4.2A$12.2A4.3A12.A.A$18.A.A14.A$16.2A
2.A14.2A$16.A2.A$16.A2.A$17.2A3$.2A22.2A$2.A22.A$2.A.A21.3A$3.2A8.3A12.
A$12.A3.A$11.A5.A$11.A5.A$3.E7.A5.A$2A.DA7.A3.A2.2A$2A.A9.3A3.A.A$3.A
17.A$3.2A16.2A!
Code: Select all
x = 37, y = 37, rule = B3/S23
2b2o$o2bo$18bo$o2bo12b3o$bo2bo10bo$2bobo10b2o$3bo$12b3o$2b2o7bo3bo$2b
2o7bo3bo$9b2o5b2o$8bo4bo4bo$8bo3bobo3bo$8bo4bob2obo$9b3o11b3o7bo$23b5o
3b3o$30bo$15b2o8b2o3b2o$3b2o2b2o6bo$b3ob2ob3o5b3o16b2o$o10bo6bo15bobo
$2ob2ob2ob2obo23bo$bobo3bo2bobo$bobo3b3o2b2o3b2o$2bo5bo2bo5b2o$9bobo15b
2o$10b2obo13b2o$12b2o2bob2o$8b3o5bobo$6bo2bo7bo14bo$6b2o3bo5b2o9b2obo
bo$10b2o5b2o8bobobobo$17b2o5bo2bobobobob2o$24b4ob2o2bo2bo$28bo4b2o$26b
obo$26b2o!
Code: Select all
x = 36, y = 9, rule = B3/S23
23bobo$21bo3bo$13bo7bo$12b4o4bo4bo8b2o$11b2obobo4bo12b2o$2o8b3obo2bo3b
o3bo$2o9b2obobo6bobo$12b4o$13bo!
[[ STEP 30 ]]Re: Gun Discussion Thread
And as a result, we have this nice new p178 MWSS gun:squareroot12621 wrote: ↑May 23rd, 2024, 7:35 pmAlso doubles as a 2G + 2H factory:AbhpzTa wrote: ↑May 23rd, 2024, 4:11 pm...
Completed:Code: Select all
x = 53, y = 54, rule = B3/S23 2o$bo26bo$o25b3o$2o23bo$25b2o$29bo$29b3o10b2o$32bo5b2o2bo$31b2o5bobobo $21bobo17bo$21bo2bo$6b3o11bo2bo$6bo14b2o28b2o$7bo43bo$49bobo$49b2o$45b 2o$45bobo$46b2o2$46b2o$2b2o40bo2bo$bobo40b2obob2obo$bo45bobob2o$2o42b 2obo$44b2o2bo$47b2o$4b2o$4bo2b2o$5bob2o42b2o$2obobo45bo$ob2obob2o40bob o$5bo2bo40b2o$5b2o2$5b2o$5bobo$6b2o$2b2o$bobo$bo43bo$2o28b2o14bo$29bo 2bo11b3o$28bo2bo$11bo17bobo$10bobobo5b2o$10bo2b2o5bo$9b2o10b3o$23bo$ 26b2o$27bo23b2o$24b3o25bo$24bo26bo$51b2o!Code: Select all
x = 53, y = 52, rule = B3/S23 28bo$26b3o$25bo$25b2o$29bo$29b3o10b2o$32bo5b2o2bo$31b2o5bobobo$21bobo 17bo$21bo2bo$6b3o11bo2bo$6bo14b2o28b2o$7bo43bo$49bobo$49b2o$45b2o$45b obo$46b2o2$46b2o$2b2o40bo2bo$bobo40b2obob2obo$bo45bobob2o$2o42b2obo$44b 2o2bo$47b2o$4b2o$4bo2b2o$5bob2o42b2o$2obobo45bo$ob2obob2o40bobo$5bo2b o40b2o$5b2o2$5b2o$5bobo$6b2o$2b2o$bobo$bo43bo$2o28b2o14bo$29bo2bo11b3o $28bo2bo$11bo17bobo$10bobobo5b2o$10bo2b2o5bo$9b2o10b3o$23bo$26b2o$27b o$24b3o$24bo!
Code: Select all
x = 100, y = 81, rule = B3/S23
2o$bo26bo$o25b3o$2o23bo$25b2o$2o27bo$o2bo25b3o10b2o$23b2o7bo5b2o2bo$6b
2o15b2o6b2o5bobobo$b2o2b3o5b2o26bo$b3ob2o6b2o$2b2ob3o11b3o$5b2o12bobo
29b2o$19b3o29bo$49bobo$49b2o$45b2o$45bobo$46b2o2$46b2o$2b2o40bo2bo$bob
o40b2obob2obo$bo45bobob2o$2o42b2obo$44b2o2bo$47b2o$4b2o$4bo2b2o$5bob2o
42b2o$2obobo45bo$ob2obob2o40bobo$5bo2bo40b2o$5b2o2$5b2o$5bobo$6b2o$2b
2o$bobo$bo29b3o$2o29bobo12b2o$31b3o11b3ob2o$38b2o6b2ob3ob2o$11bo26b2o
5b3ob2o2b2o$10bobobo5b2o6b2o15b2o$10bo2b2o5bo7b2o$9b2o10b3o$23bo71b2o$
26b2o67bo$27bo69bo$24b3o27bobo20b2o14b5o$24bo30b2o21bo13bo$55bo14bo7bo
bo12b3o$69bobo7b2o15bo$69b2o22b4o$88b2o3bo3b2o$88b2o4b3o2bo$74bo21bob
2o$72b3o21bo$71bo23b2o$71b2o2$87b2o$87bo$88b3o$90bo2$61b2o$60bobo5b2o$
60bo7b2o$59b2o2$73bo$69b2obobo$68bobobobo$65bo2bobobobob2o$65b4ob2o2bo
2bo$69bo4b2o$67bobo$67b2o!
- Period1GliderGun
- Posts: 1097
- Joined: March 9th, 2022, 1:50 am
- Location: Everywhere you look
- Contact:
Re: Gun Discussion Thread
Code: Select all
x = 45, y = 71, rule = B3/S23
28b2o$29bo$29bobo$30b2o4bo4$39bo2bo$34bo3bo3bo$34bo2bo4bo$35b3o$43bo$
22bo20b2o$22b2o19b2o$22b2o20bo$23bo$29b3o$24bo4bo2bo$24bo3bo3bo$19bo4b
o2bo$19b3o$13bo8bo$13b3o5b2o$16bo18b2o$15b2o10bo7bobo$27b4o6bo$20bob6o
bo7b2o$18b2o2b2obo2b3o$19bo4bo4bo$20b2o5b2o$22bo3bo$22bobobo7b2o$23b3o
8bo$24bo10b3o$37bo2$7bo$7b3o10bo$10bo8b3o$9b2o7bobobo$18bo3bo$16b2o5b
2o$15bo4bo4bo$14b3o2bob2o2b2o$6b2o7bob6obo$7bo6b4o$7bobo7bo$8b2o$22b2o
$22bo$23b3o$17bo2bo4bo$12bo3bo3bo$12bo2bo4bo$13b3o$21bo$o20b2o$2o19b2o
$2o20bo$bo$7b3o$2bo4bo2bo$2bo3bo3bo$2bo2bo4$8bo4b2o$13bobo$15bo$15b2o
!Code: Select all
x = 36, y = 9, rule = B3/S23
23bobo$21bo3bo$13bo7bo$12b4o4bo4bo8b2o$11b2obobo4bo12b2o$2o8b3obo2bo3b
o3bo$2o9b2obobo6bobo$12b4o$13bo!
[[ STEP 30 ]]- Period1GliderGun
- Posts: 1097
- Joined: March 9th, 2022, 1:50 am
- Location: Everywhere you look
- Contact:
Re: Gun Discussion Thread
Code: Select all
x = 45, y = 29, rule = B3/S23
2o24b2o$2o24b2o$8b2o13b2o11b2o$7bo2bo12b2o11b2o$8b2o13b2o$23b2o$18b3o
bo2bo9bob2o$17b2o5bo10bobo$9b2o11b2o12bo$6b4o8b4o14b2o$4b2o11b2o17b2o
$3bo5b2o25b2o$2bo2bob3o17b3o$3b2o$3b2o13b2o$3b2o12bo2bo$3b2o13b2o16b2o
b2ob2o$2o34b2o4b2o$2o34b2ob2ob2o2$39b2o$37bo4bo$36bo6bo$35bo8bo$35bo8b
o$35bo8bo$20bo15bo6bo$19bo17bo4bo$19b3o17b2o!
Code: Select all
x = 36, y = 9, rule = B3/S23
23bobo$21bo3bo$13bo7bo$12b4o4bo4bo8b2o$11b2obobo4bo12b2o$2o8b3obo2bo3b
o3bo$2o9b2obobo6bobo$12b4o$13bo!
[[ STEP 30 ]]Re: Gun Discussion Thread
So I made one, probably not well optimized (area 7828)
Code: Select all
x = 103, y = 76, rule = B3/S23
70b2o$70bobo$72bo4b2o$68b4ob2o2bo2bo$68bo2bobobobob2o$71bobobobo$72b2o
bobo$76bo2$62b2o$63bo7b2o$63bobo5b2o$64b2o2$93bo$91b3o$79bobo8bo$80b2o
8b2o$80bo$74b2o$74bo23b2o$75b3o21bo$77bo21bob2o$43bo47b2o4b3o2bo$42bob
o3b2o41b2o3bo3b2o$41bo2bo3bo47b4o$41bobob2obo33b2o15bo$40b2obobobo33bo
bo12b3o$38bo2bob2o36bo13bo$38b2o40b2o14b5o$55b3o42bo$15b2o40bo40bo$2o
12bo2bo38bo3b2o36b2o$bo13b2o43bo$bobo24b2o28bobo$2b2o24bo3b2o6b2o16b2o
10bo$8bo12bo8bo2bo6b2o28b3o$7bobo10bobo6b3o2b2o37bo$8bo11bobo9b2o2bo
35b2o$2b2o17bo7b3o2bobo50b2o$bobo25bo2b2obo4b2o34bo10bo$bo28b2o3bobo2b
2o16b2o16bobo5b2obo$2o31b2ob2o19b3o16b2o5bo2bo$34bo21b3obo23b2o$33bo2b
2o17b3obo9b2o$8b2o24b2obo18b4o9b2o$8bo4b2o42b2o$9bo3b2o26bo$10bo29bobo
$8bob5o21bo4bo14b2o3bo$7bobo4bo8bo12b3o17bo3bobo$7bobo2bo9bobo14bo17bo
3bobo$8bo3b2o8bobo13b2o18bo3bobob2o$23bo26b2o4bob4o2bob2o$18b2o30bobo
3b2o3bobo$17bobo32bo6bobob2ob2o$17bo34b2o2b3obo3bobo$16b2o38bo2bo4bobo
10b2o$12bo44b2o6bo11b2o$12b3o24bo8b2o$15bo21b5o6bobo$14b2o21b2o2b2o7bo
$40bo9b2o$5b2o$4bobo$4bo$b2obo7bo$2bobob2o2b3o25b2ob2o$2bobob2o2b2o22b
2o3bob2o2b2o$b2obo7bo21bo2bobo6bo$bo2b4o3bo10b2o12b2ob7o$2b2o3bo3bo10b
obo13bo$4b2o18bo13bob4o$4bo13bo5b2o13b2o2bo$6bo12bo$5b2o10b3o!
upd. There were technical difficulties with processing of this gun by Catagolue, but now problem is fixed and gun_9999 is available in database.
- Period1GliderGun
- Posts: 1097
- Joined: March 9th, 2022, 1:50 am
- Location: Everywhere you look
- Contact:
Re: Gun Discussion Thread
Code: Select all
x = 27, y = 25, rule = B3/S23
9b2o$10bo$5b3o2b2o6b2ob6o$3b3obo3bo6b2ob6o$3bo4bob2o6b2o$7bobo8b2o5b2o
$5b2obo4bo4b2o5b2o$5bo3bob3o4b2o5b2o$5b2o2b3o13b2o$6bo11b6ob2o$6b2o10b
6ob2o4$13bo$12b3o$b2ob2obo6b2o$2o2b2ob2o$8bo8bo$2o16b2o$2o5b2o8b2o$7b
2o$o$2ob2o2b2o$bob2ob2o!
Code: Select all
x = 36, y = 9, rule = B3/S23
23bobo$21bo3bo$13bo7bo$12b4o4bo4bo8b2o$11b2obobo4bo12b2o$2o8b3obo2bo3b
o3bo$2o9b2obobo6bobo$12b4o$13bo!
[[ STEP 30 ]]Re: Gun Discussion Thread
A statorless variant:yoleo wrote: ↑August 29th, 2022, 4:23 amp150 r hassler, partial posted by me and completed by mvrCode: Select all
x = 61, y = 55, rule = B3/S23 22bo$22bo$21b3o3$21b3o$22bo$22bo$22bo$22bo$21b3o$32bo$3b2o27b3o$3bobo 15b3o11bo$4bo17bo11b2o$22bo4$3bo$bobo6b2o$23bo$obo3b2ob2o12b2o$2o5b3o 12bo2bo$8bo14bobo$23b2o4$36b2o$35bobo14bo$35bo2bo12b3o5b2o$36b2o12b2ob 2o3bobo$37bo$49b2o6bobo$57bo4$38bo$25b2o11bo17bo$25bo11b3o15bobo$26b3o 27b2o$28bo$37b3o$38bo$38bo$38bo$38bo$37b3o3$37b3o$38bo$38bo!
Code: Select all
x = 61, y = 57, rule = B3/S23
4bo$4bo17bo13bo$3b3o16bo12b3o$21b3o2$3b3o29b3o$4bo16b3o$4bo17bo12bobo
$4bo17bo12bobo$4bo17bo$3b3o16bo12b3o$21b3o2$3b3o29b3o$4bo16b3o12bo$4b
o17bo$22bo4$3bo$bobo6b2o$23bo$obo3b2ob2o12b2o$2o5b3o12bo2bo$8bo14bobo
$23b2o4$36b2o$35bobo14bo$35bo2bo12b3o5b2o$36b2o12b2ob2o3bobo$37bo$49b
2o6bobo$57bo4$38bo$38bo17bo$24bo12b3o16bo$23b3o29b3o2$37b3o$23b3o12bo
16b3o$38bo17bo$23bobo12bo17bo$23bobo12bo17bo$37b3o16bo$23b3o29b3o2$37b
3o$23b3o12bo16b3o$24bo13bo17bo$56bo!
Re: Gun Discussion Thread
I think this is a reduction:KtT wrote: ↑June 8th, 2024, 10:31 amA statorless variant:Code: Select all
x = 61, y = 57, rule = B3/S23 4bo$4bo17bo13bo$3b3o16bo12b3o$21b3o2$3b3o29b3o$4bo16b3o$4bo17bo12bobo $4bo17bo12bobo$4bo17bo$3b3o16bo12b3o$21b3o2$3b3o29b3o$4bo16b3o12bo$4b o17bo$22bo4$3bo$bobo6b2o$23bo$obo3b2ob2o12b2o$2o5b3o12bo2bo$8bo14bobo $23b2o4$36b2o$35bobo14bo$35bo2bo12b3o5b2o$36b2o12b2ob2o3bobo$37bo$49b 2o6bobo$57bo4$38bo$38bo17bo$24bo12b3o16bo$23b3o29b3o2$37b3o$23b3o12bo 16b3o$38bo17bo$23bobo12bo17bo$23bobo12bo17bo$37b3o16bo$23b3o29b3o2$37b 3o$23b3o12bo16b3o$24bo13bo17bo$56bo!
Code: Select all
x = 61, y = 55, rule = B3/S23
22bo13bo$22bo12b3o$21b3o2$35b3o$21b3o$22bo12bobo$4bo17bo12bobo$4bobo15b
o$2bo19bo12b3o$7b2o12b3o$b2o$7bo27b3o$3bobo15b3o12bo$5bo16bo$22bo4$3b
o$bobo6b2o$23bo$obo3b2ob2o12b2o$2o5b3o12bo2bo$8bo14bobo$23b2o4$36b2o$
35bobo14bo$35bo2bo12b3o5b2o$36b2o12b2ob2o3bobo$37bo$49b2o6bobo$57bo4$
38bo$38bo16bo$24bo12b3o15bobo$23b3o27bo$58b2o$37b3o12b2o$23b3o12bo19b
o$38bo15bobo$23bobo12bo17bo$23bobo12bo$37b3o$23b3o2$37b3o$23b3o12bo$24b
o13bo!
Replicator thread: viewtopic.php?f=11&t=6769
Fractal thread: viewtopic.php?f=12&t=6675
:3c
Re: Gun Discussion Thread
With period multiplication, which is used in many guns, prime periods were impossible to get.
Next idea was to add delays instead of multiplying them.
But for this idea to work, compact reflector with large delay was needed.
Thanks to confocaloid, I got such device.
Next it was needed to just add large not very precise delay with small more precise delay to get prime sum.
This is what I done, obtaining optimization for gun_2579 from area 67204 to 31772.
I'm sure this method can be significantly improved to get even more area reduction.
Also I did not learned much how smaller prime periods guns were made, so, probably, "my" method is already known and huge guns are hanging in database just because no one got to reupload better versions.
Code: Select all
x = 169, y = 188, rule = B3/S23
79bo$79b3o$82bo$81b2o4$25b2o$25b2o12b2obob2o36b2o$32bob2obo2bob2o2bo
35b2o$32b2obob2obo4bobo$40b5obo$36b2obo4bo$36b2obobo3bo$40bobo3bo4bo
17b2o$41bo3b2o4b3o7b2o7bo$54bo6bo8bobo$53b2o4bobo9b2o$59b2o2$33b2o$33b
2o$18b2o$17bo2bo78b2o$16bob2o78bobo$16bo75b2o4bo$15b2o73bo2bo2b2ob4o$
30b2o58b2obobobobo2bo$30bo62bobobobo$31b3o59bobob2o$33bo60bo2$107b2o$
98b2o7bo$3b2o42b2o49b2o5bobo$4bo43bo56b2o$2bo42b3o3bob2o$2b5o14b2o22bo
2b4ob2o$7bo13bo26bo$4b3o12bobo27b3ob2o2b2o$3bo15b2o30bobo4bo6b2o$3b4o
47b4o7bo$b2o3bo3b2o54b3o26b2o$o2b3o4b2o42b2o12bo27bo$2obo50b2o37b3o$3b
o89bo$3b2o3$11b2o$12bo51bo$9b3o52b3o$9bo57bo$66b2o3$58b2o$58bo$55b2obo
$55bo2b3o4b2o$56b2o3bo3b2o$58b4o22b2ob2o$58bo15b2o9bobo$59b3o12bobo3b
2obo5bob2o$62bo13bo2bobob2o3b2obobo9bo$57b5o14bobo6bobo6bo8b3o$57bo17b
2ob7o3b7o11bo$59bo45b2o11b2o$58b2o20b3o7b3o25b2o$79bo2bo3bo3bo2bo$79b
2o4bobo4b2o$85bobo52bo$86bo52bobo$139bobo$140bo2$93b2o$93b2o4$66b2o7b
2o$66bo8bobo19b2o$47b2o19bo8bo6b2o5b2o5bo15b2o6b2o$48bo18b2o8b3o3bo2bo
4bobob3o15bo2bo5b2o$48bobo14bo3b2o4b2o3bo3bobo6bobo17bo2bo$49b2o14b4o
2bo2bo2b4o4bo7b2o19b2o$68bob2o2b2obo10b2o$58b2o5b2obobo6bob2o7bo$58b2o
5b2obobo6bobo9b3o$68bob2o4b2obobo9bo$68bo11b2o82b2o$66bobo95bo$66b2o
98bo$146b2o14b5o$57b2o88bo13bo$57bo89bobo12b3o$58b3o87b2o15bo$60bo101b
4o$157b2o3bo3b2o$157b2o4b3o2bo$165bob2o$165bo$61b2o101b2o$61bo$59bobo$
59b2o10bo84b2o$71b3o82bo$74bo82b3o$73b2o84bo$38b2o48b2o$38b2o48bo12b2o
11bo$85b2obo12b2o10bobo$84bo2bo25bobo2b2o3bo3bo$85b2o25b2ob2o2bo2bobo
2b3o$70b2o44bobo3bobo5bo$70b2o40b2obo2b4obo5b2o$112b2obobo3bo$116bobo
3bo$117bobo3bo$57b2o3bo55bo3b2o$57bo3bobo$58bo3bobo$59bo3bobob2o$28bo
21b2o5bob4o2bob2o40b2o$28b3o19bo5bobo3bobo44b2o$31bo19b3o2bobo2bo2b2ob
2o25b2o$30b2o21bo3bo3b2o2bobo25bo2bo$65bobo10b2o12bob2o$21b2o43bo11b2o
12bo48b2o$20bobo68b2o48b2o$20bo85b2o$17b2obo85bo$18bobob2o83b3o$18bobo
b2o85bo10b2o$17b2obo7b2o89bobo$17bo2b4o3bo2bo7b2o79bo$18b2o3bo4b2o8bob
o77b2o$20b2o18bo$20bo19b2o$22bo54b2o$21b2o55bo$76bo$76b5o14b2o$81bo13b
o$78b3o12bobo$77bo15b2o$77b4o7b2o$75b2o3bo3b2o2bobo$74bo2b3o4b2o2bo39b
2o$74b2obo51bo$77bo48b3o$77b2o47bo3$85b2o7bo$86bo6bobo$83b3o7bo2bo$83b
o11bo2$99b2o$79b2o17bo2bo$80bo17bobo$80bobo16bo$70bo10b2o12b3o$68b3o
24b2o$67bo$67b2o$52b2o48b2o$53bo48b2o$53bob2o$54bo2bo$55b2o$70b2o$70b
2o4$79bo3b2o$78bobo3bo$77bobo3bo$73b2obobo3bo$73b2obo2b4obo5b2o$77bobo
3bobo5bo$73b2ob2o2bo2bobo2b3o$74bobo2b2o3bo3bo13bo$62b2o10bobo26bo$62b
2o11bo25b3o!
- confocaloid
- Posts: 6697
- Joined: February 8th, 2022, 3:15 pm
- Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms
Re: Gun Discussion Thread
There's even a thread for guns with prime periods between 1000 and 10000: Small Four-Digit Prime Period GunsVort wrote: ↑June 9th, 2024, 3:16 pmAfter seeing area chart dominated by prime period guns of huge size, I started to think what can be done to shrink those 50k-120k monsters.
[...]
More links: viewtopic.php?p=173755#p173755
Re: Gun Discussion Thread
Yup, you've got the right idea -- and it's not just smaller prime periods. Even the current largest known prime in existence has an oscillator to go with it, using the same basic method of looping a bunch of times and then resetting the loop.Vort wrote: ↑June 9th, 2024, 3:16 pmI'm sure this method can be significantly improved to get even more area reduction.
Also I did not learned much how smaller prime periods guns were made, so, probably, "my" method is already known and huge guns are hanging in database just because no one got to reupload better versions.
If anyone wants to try building more of these, the first thing that seems worth mentioning is that converting a glider to a Herschel and then a boat to stop the signal in the loop (as you do in the northwest corner above) is maybe a little bit overkill.
A more lightweight but less edgy solution used to be the beehive stopper. But that needs input gliders of a particular color to work, so you might have to add a Bandersnatch to correct the color half the time. There are more recent discoveries that can use a direct glider input to block a glider lane, no conversion necessary -- including a glider-to-block converter that works with either parity of input glider.
The boat that your mechanism places near the loop is (I think) guaranteed to work to stop the loop, no matter when it arrives (am I remembering that right?). But usually you don't need that universal regulator-like functionality -- especially with longer-period base loops, you'll usually luck out and the "stopper" still life will just happen to arrive at a workable time. If the stop-and-reset mechanism works once, then it will have the same timing next time around too -- and you'll have successfully avoided the bigger universal mechanism and will end up with a generally smaller pattern over all.
(If you're unlucky and the timing doesn't work, there's usually a trombone slide adjustment that can be made somewhere, to delay the input glider slightly until the looping signal gets past, and it will still probably be more compact than a bigger mechanism.)
Re: Gun Discussion Thread
Thank you. Here is a cleaner version (gun_2393 from 55005 to 23236):dvgrn wrote: ↑June 9th, 2024, 5:54 pmThere are more recent discoveries that can use a direct glider input to block a glider lane, no conversion necessary ...
Code: Select all
x = 148, y = 157, rule = LifeHistory
65.2A$64.A.A$58.2A4.A$56.A2.A2.2A.4A$56.2A.A.A.A.A2.A$59.A.ABABAB$59.
A.AB2AB$60.AB.2B$63.3B$63.4B6.2A$61.3B2AB6.A$61.3B2AB3.BA.A$59.10B.B
2A$58.13B$57.14B$56.15B$55.4B2.8B$54.4B5.6B$53.4B4.9B$52.4B5.2A4.4B$
51.4B7.A5.4B$50.4B5.3A7.4B$49.4B6.A10.4B$48.4B19.4B$47.4B21.2B2A$46.
4B23.2A2B$45.4B25.BA2B$30.A13.4B27.4B$30.3A10.4B29.4B$33.A8.4B31.4B$
32.2A7.4B33.4B$32.5B3.4B35.4B$34.3B2.4B37.4B$24.2A7.9B39.4B$24.A8.8B
41.4B$21.2A.A.B3.10B43.4B$21.A2.3AB.2B2A7B44.4B$22.2A2.BA3B2A7B45.4B$
24.4A12B46.4B$24.A.2B3.7B.B2A45.4B$25.3AB2.7B.BA.A45.4B$28.A4.4B5.A6.
A2.A36.4B$23.5A5.4B5.2A5.4A37.4B$23.A10.4B9.2A4.2A36.4B$25.A9.4B8.A2.
2A3.A36.4B$24.2A10.4B8.3A.3A38.4B$37.4B11.A41.4B$38.4B6.3ABA42.4B$39.
4B4.A2.AB2A42.4B$40.4B3.2A.4B43.4B$41.4B6.6B.B39.4B$42.4B5.7B2A39.4B$
43.4B3.6B.B2A40.4B$44.4B.2B2C3B2.B42.4B$45.5BC2BCB47.4B$46.5B2C4B46.
4B$47.5B.B.2A47.4B$47.5B3.A49.4B$46.7B3.3A47.4B$45.4B.4B4.A48.4B$44.
4B3.4B53.4B$43.4B5.4B53.4B$42.4B7.4B17.2A.2A31.4B$41.4B9.4B17.A.A33.
4B$40.4B11.4B11.2A.A5.A.2A29.4B$39.4B13.4B9.A.A.2A3.2A.A.A9.A19.4B$
38.4B15.4B7.A2.B2.BA.AB2.B2.A8.3A12.B.3B.4B$37.4B17.4B6.7AB.B7A11.A
10.18B2.B$36.4B19.4B9.3B.B.3B14.2A3.B5.2B2A11BD7B$35.4B21.4B6.3AB.3B.
B3A12.8B3.2B2A9B3D7B$34.4B23.4B4.A.BA3BA3BAB.A13.8B.13BDBD9B$33.4B25.
4B3.2A3.BABAB3.2A13.22BD11B$32.4B27.4B7.BABAB17.15B.2B2.14BAB$31.4B
29.4B6.2BA2B.B13.17B8.10BABA$30.4B31.4B6.B.B.5B3.2B2.19B11.8BABA$29.
4B33.4B2.22BD15B12.8BA$28.4B35.27BDBD4B.7B12.10B$27.4B37.15B2A9B3D13B
11.9B$26.4B39.14B2A11BD14B10.9B$25.4B41.40B12.9B$24.4B43.9B2.B2.3B.4B
6.11B13.9B$23.4B45.9B8.3B6.4B2.5B15.2B3.4B10.2A$22.4B39.2A5.9B6.4B6.
4B3.6B20.4B9.A$21.4B40.A.A4.9B6.2A7.4B3.7B.2B18.4B10.A$20.4B43.A4.2B
2A3B.B2A5.A6.4B4.B2A6B2A11.2A5.4B5.5A$19.4B44.3A.2BA2BA2B.BA.A.3A6.4B
4.BA2BA3B.B2A12.A5.4B4.A$18.4B43.2A2.BA3BABAB5.A.A7.4B5.BA2BAB4.B13.A
.AB.7B2.B3A$17.4B43.A2.4A4BA4B3.2A7.4B8.2AB20.2AB.7B3.2B.A$16.4B44.2A
.A.4B5.2A11.4B10.2B22.12B4A$3.2A10.4B48.A.2A7.A11.4B35.7B2A3BAB2.2A$
4.A9.4B49.A.A9.3A7.4B36.7B2A2B.B3A2.A$2.A10.4B49.2A.A.A9.A6.4B37.10B
3.B.A.2A$2.5A5.4B5.2A47.2A15.4B37.8B8.A$7.A4.4B5.A64.4B37.9B7.2A$4.3A
B2.7B.BA.A8.2A53.4B37.4B2.3B$3.A.2B3.7B.B2A8.B2AB51.4B37.4B3.5B$3.4A
12B11.2B6.B44.4B37.4B7.2A$.2A2.BA3B2A7B12.2B4.3B42.4B25.2A10.4B8.A$A
2.3AB.2B2A7B11.14B37.4B27.A9.4B10.3A$2A.A.B3.10B11.14B36.4B26.A10.4B
13.A$3.A8.8B.B5.17B35.4B27.5A5.4B5.2A$3.2A7.33B33.4B33.A4.4B5.A$13.3B
.30B30.4B31.3AB2.7B.BA.A$11.5B.31B28.4B31.A.2B3.7B.B2A$11.2A4.32B26.
4B32.4A12B$12.A5.32B24.4B31.2A2.BA3B2A7B$9.3A4.2AB2.23B3.4B22.4B31.A
2.3AB.2B2A3B3AB$9.A5.A.AB4.B.16B7.4B20.4B32.2A.A.B3.6BA3B$15.A11.10B.
2B9.4B18.4B36.A8.4BA3B$14.2A12.9B13.4B16.4B37.2A7.9B$25.11B15.4B14.4B
48.3B2.4B$24.12B16.4B12.4B47.5B3.4B$15.2A7.12B17.4B10.4B48.2A7.4B$14.
A2.A2.2A2.11B19.4B8.4B50.A8.4B$15.2A2.A.A2.B3D4B.4B18.4B6.4B48.3A10.
4B$17.2A.B3.2BD4B4.2A19.4B4.4B49.A13.4B$17.A2.2B2.2B3D2B4.A21.4B2.4B
65.4B$14.2A.A.BA2B.6B6.3A19.8B66.4B$14.A.2A.A.A8B8.A20.6B39.AB26.5B$
18.A.A.8B30.4B39.A.AB.B22.9B$15.2A2.A4.5B30.6B22.2A13.B.2A2B2A21.9B$
13.3A.2A4.6B29.8B22.A11.6B.B2A21.9B$12.A4.B6.6B27.4B2.4B21.A.AB7.6B3.
B21.10B$13.3AB2AB3.7B26.4B4.4B10.A10.2AB.3B3.7B23.12B$15.A.2AB.8B26.
4B6.4B7.3A12.16B12.2A8.13B$19.10B25.4B8.4B5.A15.16B13.A9.11B$19.6B2A
3B23.4B10.4B4.2A15.15B13.A.AB4.12B$19.6B2A2B5.2A16.4B4.2A6.9B14.16B
14.2AB.15B$19.10B5.A16.4B6.A7.6B14.18B16.17B$18.11B2.BA.A15.4B7.A.2A
5.6B3.B2.2B2.20B17.17B$18.12B.B2A15.4B9.A2.A4.19BD16B18.17B.B$17.15B
16.4B11.2AB3.20BDBD4B.9B17.19B2A$16.16B4.A10.4B13.14B2A9B3D4B.10B14.
19B.B2A$13.2B.16B4.3A7.BA2B15.13B2A11BD4B.11B.2B3.2B2.20B4.B$12.2A18B
7.A5.2A2B17.41B.13BD16B$12.2AB.17B5.2A4.2B2A18.17B.4B6.27BDBD4B.9B$
13.B.4B.8B2.4B4.9B20.15B3.2B7.16B2A9B3D4B2.7B$20.7B4.4B5.6B21.15B3.3B
7.15B2A11BD4B2.7B$21.6B5.4B2.8B22.13B5.A2B.2A3.11B.20B4.6B$23.4B6.15B
22.13B2.A.A2B.A4.10B3.2B.3B.4B10.7B$25.3BA5.14B21.8B4.2A.A.AB2.A6.7B
12.3B12.6B$26.BA.A5.13B21.6B6.2ABA4.A7.7B10.4B13.7B$27.A.A6.10B.B2A
19.5B8.B2.5A.A6.5B11.2A16.5B$28.A8.2BA4B3.BA.A18.B.B5.2A.A.2A.A4.A.A
6.3B13.A16.6B$29.3A4.2BABA4B5.A19.3B4.A.2A.A2.A.2A2.A8.4B8.3A15.9B$
31.A4.2BABA3B6.2A17.B2AB11.2A.A.2A8.2A.2A8.A17.2A.7B$38.BA4B26.2A26.A
BABABA26.A5.4B$38.5B53.3A.B.A.A23.3A7.4B$39.3B53.A4.A.A.3A21.A10.4B$
38.5B53.3A.2A.A3.A32.4B$38.2AB2AB54.A4.A2.2A33.4B$34.2A2.BA.2A2.2A53.
3A39.4B$34.A2.A.A3.B2.A52.2A42.4B$36.2A.7A98.3BA$38.A106.ABA$38.A.4A
102.2A$39.2A2.A103.B!
So there are two key components:dvgrn wrote: ↑September 7th, 2023, 3:52 pmIt's a much trickier problem to write another universal generator script like chris_c's, that can automatically generate smaller guns for all of these periods. With existing methods, you kind of end up needing a new template for each small group of guns, which is almost as much manual work as just building each of the guns directly.
1. Extensibility of gun design.
2. Software which can generate lots of candidate guns based on templates and upload best of them to Catagolue.
Re: Gun Discussion Thread
Yup. There are many thousands of different ways to string together small "resettable loop guns" that are adjustable and have odd periods. Depending on the period multipliers on the "reset" circuit and the particular H-to-G that generates the reset signal, you can get significantly different starting periods. Jormungant experimented with building a few of these back in 2019, so for a while there I was calling them "Jormungant guns", though the idea is much older than that.
Each small configuration of loop + period multipler* chain + reset signal generator will produce guns that can contend for record-breaking small size, just for a small range of prime periods -- not that they can't be adjusted to more periods, just that inevitably as soon as a given "trombone slide" has been adjusted outward by a few dozen cells, a completely different configuration is pretty quickly going to end up being more compact.
We've had code available for twenty years (Hersrch) that can lay out simple candidate loops based on Herschel tracks. But nobody has ever quite gotten around to building the much more flexible software needed to experimentally lay out configurations for resettable loop guns, using all options from the new Snark//Bandersnatch/syringe/speed tunnel/ and semi/tremi/quadri-Snark technology. Preferably, a gun-builder program should then automatically test each configuration and see which ones just happen to break records.
It would be extremely cool to see a "simulated annealing" type bounding-box optimizer in action, where the input is a piece of circuitry with various adjustable parts, and the optimizer rebuilds it in various "nearby" configurations (move these Snarks out, move those Snarks in, re-weld, see if it still works). But our standard flat-bitmap representations of patterns are too stupid-simple to make it easy to get started on a project like that.
There's a format supported by LifeViewer and Golly that would support recursive pattern definitions along these lines -- but we don't have a pattern editor that can use that rather tricky format. So generally everything just ends up getting flattened back down into a plain bitmap after each edit.
* EDIT: Yup, as confocaloid says, "pulse divider" is a more precise term in this context. "Period multiplier" is a more commonly used term by about a factor of two on the forums (in 1990's mailing-list messages it was the other way around).
So "period multiplier" might be familiar terminology for a larger number of people, these days; this is discussed in the "period multiplier" Life Lexicon entry. Using the more familiar term doesn't have much of a downside in discussions like this, except for the subtle "underselling" that confocaloid points out below.
- confocaloid
- Posts: 6697
- Joined: February 8th, 2022, 3:15 pm
- Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms
Re: Gun Discussion Thread
The distinction between the two types of devices can be seen here in the case of engineered prime-period guns.
It's correct that prime periods are impossible to get with period multiplication (because multiplying a lower period will always result in a composite period).
However, prime periods can be obtained with pulse division (as already illustrated by the various examples posted by others).
dvgrn wrote: ↑June 10th, 2024, 6:39 am[...]
Each small configuration of loop + period multipler chain + reset signal generator will produce guns that can contend for record-breaking small size, just for a small range of prime periods -- not that they can't be adjusted to more periods, just that inevitably as soon as a given "trombone slide" has been adjusted outward by a few dozen cells, a completely different configuration will inevitably end up being more compact.
[...]
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.
Re: Gun Discussion Thread
I decided to try adjusting some guns with custom made C# code.
First attempt was with gun_3593 - with slide adjusted by 142 cells, area of such gun was still competitive with guns present in database.
However, starting from 51 cells adjustment, gun started to explode or otherwise behave in wrong way.
Instead of figuring out what happened wrong with gun_3593, my next step was to prepare my own design for expansion.
I made gun with period 3741 and split it into 4 parts: base and 3 trombone slides:
Code: Select all
x = 146, y = 151, rule = LifeHistory
39.A$38.A.A55.A$36.3A.A54.A.A$35.A4.A.2A49.3A.A$35.ABABA.A.A48.A4.A.
2A$30.2A4.2A.A.A50.ABABA.A.A$31.A4.4BABA5.2A37.2A4.2A.A.A$31.A.AB4.2B
A3B2.B2AB37.A4.4BABA5.2A$32.2AB.B4.5B2.2B38.A.AB4.2BA3B2.B2AB$34.4B2.
6B.2B40.2AB.B4.5B2.2B$34.16B41.4B2.6B.2B$34.9B2A6B40.16B$33.9BA2BA6B
39.9B2A6B$18.A13.4B.6B2A8B37.9BA2BA6B$18.3A10.4B3.16B35.4B.6B2A8B$21.
A8.4B6.15B33.4B3.16B$20.2A7.4B7.11B.4B31.4B6.15B$20.5B3.4B8.10B3.4B
29.4B7.11B.4B$22.3B2.4B7.11B5.4B27.4B8.10B3.4B$12.2A7.9B5.2A.8B2.2B5.
4B25.4B7.11B5.4B$12.A8.8B6.A.A7B2.B2A6.4B23.4B5.2A.8B2.2B5.4B$9.2A.A.
B3.10B8.2A.2B.B5.A.A.2A3.4B21.4B6.A.A7B2.B2A6.4B$9.A2.3AB.2B2A7B10.B
2.3B2.A.A.2A.A4.4B19.4B8.2A.2B.B5.A.A.2A3.4B$10.2A2.BA3B2A7B6.4A2.B2A
B2.2A11.4B6.A10.4B11.B2.3B2.A.A.2A.A4.4B10.2A$12.4A12B5.A2.A4.2A17.4B
5.3A7.4B8.4A2.B2AB2.2A11.4B9.A$12.A.2B3.7B.B2A3.2A3.A22.4B7.A5.4B8.A
2.A4.2A17.4B10.A$13.3AB2.7B.BA.A6.2A23.4B5.2A4.4B9.2A3.A15.2A5.4B5.5A
$16.A4.4B5.A15.2D15.4B4.9B14.2A16.A5.4B4.A$11.5A5.4B5.2A13.D2.D15.4B
5.6B22.2D9.A.AB.7B2.B3A$11.A10.4B21.D17.4B2.8B21.D2.D9.2AB.7B3.2B.A$
13.A9.4B18.D2.D17.15B21.D12.12B4A$12.2A10.4B18.2D19.14B20.D13.7B2A3BA
B2.2A$25.4B39.13B19.4D11.7B2A2B.B3A2.A$26.4B39.10B.B2A32.10B3.B.A.2A$
27.4B40.3B2AB3.BA.A30.8B8.A$28.4B39.3B2AB6.A29.9B7.2A$29.4B40.4B6.2A
27.4B2.3B$30.4B13.A2.A22.3B35.4B3.5B$31.4B12.4A19.AB.2B35.4B7.2A$32.
4B9.2A4.2A16.A.AB2AB33.4B8.A$33.4B8.A2.2A3.A15.A.ABABAB31.4B10.3A$34.
4B8.3A.3A13.2A.A.A.A.A2.A28.4B13.A$35.4B11.A15.A2.A2.2A.4A27.4B$36.4B
6.3ABA17.2A4.A30.4B$37.4B4.A2.AB2A22.A.A15.2A10.4B$38.4B3.2A.4B23.2A
16.A9.4B$39.4B6.6B.B34.A10.4B$40.4B5.7B2A33.5A5.4B5.2A$41.4B3.6B.B2A
38.A4.4B5.A$42.4B.7B2.B36.3AB2.7B.BA.A$43.10B39.A.2B3.7B.B2A$44.11B
37.4A12B$45.5B.B.2A35.2A2.BA3B2A7B$45.5B3.A35.A2.3AB.2B2A7B$44.7B3.3A
32.2A.A.B3.10B$43.4B.4B4.A35.A8.8B$42.4B3.4B39.2A7.9B$41.4B5.4B48.3B
2.4B$40.4B7.4B17.2A.2A23.5B3.4B$39.4B9.4B17.A.A24.2A7.4B$38.4B11.4B
11.2A.A5.A.2A20.A8.4B$37.4B13.4B9.A.A.2A3.2A.A.A9.A6.3A10.4B$36.4B15.
4B7.A2.B2.BA.AB2.B2.A8.3A4.A7.B.3B.4B$35.4B17.4B6.7AB.B7A11.A10.18B2.
B$34.4B19.4B9.3B.B.3B14.2A3.B5.2B2A19B$33.4B21.4B6.3AB.3B.B3A12.8B3.
2B2A19B$32.4B23.4B4.A.BA3BA3BAB.A13.8B.25B$31.4B25.4B3.2A3.BABAB3.2A
13.34B$30.4B27.4B7.BABAB17.15B.2B2.14BAB$29.4B29.4B6.2BA2B.B13.17B8.
10BABA$28.4B31.4B6.B.B.5B3.2B2.19B11.8BABA$27.4B33.4B2.38B12.8BA$26.
4B26.D8.34B.7B12.10B$25.4B26.2D9.15B2A25B11.9B$24.4B26.D.D10.14B2A26B
10.9B$23.4B29.D11.40B12.9B$22.4B30.D12.9B2.B2.3B.4B6.11B13.9B$21.4B
45.9B8.3B6.4B2.5B15.2B3.4B10.2A$20.4B39.2A5.9B6.4B6.4B3.6B20.4B9.A$
19.4B40.A.A4.9B6.2A7.4B3.7B.2B18.4B10.A$18.4B43.A4.2B2A3B.B2A5.A6.4B
4.B2A6B2A11.2A5.4B5.5A$17.4B44.3A.2BA2BA2B.BA.A.3A6.4B4.BA2BA3B.B2A
12.A5.4B4.A$16.4B43.2A2.BA3BABAB5.A.A7.4B5.BA2BAB4.B13.A.AB.7B2.B3A$
3.2A10.4B43.A2.4A4BA4B3.2A7.4B8.2AB20.2AB.7B3.2B.A$4.A9.4B44.2A.A.4B
5.2A11.4B10.2B22.12B4A$2.A10.4B48.A.2A7.A11.4B35.7B2A3BAB2.2A$2.5A5.
4B5.2A42.A.A9.3A7.4B36.7B2A2B.B3A2.A$7.A4.4B5.A42.2A.A.A9.A6.4B37.10B
3.B.A.2A$4.3AB2.7B.BA.A8.2A36.2A15.4B37.8B8.A$3.A.2B3.7B.B2A8.B2AB51.
4B37.9B7.2A$3.4A12B11.2B6.B44.4B37.4B2.3B$.2A2.BA3B2A7B12.2B4.3B42.4B
25.2A10.4B3.5B$A2.3AB.2B2A7B11.14B37.4B27.A9.4B7.2A$2A.A.B3.10B11.14B
36.4B26.A10.4B8.A$3.A8.8B.B5.17B35.4B27.5A5.4B5.2A3.3A$3.2A7.33B33.4B
33.A4.4B5.A6.A$13.3B.30B30.4B31.3AB2.7B.BA.A$11.5B.31B28.4B31.A.2B3.
7B.B2A$11.2A4.32B26.4B32.4A12B$12.A5.32B24.4B31.2A2.BA3B2A7B$9.3A4.2A
B2.23B3.4B22.4B31.A2.3AB.2B2A7B$9.A5.A.AB4.B.16B7.4B20.4B32.2A.A.B3.
10B$15.A11.10B.2B9.4B18.4B26.D2.D6.A8.5B3A$14.2A12.9B13.4B16.4B27.D2.
D6.2A7.5BA3B$25.11B15.4B14.4B28.4D16.3B2.A3B$24.12B16.4B12.4B32.D14.
5B3.4B$15.2A7.12B17.4B10.4B33.D14.2A7.4B$14.A2.A2.2A2.11B19.4B8.4B50.
A8.4B$15.2A2.A.A2.8B.4B18.4B6.4B48.3A10.4B$17.2A.B3.7B4.2A19.4B4.4B
49.A13.4B$17.A2.2B2.7B4.A21.4B2.4B65.4B$14.2A.A.BA2B.6B6.3A19.8B66.4B
$14.A.2A.A.A8B8.A20.6B39.AB26.5B$18.A.A.8B30.4B39.A.AB.B22.9B$15.2A2.
A4.5B30.6B22.2A13.B.2A2B2A21.9B$13.3A.2A4.6B29.8B22.A11.6B.B2A21.9B$
12.A4.B6.6B27.4B2.4B21.A.AB7.6B3.B21.10B$13.3AB2AB3.7B26.4B4.4B10.A
10.2AB.3B3.7B23.12B$15.A.2AB.8B26.4B6.4B7.3A12.16B12.2A8.13B$19.10B
25.4B8.4B5.A15.16B13.A9.11B$19.6B2A3B23.4B10.4B4.2A15.15B13.A.AB4.12B
$19.6B2A2B5.2A16.4B4.2A6.9B14.16B14.2AB.15B$19.10B5.A16.4B6.A7.6B14.
18B16.17B$18.11B2.BA.A15.4B7.A.2A5.6B3.B2.2B2.20B17.17B$18.12B.B2A15.
4B9.A2.A4.36B18.17B.B$17.15B16.4B11.2AB3.27B.9B17.19B2A$16.16B4.A10.
4B13.14B2A16B.10B14.19B.B2A$13.2B.16B4.3A7.4B15.13B2A16B.11B.2B3.2B2.
20B4.B$12.2A18B7.A5.4B17.41B.30B$12.2AB.17B5.2A4.4B18.17B.4B6.34B.9B$
13.B.4B.8B2.4B4.9B20.15B3.2B7.16B2A16B2.7B$20.7B4.4B5.6B21.15B3.3B7.
15B2A16B2.7B$21.6B5.4B2.8B22.13B5.A2B.2A3.11B.20B4.6B$23.4B6.15B22.
13B2.A.A2B.A4.10B3.2B.3B.4B10.7B$25.3BA5.14B21.8B4.2A.A.AB2.A6.7B12.
3B12.6B$26.BA.A5.13B21.6B6.2ABA4.A7.7B10.4B13.7B$27.A.A6.10B.B2A19.5B
8.B2.5A.A6.5B11.2A16.5B$28.A8.2BA4B3.BA.A18.B.B5.2A.A.2A.A4.A.A6.3B
13.A16.6B$29.3A4.2BABA4B5.A19.3B4.A.2A.A2.A.2A2.A8.4B8.3A15.9B$31.A4.
2BABA3B6.2A17.B2AB11.2A.A.2A8.2A.2A8.A17.2A.7B$38.BA4B26.2A26.ABABABA
26.A5.4B$38.5B53.3A.B.A.A23.3A7.4B$39.3B53.A4.A.A.3A21.A10.4B$38.5B
53.3A.2A.A3.A32.4B$38.2AB2AB54.A4.A2.2A33.4B$34.2A2.BA.2A2.2A53.3A39.
3BA$34.A2.A.A3.B2.A52.2A42.ABA$36.2A.7A98.2A$38.A106.B$38.A.4A$39.2A
2.A!Code: Select all
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
namespace ConsoleApplication145
{
class Pattern
{
public readonly int GridWidth;
public readonly int GridHeight;
int[,] cells;
public Pattern(int width, int height)
{
GridWidth = width;
GridHeight = height;
cells = new int[GridWidth, GridHeight];
}
public void Stamp(Pattern stamp, int xo, int yo)
{
for (int y = 0; y < stamp.GridHeight; y++)
for (int x = 0; x < stamp.GridWidth; x++)
cells[x + xo, y + yo] |= stamp.cells[x, y];
}
public void WriteRLE(string fileName, string comment = null)
{
var sb = new StringBuilder();
if (comment != null)
sb.AppendLine($"#C {comment}");
sb.AppendLine($"x = {GridWidth}, y = {GridHeight}, rule = B3/S23");
for (int y = 0; y < GridHeight; y++)
{
for (int x = 0; x < GridWidth; x++)
sb.Append(cells[x, y] == 1 ? 'o' : 'b');
sb.AppendLine(y == GridHeight - 1 ? "!" : "$");
}
File.WriteAllText(fileName, sb.ToString());
}
public void ReadRLE(string[] lines)
{
int x = 0;
int y = 0;
string scount = "";
foreach (var line in lines)
{
if (line.StartsWith("#"))
continue;
if (line.StartsWith("x"))
continue;
for (int i = 0; i < line.Length; i++)
{
char c = line[i];
if (c >= '0' && c <= '9')
{
scount += c;
}
else
{
if (c == '$')
{
x = 0;
int count = 1;
if (scount != "")
count = int.Parse(scount);
y += count;
scount = "";
}
else if (c == '!')
break;
else if (c == 'o' || c == 'b')
{
int count = 1;
if (scount != "")
count = int.Parse(scount);
for (int k = 0; k < count; k++)
{
cells[x, y] = c == 'o' ? 1 : 0;
x++;
WrapCoordinates(ref x, ref y);
}
scount = "";
}
}
}
}
}
public void ReadRLE(string fileName)
{
ReadRLE(File.ReadAllLines(fileName));
}
void WrapCoordinates(ref int x, ref int y)
{
if (x < 0)
x += GridWidth;
else if (x >= GridWidth)
x -= GridWidth;
if (y < 0)
y += GridHeight;
else if (y >= GridHeight)
y -= GridWidth;
}
}
class Program
{
public static bool IsPrime(int number)
{
if (number <= 1) return false;
if (number == 2) return true;
if (number % 2 == 0) return false;
var boundary = (int)Math.Floor(Math.Sqrt(number));
for (int i = 3; i <= boundary; i += 2)
if (number % i == 0)
return false;
return true;
}
static Dictionary<int, int> ParseCosts(string costsS)
{
var costs = new Dictionary<int, int>();
if (costsS != null)
{
var lines = costsS.Split('\n');
for (int i = 1; i < lines.Length - 1; i++)
{
var spl = lines[i].Split(',');
int period = int.Parse(spl[0].Trim('"').Split('_')[1]);
int area = int.Parse(spl[1].Trim('"'));
costs.Add(period, area);
}
}
return costs;
}
Program()
{
Pattern part1 = new Pattern(130, 131);
Pattern part2 = new Pattern(47, 41);
Pattern part3 = new Pattern(45, 32);
Pattern part4 = new Pattern(86, 70);
part1.ReadRLE(new string[] {
"x = 130, y = 131, rule = B3/S23",
"83bo$82bo$82b3o$69bo$69b3o$72bo$71b2o7$81b2o$74b2o5bobo$74b2o7bo$83b2o",
"$47bo2bo$47b4o19bo$45b2o4b2o16bobob2o$45bo2b2o3bo15bobobobo$46b3ob3o",
"13b2obobobobo2bo$50bo15bo2bo2b2ob4o$46b3obo17b2o4bo$45bo2bob2o22bobo",
"15b2o$45b2o28b2o16bo$91bo$56b2o33b5o14b2o$56b2o38bo13bo$93b3o12bobo$",
"92bo15b2o$92b4o$53b2o35b2o3bo3b2o$53bo35bo2b3o4b2o$54b3o32b2obo$56bo",
"35bo$92b2o2$72b2ob2o$73bobo24b2o$68b2obo5bob2o20bo$67bobob2o3b2obobo9b",
"o6b3o$66bo6bobo6bo8b3o4bo$66b7o3b7o11bo$93b2o11b2o$68b3o7b3o25b2o$67bo",
"2bo3bo3bo2bo$67b2o4bobo4b2o$73bobo52bo$74bo52bobo$127bobo$128bo2$81b2o",
"$81b2o4$63b2o$63bobo19b2o$65bo6b2o5b2o5bo15b2o6b2o$65b3o3bo2bo4bobob3o",
"15bo2bo5b2o$63b2o3bo3bobo6bobo17bo2bo$3b2o57bo2b4o4bo7b2o19b2o$4bo57b",
"2obo10b2o$2bo62bob2o7bo$2b5o14b2o42bobo9b3o$7bo13bo42b2obobo9bo$4b3o",
"12bobo8b2o36b2o$3bo15b2o9b2o$3b4o$b2o3bo3b2o$o2b3o4b2o$2obo$3bo$3b2o3$",
"11b2o$12bo$9b3o4b2o$9bo5bobo$15bo$14b2o3$15b2o$14bo2bo2b2o$15b2o2bobo$",
"17b2o16b2o$17bo17bo$14b2obo2bo15b3o$14bob2obobo16bo$18bobo$15b2o2bo$",
"13b3ob2o$12bo$13b3ob2o$15bob2o2$25b2o$25b2o7b2o$34bo$32bobo$32b2o2$36b",
"o$36b3o$12b2o25bo$12b2o24b2o5$28bo$27bobo$27bobo18b2o$28bo19bobo$29b3o",
"18bo$31bo8b2o8b2o$40b2o4$38b2ob2o$34b2o3bob2o2b2o$34bo2bobo6bo$36b2ob",
"7o$38bo$38bob4o$39b2o2bo!"
});
part2.ReadRLE(new string[] {
"x = 47, y = 41, rule = B3/S23",
"9bo$8bobo$6b3obo$5bo4bob2o$5bobobobobo$2o4b2obobo$bo8bobo5b2o$bobo7bo",
"6b2o$2b2o3$13b2o$12bo2bo$13b2o6$5b2o$5bobo10b2o$6b2o10bobob2o$16bobob",
"2obo18b2o$4b4o3b2o3b2o24bo$3bo2bo4b2o31bo$3b2o3bo15b2o14b5o$7b2o16bo",
"13bo$25bobo12b3o$26b2o15bo$40b4o$35b2o3bo3b2o$35b2o4b3o2bo$43bob2o$43b",
"o$42b2o3$34b2o$34bo$35b3o$37bo!"
});
part3.ReadRLE(new string[] {
"x = 45, y = 32, rule = B3/S23",
"30bo$29bobo$27b3obo$26bo4bob2o$26bobobobobo$21b2o4b2obobo$22bo8bobo5b",
"2o$22bobo7bo6b2o$23b2o3$34b2o$33bo2bo$9bo24b2o$9b3o$12bo$11b2o3$3b2o",
"21b2o$3bo22bobo10b2o$2obo23b2o10bobob2o$o2b3o4b2o25bobob2obo$b2o3bo3b",
"2o13b4o3b2o3b2o$3b4o17bo2bo4b2o$3bo15b2o3b2o3bo$4b3o12bobo6b2o$7bo13bo",
"$2b5o14b2o$2bo$4bo$3b2o!"
});
part4.ReadRLE(new string[] {
"x = 86, y = 70, rule = B3/S23",
"81b2o$81bo$83bo$63b2o14b5o$64bo13bo$64bobo12b3o$65b2o15bo$79b4o$74b2o",
"3bo3b2o$74b2o4b3o2bo$82bob2o$82bo$81b2o2$51b2o$52bo20b2o$50bo22bo$50b",
"5o14b2o3b3o$55bo13bo6bo$52b3o12bobo$51bo15b2o$51b4o$49b2o3bo3b2o$48bo",
"2b3o4b2o$48b2obo$51bo$51b2o3$59b2o$60bo$57b3o$57bo3$44bo$43bobo$27b2o",
"15b2o2b2o$28bo19b2o$28bobo$18bo10b2o$16b3o40b2o$15bo44bo$15b2o43bobo$",
"2o59b2o$bo$bob2o$2bo2bo$3b2o77b2o$18b2o62b2o$18b2o3$50b2o$50b2o$26bo3b",
"2o$25bobo3bo$21b2obobo3bo$21b2obo4bo$25b5obo22b2o$17b2obob2obo4bobo22b",
"o$17bob2obo2bob2o2bo20b3o$10b2o12b2obob2o8b2ob2o8bo17b2o$10b2o26bobobo",
"bo26bo$36b3o3bobo23b3o$35bo4bobob3o21bo$36b3ob2obo3bo$38bo4bo2b2o$40b",
"3o$39b2o!"
});
const int ld = 912;
const int sd = 1005;
const int m = 3;
var costsS = new WebClient().DownloadString(
"https://catagolue.hatsya.com/textcensus/b3s23/synthesis-costs/gun");
var guns = ParseCosts(costsS);
for (int shift = 0; shift < 1000; shift++)
{
int period = m * ld + sd + 8 * shift;
if (!IsPrime(period))
continue;
if (!guns.ContainsKey(period))
continue;
if (period > 9999)
break;
int s4 = shift % m;
int s23 = shift / m;
int s3 = s23 / 2;
int s2 = s23 - s3;
if (m * (s2 + s3) + s4 != shift)
throw new Exception();
int p1x = 0;
int p1y = 0;
int p2x = 87 + s2;
int p2y = -19 - s2;
int p3x = 9 - s3;
int p3y = -20 - s3;
int p4x = 60 + s4;
int p4y = 57 + s4;
int minX = Math.Min(p1x, Math.Min(p2x, Math.Min(p3x, p4x)));
int minY = Math.Min(p1y, Math.Min(p2y, Math.Min(p3y, p4y)));
p1x -= minX;
p2x -= minX;
p3x -= minX;
p4x -= minX;
p1y -= minY;
p2y -= minY;
p3y -= minY;
p4y -= minY;
int width = 0;
int height = 0;
width = Math.Max(width, p1x + part1.GridWidth);
width = Math.Max(width, p2x + part2.GridWidth);
width = Math.Max(width, p3x + part3.GridWidth);
width = Math.Max(width, p4x + part4.GridWidth);
height = Math.Max(height, p1y + part1.GridHeight);
height = Math.Max(height, p2y + part2.GridHeight);
height = Math.Max(height, p3y + part3.GridHeight);
height = Math.Max(height, p4y + part4.GridHeight);
int area = width * height;
if (guns[period] <= area)
continue;
Console.WriteLine($"gun_{period}: {guns[period],6} -> {area,6}");
Pattern gun = new Pattern(width, height);
gun.Stamp(part1, p1x, p1y);
gun.Stamp(part2, p2x, p2y);
gun.Stamp(part3, p3x, p3y);
gun.Stamp(part4, p4x, p4y);
gun.WriteRLE($"gun_{period}.rle");
}
}
static void Main(string[] args)
{
new Program();
}
}
}(warning: code deletes files once they are uploaded!)
Code: Select all
using System;
using System.Collections.Specialized;
using System.IO;
using System.Net;
using System.Text;
namespace CatagolueUpload
{
class Program
{
static void Main(string[] args)
{
string postUrl = "https://catagolue.hatsya.com/postsynth";
var client = new WebClient();
foreach (var rleFile in Directory.EnumerateFiles(".", "*.rle"))
{
var rle = File.ReadAllText(rleFile);
var values = new NameValueCollection();
values["content"] = rle;
var response = client.UploadValues(postUrl, values);
var responseString = Encoding.Default.GetString(response);
if (!responseString.Contains("RLE is well-formed"))
throw new Exception();
Console.Write('.');
File.Delete(rleFile);
}
Console.WriteLine(" Done");
}
}
}Code: Select all
gun_3797: 77539 -> 22344
gun_3821: 79288 -> 22344
gun_3853: 81648 -> 22644
gun_3877: 83439 -> 22644
gun_3917: 86464 -> 22638
gun_3989: 92035 -> 22932
gun_4013: 93928 -> 22932
gun_4021: 94563 -> 23088
gun_4093: 100368 -> 23384
gun_4133: 103663 -> 23373
gun_4157: 105664 -> 23373
gun_4229: 64728 -> 23828
gun_4253: 66339 -> 23828
gun_4261: 66880 -> 23989
gun_4349: 72963 -> 24450
gun_4357: 73528 -> 24613
gun_4373: 74664 -> 24764
gun_4397: 76383 -> 24928
gun_4421: 78120 -> 25245
gun_4493: 83439 -> 25896
gun_4517: 85248 -> 26219
gun_4549: 87688 -> 26386
gun_4597: 91408 -> 26880
gun_4621: 93295 -> 27209
gun_4637: 94563 -> 27378
gun_4733: 102339 -> 28386
gun_4789: 61039 -> 28896
gun_4813: 62608 -> 29237
gun_4861: 65800 -> 29754
gun_4877: 66880 -> 29928
gun_4909: 69064 -> 30275
gun_4933: 70723 -> 30450
gun_4957: 72400 -> 30800
gun_4973: 73528 -> 30976
gun_5021: 76960 -> 31506
gun_5077: 81055 -> 32040
gun_5101: 82840 -> 32399
gun_5189: 89539 -> 33485
gun_5197: 90160 -> 33485
gun_5237: 93295 -> 34034
gun_5261: 95200 -> 34216
gun_5309: 99064 -> 34770
gun_5333: 101023 -> 35144
gun_5381: 104995 -> 35705
gun_5413: 61560 -> 35890
gun_5437: 63135 -> 36270
gun_5477: 65800 -> 36839
gun_5501: 67423 -> 37026
gun_5557: 71280 -> 37600
gun_5573: 72400 -> 37989
gun_5581: 72963 -> 37989
gun_5653: 78120 -> 38760
gun_5669: 79288 -> 39155
gun_5693: 81055 -> 39346
gun_5701: 81648 -> 39346
gun_5717: 82840 -> 39744
gun_5741: 84643 -> 39936
gun_5749: 85248 -> 39936
gun_5813: 90160 -> 40934
gun_5821: 90783 -> 40934
gun_5861: 93928 -> 41535
gun_5869: 94563 -> 41535
gun_5981: 103663 -> 42946
gun_6029: 72180 -> 43560
gun_6037: 72762 -> 43560
gun_6053: 73932 -> 43979
gun_6101: 77490 -> 44600
gun_6133: 79902 -> 44800
gun_6173: 82962 -> 45426
gun_6197: 84822 -> 45854
gun_6221: 86700 -> 46056
gun_6229: 87330 -> 46056
gun_6269: 90510 -> 46690
gun_6277: 91152 -> 46690
gun_6301: 93090 -> 47124
gun_6317: 94392 -> 47328
gun_6373: 99012 -> 47970
gun_6389: 100350 -> 48410
gun_6397: 101022 -> 48410
gun_6421: 103050 -> 48616
gun_6469: 107160 -> 49266
gun_6581: 117030 -> 51030
gun_6637: 71600 -> 51695
gun_6653: 72762 -> 51906
gun_6661: 73346 -> 51906
gun_6701: 76296 -> 52576
gun_6709: 76892 -> 52576
gun_6733: 78692 -> 53037
gun_6781: 82346 -> 53714
gun_6829: 86072 -> 54395
gun_6869: 89232 -> 55080
gun_6917: 93090 -> 55769
gun_6949: 95702 -> 55986
gun_6997: 99680 -> 56680
gun_7013: 101022 -> 57159
gun_7069: 105782 -> 57860
gun_7109: 109242 -> 58565
gun_7213: 118472 -> 59987
gun_7229: 119922 -> 60210
gun_7237: 120650 -> 60210
gun_7253: 71600 -> 60704
gun_7309: 75702 -> 61425
gun_7333: 77490 -> 61650
gun_7349: 78692 -> 62150
gun_7477: 88596 -> 63840
gun_7517: 91796 -> 64578
gun_7541: 93740 -> 65090
gun_7549: 94392 -> 65090
gun_7573: 96360 -> 65320
gun_7589: 97682 -> 65835
gun_7621: 100350 -> 66066
gun_7669: 104412 -> 66816
gun_7717: 108546 -> 67570
gun_7741: 110640 -> 68094
gun_7757: 112046 -> 68328
gun_7789: 114882 -> 68855
gun_7829: 118472 -> 69620
gun_7853: 120650 -> 69856
gun_7877: 72180 -> 70389
gun_7901: 73932 -> 70626
gun_7933: 76296 -> 71162
gun_7949: 77490 -> 71400
gun_8053: 85446 -> 72960
gun_8069: 86700 -> 73505
gun_8093: 88596 -> 73746
gun_8101: 89232 -> 73746
gun_8117: 90510 -> 74294Re: Gun Discussion Thread
Yellow line (average) dropped noticeably.
Next goal is to drop red line (maximum) as well.
- Attachments
-
- gun_coll_area_v6.png (43.58 KiB) Viewed 43729 times
Re: Gun Discussion Thread
Done. Maximum is dropped from 122624 to 69734:
To achieve this I improved program from my previous post by adding enumeration of multipliers (1, 2, 3, 4) and mod 8 values (1, 3, 5, 9):
Code: Select all
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
namespace ConsoleApplication145
{
class Pattern
{
public readonly int GridWidth;
public readonly int GridHeight;
int[,] cells;
public Pattern(int width, int height)
{
GridWidth = width;
GridHeight = height;
cells = new int[GridWidth, GridHeight];
}
public void Stamp(Pattern stamp, int xo, int yo)
{
for (int y = 0; y < stamp.GridHeight; y++)
for (int x = 0; x < stamp.GridWidth; x++)
cells[x + xo, y + yo] |= stamp.cells[x, y];
}
public void WriteRLE(string fileName, string comment = null)
{
var sb = new StringBuilder();
if (comment != null)
sb.AppendLine($"#C {comment}");
sb.AppendLine($"x = {GridWidth}, y = {GridHeight}, rule = B3/S23");
for (int y = 0; y < GridHeight; y++)
{
for (int x = 0; x < GridWidth; x++)
sb.Append(cells[x, y] == 1 ? 'o' : 'b');
sb.AppendLine(y == GridHeight - 1 ? "!" : "$");
}
File.WriteAllText(fileName, sb.ToString());
}
public void ReadRLE(string[] lines)
{
int x = 0;
int y = 0;
string scount = "";
foreach (var line in lines)
{
if (line.StartsWith("#"))
continue;
if (line.StartsWith("x"))
continue;
for (int i = 0; i < line.Length; i++)
{
char c = line[i];
if (c >= '0' && c <= '9')
{
scount += c;
}
else
{
if (c == '$')
{
x = 0;
int count = 1;
if (scount != "")
count = int.Parse(scount);
y += count;
scount = "";
}
else if (c == '!')
break;
else if (c == 'o' || c == 'b')
{
int count = 1;
if (scount != "")
count = int.Parse(scount);
for (int k = 0; k < count; k++)
{
cells[x, y] = c == 'o' ? 1 : 0;
x++;
WrapCoordinates(ref x, ref y);
}
scount = "";
}
}
}
}
}
public void ReadRLE(string fileName)
{
ReadRLE(File.ReadAllLines(fileName));
}
void WrapCoordinates(ref int x, ref int y)
{
if (x < 0)
x += GridWidth;
else if (x >= GridWidth)
x -= GridWidth;
if (y < 0)
y += GridHeight;
else if (y >= GridHeight)
y -= GridWidth;
}
}
class Program
{
public static bool IsPrime(int number)
{
if (number <= 1) return false;
if (number == 2) return true;
if (number % 2 == 0) return false;
var boundary = (int)Math.Floor(Math.Sqrt(number));
for (int i = 3; i <= boundary; i += 2)
if (number % i == 0)
return false;
return true;
}
static Dictionary<int, int> ParseCosts(string costsS)
{
var costs = new Dictionary<int, int>();
if (costsS != null)
{
var lines = costsS.Split('\n');
for (int i = 1; i < lines.Length - 1; i++)
{
var spl = lines[i].Split(',');
int period = int.Parse(spl[0].Trim('"').Split('_')[1]);
int area = int.Parse(spl[1].Trim('"'));
costs.Add(period, area);
}
}
return costs;
}
Program()
{
Pattern part1 = new Pattern(130, 120);
Pattern part2 = new Pattern(47, 41);
Pattern part3 = new Pattern(45, 32);
Pattern part41 = new Pattern(124, 66);
Pattern part43 = new Pattern(101, 49);
Pattern part45 = new Pattern(86, 70);
Pattern part47 = new Pattern(74, 76);
Pattern part51 = new Pattern(19, 23);
Pattern part52 = new Pattern(21, 23);
Pattern part53 = new Pattern(18, 25);
Pattern part54 = new Pattern(22, 25);
var parts4 = new Dictionary<int, Pattern>();
var parts4x = new Dictionary<int, int>();
var parts4y = new Dictionary<int, int>();
parts4[1] = part41;
parts4x[1] = 60;
parts4y[1] = 80;
parts4[3] = part43;
parts4x[3] = 60;
parts4y[3] = 72;
parts4[5] = part45;
parts4x[5] = 60;
parts4y[5] = 57;
parts4[7] = part47;
parts4x[7] = 72;
parts4y[7] = 57;
var parts5 = new Dictionary<int, Pattern>();
var parts5x = new Dictionary<int, int>();
var parts5y = new Dictionary<int, int>();
parts5[1] = part51;
parts5x[1] = 33;
parts5y[1] = 106;
parts5[2] = part52;
parts5x[2] = 35;
parts5y[2] = 106;
parts5[3] = part53;
parts5x[3] = 34;
parts5y[3] = 106;
parts5[4] = part54;
parts5x[4] = 34;
parts5y[4] = 106;
part1.ReadRLE(new string[] {
"x = 130, y = 120, rule = B3/S23",
"83bo$82bo$82b3o$69bo$69b3o$72bo$71b2o7$81b2o$74b2o5bobo$74b2o7bo$83b2o",
"$47bo2bo$47b4o19bo$45b2o4b2o16bobob2o$45bo2b2o3bo15bobobobo$46b3ob3o",
"13b2obobobobo2bo$50bo15bo2bo2b2ob4o$46b3obo17b2o4bo$45bo2bob2o22bobo",
"15b2o$45b2o28b2o16bo$91bo$56b2o33b5o14b2o$56b2o38bo13bo$93b3o12bobo$",
"92bo15b2o$92b4o$53b2o35b2o3bo3b2o$53bo35bo2b3o4b2o$54b3o32b2obo$56bo",
"35bo$92b2o2$72b2ob2o$73bobo24b2o$68b2obo5bob2o20bo$67bobob2o3b2obobo9b",
"o6b3o$66bo6bobo6bo8b3o4bo$66b7o3b7o11bo$93b2o11b2o$68b3o7b3o25b2o$67bo",
"2bo3bo3bo2bo$67b2o4bobo4b2o$73bobo52bo$74bo52bobo$127bobo$128bo2$81b2o",
"$81b2o4$63b2o$63bobo19b2o$65bo6b2o5b2o5bo15b2o6b2o$65b3o3bo2bo4bobob3o",
"15bo2bo5b2o$63b2o3bo3bobo6bobo17bo2bo$3b2o57bo2b4o4bo7b2o19b2o$4bo57b",
"2obo10b2o$2bo62bob2o7bo$2b5o14b2o42bobo9b3o$7bo13bo42b2obobo9bo$4b3o",
"12bobo8b2o36b2o$3bo15b2o9b2o$3b4o$b2o3bo3b2o$o2b3o4b2o$2obo$3bo$3b2o3$",
"11b2o$12bo$9b3o4b2o$9bo5bobo$15bo$14b2o3$15b2o$14bo2bo2b2o$15b2o2bobo$",
"17b2o16b2o$17bo17bo$14b2obo2bo15b3o$14bob2obobo16bo$18bobo$15b2o2bo$",
"13b3ob2o$12bo$13b3ob2o$15bob2o2$25b2o$25b2o7b2o$34bo$32bobo$32b2o4$12b",
"2o$12b2o5$28bo$27bobo$27bobo$28bo$29b3o$31bo!"
});
part2.ReadRLE(new string[] {
"x = 47, y = 41, rule = B3/S23",
"9bo$8bobo$6b3obo$5bo4bob2o$5bobobobobo$2o4b2obobo$bo8bobo5b2o$bobo7bo",
"6b2o$2b2o3$13b2o$12bo2bo$13b2o6$5b2o$5bobo10b2o$6b2o10bobob2o$16bobob",
"2obo18b2o$4b4o3b2o3b2o24bo$3bo2bo4b2o31bo$3b2o3bo15b2o14b5o$7b2o16bo",
"13bo$25bobo12b3o$26b2o15bo$40b4o$35b2o3bo3b2o$35b2o4b3o2bo$43bob2o$43b",
"o$42b2o3$34b2o$34bo$35b3o$37bo!"
});
part3.ReadRLE(new string[] {
"x = 45, y = 32, rule = B3/S23",
"30bo$29bobo$27b3obo$26bo4bob2o$26bobobobobo$21b2o4b2obobo$22bo8bobo5b",
"2o$22bobo7bo6b2o$23b2o3$34b2o$33bo2bo$9bo24b2o$9b3o$12bo$11b2o3$3b2o",
"21b2o$3bo22bobo10b2o$2obo23b2o10bobob2o$o2b3o4b2o25bobob2obo$b2o3bo3b",
"2o13b4o3b2o3b2o$3b4o17bo2bo4b2o$3bo15b2o3b2o3bo$4b3o12bobo6b2o$7bo13bo",
"$2b5o14b2o$2bo$4bo$3b2o!"
});
part41.ReadRLE(new string[] {
"x = 124, y = 66, rule = B3/S23",
"65b2o3bo$66bo2bobo$64bo4bobo$64b5obo$68bo$64b2o3bo$64b2o4bo$69b2o$41b",
"2o6bo$32b2o7b2o6b3o$33bo18bo$33bobo15b2o$34b2o2$27b2o$28bo90b2o$28bobo",
"88bo$18bo10b2o50b2o38bo$16b3o62b2o18b2o14b5o$15bo86bo13bo$15b2o85bobo",
"12b3o$2o101b2o15bo$bo115b4o$bob2o107b2o3bo3b2o$2bo2bo106b2o4b3o2bo$3b",
"2o115bob2o$18b2o31b2o67bo$18b2o32bo66b2o$49b3o$41b2o6bo$41b2o2b2o29b2o",
"33b2o$45bobo28bobo32bo$26bo3b2o15bo30bo33b3o$25bobo3bo15b2o29b2o34bo$",
"21b2obobo3bo$21b2obo4bo$25b5obo$17b2obob2obo4bobo$17bob2obo2bob2o2bo$",
"10b2o12b2obob2o$10b2o2$79b2o$58bob2o16bobo$56b3ob2o16b2o$55bo$56b3ob2o",
"$58bobo$58bobo$59bo8bo$67bobo$68b2o12$74b2o$73bo2bo$74b2o!"
});
part43.ReadRLE(new string[] {
"x = 101, y = 49, rule = B3/S23",
"96b2o$96bo$98bo$78b2o14b5o$79bo13bo$79bobo12b3o$80b2o15bo$94b4o$89b2o",
"3bo3b2o$89b2o4b3o2bo$97bob2o$37b2o58bo$38bo57b2o$37bo$37b2o2b2o$40bobo",
"45b2o$35b4obo47bo$35bo2bob2o47b3o$91bo4$27b2o$28bo20b2o$28bobo18bo$18b",
"o10b2o16bobo$16b3o28b2o$15bo$15b2o$2o$bo$bob2o$2bo2bo$3b2o$18b2o$18b2o",
"4$27bo3b2o$26bobo3bo$25bobo3bo9b2o$21b2obobo3bo10b2o14b2o$21b2obo2b4ob",
"o24bobo$25bobo3bobo15b2o8bo$21b2ob2o2bo2bobo15bo9b2o$22bobo2b2o3bo17b",
"3o$10b2o10bobo27bo$10b2o11bo!"
});
part45.ReadRLE(new string[] {
"x = 86, y = 70, rule = B3/S23",
"81b2o$81bo$83bo$63b2o14b5o$64bo13bo$64bobo12b3o$65b2o15bo$79b4o$74b2o",
"3bo3b2o$74b2o4b3o2bo$82bob2o$82bo$81b2o2$51b2o$52bo20b2o$50bo22bo$50b",
"5o14b2o3b3o$55bo13bo6bo$52b3o12bobo$51bo15b2o$51b4o$49b2o3bo3b2o$48bo",
"2b3o4b2o$48b2obo$51bo$51b2o3$59b2o$60bo$57b3o$57bo3$44bo$43bobo$27b2o",
"15b2o2b2o$28bo19b2o$28bobo$18bo10b2o$16b3o40b2o$15bo44bo$15b2o43bobo$",
"2o59b2o$bo$bob2o$2bo2bo$3b2o77b2o$18b2o62b2o$18b2o3$50b2o$50b2o$26bo3b",
"2o$25bobo3bo$21b2obobo3bo$21b2obo4bo$25b5obo22b2o$17b2obob2obo4bobo22b",
"o$17bob2obo2bob2o2bo20b3o$10b2o12b2obob2o8b2ob2o8bo17b2o$10b2o26bobobo",
"bo26bo$36b3o3bobo23b3o$35bo4bobob3o21bo$36b3ob2obo3bo$38bo4bo2b2o$40b",
"3o$39b2o!"
});
part47.ReadRLE(new string[] {
"x = 74, y = 76, rule = B3/S23",
"69b2o$69bo$71bo$51b2o14b5o$52bo13bo$52bobo12b3o$53b2o15bo$67b4o$62b2o",
"3bo3b2o$62b2o4b3o2bo$70bob2o$70bo$69b2o3$61b2o$61bo$62b3o$64bo3$34bo$",
"34b3o$37bo$36b2o15b2o$52bobo$32b2o14b2o2bo$31bo2bo13bobob2o$31bob2o14b",
"2obo2bo$30b2o22b2o$29bo3b2o$30b3o2bo$33b2obo15b2o$32bo2bo5bo10b2o$32b",
"2o6bobo$40bobo$41bo$51b2o$52bo$35b2o12b3o$35b2o12bo$50b2o$51bo$50bo$",
"50b2o5$27b2o$28bo$28bobo$18bo10b2o$16b3o$15bo$15b2o$2o48b2o$bo48b2o$bo",
"b2o$2bo2bo$3b2o$18b2o$18b2o4$27bo3b2o$26bobo3bo$25bobo3bo$21b2obobo3bo",
"$21b2obo2b4obo5b2o$25bobo3bobo5bo$21b2ob2o2bo2bobo2b3o$22bobo2b2o3bo3b",
"o$10b2o10bobo$10b2o11bo!"
});
part51.ReadRLE(new string[] {
"x = 19, y = 23, rule = B3/S23",
"3bo$3b3o$6bo$5b2o7$15b2o$8b2o5bobo$8b2o7bo$17b2o2$4bo$3bobob2o$3bobobo",
"bo$2obobobobo2bo$o2bo2b2ob4o$2b2o4bo$8bobo$9b2o!"
});
part52.ReadRLE(new string[] {
"x = 21, y = 23, rule = B3/S23",
"bo$b3o$4bo$3b2o3$10bo$9bobo$10bo3b2ob2o$14b2obo2bo$19b2o$6b2o$6b2o4bo",
"2bo$12b4o$18bo$2bo11b5o$bobob2o7bo$bobobobo8bo$2obobobo2bo4b2o$bo2b2ob",
"4o$bo4bo$2b3obo2b2o$4b2o3b2o!"
});
part53.ReadRLE(new string[] {
"x = 18, y = 25, rule = B3/S23",
"2bo$2b3o$5bo$4b2o7$14b2o$14bobo$16bo$6b2o8b2o$6b2o4$4b2ob2o$2o3bob2o2b",
"2o$o2bobo6bo$2b2ob7o$4bo$4bob4o$5b2o2bo!",
});
part54.ReadRLE(new string[] {
"x = 22, y = 25, rule = B3/S23",
"2bo$2b3o$5bo$4b2o3$11bo$10bobo$11bo3b2ob2o$15b2obo2bo$20b2o$5bo$4bobo",
"6bo2bo$4bobo6b4o$5bo13bo$15b5o$15bo$17bo$4b2ob2o7b2o$2o3bob2o2b2o$o2bo",
"bo6bo$2b2ob7o$4bo$4bob4o$5b2o2bo!"
});
const int ld = 912;
var sd = new Dictionary<int, int>();
sd[1] = 1345;
sd[3] = 995;
sd[5] = 1005;
sd[7] = 935;
var newGuns = new Dictionary<int, Pattern>();
var newGunsCosts = new Dictionary<int, int>();
foreach (int mod in parts4.Keys)
{
foreach (int mul in parts5.Keys)
{
for (int shift = 0; shift < 1000; shift++)
{
int period = mul * ld + sd[mod] + 8 * shift;
if (!IsPrime(period))
continue;
if (period > 9999)
break;
int s4 = shift % mul;
int s23 = shift / mul;
int s3 = s23 / 2;
int s2 = s23 - s3;
if (mul * (s2 + s3) + s4 != shift)
throw new Exception();
int p1x = 0;
int p1y = 0;
int p2x = 87 + s2;
int p2y = -19 - s2;
int p3x = 9 - s3;
int p3y = -20 - s3;
int p4x = parts4x[mod] + s4;
int p4y = parts4y[mod] + s4;
int p5x = parts5x[mul];
int p5y = parts5y[mul];
int minX = Math.Min(p1x, Math.Min(p2x, Math.Min(p3x, Math.Min(p4x, p5x))));
int minY = Math.Min(p1y, Math.Min(p2y, Math.Min(p3y, Math.Min(p4y, p5y))));
p1x -= minX;
p2x -= minX;
p3x -= minX;
p4x -= minX;
p5x -= minX;
p1y -= minY;
p2y -= minY;
p3y -= minY;
p4y -= minY;
p5y -= minY;
int width = 0;
int height = 0;
width = Math.Max(width, p1x + part1.GridWidth);
width = Math.Max(width, p2x + part2.GridWidth);
width = Math.Max(width, p3x + part3.GridWidth);
width = Math.Max(width, p4x + parts4[mod].GridWidth);
width = Math.Max(width, p5x + parts5[mul].GridWidth);
height = Math.Max(height, p1y + part1.GridHeight);
height = Math.Max(height, p2y + part2.GridHeight);
height = Math.Max(height, p3y + part3.GridHeight);
height = Math.Max(height, p4y + parts4[mod].GridHeight);
height = Math.Max(height, p5y + parts5[mul].GridHeight);
int area = width * height;
if (newGuns.ContainsKey(period) && area >= newGunsCosts[period])
continue;
Pattern gun = new Pattern(width, height);
gun.Stamp(part1, p1x, p1y);
gun.Stamp(part2, p2x, p2y);
gun.Stamp(part3, p3x, p3y);
gun.Stamp(parts4[mod], p4x, p4y);
gun.Stamp(parts5[mul], p5x, p5y);
newGuns[period] = gun;
newGunsCosts[period] = area;
}
}
}
var costsS = new WebClient().DownloadString(
"https://catagolue.hatsya.com/textcensus/b3s23/synthesis-costs/gun");
var costs = ParseCosts(costsS);
foreach (var kv in newGuns)
{
int period = kv.Key;
Pattern gun = kv.Value;
int area = newGunsCosts[period];
string costS = " ";
if (costs.ContainsKey(period))
{
costS = $"{costs[period],6}";
if (costs[period] <= area)
continue;
}
Console.WriteLine($"gun_{period}: {costS} -> {area,6}");
gun.WriteRLE($"gun_{period}.rle");
}
}
static void Main(string[] args)
{
new Program();
}
}
}Code: Select all
gun_2281: 73984 -> 30728
gun_2297: 75078 -> 30912
gun_2377: 54053 -> 31832
gun_2441: 57909 -> 32922
gun_2473: 59885 -> 33652
gun_2521: 62909 -> 34762
gun_2593: 67580 -> 36652
gun_2609: 68640 -> 37036
gun_2617: 69173 -> 37036
gun_2633: 70245 -> 37422
gun_2657: 71868 -> 38200
gun_2689: 74060 -> 38986
gun_2713: 75725 -> 39382
gun_2729: 76845 -> 39780
gun_2753: 78540 -> 40582
gun_2777: 80253 -> 40986
gun_2801: 81984 -> 41800
gun_2833: 84320 -> 42622
gun_2857: 86093 -> 43036
gun_2897: 89088 -> 44290
gun_2953: 51708 -> 45562
gun_2969: 52640 -> 45990
gun_3001: 54528 -> 46852
gun_3041: 56933 -> 48160
gun_3089: 59885 -> 49922
gun_3121: 61893 -> 51260
gun_3137: 62909 -> 51935
gun_3169: 64965 -> 30544
gun_3209: 67580 -> 31080
gun_3217: 68109 -> 30728
gun_3257: 70784 -> 31265
gun_3313: 74613 -> 31280
gun_3329: 75725 -> 31464
gun_3361: 77973 -> 31648
gun_3433: 83148 -> 32375
gun_3449: 84320 -> 32375
gun_3457: 84909 -> 32200
gun_3529: 90300 -> 33286
gun_4001: 93840 -> 38592
gun_4049: 97662 -> 38986
gun_4057: 98306 -> 39382
gun_4073: 99600 -> 39780
gun_4129: 104192 -> 30728
gun_4153: 106190 -> 30728
gun_4177: 62160 -> 30912
gun_4201: 63732 -> 30912
gun_4217: 64790 -> 31620
gun_4241: 66392 -> 31806
gun_4273: 68556 -> 31280
gun_4289: 69650 -> 31992
gun_4297: 70200 -> 31280
gun_4337: 72980 -> 32178
gun_4409: 78110 -> 32364
gun_4441: 80442 -> 31832
gun_4457: 81620 -> 32550
gun_4481: 83402 -> 32736
gun_4513: 85806 -> 32200
gun_4561: 89472 -> 32560
gun_4649: 96380 -> 33652
gun_4657: 97020 -> 33286
gun_4673: 98306 -> 34020
gun_4721: 102212 -> 34390
gun_4729: 102870 -> 33652
gun_4793: 62160 -> 34762
gun_4801: 62682 -> 34390
gun_4817: 63732 -> 35136
gun_4889: 68556 -> 35512
gun_4937: 71862 -> 35890
gun_4969: 74106 -> 35512
gun_4993: 75810 -> 30544
gun_5009: 76956 -> 31248
gun_5081: 82212 -> 31790
gun_5113: 84600 -> 31790
gun_5153: 87630 -> 30912
gun_5209: 91956 -> 32164
gun_5233: 93840 -> 31806
gun_5273: 97020 -> 32351
gun_5281: 97662 -> 31280
gun_5297: 98952 -> 31992
gun_5393: 106860 -> 32364
gun_5417: 62682 -> 32005
gun_5441: 64260 -> 31832
gun_5449: 64790 -> 32190
gun_5521: 69650 -> 32736
gun_5569: 72980 -> 32200
gun_5641: 78110 -> 32922
gun_5657: 79272 -> 33652
gun_5689: 81620 -> 33652
gun_5737: 85202 -> 33286
gun_5801: 90090 -> 33652
gun_5849: 93840 -> 34762
gun_5857: 94472 -> 33652
gun_5881: 96380 -> 34762
gun_5897: 97662 -> 34390
gun_5953: 102212 -> 34390
gun_6073: 76591 -> 35890
gun_6089: 77779 -> 35512
gun_6113: 79576 -> 35136
gun_6121: 80179 -> 35512
gun_6217: 87571 -> 36270
gun_6257: 90736 -> 36652
gun_6329: 96559 -> 37422
gun_6337: 97216 -> 36652
gun_6353: 98536 -> 37422
gun_6361: 99199 -> 37810
gun_6449: 106624 -> 37810
gun_6473: 108691 -> 37810
gun_6481: 109384 -> 38200
gun_6521: 112879 -> 38592
gun_6529: 113584 -> 37810
gun_6553: 115711 -> 38986
gun_6569: 117139 -> 38200
gun_6577: 117856 -> 38592
gun_6673: 75411 -> 39382
gun_6689: 76591 -> 38592
gun_6737: 80179 -> 39780
gun_6761: 82000 -> 39382
gun_6793: 84456 -> 39780
gun_6833: 87571 -> 40180
gun_6841: 88200 -> 40582
gun_6857: 89464 -> 40180
gun_6961: 97875 -> 40986
gun_6977: 99199 -> 40582
gun_7001: 101200 -> 41800
gun_7057: 105939 -> 41800
gun_7121: 111475 -> 42210
gun_7129: 112176 -> 42622
gun_7177: 116424 -> 42210
gun_7193: 117856 -> 43036
gun_7297: 76000 -> 42622
gun_7321: 77779 -> 43870
gun_7369: 81391 -> 43452
gun_7393: 83224 -> 43036
gun_7417: 85075 -> 44290
gun_7433: 86319 -> 43870
gun_7457: 88200 -> 43452
gun_7481: 90099 -> 44712
gun_7489: 90736 -> 43870
gun_7529: 93951 -> 44290
gun_7537: 94600 -> 44712
gun_7561: 96559 -> 44712
gun_7577: 97875 -> 45562
gun_7649: 103896 -> 44712
gun_7673: 105939 -> 45990
gun_7681: 106624 -> 45136
gun_7753: -> 45990
gun_7793: 116424 -> 46420
gun_7817: 118575 -> 46420
gun_7841: 120744 -> 45990
gun_7873: 73075 -> 46420
gun_7937: 77779 -> 46852
gun_7993: 82000 -> 48160
gun_8009: 83224 -> 47722
gun_8017: 83839 -> 48160
gun_8081: 88831 -> 48600
gun_8089: 89464 -> 49042
gun_8161: -> 48160
gun_8209: -> 49486
gun_8233: -> 49042
gun_8273: -> 49932
gun_8297: -> 49704
gun_8329: -> 50151
gun_8353: -> 50140
gun_8369: -> 50600
gun_8377: -> 50830
gun_8513: -> 51935
gun_8521: -> 52170
gun_8537: -> 52640
gun_8609: -> 52836
gun_8641: -> 53297
gun_8681: -> 53760
gun_8689: -> 54000
gun_8713: -> 54225
gun_8737: -> 54208
gun_8753: -> 54692
gun_8761: -> 54934
gun_8849: -> 55860
gun_8929: -> 56296
gun_8969: -> 57021
gun_9001: -> 57250
gun_9041: -> 57981
gun_9049: -> 58232
gun_9137: -> 58928
gun_9161: -> 59160
gun_9209: -> 59904
gun_9241: -> 60395
gun_9257: -> 60114
gun_9281: -> 60347
gun_9337: -> 61360
gun_9377: -> 61308
gun_9433: -> 62594
gun_9473: -> 62540
gun_9497: -> 63335
gun_9521: -> 63308
gun_9601: -> 64022
gun_9649: -> 64800
gun_9689: -> 65582
gun_9697: -> 65008
gun_9721: -> 65824
gun_9769: -> 66034
gun_9817: -> 67100
gun_9833: -> 66792
gun_9857: -> 67034
gun_9929: -> 68076
gun_1931: 52832 -> 24150
gun_1979: 55640 -> 24633
gun_1987: 56115 -> 24794
gun_2003: 57071 -> 24955
gun_2011: 57552 -> 24955
gun_2027: 58520 -> 25116
gun_2083: 61971 -> 26080
gun_2099: 62975 -> 26404
gun_2131: 65007 -> 27058
gun_2179: 68115 -> 28054
gun_2203: 69696 -> 28390
gun_2243: 72371 -> 29410
gun_2251: 72912 -> 29410
gun_2267: 74000 -> 29754
gun_2339: 52234 -> 31504
gun_2347: 52704 -> 31680
gun_2371: 54126 -> 32574
gun_2411: 56536 -> 33840
gun_2459: 59494 -> 35502
gun_2467: 59994 -> 35880
gun_2531: 64066 -> 38164
gun_2539: 64584 -> 38352
gun_2659: 72594 -> 42924
gun_2683: 74250 -> 43734
gun_2699: 75364 -> 44352
gun_2707: 75924 -> 44775
gun_2731: 77616 -> 45600
gun_2843: 85750 -> 24138
gun_2851: 86346 -> 24150
gun_2939: 51300 -> 24624
gun_2963: 52704 -> 24633
gun_2971: 53176 -> 24786
gun_3011: 55566 -> 24955
gun_3019: 56050 -> 25110
gun_3067: 58996 -> 25272
gun_3083: 59994 -> 25434
gun_3163: 29070 -> 25917
gun_3203: 67734 -> 26404
gun_3251: 70956 -> 26730
gun_3259: 71500 -> 26892
gun_3299: 74250 -> 27388
gun_3307: 74806 -> 27552
gun_3323: 75924 -> 27552
gun_3331: 76486 -> 27720
gun_3347: 77616 -> 27720
gun_3371: 79326 -> 28220
gun_3467: 86346 -> 29237
gun_3491: 88146 -> 29410
gun_3499: 88750 -> 29580
gun_3539: 91800 -> 29754
gun_3547: 92416 -> 29925
gun_3571: 62972 -> 30100
gun_3643: 67805 -> 30972
gun_3659: 68901 -> 31325
gun_3691: 71117 -> 31680
gun_3739: 74501 -> 24462
gun_3779: 77376 -> 24472
gun_3803: 79125 -> 24472
gun_3851: 82677 -> 24633
gun_3907: 86912 -> 24948
gun_3923: 88140 -> 24955
gun_3931: 88757 -> 25110
gun_3947: 89997 -> 24955
gun_4003: 94400 -> 25272
gun_4019: 95676 -> 25277
gun_4027: 96317 -> 25434
gun_4051: 98252 -> 25434
gun_4091: 101517 -> 25438
gun_4099: 102176 -> 25596
gun_4139: 105501 -> 25599
gun_4211: 64565 -> 26082
gun_4219: 65100 -> 26243
gun_4243: 66717 -> 26243
gun_4259: 67805 -> 26406
gun_4283: 69452 -> 26406
gun_4339: 73365 -> 26895
gun_4363: 75072 -> 27224
gun_4451: 81485 -> 27722
gun_4483: 83877 -> 27888
gun_4507: 85692 -> 28223
gun_4523: 86912 -> 28056
gun_4547: 88757 -> 28392
gun_4603: 93132 -> 28899
gun_4643: 96317 -> 24311
gun_4651: 96960 -> 24462
gun_4691: 100205 -> 24613
gun_4723: 102837 -> 24776
gun_4787: 61920 -> 24939
gun_4931: 71676 -> 24955
gun_4987: 75645 -> 25584
gun_5003: 76797 -> 25272
gun_5011: 77376 -> 25428
gun_5051: 80301 -> 25748
gun_5059: 80892 -> 25277
gun_5227: 27000 -> 25920
gun_5323: 101517 -> 26243
gun_5347: 103500 -> 26406
gun_5387: 106845 -> 26568
gun_5419: 62972 -> 26895
gun_5443: 64565 -> 26732
gun_5483: 67260 -> 27224
gun_5507: 68901 -> 27060
gun_5531: 70560 -> 27552
gun_5563: 72800 -> 27885
gun_5651: 79125 -> 28054
gun_5659: 79712 -> 28220
gun_5683: 81485 -> 28390
gun_5779: 88757 -> 28728
gun_5827: 92501 -> 28730
gun_5843: 93765 -> 29068
gun_5851: 94400 -> 29237
gun_5867: 95676 -> 29240
gun_5923: 100205 -> 29412
gun_5939: 101517 -> 29754
gun_5987: 105501 -> 29756
gun_6011: 107520 -> 30272
gun_6043: 74298 -> 30272
gun_6067: 76074 -> 30448
gun_6091: 77868 -> 30275
gun_6131: 80898 -> 30798
gun_6163: 83358 -> 30798
gun_6203: 86478 -> 31325
gun_6211: 87108 -> 30800
gun_6299: 94170 -> 31680
gun_6323: 96138 -> 31860
gun_6379: 100800 -> 32040
gun_6427: 104874 -> 32396
gun_6451: 106938 -> 32578
gun_6491: 110418 -> 32757
gun_6547: 115374 -> 33120
gun_6563: 116808 -> 33485
gun_6571: 117528 -> 33485
gun_6619: 121890 -> 33666
gun_6659: 74298 -> 34216
gun_6691: 76670 -> 34587
gun_6763: 82124 -> 35144
gun_6779: 83358 -> 35144
gun_6803: 85224 -> 35328
gun_6827: 87108 -> 35705
gun_6883: 91574 -> 36270
gun_6899: 92868 -> 36270
gun_6907: 93518 -> 36270
gun_6947: 96798 -> 36839
gun_6971: 98790 -> 36839
gun_7019: 102828 -> 37412
gun_7027: 103508 -> 37412
gun_7043: 104874 -> 37600
gun_7187: 117528 -> 38760
gun_7211: 119700 -> 39155
gun_7219: 120428 -> 39155
gun_7243: 122624 -> 39346
gun_7283: 74888 -> 39744
gun_7307: 76670 -> 39936
gun_7331: 78470 -> 40337
gun_7411: 84600 -> 40934
gun_7451: 87740 -> 41128
gun_7459: 88374 -> 41535
gun_7499: 91574 -> 41730
gun_7507: 92220 -> 41730
gun_7523: 93518 -> 42140
gun_7547: 95480 -> 42140
gun_7723: 110418 -> 43979
gun_7867: 72540 -> 45225
gun_7883: 73710 -> 45426
gun_7907: 75480 -> 45854
gun_7963: 79680 -> 46056
gun_8011: 83358 -> 46690
gun_8059: 87108 -> 47124
gun_8123: 92220 -> 47765
gun_8147: 94170 -> 47970
gun_8171: -> 48410
gun_8179: -> 48410
gun_8219: -> 48616
gun_8243: -> 49059
gun_8291: -> 49712
gun_8363: -> 50369
gun_8387: -> 50578
gun_8419: -> 51030
gun_8443: -> 51030
gun_8467: -> 51240
gun_8539: -> 51906
gun_8563: -> 52364
gun_8627: -> 53037
gun_8699: -> 53714
gun_8707: -> 53928
gun_8731: -> 53928
gun_8747: -> 54395
gun_8779: -> 54610
gun_8803: -> 55080
gun_8819: -> 55080
gun_8867: -> 55769
gun_8923: -> 55986
gun_8963: -> 56680
gun_8971: -> 56680
gun_9011: -> 57159
gun_9043: -> 57378
gun_9059: -> 57860
gun_9067: -> 57860
gun_9091: -> 58080
gun_9187: -> 59274
gun_9203: -> 59274
gun_9227: -> 59496
gun_9323: -> 60704
gun_9371: -> 60928
gun_9403: -> 61425
gun_9419: -> 61650
gun_9467: -> 62150
gun_9491: -> 62376
gun_9539: -> 63106
gun_9547: -> 63106
gun_9587: -> 63612
gun_9619: -> 63840
gun_9643: -> 64349
gun_9739: -> 65320
gun_9787: -> 65835
gun_9803: -> 66066
gun_9811: -> 66066
gun_9851: -> 66584
gun_9859: -> 66816
gun_9883: -> 66816
gun_9907: -> 67337
gun_9923: -> 67570
gun_9931: -> 67570
gun_3301: -> 25102
gun_8221: -> 48616
gun_8237: -> 49059
gun_8269: -> 49266
gun_8293: -> 49266
gun_8317: -> 49712
gun_8389: -> 50369
gun_8429: -> 51030
gun_8461: -> 51240
gun_8501: -> 51695
gun_8573: -> 52364
gun_8581: -> 52364
gun_8597: -> 52576
gun_8629: -> 53037
gun_8669: -> 53250
gun_8677: -> 53250
gun_8693: -> 53714
gun_8741: -> 53928
gun_8821: -> 55080
gun_8837: -> 55080
gun_8861: -> 55296
gun_8893: -> 55769
gun_8933: -> 55986
gun_8941: -> 56462
gun_9013: -> 57159
gun_9029: -> 57159
gun_9109: -> 58080
gun_9133: -> 58565
gun_9157: -> 58565
gun_9173: -> 58786
gun_9181: -> 58786
gun_9221: -> 59274
gun_9277: -> 59987
gun_9293: -> 60210
gun_9341: -> 60704
gun_9349: -> 60704
gun_9397: -> 61425
gun_9413: -> 61425
gun_9421: -> 61650
gun_9437: -> 61650
gun_9461: -> 62150
gun_9533: -> 62879
gun_9613: -> 63840
gun_9629: -> 63840
gun_9661: -> 64349
gun_9677: -> 64578
gun_9733: -> 65090
gun_9749: -> 65320
gun_9781: -> 65835
gun_9829: -> 66066
gun_9901: -> 67337
gun_9941: -> 67570
gun_9949: -> 67570
gun_1999: 24752 -> 23652
gun_2039: 59540 -> 24585
gun_2063: 61016 -> 25232
gun_2087: 62510 -> 26040
gun_2111: 64022 -> 26702
gun_2143: 66066 -> 27702
gun_2207: 70250 -> 29750
gun_2239: 72390 -> 30798
gun_2287: 75660 -> 32400
gun_2311: 77322 -> 33306
gun_2351: 53671 -> 34592
gun_2383: 55575 -> 35712
gun_2399: 56539 -> 36278
gun_2423: 58000 -> 37233
gun_2447: 59479 -> 38000
gun_2503: 63000 -> 40158
gun_2543: 65575 -> 41552
gun_2551: 66096 -> 41961
gun_2591: 68731 -> 43382
gun_2647: 72504 -> 45675
gun_2663: 73600 -> 46308
gun_2671: 74151 -> 46512
gun_2687: 75259 -> 47150
gun_2711: 76936 -> 48231
gun_2719: 77499 -> 48438
gun_2767: 80919 -> 22638
gun_2791: 82656 -> 22484
gun_2879: 89179 -> 23079
gun_2887: 89784 -> 22922
gun_2903: 91000 -> 22922
gun_2927: 92839 -> 23373
gun_2999: 55575 -> 23360
gun_3023: 57024 -> 23814
gun_3079: 60475 -> 23961
gun_3119: 63000 -> 24585
gun_3167: 66096 -> 24900
gun_3191: 67671 -> 25232
gun_3271: 73051 -> 26533
gun_3319: 76375 -> 27200
gun_3343: 78064 -> 27692
gun_3359: 79200 -> 27864
gun_3391: 81496 -> 28372
gun_3407: 82656 -> 28710
gun_3463: 86779 -> 29575
gun_3511: 90391 -> 30272
gun_3527: 91611 -> 30621
gun_3559: 63356 -> 31150
gun_3583: 64940 -> 31504
gun_3607: 66542 -> 31862
gun_3623: 67620 -> 32220
gun_3631: 68162 -> 32399
gun_3671: 70902 -> 22338
gun_3719: 74256 -> 22484
gun_3727: 74822 -> 22785
gun_3767: 77682 -> 22630
gun_3823: 81770 -> 23079
gun_3847: 83552 -> 23079
gun_3863: 84750 -> 22922
gun_3911: 88392 -> 23068
gun_3919: 89006 -> 23373
gun_3943: 90860 -> 23373
gun_3967: 92732 -> 23520
gun_4007: 95892 -> 23360
gun_4079: 101706 -> 23506
gun_4111: 104342 -> 23961
gun_4127: 105672 -> 23652
gun_4159: 108356 -> 24272
gun_4231: 67080 -> 24585
gun_4271: 69800 -> 24750
gun_4327: 73692 -> 25384
gun_4391: 78260 -> 26040
gun_4423: 80592 -> 26364
gun_4447: 82362 -> 26690
gun_4463: 83552 -> 26702
gun_4519: 87780 -> 27360
gun_4567: 91482 -> 27864
gun_4583: 92732 -> 22338
gun_4591: 93360 -> 22638
gun_4639: 97170 -> 23244
gun_4663: 99102 -> 23088
gun_4679: 100400 -> 22484
gun_4703: 102362 -> 23393
gun_4751: 106340 -> 22932
gun_4759: 107010 -> 23236
gun_4783: 62832 -> 23079
gun_4799: 63882 -> 23691
gun_4831: 66006 -> 23691
gun_4871: 68706 -> 22922
gun_4903: 70902 -> 23068
gun_4919: 72012 -> 23680
gun_4943: 73692 -> 23373
gun_4951: 74256 -> 23680
gun_4967: 75390 -> 23214
gun_4999: 77682 -> 23214
gun_5023: 79422 -> 24138
gun_5039: 80592 -> 23667
gun_5087: 84150 -> 24287
gun_5119: 86562 -> 24436
gun_5167: 90240 -> 23961
gun_5231: 95256 -> 24272
gun_5279: 99102 -> 24900
gun_5303: 101052 -> 24900
gun_5351: 105006 -> 24585
gun_5399: 62832 -> 25217
gun_5407: 63356 -> 25536
gun_5431: 64940 -> 25536
gun_5471: 67620 -> 25857
gun_5479: 68162 -> 25551
gun_5503: 69800 -> 26180
gun_5519: 70902 -> 25872
gun_5527: 71456 -> 26026
gun_5591: 75960 -> 26520
gun_5639: 79422 -> 26702
gun_5647: 80006 -> 26860
gun_5711: 84750 -> 27360
gun_5743: 87170 -> 27692
gun_5783: 90240 -> 28026
gun_5791: 90860 -> 28188
gun_5807: 92106 -> 28199
gun_5839: 94622 -> 28372
gun_5879: 97812 -> 28875
gun_5903: 99750 -> 28884
gun_5927: 101706 -> 29058
gun_6007: 108356 -> 29913
gun_6047: 76209 -> 30260
gun_6079: 78585 -> 30609
gun_6143: 83433 -> 31140
gun_6151: 84048 -> 30798
gun_6199: 87780 -> 31500
gun_6247: 91584 -> 31683
gun_6263: 92868 -> 32037
gun_6271: 93513 -> 32214
gun_6287: 94809 -> 32040
gun_6311: 96768 -> 32220
gun_6343: 99408 -> 32400
gun_6359: 100740 -> 32760
gun_6367: 101409 -> 32940
gun_6551: 117348 -> 34410
gun_6599: 121680 -> 34592
gun_6607: 100620 -> 34780
gun_6679: 77393 -> 35530
gun_6703: 79184 -> 35717
gun_6719: 80388 -> 36099
gun_6791: 85905 -> 36278
gun_6823: 88409 -> 36660
gun_6863: 91584 -> 37044
gun_6871: 92225 -> 37240
gun_6911: 95460 -> 37824
gun_6959: 99408 -> 38009
gun_6967: 100073 -> 38208
gun_6983: 101409 -> 38000
gun_6991: 102080 -> 38200
gun_7039: 106148 -> 38994
gun_7079: 109593 -> 38976
gun_7103: 111684 -> 39585
gun_7127: 113793 -> 39576
gun_7151: 115920 -> 39770
gun_7159: 116633 -> 39975
gun_7207: 120953 -> 40158
gun_7247: 73865 -> 40560
gun_7351: 81600 -> 41778
gun_7487: 92225 -> 43215
gun_7559: 98084 -> 43382
gun_7583: 100073 -> 44036
gun_7591: 100740 -> 43800
gun_7607: 102080 -> 44238
gun_7639: 104784 -> 44440
gun_7687: 108900 -> 44622
gun_7703: 110288 -> 45066
gun_7727: 112385 -> 45269
gun_7759: 115209 -> 45472
gun_7823: 120953 -> 46104
gun_7879: 75033 -> 46512
gun_7919: 77988 -> 47174
gun_7927: 78585 -> 47403
gun_7951: 80388 -> 47380
gun_8039: 87153 -> 48231
gun_8087: 90945 -> 48906
gun_8111: 92868 -> 49115
gun_8167: -> 49533
gun_8191: -> 50244
gun_8231: -> 50190
gun_8263: -> 50400
gun_8287: -> 51120
gun_8311: -> 51333
gun_8423: -> 52185
gun_8431: -> 52430
gun_8447: -> 52920
gun_8527: -> 53320
gun_8543: -> 53816
gun_8599: -> 54250
gun_8623: -> 54467
gun_8647: -> 54432
gun_8663: -> 54936
gun_8719: -> 55372
gun_8807: -> 56283
gun_8831: -> 57054
gun_8839: -> 56502
gun_8863: -> 57276
gun_8887: -> 57498
gun_8951: -> 58203
gun_8999: -> 58386
gun_9007: -> 58649
gun_9103: -> 59584
gun_9127: -> 59808
gun_9151: -> 60609
gun_9199: -> 60794
gun_9239: -> 61290
gun_9311: -> 62288
gun_9319: -> 61971
gun_9343: -> 62790
gun_9391: -> 62975
gun_9431: -> 63480
gun_9439: -> 63756
gun_9463: -> 63987
gun_9479: -> 63662
gun_9511: -> 64170
gun_9551: -> 64680
gun_9623: -> 65706
gun_9631: -> 65988
gun_9679: -> 66172
gun_9719: -> 66975
gun_9743: -> 66924
gun_9767: -> 67158
gun_9791: -> 68019
gun_9839: -> 68204
gun_9871: -> 68440
gun_9887: -> 69020
gun_9967: -> 69734Re: Gun Discussion Thread
- Attachments
-
- Screenshot 2024-06-13 at 9.05.17 AM.png (219.87 KiB) Viewed 43594 times
Periods discovered:
All evens ≤128 except 52,58,78,82,92,94,98,104,118,122
5-15,㉕-㉛,㉟㊺,51,63,65,73,75
1㊳㊵㊹㊼㊽,54,56,72,74,80,90,92
217,240,300,486,576
Guns: 20,21,32,54,55,57,114,117,124,126
SKOPs: 32,74,76,102,196
Re: Gun Discussion Thread
Code: Select all
x = 75, y = 105, rule = B3/S23
26bo$24b3o$23bo$23b2o28bo$2o50bobo$bo50bobo$bobo47b2ob3o$2b2o53bo$16b
3o32b2ob3o$16bo34b2obo$16bo$17b2obo$20b2o$57b2o$57b2o2$43b2o$44bob2o$
48bo$48bo$46b3o2$62bo$61bobo$62b2o$40b2o$41bo15b2o$38b3o15bobo$38bo18b
o7$59b2obo$53b3o3bob2o$53bo$50bob2o$50b3o$51bo19$50b2o$50b2o11$61b3o$
60b5o$60b3ob2o$63b2o$39b2o$39bobo$40bo9b2o$49bo2bo$46b2o2b2o$73b2o$73b
o$71bobo$71b2o2$49b3o$42b2ob2o2bobo$40bo5bo2bo2bo$39bo6bo3b2o$39bo5bo
$39bo5bo$39bo5bo$33b2o3bo6bo$32bo2bo2bo5bo$33bobo2b2ob2o$33b3o2$12b2o
$11bobo$11bo$10b2o$33b2o$33bo$34b3o$36bo!
Re: Gun Discussion Thread
This is what I started with.hotdogPi wrote: ↑June 13th, 2024, 9:07 amSince you've already written scripts to reduce a whole bunch of 4-digit guns at once, I have a suggestion. There are a whole bunch that are twice a much smaller gun where it would be much better to just add a semi-Snark to the one that's half its period. The same is true for ×3, ×4, etc.
Here is my visualization for x2 periods:
Few thoughts:
1. Not only ratio for area matters, but absolute difference as well;
2. x22 and x33 periods were more promising. I saw x3-x4 area ratios there;
3. I don't think it makes sense to automate this task:
3.1. Humans can pack components better, at least for now;
3.2. There are not that many cases for improvements in fact. For example, adding component to diagonally shooting gun can easily double its area. Each case is unique and require attention.