amling search program principles discussion / brain dump

For scripts to aid with computation or simulation in cellular automata.
User avatar
LaundryPizza03
Posts: 2623
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: amling search program principles discussion / brain dump

Post by LaundryPizza03 »

I can't compile the latest version due to unstable library features.

Code: Select all

rlife % cargo build --release
   Compiling ars_core v1.0.0 (/Users/gabefrohaug/rlife/ars/core)
   Compiling ars_dl v1.0.0 (/Users/gabefrohaug/rlife/ars/dl)
error[E0658]: use of unstable library feature `btree_entry_insert`
   --> ars/core/src/ext/insert_ord.rs:113:40
    |
113 |             Self::Vacant(zelf) => zelf.insert_entry(v),
    |                                        ^^^^^^^^^^^^
    |
    = note: see issue #65225 <https://github.com/rust-lang/rust/issues/65225> for more information

error[E0658]: use of unstable library feature `btree_entry_insert`
   --> ars/core/src/ext/insert_ord.rs:126:40
    |
126 |             Self::Vacant(zelf) => zelf.insert_entry(v),
    |                                        ^^^^^^^^^^^^
    |
    = note: see issue #65225 <https://github.com/rust-lang/rust/issues/65225> for more information

For more information about this error, try `rustc --explain E0658`.
error: could not compile `ars_core` (lib) due to 2 previous errors
(native) gabefrohaug@MacBook-Pro-5 rlife % cargo build -release 
error: unexpected argument '-e' found

Usage: cargo build [OPTIONS]

For more information, try '--help'.
rlife % cargo build --release
   Compiling ars_core v1.0.0 (/Users/gabefrohaug/rlife/ars/core)
error[E0658]: use of unstable library feature `btree_entry_insert`
   --> ars/core/src/ext/insert_ord.rs:113:40
    |
113 |             Self::Vacant(zelf) => zelf.insert_entry(v),
    |                                        ^^^^^^^^^^^^
    |
    = note: see issue #65225 <https://github.com/rust-lang/rust/issues/65225> for more information

error[E0658]: use of unstable library feature `btree_entry_insert`
   --> ars/core/src/ext/insert_ord.rs:126:40
    |
126 |             Self::Vacant(zelf) => zelf.insert_entry(v),
    |                                        ^^^^^^^^^^^^
    |
    = note: see issue #65225 <https://github.com/rust-lang/rust/issues/65225> for more information

For more information about this error, try `rustc --explain E0658`.
error: could not compile `ars_core` (lib) due to 2 previous errors

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia
amling
Posts: 1210
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling »

LaundryPizza03 wrote: June 18th, 2026, 3:34 am I can't compile the latest version due to unstable library features.
Generally I use features as they are stabilized and included in debian testing (what I'm running myself). Per the linked github issue that one was stabilized in 1.92.0. Presumably you have an older version of rustc and presumably if you update to one at least that new it will work. If that's not true or doesn't work out please let me know.
User avatar
LaundryPizza03
Posts: 2623
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: amling search program principles discussion / brain dump

Post by LaundryPizza03 »

amling wrote: June 18th, 2026, 11:55 am
LaundryPizza03 wrote: June 18th, 2026, 3:34 am I can't compile the latest version due to unstable library features.
Generally I use features as they are stabilized and included in debian testing (what I'm running myself). Per the linked github issue that one was stabilized in 1.92.0. Presumably you have an older version of rustc and presumably if you update to one at least that new it will work. If that's not true or doesn't work out please let me know.
Thanks, that works now.

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia
amling
Posts: 1210
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling »

I tried using the MDSE V2 version of wrap_hax to rule out c/2-slope backs for c/3 parallel stripes greyships. It did perform well but did not work out to solve the problem.

Previously I had been running this with older (pre-MDSE V2) code on the 1 TB RAM box, deep, deep in swap, but eventually gave up:

Code: Select all

20260120 18:34:47 [DEBUG] Completed w_pos 10: 232 B, 2.775553ms
20260120 18:34:47 [DEBUG] Completed w_pos 11: 792 B [+109.38%], 3.377063ms [+19.55%]
20260120 18:34:47 [DEBUG] Completed w_pos 12: 1.45 KB [+60.56%], 3.403425ms [+0.78%]
20260120 18:34:47 [DEBUG] Completed w_pos 13: 2.97 KB [+69.03%], 3.685385ms [+7.96%]
20260120 18:34:47 [DEBUG] Completed w_pos 14: 9.03 KB [+101.04%], 4.370844ms [+17.02%]
20260120 18:34:47 [DEBUG] Completed w_pos 15: 24.32 KB [+91.68%], 5.356041ms [+20.26%]
20260120 18:34:47 [DEBUG] Completed w_pos 16: 51.57 KB [+71.81%], 7.590561ms [+34.52%]
20260120 18:34:47 [DEBUG] Completed w_pos 17: 107.88 KB [+70.63%], 9.289964ms [+20.13%]
20260120 18:34:47 [DEBUG] Completed w_pos 18: 202.24 KB [+60.85%], 11.707523ms [+23.03%]
20260120 18:34:47 [DEBUG] Completed w_pos 19: 392.48 KB [+63.98%], 15.138871ms [+25.56%]
20260120 18:34:47 [DEBUG] Completed w_pos 20: 715.74 KB [+58.34%], 24.223713ms [+46.16%]
20260120 18:34:47 [DEBUG] Completed w_pos 21: 1.27 MB [+57.94%], 29.863103ms [+20.85%]
20260120 18:34:47 [DEBUG] Completed w_pos 22: 2.35 MB [+59.60%], 49.089338ms [+48.70%]
20260120 18:34:47 [DEBUG] Completed w_pos 23: 4.34 MB [+59.55%], 71.754756ms [+37.51%]
20260120 18:34:47 [DEBUG] Completed w_pos 24: 7.77 MB [+56.66%], 113.086373ms [+44.72%]
20260120 18:34:48 [DEBUG] Completed w_pos 25: 13.78 MB [+55.81%], 239.948004ms [+71.87%]
20260120 18:34:48 [DEBUG] Completed w_pos 26: 23.96 MB [+53.96%], 414.406003ms [+53.32%]
20260120 18:34:49 [DEBUG] Completed w_pos 27: 41.53 MB [+53.67%], 724.004711ms [+54.39%]
20260120 18:34:50 [DEBUG] Completed w_pos 28: 70.90 MB [+52.24%], 1.304182424s [+57.21%]
20260120 18:34:52 [DEBUG] Completed w_pos 29: 121.69 MB [+52.75%], 2.079825174s [+45.84%]
20260120 18:34:56 [DEBUG] Completed w_pos 30: 204.12 MB [+50.61%], 3.525990646s [+51.60%]
20260120 18:35:01 [DEBUG] Completed w_pos 31: 345.15 MB [+51.35%], 5.746255049s [+47.89%]
20260120 18:35:10 [DEBUG] Completed w_pos 32: 571.93 MB [+49.46%], 8.452254118s [+38.12%]
20260120 18:35:26 [DEBUG] Completed w_pos 33: 943.99 MB [+49.09%], 15.848536814s [+60.87%]
20260120 18:35:53 [DEBUG] Completed w_pos 34: 1.51 GB [+48.10%], 27.494724945s [+53.74%]
20260120 18:36:37 [DEBUG] Completed w_pos 35: 2.45 GB [+47.63%], 43.829273259s [+45.80%]
20260120 18:37:55 [DEBUG] Completed w_pos 36: 3.93 GB [+46.46%], 78.290380395s [+56.44%]
20260120 18:40:15 [DEBUG] Completed w_pos 37: 6.30 GB [+46.31%], 139.5438261s [+56.24%]
20260120 18:43:53 [DEBUG] Completed w_pos 38: 10.10 GB [+46.41%], 217.715743014s [+43.76%]
20260120 18:50:22 [DEBUG] Completed w_pos 39: 16.01 GB [+45.29%], 389.825010325s [+56.66%]
20260120 19:03:52 [DEBUG] Completed w_pos 40: 25.27 GB [+44.86%], 809.745998994s [+70.01%]
20260120 19:19:43 [DEBUG] Completed w_pos 41: 39.84 GB [+44.74%], 950.838426489s [+16.03%]
20260120 20:07:20 [DEBUG] Completed w_pos 42: 62.86 GB [+44.82%], 2857.37250084s [+100.13%]
20260120 20:45:34 [DEBUG] Completed w_pos 43: 98.96 GB [+44.63%], 2293.797218522s [-21.88%]
20260120 22:52:39 [DEBUG] Completed w_pos 44: 154.82 GB [+44.02%], 7624.663666104s [+107.49%]
20260121 00:45:00 [DEBUG] Completed w_pos 45: 242.37 GB [+44.08%], 6741.151485911s [-12.30%]
20260121 15:02:13 [DEBUG] Completed w_pos 46: 385.76 GB [+45.66%], 51432.681101833s [+153.65%]
20260124 04:11:32 [DEBUG] Completed w_pos 47: 618.63 GB [+46.37%], 220158.969279076s [+124.25%]
20260125 05:55:01 [DEBUG] Completed w_pos 48: 960.25 GB [+43.27%], 92609.15418476s [-81.56%]
20260126 15:12:00 [DEBUG] Completed w_pos 49: 1.52 TB [+47.15%], 119819.150669634s [+25.62%]
20260205 00:18:57 [DEBUG] Completed w_pos 50: 2.34 TB [+42.67%], 810417.120739805s [+148.48%]
20260329 11:02:28 [DEBUG] Completed w_pos 51: 3.60 TB [+42.56%], 4527810.960510272s [+139.27%]
...
Compare to MDSE V2:

Code: Select all

20260611 16:22:11 [INFO] Completed w_pos 10: 888 B, 2.592682ms
20260611 16:22:11 [INFO] Completed w_pos 11: 976 B [+9.44%], 5.148429ms [+66.03%]
20260611 16:22:11 [INFO] Completed w_pos 12: 1.07 KB [+11.58%], 8.297139ms [+46.84%]
20260611 16:22:11 [INFO] Completed w_pos 13: 1.25 KB [+15.49%], 11.590093ms [+33.12%]
20260611 16:22:11 [INFO] Completed w_pos 14: 1.84 KB [+37.97%], 14.180588ms [+20.10%]
20260611 16:22:11 [INFO] Completed w_pos 15: 3.27 KB [+56.05%], 22.218723ms [+44.17%]
20260611 16:22:11 [INFO] Completed w_pos 16: 6.91 KB [+71.68%], 35.213794ms [+45.25%]
20260611 16:22:11 [INFO] Completed w_pos 17: 14.77 KB [+72.43%], 48.914402ms [+32.57%]
20260611 16:22:11 [INFO] Completed w_pos 18: 29.37 KB [+66.17%], 73.213046ms [+39.79%]
20260611 16:22:11 [INFO] Completed w_pos 19: 57.88 KB [+65.35%], 88.54927ms [+18.96%]
20260611 16:22:11 [INFO] Completed w_pos 20: 107.46 KB [+59.98%], 134.535211ms [+41.23%]
20260611 16:22:11 [INFO] Completed w_pos 21: 199.81 KB [+60.11%], 176.42055ms [+26.94%]
20260611 16:22:12 [INFO] Completed w_pos 22: 368.04 KB [+59.25%], 293.773094ms [+49.92%]
20260611 16:22:12 [INFO] Completed w_pos 23: 675.55 KB [+58.93%], 429.747929ms [+37.59%]
20260611 16:22:13 [INFO] Completed w_pos 24: 1.19 MB [+57.15%], 719.899723ms [+50.48%]
20260611 16:22:14 [INFO] Completed w_pos 25: 2.12 MB [+56.18%], 1.264033558s [+54.85%]
20260611 16:22:16 [INFO] Completed w_pos 26: 3.70 MB [+54.54%], 2.070900153s [+48.39%]
20260611 16:22:19 [INFO] Completed w_pos 27: 6.46 MB [+54.21%], 3.016853442s [+37.19%]
20260611 16:22:24 [INFO] Completed w_pos 28: 11.04 MB [+52.42%], 4.657792225s [+42.76%]
20260611 16:22:31 [INFO] Completed w_pos 29: 19.01 MB [+53.05%], 7.076083435s [+41.22%]
20260611 16:22:42 [INFO] Completed w_pos 30: 31.97 MB [+50.83%], 11.467900037s [+47.37%]
20260611 16:23:00 [INFO] Completed w_pos 31: 53.67 MB [+50.68%], 17.649711009s [+42.46%]
20260611 16:23:27 [INFO] Completed w_pos 32: 89.32 MB [+49.87%], 26.900139599s [+41.53%]
20260611 16:24:13 [INFO] Completed w_pos 33: 147.85 MB [+49.35%], 45.607910679s [+51.60%]
20260611 16:25:25 [INFO] Completed w_pos 34: 241.92 MB [+48.27%], 72.232532403s [+45.19%]
20260611 16:27:18 [INFO] Completed w_pos 35: 393.65 MB [+47.75%], 113.682692887s [+44.59%]
20260611 16:30:21 [INFO] Completed w_pos 36: 632.80 MB [+46.60%], 182.47836987s [+46.46%]
20260611 16:35:02 [INFO] Completed w_pos 37: 1016.00 MB [+46.48%], 281.38427245s [+42.64%]
20260611 16:42:53 [INFO] Completed w_pos 38: 1.59 GB [+46.52%], 470.474945513s [+50.30%]
20260611 16:56:20 [INFO] Completed w_pos 39: 2.51 GB [+44.80%], 806.753892864s [+52.66%]
20260611 17:17:58 [INFO] Completed w_pos 40: 3.98 GB [+45.23%], 1298.920782663s [+46.75%]
20260611 17:50:21 [INFO] Completed w_pos 41: 6.29 GB [+44.97%], 1942.042967584s [+39.69%]
20260611 18:39:44 [INFO] Completed w_pos 42: 9.94 GB [+44.96%], 2963.34698081s [+41.64%]
20260611 19:57:19 [INFO] Completed w_pos 43: 15.67 GB [+44.71%], 4654.969150847s [+44.41%]
20260611 22:08:22 [INFO] Completed w_pos 44: 24.52 GB [+44.07%], 7863.570716824s [+51.26%]
20260612 01:34:24 [INFO] Completed w_pos 45: 38.39 GB [+44.09%], 12361.212018852s [+44.48%]
20260612 07:30:35 [INFO] Completed w_pos 46: 59.50 GB [+43.12%], 21371.073929545s [+53.42%]
20260612 16:51:53 [INFO] Completed w_pos 47: 92.44 GB [+43.36%], 33677.989379585s [+44.71%]
20260613 08:30:47 [INFO] Completed w_pos 48: 143.76 GB [+43.45%], 56334.083059461s [+50.34%]
20260614 09:44:23 [INFO] Completed w_pos 49: 221.27 GB [+42.47%], 90816.628599277s [+46.87%]
20260616 01:11:41 [INFO] Completed w_pos 50: 341.19 GB [+42.64%], 142037.878786799s [+43.99%]
20260619 00:59:39 [INFO] Completed w_pos 51: 525.22 GB [+42.48%], 258478.135377874s [+58.15%]
20260623 12:07:11 [INFO] Completed w_pos 52: 808.90 GB [+42.53%], 385651.911211784s [+39.49%]
...
I compared the bcols/cols sizes at each step and they are identical. The performance comparison is interesting. This includes a bunch of work to make wrap_hax vastly, vastly faster, but then also the switch to MDSE V2 which is a huge slow down.

Times from w_pos 28 to 51:

Code: Select all

w    t0                  t1                 ratio              
--   -----------------   ----------------   -------------------
28   1.304182424         4.657792225        3.571426925624632  
29   2.079825174         7.076083435        3.4022491522164833 
30   3.525990646         11.467900037       3.252390941538533  
31   5.746255049         17.649711009       3.071515423261889  
32   8.452254118         26.900139599       3.1825994845225023 
33   15.848536814        45.607910679       2.8777363623064365 
34   27.494724945        72.232532403       2.627141480683759  
35   43.829273259        113.682692887      2.5937617586131467 
36   78.290380395        182.47836987       2.3307891588894867 
37   139.5438261         281.38427245       2.0164580570433426 
38   217.715743014       470.474945513      2.160959694507469  
39   389.825010325       806.753892864      2.0695283049987054 
40   809.745998994       1298.920782663     1.6041089233867576 
41   950.838426489       1942.042967584     2.0424531797216625 
42   2857.37250084       2963.34698081      1.0370880870236014 
43   2293.797218522      4654.969150847     2.0293725675743963 
44   7624.663666104      7863.570716824     1.0313334543242971 
45   6741.151485911      12361.212018852    1.833694442957842  
46   51432.681101833     21371.073929545    0.4155154557708515 
47   220158.969279076    33677.989379585    0.1529712347848722 
48   92609.15418476      56334.083059461    0.6082992934701857 
49   119819.150669634    90816.628599277    0.7579475241789778 
50   810417.120739805    142037.878786799   0.17526515068824924
51   4527810.960510272   258478.135377874   0.05708677717162119
It seems like a lot of changes in ratio behavior and I cannot really account for them all. Some of it is explained by the old code hitting swap (first) during w_pos 48 but then why was w_pos 47 so much better? The new code (first) hit swap during w_pos 51 but still smoked the old code.

Overall the results are of course great, with the old code burning many months to finish only w_pos 51 while the new code did all that plus w_pos 52 in like two weeks. Sadly the new code finally crashed during w_pos 53 when spine store indices reached 2^32. Presumably I could change them to be stored in u64s, recompile, and wait through this all again but I think I'm out of steam for this project for the time being.

I had wanted here to gather evidence that MDSE V2 out of swap is faster than MDSE V1 in swap but the comparison is muddied by all the wrap_hax performance work that happened in between. I guess overall it's still a good battle test of the new MDSE V2 code and does push the project one w_pos forward.

Interpretting the partials is complicated, but here is a cycle (as in its left and right edges are identical) that diverges from the agar in w_pos 11 and completed all the way through w_pos 53, both in UWI view and in XYT view:

Code: Select all

| .*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.* |
| .*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.* |
| .*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.* |
| .*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.* |
| .*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.* |
| .*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.* |
| .*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.* |
| .*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.* |
| .*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.* |
| .*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.* |
| ...*.*.*.*.*.*.....*.....*.*.*.....*.....*...*.*.*...*.*.*.. |
| ...*.....*.*...*.....*.....*...*.....*...*.....*...*.*...... |
| *....*...*.*.**.*..**.*..*.*.**.*..**.*..**..*.*.**.*..*.**. |
| **.**.*..*.**.***.*.***.*.***.***.*.***.*.*.*.***.*..**.*.** |
| .**.***.*...*.....*.....*...*.....*.....*...*...*..**.*.*..* |
| ***.......*......*.........*.....*......**.....*.***...*.*** |
| *.......*.*...*..*..*...*..*..*..*..*.......*..*......**..*. |
| *...*..**...*.*.***.*..**...*.*.***.*......**...*......*..*. |
| ..*.*.....***...*..*.....**.*...*..*.....*...**.....***..... |
| .*.....**......**......*.**....**........*.*.**..*..*......* |
| ........*.*..*.**..*...*.....*.**..*.....*.*.......**...**.. |
| *.**....*.**.**..**....*...*.**..**........*...**..***..*.*. |
| .**...*...*..*....*....**....*....*.....**.**..*..*.*...*..* |
| **....*.***..*..*.*....*.**.**..*.*........*.**..**.*.....** |
| *.*...**.*.*.*.*.**....*..*..*.*.**.....**.*...*.**.*..**.*. |
| *.*...*...*..*........*.****.*...........**.***........**.*. |
| *.*****.***..*.****..........*.****.....**...**..**....*..*. |
| ..*****..*...*....*....*.*...*....*.....*..*.*.*..*....*.*.. |
| *......*.....*...*....*....*.*...*..*.....*.***........*.**. |
| *.*.*.*...*.**.*.*.****...*..*.*.*.***.*......*..*.....*..*. |
| *..*..*......*.*...*****..**.*.*...**....***...**.......*.*. |
| ..**.....*...*.*....*....***.*.*...*.***.....*.*....*..*.*.. |
| ..*.**....**...*.*..*..*..**...*.****.**...*.*...*.**..*.... |
| *.*..*..***....*.**.*...*..*...*.*..*.**.**....*...**.*.*.*. |
| *......**..**.**.****.**..*.*.**...*....*.*.*.***..**.*...*. |
| *....**.....*.**...*..**....*.**...*..*.*.*......*.**.**..*. |
| **..*...**.*..**.*..*.*.*..*...*....*..**.*.....*.*.*.....** |
| *.....*.****...*.*..*.**..**...*..............*.***.**.*..*. |
| *....**.....*....*....*...*.**.***.*..***.*....**...**...**. |
| .....*...*.*.....*.*.....**.....*...*.*..*......**.....*.*.. |
| ...**.*..***...*.*..**.***.*.*.....**....*....**.**.*....... |
| *..**.....*.****.**...**....*..*.*.***....*..**...*...***.*. |
| ...*.*..*....***.*.*..*...*.*.*.**.*.*.*....**..*....*..**.. |
| ...*..***.*....*....**.**...***....*...******.......*..***.. |
| ****.**........*.****...**...*.*.**....*..***..*.*.**.....** |
| *.......*..**..*..*........***..*.**.....**.*......**.....*. |
| .........*.****...*....**..**..**..*.*.*.**.*.....**........ |
| .*...*..***....*.*..**.**......*.....**..*..*..**..........* |
| **..***....**.....*.*...*..*...*..*..*......****.*.......*** |
| .....**...*.*..**...*...*.*..*.**.*.**......***.*.*......... |
| ..*....*.*..*..*.....*...*...**.*...**....*......*.......... |
| .*...***.*..*****.*.....*...*.*......*...*..*.*.**......**.* |
| **.*.*...*..***..*****.......*.......*...*...*...*.*....**** |

Code: Select all

| .                                                            | .                                                            | .*                                                           |
| .*                                                           | .*.                                                          | .*.                                                          |
| .*.*                                                         | .*.*                                                         | .*.*.                                                        |
| .*.*.                                                        | .*.*.*                                                       | .*.*.*                                                       |
| *..*.*.                                                      | *..*.*.                                                      | ...*.*.*                                                     |
| **.*.*.*                                                     | **.*.*.*.                                                    | **.*.*.*.                                                    |
| ..*..*.*.*                                                   | ..**.*.*.*                                                   | .....*.*.*.                                                  |
| **..*..*.*.                                                  | ..*.**.*.*.*                                                 | *......*.*.*                                                 |
| **...*.*.*.*.                                                | ***.*.*..*.*.                                                | *.*.*.*..*.*.*                                               |
| ...*.....*.*.*                                               | *.*......*.*.*.                                              | *.*......*.*.*.                                              |
| *.*.....**.*.*.*                                             | ..*....*.*.*.*.*                                             | ...*....*..*.*.*.                                            |
| *.**...**..*.*.*.                                            | *...*.*....*.*.*.*                                           | *.*.*.*.*.**.*.*.*                                           |
| *.**.**.*.*..*.*.*.                                          | *.*****.*...*..*.*.                                          | **....**..*.**.*.*.*                                         |
| ......*.*......*.*.*                                         | ....*.....**..*..*.*.                                        | *.....*..**.*.**.*.*.                                        |
| .....******.*....*.*.*                                       | .....*....**...*.*.*.*                                       | *...*....*....*.*..*.*.                                      |
| *....*...**...*.*..*.*.                                      | .*.*......**.*.....*.*.*                                     | ...*..*......*.....*.*.*                                     |
| *.****.*.....*.....*.*.*.                                    | .*.****.***..******..*.*.                                    | .*.*..*.*....*.*****.*.*.*                                   |
| .........*...*..**...*.*.*                                   | *....**.*.*..*..*...*..*.*.                                  |  *......*.*.**....*.**.*.*.                                  |
|  **..*...*.*.*.*.......*.*.*                                 |   ....*..*...*..**...*.*.*.*                                 |   ..*.*....*.*.*...**.*..*.*.                                |
|    ..*.*.**..*....*.*.*..*.*.                                |    *.*..**.**...****.....*.*.*                               |     .*..*..**..*..*......*.*.*                               |
|     ..*...*....*.**......*.*.*.                              |      **.*.**...*........*..*.*.                              |      *.....**.**.**.....**.*.*.*                             |
|       *.*.*...**.**....*...*.*.*                             |       .*.*....**........*..*.*.*.                            |        *.*..*..*.......**.**.*.*.                            |
|        ........*.*.....*...*.*.*.*                           |         ..**.*.*.*.*...*...*.*.*.*                           |         .*.*.*...*.*...*.*...*.*.*.                          |
|          **.*.*...*.*.**.*.**..*.*.                          |          *.**.**.**.*..**.****.*.*.*                         |           .....*.*..**....*....*.*.*                         |
|           ..**.*.*.****.......*..*.*.                        |            .*..*.*.**.****..*.**.*.*.                        |            .*.**.*..*.*.....*....*.*.*                       |
|             *..*.*.......***...*.*.*.*                       |             *....*..*..*..*...*.*..*.*.                      |              *.*..***....**...*.*..*.*.                      |
|              *...*....**.....*.....*.*.*                     |               **......*....***.....*.*.*                     |               **..***.**.....*.....*.*.*.                    |
|                ****...*****..******..*.*.                    |                ...**.**...**.*.*****.*.*.*                   |                 *...*..*..*..*..**...*.*.*                   |
|                 ..*.*...*.**.*..*...*..*.*.                  |                  ....**....*.*....*.**.*.*.                  |                  *....**..**.*.*.......*.*.*                 |
|                   *.*..*...*.*..**...*.*.*.*                 |                   *.*...*....*.*...**.*..*.*.                |                    .**.*.**..*....*.*.*..*.*.                |
|                    *.....****...****.....*.*.*               |                     ....*.***..*..*......*.*.*               |                     **.**......*.**......*.*.*.              |
|                      ..*.......*........**.*.*.              |                      *..*****.**.**.....**.*.*.*             |                       ..*.....**.**.....*..*.*.*             |
|                       ..*....*.*..........*..*.*.            |                        .*...*..*.........**..*.*.            |                        .....**.*.*...........*.*.*           |
|                         *..**..*.*.*.........*.*.*           |                         .*.*...*..***....*...*.*.*.          |                          .*.**.....**....*..*..*.*.          |
|                          ..****.*..**...**..**.*.*.*         |                           ...****....*.....*...*.*.*         |                           .......*.**...**..*..*.*.*.        |
|                            ........***.....**.**.*.*.        |                            ....**.......**.*...*.*.*.*       |                             **...*....****.*...*.*.*.*       |
|                             .*.*.*.**.*..*.*.*...*.*.*.      |                              ..**.....**..**.*.**..*.*.      |                              *****.*...*...**.****.*.*.*     |
|                               **...**.**......*....*.*.*     |                               ....***....**.......*..*.*.    |                                .*.***......***..****.*.*.    |
|                                .*.....***.*..........*.*.*   |                                 ...*.**.**...***..*..*.*.*   |                                 ..**.*.**..***.*...***.*.*.  |
|                                  .*.......*..**.**.*.*.*.*.  |                                  .......*.**.***....*..*.*.* |                                   ........*..........*.*.*.* |
|                                   ...*.*..*...*........*.*.* |                                    .**.*.*...***.*....*..*.* |                                    .**.*.**.**...****.**.*.* |
|                                     .**.*.........***....*.* |                                     .*.*.......*.**.***..*.* |                                      *...**....*....*..**..* |
|                                      *........*.*.*.*.****.* |                                       ...**....*.**.**.*...* |                                       ...**....*....*.....*. |
|                                        ..***..*..........**. |                                        ...***...**.......... |                                         ....**............** |
|                                         ....*****.......*.** |                                          *..*.*.**......*.** |                                          **.*..**..*...***.. |
|                                           ..*...**.**..*.... |                                           ..*.....***..**... |                                            .*....****..**.** |
|                                            ..*.***..*..*.... |                                             **......*..*..*. |                                             ..*...*.*.....** |
|                                              .**..*.*.**.*** |                                              *.*.*..*.*****. |                                               *.*....**..... |
|                                               ......**....*. |                                                .*......****. |                                                ..***......*. |
|                                                 *..**..*.... |                                                 .*.***...... |                                                  **.*.**..*. |
|                                                  *........*. |                                                   .....*..*. |                                                   .......**. |
|                                                    ....****. |                                                    *....*.** |                                                     ....*... |
|                                                     .....*.. |                                                      ....**. |                                                      ....... |
|                                                       ...... |                                                       ....*. |                                                        ...*. |
|                                                        ..*.* |                                                         *... |                                                         *.*. |
|                                                          *.* |                                                          *.* |                                                           .. |
|                                                           *. |                                                            * |                                                            * |
I'm still as uncertain as ever on whether or not I think a c/3 x c/2 back actually exists.
amling
Posts: 1210
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling »

I was thinking more about that sad, sad 17c/34 puffer and realized maybe we could find a lower period cleanup catalyst that is rephased by each cleanup reaction. E.g. it could be 2c/4 but then every cleanup shifts it c/2 so it can eat a line of 17c/34 output. If this rephasing is possible it will almost certainly have to be mostly c/2 with a tiny higher period bit. I believe similar might be done for 3c/6, 4c/8, etc., but I assume they are less likely to work out.

As an example, consider a constraint like this:

Code: Select all

|        LLLuuuuuuuuuuuuuuuuuuuRRR |        LLLuuuuuuuuuuuuuuuuuuuRRR |       LLLuuuuuuuuuuuuuuuuuuuRRR  |       LLLuuuuuuuuuuuuuuuuuuuRRR  |      LLLuuuuuuuuuuuuuuuuuuuRRR   |      LLLuuuuuuuuuuuuuuuuuuuRRR   |     LLLuuuuuuuuuuuuuuuuuuuRRR    |     LLLuuuuuuuuuuuuuuuuuuuRRR    |    LLLuuuuuuuuuuuuuuuuuuuRRR     |    LLLuuuuuuuuuuuuuuuuuuuRRR     |   LLLuuuuuuuuuuuuuuuuuuuRRR      |   LLLuuuuuuuuuuuuuuuuuuuRRR      |  LLLuuuuuuuuuuuuuuuuuuuRRR       |  LLLuuuuuuuuuuuuuuuuuuuRRR       | LLLuuuuuuuuuuuuuuuuuuuRRR        | LLLuuuuuuuuuuuuuuuuuuuRRR        |
|        ......................... |        ......................... |       .........................  |       .........................  |      .........................   |      .........................   |     .........................    |     .........................    |    .........................     |    .........................     |   .........................      |   .........................      |  .........................       |  .........................       | .........................        | .........................        |
|        ......................... |        ......................... |       .........................  |       .........................  |      .........................   |      .........................   |     .........................    |     .........................    |    .........................     |    .........................     |   .........................      |   .........................      |  .........................       |  .........................       | .........................        | .........................        |
|        ......................... |        ......................... |       .........................  |       .........................  |      .........................   |      .........................   |     .........................    |     .........................    |    .........................     |    .........................     |   .........................      |   .........................      |  .........................       |  .........................       | .........................        | ............WW...........        |
|        ......................... |        ......................... |       .........................  |       .........................  |      .........................   |      .........................   |     .........................    |     .........................    |    .........................     |    .........................     |   .........................      |   .........................      |  .........................       |  ...........WW............       | ...........WWWW..........        | ..........WWWWWW.........        |
|        ......................... |        ......................... |       .........................  |       .........................  |      .........................   |      .........................   |     .........................    |     .........................    |    .........................     |    .........................     |   .........................      |   ..........WW.............      |  ..........WWWW...........       |  .........WWWWWW..........       | .........WWWWWWWW........        | .........WWWWWWWWW.......        |
|        ....**................... |        ....**................... |       .....**..................  |       .....**..................  |      ......**.................   |      ......**.................   |     .......**................    |     .......**................    |    ........**...............     |    ........**...............     |   .........WWWW............      |   ........WWWWWW...........      |  .........WWWWWWW.........       |  ........WWWWWWWWW........       | .........WWWWWWWWWW......        | ........WW...............        |
|        ...*..*.................. |        ...*..*.................. |       ....*..*.................  |       ....*..*.................  |      .....*..*................   |      .....*..*................   |     ......*..*...............    |     ......*..*...............    |    .......*..*..............     |    .......*.WWWW............     |   ........WWWWWWW..........      |   ........WWWWWWWW.........      |  ........WWWWWWWWWW.......       |  ........WWWWWWWWWWW......       | ........WWWWWWWWWWWWW....        | ........W................        |
|        ....**......HHHHHHHHHHHHH |        ....**.....HHHHHHHHHHHHHH |       .....**.....HHHHHHHHHHHHH  |       .....**....HHHHHHHHHHHHHH  |      ......**....HHHHHHHHHHHHH   |      ......**...HHHHHHHHHHHHHH   |     .......**...HHHHHHHHHHHHH    |     .......**..HHHHHHHHHHHHHH    |    ........**WWHHHHHHHHHHHHH     |    ........WWWWWHHHHHHHHHHHH     |   ........WWWWWWWHHHHHHHHHH      |   .......WWWWWWWWWHHHHHHHHH      |  ........WWWWWWWWWWHHHHHHH       |  .......WWWWWWWWWWWWHHHHHH       | ........WWWWWWWWWWWWWHHHH        | .......W...GGGGGGGGGGGGGG        |
|        ...........HHHHHHHHHHHHHH |        ..........HHHHHHHHHHHHHHH |       ...........HHHHHHHHHHHHHH  |       ..........HHHHHHHHHHHHHHH  |      ...........HHHHHHHHHHHHHH   |      ..........HHHHHHHHHHHHHHH   |     ...........HHHHHHHHHHHHHH    |     ..........HHHHHHHHHHHHHHH    |    .........WWHHHHHHHHHHHHHH     |    ........WWWWWHHHHHHHHHHHH     |   ........WWWWWWWHHHHHHHHHH      |   .......WWWWWWWWWHHHHHHHHH      |  .......WWWWWWWWWWWHHHHHHH       |  .......WWWWWWWWWWWWHHHHHH       | .......WWWWWWWWWWWWWWHHHH        | ..........GGGGGGGGGGGGGGG        |
|        ..........HHHHHHHHHHHHHHH |        .........HHHHHHHHHHHHHHHH |       ..........HHHHHHHHHHHHHHH  |       .........HHHHHHHHHHHHHHHH  |      ..........HHHHHHHHHHHHHHH   |      .........HHHHHHHHHHHHHHHH   |     ..........HHHHHHHHHHHHHHH    |     .........HHHHHHHHHHHHHHHH    |    ..........HHHHHHHHHHHHHHH     |    ........WWWWHHHHHHHHHHHHH     |   ........WWWWWWWHHHHHHHHHH      |   .......WWWWWWWWWHHHHHHHHH      |  .......WWWWWWWWWWWHHHHHHH       |  ......WWWWWWWWWWWWWHHHHHH       | ......WWWWWWWWWWWWWWWHHHH        | .........GGGGGGGGGGGGGGGG        |
|        HHHHHHHHHHHHHHHHHHHHHHHHH |        HHHHHHHHHHHHHHHHHHHHHHHHH |       HHHHHHHHHHHHHHHHHHHHHHHHH  |       HHHHHHHHHHHHHHHHHHHHHHHHH  |      HHHHHHHHHHHHHHHHHHHHHHHHH   |      HHHHHHHHHHHHHHHHHHHHHHHHH   |     HHHHHHHHHHHHHHHHHHHHHHHHH    |     HHHHHHHHHHHHHHHHHHHHHHHHH    |    HHHHHHHHHHHHHHHHHHHHHHHHH     |    HHHHHHHHHHHHHHHHHHHHHHHHH     |   HHHHHHHHWWWWWWHHHHHHHHHHH      |   HHHHHHHWWWWWWWWWHHHHHHHHH      |  HHHHHHHWWWWWWWWWWWHHHHHHH       |  HHHHHHWWWWWWWWWWWWWHHHHHH       | HHHHHHWWWWWWWWWWWWWWWHHHH        | GGGGGGGGGGGGGGGGGGGGGGGGG        |
|        HHHHHHHHHHHHHHHHHHHHHHHHH |        HHHHHHHHHHHHHHHHHHHHHHHHH |       HHHHHHHHHHHHHHHHHHHHHHHHH  |       HHHHHHHHHHHHHHHHHHHHHHHHH  |      HHHHHHHHHHHHHHHHHHHHHHHHH   |      HHHHHHHHHHHHHHHHHHHHHHHHH   |     HHHHHHHHHHHHHHHHHHHHHHHHH    |     HHHHHHHHHHHHHHHHHHHHHHHHH    |    HHHHHHHHHHHHHHHHHHHHHHHHH     |    HHHHHHHHHHHHHHHHHHHHHHHHH     |   HHHHHHHHHHHHHHHHHHHHHHHHH      |   HHHHHHHWWWWWWWWHHHHHHHHHH      |  HHHHHHHWWWWWWWWWWWHHHHHHH       |  HHHHHHWWWWWWWWWWWWWHHHHHH       | HHHHHHWWWWWWWWWWWWWWWHHHH        | GGGGGGGGGGGGGGGGGGGGGGGGG        |
|        HHHHHHHHHHHHHHHHHHHHHHHHH |        HHHHHHHHHHHHHHHHHHHHHHHHH |       HHHHHHHHHHHHHHHHHHHHHHHHH  |       HHHHHHHHHHHHHHHHHHHHHHHHH  |      HHHHHHHHHHHHHHHHHHHHHHHHH   |      HHHHHHHHHHHHHHHHHHHHHHHHH   |     HHHHHHHHHHHHHHHHHHHHHHHHH    |     HHHHHHHHHHHHHHHHHHHHHHHHH    |    HHHHHHHHHHHHHHHHHHHHHHHHH     |    HHHHHHHHHHHHHHHHHHHHHHHHH     |   HHHHHHHHHHHHHHHHHHHHHHHHH      |   HHHHHHHHHHHHHHHHHHHHHHHHH      |  HHHHHHHWWWWWWWWWWHHHHHHHH       |  HHHHHHWWWWWWWWWWWWWHHHHHH       | HHHHHHWWWWWWWWWWWWWWWHHHH        | GGGGGGGGGGGGGGGGGGGGGGGGG        |
|        HHHHHHHHHHHHHHHHHHHHHHHHH |        HHHHHHHHHHHHHHHHHHHHHHHHH |       HHHHHHHHHHHHHHHHHHHHHHHHH  |       HHHHHHHHHHHHHHHHHHHHHHHHH  |      HHHHHHHHHHHHHHHHHHHHHHHHH   |      HHHHHHHHHHHHHHHHHHHHHHHHH   |     HHHHHHHHHHHHHHHHHHHHHHHHH    |     HHHHHHHHHHHHHHHHHHHHHHHHH    |    HHHHHHHHHHHHHHHHHHHHHHHHH     |    HHHHHHHHHHHHHHHHHHHHHHHHH     |   HHHHHHHHHHHHHHHHHHHHHHHHH      |   HHHHHHHHHHHHHHHHHHHHHHHHH      |  HHHHHHHHHHHHHHHHHHHHHHHHH       |  HHHHHHWWWWWWWWWWWWHHHHHHH       | HHHHHHWWWWWWWWWWWWWWWHHHH        | GGGGGGGGGGGGGGGGGGGGGGGGG        |
|        HHHHHHHHHHHHHHHHHHHHHHHHH |        HHHHHHHHHHHHHHHHHHHHHHHHH |       HHHHHHHHHHHHHHHHHHHHHHHHH  |       HHHHHHHHHHHHHHHHHHHHHHHHH  |      HHHHHHHHHHHHHHHHHHHHHHHHH   |      HHHHHHHHHHHHHHHHHHHHHHHHH   |     HHHHHHHHHHHHHHHHHHHHHHHHH    |     HHHHHHHHHHHHHHHHHHHHHHHHH    |    HHHHHHHHHHHHHHHHHHHHHHHHH     |    HHHHHHHHHHHHHHHHHHHHHHHHH     |   HHHHHHHHHHHHHHHHHHHHHHHHH      |   HHHHHHHHHHHHHHHHHHHHHHHHH      |  HHHHHHHHHHHHHHHHHHHHHHHHH       |  HHHHHHHHHHHHHHHHHHHHHHHHH       | HHHHHHWWWWWWWWWWWWWWHHHHH        | GGGGGGGGGGGGGGGGGGGGGGGGG        |
|        HHHHHHHHHHHHHHHHHHHHHHHHH |        HHHHHHHHHHHHHHHHHHHHHHHHH |       HHHHHHHHHHHHHHHHHHHHHHHHH  |       HHHHHHHHHHHHHHHHHHHHHHHHH  |      HHHHHHHHHHHHHHHHHHHHHHHHH   |      HHHHHHHHHHHHHHHHHHHHHHHHH   |     HHHHHHHHHHHHHHHHHHHHHHHHH    |     HHHHHHHHHHHHHHHHHHHHHHHHH    |    HHHHHHHHHHHHHHHHHHHHHHHHH     |    HHHHHHHHHHHHHHHHHHHHHHHHH     |   HHHHHHHHHHHHHHHHHHHHHHHHH      |   HHHHHHHHHHHHHHHHHHHHHHHHH      |  HHHHHHHHHHHHHHHHHHHHHHHHH       |  HHHHHHHHHHHHHHHHHHHHHHHHH       | HHHHHHHHHHHHHHHHHHHHHHHHH        | GGGGGGGGGGGGGGGGGGGGGGGGG        |
|        HHHHHHHHHHHHHHHHHHHHHHHHH |        HHHHHHHHHHHHHHHHHHHHHHHHH |       HHHHHHHHHHHHHHHHHHHHHHHHH  |       HHHHHHHHHHHHHHHHHHHHHHHHH  |      HHHHHHHHHHHHHHHHHHHHHHHHH   |      HHHHHHHHHHHHHHHHHHHHHHHHH   |     HHHHHHHHHHHHHHHHHHHHHHHHH    |     HHHHHHHHHHHHHHHHHHHHHHHHH    |    HHHHHHHHHHHHHHHHHHHHHHHHH     |    HHHHHHHHHHHHHHHHHHHHHHHHH     |   HHHHHHHHHHHHHHHHHHHHHHHHH      |   HHHHHHHHHHHHHHHHHHHHHHHHH      |  HHHHHHHHHHHHHHHHHHHHHHHHH       |  HHHHHHHHHHHHHHHHHHHHHHHHH       | HHHHHHHHHHHHHHHHHHHHHHHHH        | GGGGGGGGGGGGGGGGGGGGGGGGG        |
|        HHHHHHHHHHHHHHHHHHHHHHHHH |        HHHHHHHHHHHHHHHHHHHHHHHHH |       HHHHHHHHHHHHHHHHHHHHHHHHH  |       HHHHHHHHHHHHHHHHHHHHHHHHH  |      HHHHHHHHHHHHHHHHHHHHHHHHH   |      HHHHHHHHHHHHHHHHHHHHHHHHH   |     HHHHHHHHHHHHHHHHHHHHHHHHH    |     HHHHHHHHHHHHHHHHHHHHHHHHH    |    HHHHHHHHHHHHHHHHHHHHHHHHH     |    HHHHHHHHHHHHHHHHHHHHHHHHH     |   HHHHHHHHHHHHHHHHHHHHHHHHH      |   HHHHHHHHHHHHHHHHHHHHHHHHH      |  HHHHHHHHHHHHHHHHHHHHHHHHH       |  HHHHHHHHHHHHHHHHHHHHHHHHH       | HHHHHHHHHHHHHHHHHHHHHHHHH        | GGGGGGGGGGGGGGGGGGGGGGGGG        |
|        HHHHHHHHHHHHHHHHHHHHHHHHH |        HHHHHHHHHHHHHHHHHHHHHHHHH |       HHHHHHHHHHHHHHHHHHHHHHHHH  |       HHHHHHHHHHHHHHHHHHHHHHHHH  |      HHHHHHHHHHHHHHHHHHHHHHHHH   |      HHHHHHHHHHHHHHHHHHHHHHHHH   |     HHHHHHHHHHHHHHHHHHHHHHHHH    |     HHHHHHHHHHHHHHHHHHHHHHHHH    |    HHHHHHHHHHHHHHHHHHHHHHHHH     |    HHHHHHHHHHHHHHHHHHHHHHHHH     |   HHHHHHHHHHHHHHHHHHHHHHHHH      |   HHHHHHHHHHHHHHHHHHHHHHHHH      |  HHHHHHHHHHHHHHHHHHHHHHHHH       |  HHHHHHHHHHHHHHHHHHHHHHHHH       | HHHHHHHHHHHHHHHHHHHHHHHHH        | GGGGGGGGGGGGGGGGGGGGGGGGG        |
In gens 1-8 an envelope of H wildcards (which we will configure to mean 2c/4) marches towards a bee hive. In gens 9-15 W wildcards (which are arbitrary) show up where we cannot predict the cell value (it is neither forced to match 2c/4 ship nor to match still life/vacuum). In gen 16 I spray a trail of zeros through the middle to try to force whatever is left of the bee hive to have been separated. I also switch to different G wildcards because I don't want the ship to match itself at 2c/4, rather I want it to match itself rephased.

To make "H" 2c/4 is easy, just do 4-PD (from 8c16-s2s the search will run at):

Code: Select all

"H":{"Generate":[{"Pd":4},"H",true]},
But now how to configure "G"? Relying on the internals of how wildcards are interpretted we can actually piggyback on "H", configuring it to do 8-fold PD tagged with letter "H" still and it will, in the 16th generation, read what it generated in the 2nd.

Code: Select all

"G":{"Generate":[{"Pd":8},"H",true]},
This is definitely not part of the "public API" of how wildcards work and I would not rely on this going foward, but it gets the job done right now. I believe similar will work for 3c/6 (where 34 mod 6 is also -2) but for e.g. 4c/8 I think you might need to do something weirder like run 12c24-s2s and have "G" be 4-fold division so generation 24 is linked to generation 6 giving you the right delta (mod 8). I will have to think about it very, very hard when/if we get there.

I ran the above constraint e.g. like:

Code: Select all

$ rlife llsss-recentering 8c16-s2s G07.in --wildcard-config G07.wcfg --constraint 'grid("G07.cstr", pd(8))' --inertness 'grid("G07.bg")' --left-closure 'pd(8, None)' --right-closure 'pd(8, None)' --unwrap-v 05
"G07.wcfg" is the custom weight config and "G07.cstr" is the constraint (after which we require 8-PD, i.e. c/2). "G07.bg" is a grid containing just the bee hive cells from G07.cstr so it can not be counted towards pattern widths. I've included arbitrary 8-PD closures on both sides as well since c/2 is cheap and supports may need to be big. Finally we --unwrap-v since don't really care if the bee hive remnants are zero or not (I would be interested either way).

For those exact arguments that last thinnest partial is...

Code: Select all

|        LLuuuuuuuuuuuuuuuuuuuRR |        LLuuuuuuuuuuuuuuuuuuuRR |       LLuuuuuuuuuuuuuuuuuuuRR  |       LLuuuuuuuuuuuuuuuuuuuRR  |      LLuuuuuuuuuuuuuuuuuuuRR   |      LLuuuuuuuuuuuuuuuuuuuRR   |     LLuuuuuuuuuuuuuuuuuuuRR    |     LLuuuuuuuuuuuuuuuuuuuRR    |    LLuuuuuuuuuuuuuuuuuuuRR     |    LLuuuuuuuuuuuuuuuuuuuRR     |   LLuuuuuuuuuuuuuuuuuuuRR      |   LLuuuuuuuuuuuuuuuuuuuRR      |  LLuuuuuuuuuuuuuuuuuuuRR       |  LLuuuuuuuuuuuuuuuuuuuRR       | LLuuuuuuuuuuuuuuuuuuuRR        | LLuuuuuuuuuuuuuuuuuuuRR        |
|        ....................... |        ....................... |       .......................  |       .......................  |      .......................   |      .......................   |     .......................    |     .......................    |    .......................     |    .......................     |   .......................      |   .......................      |  .......................       |  .......................       | .......................        | .......................        |
|        ....................... |        ....................... |       .......................  |       .......................  |      .......................   |      .......................   |     .......................    |     .......................    |    .......................     |    .......................     |   .......................      |   .......................      |  .......................       |  .......................       | .......................        | .......................        |
|        ....................... |        ....................... |       .......................  |       .......................  |      .......................   |      .......................   |     .......................    |     .......................    |    .......................     |    .......................     |   .......................      |   .......................      |  .......................       |  .......................       | .......................        | .......................        |
|        ....................... |        ....................... |       .......................  |       .......................  |      .......................   |      .......................   |     .......................    |     .......................    |    .......................     |    .......................     |   .......................      |   .......................      |  .......................       |  .......................       | .......................        | .......................        |
|        ....................... |        ....................... |       .......................  |       .......................  |      .......................   |      .......................   |     .......................    |     .......................    |    .......................     |    .......................     |   .......................      |   .......................      |  .......................       |  .......................       | .......................        | .......................        |
|        ...**.................. |        ...**.................. |       ....**.................  |       ....**.................  |      .....**................   |      .....**................   |     ......**...............    |     ......**...............    |    .......**..............     |    .......**..............     |   ........**.............      |   ........**.............      |  .........**............       |  .........*.............       | .......................        | .......................        |
|        ..*..*................. |        ..*..*................. |       ...*..*................  |       ...*..*................  |      ....*..*...............   |      ....*..*...............   |     .....*..*..............    |     .....*..*..............    |    ......*..*.............     |    ......*..*.............     |   .......*..*............      |   .......*..*............      |  ........*..............       |  .........*.............       | .......................        | .......................        |
|        ...**.................. |        ...**.................. |       ....**.................  |       ....**.................  |      .....**................   |      .....**................   |     ......**...............    |     ......**...............    |    .......**..............     |    .......**..............     |   ........**.............      |   ........*..............      |  .......................       |  .......................       | .......................        | .......................        |
|        ....................... |        ....................... |       .......................  |       .......................  |      .......................   |      .......................   |     .......................    |     .......................    |    .......................     |    .......................     |   .........**............      |   .......................      |  .......................       |  .......................       | .......................        | .......................        |
|        ..........*............ |        .........**............ |       .........**............  |       ..........*............  |      ..........*............   |      .........**............   |     .........**............    |     ..........*............    |    ..........*............     |    .........**............     |   .........**............      |   ...........*...........      |  .......................       |  .......................       | .........*.............        | .........**............        |
|        .......**.***.......... |        .......**...*.......... |       .......****............  |       .......**.*............  |      .......**.***..........   |      .......**...*..........   |     .......****............    |     .......**.*............    |    .......**.***..........     |    .......**...*..........     |   .......****............      |   .......**.*............      |  .......**..**..........       |  .......***.**..........       | .......****.*..........        | .......**...*..........        |
|        ......*..***........... |        .....**................ |       ......*................  |       .....**....*...........  |      ......*..***...........   |      .....**................   |     ......*................    |     .....**....*...........    |    ......*..***...........     |    .....**................     |   ......*................      |   .....**....*...........      |  ......*..***...........       |  .....**..**............       | ......*...***..........        | .....**................        |
|        .....**..**.***........ |        .....**................ |       .....**..***.**........  |       .....**..*.............  |      .....**..**.***........   |      .....**................   |     .....**..***.**........    |     .....**..*.............    |    .....**..**.***........     |    .....**................     |   .....**..***.**........      |   .....**..*.............      |  .....**.*...***........       |  ......**...............       | .....**..*..***........        | .....**................        |
|        ..........*.*****...... |                                |                                |                                |                                |                                |                                |                                |                                |                                |                                |                                |                                |                                |                                |                                |

Code: Select all

x = 529, y = 14, rule = LifeHistory
F8.23B.F8.23B.F7.23B2.F7.23B2.F6.23B3.F6.23B3.F5.23B4.F5.23B4.F4.23B
5.F4.23B5.F3.23B6.F3.23B6.F2.23B7.F2.23B7.F.23B8.F.23B8.F$F8.23B.F8.
23B.F7.23B2.F7.23B2.F6.23B3.F6.23B3.F5.23B4.F5.23B4.F4.23B5.F4.23B5.F
3.23B6.F3.23B6.F2.23B7.F2.23B7.F.23B8.F.23B8.F$F8.23B.F8.23B.F7.23B2.
F7.23B2.F6.23B3.F6.23B3.F5.23B4.F5.23B4.F4.23B5.F4.23B5.F3.23B6.F3.
23B6.F2.23B7.F2.23B7.F.23B8.F.23B8.F$F8.23B.F8.23B.F7.23B2.F7.23B2.F
6.23B3.F6.23B3.F5.23B4.F5.23B4.F4.23B5.F4.23B5.F3.23B6.F3.23B6.F2.23B
7.F2.23B7.F.23B8.F.23B8.F$F8.23B.F8.23B.F7.23B2.F7.23B2.F6.23B3.F6.
23B3.F5.23B4.F5.23B4.F4.23B5.F4.23B5.F3.23B6.F3.23B6.F2.23B7.F2.23B7.
F.23B8.F.23B8.F$F8.3B2A18B.F8.3B2A18B.F7.4B2A17B2.F7.4B2A17B2.F6.5B2A
16B3.F6.5B2A16B3.F5.6B2A15B4.F5.6B2A15B4.F4.7B2A14B5.F4.7B2A14B5.F3.
8B2A13B6.F3.8B2A13B6.F2.9B2A12B7.F2.9BA13B7.F.23B8.F.23B8.F$F8.2BA2BA
17B.F8.2BA2BA17B.F7.3BA2BA16B2.F7.3BA2BA16B2.F6.4BA2BA15B3.F6.4BA2BA
15B3.F5.5BA2BA14B4.F5.5BA2BA14B4.F4.6BA2BA13B5.F4.6BA2BA13B5.F3.7BA2B
A12B6.F3.7BA2BA12B6.F2.8BA14B7.F2.9BA13B7.F.23B8.F.23B8.F$F8.3B2A18B.
F8.3B2A18B.F7.4B2A17B2.F7.4B2A17B2.F6.5B2A16B3.F6.5B2A16B3.F5.6B2A15B
4.F5.6B2A15B4.F4.7B2A14B5.F4.7B2A14B5.F3.8B2A13B6.F3.8BA14B6.F2.23B7.
F2.23B7.F.23B8.F.23B8.F$F8.23B.F8.23B.F7.23B2.F7.23B2.F6.23B3.F6.23B
3.F5.23B4.F5.23B4.F4.23B5.F4.23B5.F3.9B2A12B6.F3.23B6.F2.23B7.F2.23B
7.F.23B8.F.23B8.F$F8.10BA12B.F8.9B2A12B.F7.9B2A12B2.F7.10BA12B2.F6.
10BA12B3.F6.9B2A12B3.F5.9B2A12B4.F5.10BA12B4.F4.10BA12B5.F4.9B2A12B5.
F3.9B2A12B6.F3.11BA11B6.F2.23B7.F2.23B7.F.9BA13B8.F.9B2A12B8.F$F8.7B
2AB3A10B.F8.7B2A3BA10B.F7.7B4A12B2.F7.7B2ABA12B2.F6.7B2AB3A10B3.F6.7B
2A3BA10B3.F5.7B4A12B4.F5.7B2ABA12B4.F4.7B2AB3A10B5.F4.7B2A3BA10B5.F3.
7B4A12B6.F3.7B2ABA12B6.F2.7B2A2B2A10B7.F2.7B3AB2A10B7.F.7B4ABA10B8.F.
7B2A3BA10B8.F$F8.6BA2B3A11B.F8.5B2A16B.F7.6BA16B2.F7.5B2A4BA11B2.F6.
6BA2B3A11B3.F6.5B2A16B3.F5.6BA16B4.F5.5B2A4BA11B4.F4.6BA2B3A11B5.F4.
5B2A16B5.F3.6BA16B6.F3.5B2A4BA11B6.F2.6BA2B3A11B7.F2.5B2A2B2A12B7.F.
6BA3B3A10B8.F.5B2A16B8.F$F8.5B2A2B2AB3A8B.F8.5B2A16B.F7.5B2A2B3AB2A8B
2.F7.5B2A2BA13B2.F6.5B2A2B2AB3A8B3.F6.5B2A16B3.F5.5B2A2B3AB2A8B4.F5.
5B2A2BA13B4.F4.5B2A2B2AB3A8B5.F4.5B2A16B5.F3.5B2A2B3AB2A8B6.F3.5B2A2B
A13B6.F2.5B2ABA3B3A8B7.F2.6B2A15B7.F.5B2A2BA2B3A8B8.F.5B2A16B8.F$F8.
10BAB5A6B.F32.F32.F32.F32.F32.F32.F32.F32.F32.F32.F32.F32.F32.F32.F
32.F!
This shows me the mechanism of the search is generally working (it's a 2c/4 ship and it gets rephased in the last generation), but that the idea didn't really work out for these parameters (7 generations of interaction, unlimited c/2, mid_steps=5). In particular it looks like how a lot of failing catalyst searches have looked, namely that it relies on some magic signal coming from "off screen" (south) to save it and it takes a long time for it to realize it can't invent one.

This is about as far as I could get on my laptop in a few hours. I will put what I've sketched for 2c/4 in line for real computer time and see what it finds and how I feel after that.
Last edited by amling on August 4th, 2026, 2:10 pm, edited 1 time in total.
User avatar
MDA
Posts: 231
Joined: June 8th, 2026, 12:18 pm
Location: In Haven (B3-ry4acenqt5eir6-ek/S2-a3-a4nq5aeknr6-ak)
Contact:

Re: amling search program principles discussion / brain dump

Post by MDA »

Do you think you could adapt LLSSS's code to generate slices two cells wide instead of three cells wide or use the disk to store slices rather than storing them in RAM like it does now? This could help speed up high-period searches.
My website (a database of Life objects, WIP).
GlidINT has been released!

Code: Select all

x = 5, y = 17, rule = B3-ry4acenqt5eir6-ek/S2-a3-a4nq5aeknr6-akHistory
C$2C$.2C$2C11$.3D$3.D$2.3D!
[[ STOP 72 ]]
amling
Posts: 1210
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling »

MDA wrote: July 14th, 2026, 8:01 am Do you think you could adapt LLSSS's code to generate slices two cells wide instead of three cells wide or use the disk to store slices rather than storing them in RAM like it does now? This could help speed up high-period searches.
It's complicated. Both ideas are discussed above, but to summarize...

The MDSE V2 work (and specifically the MDSE abstraction itself) paves the way for an eventual hypothetical MDSE V3 that could avoid keeping jcols (the "3-wide slices", at least in typical configurations), in favor of recomputing it all from bcols (the "2-wide slices") on the fly, although who knows at what performance cost. MDSE V2 is already pretty bad. I am unlikely to pursue this before more dust settles on MDSE V2, especially before I figure out recentering mode for MDSE V2, given that most of my search work these days is recentering.

You can already trade off memory for disk space using swap. See above for discussion of how bad performance gets how fast or perhaps just test it locally yourself. I mostly run search projects with ulimit set to twice main memory with swap on a hard drive I'm willing to thrash. Unfortunately much of the code in LLSSS makes pretty severe use of random access to data so it's not great. I am not exactly sure how lsss gets away with it.
User avatar
NNlk05
Posts: 576
Joined: January 14th, 2026, 8:42 pm
Location: Exploring in the Jungle of the INT Rulespace
Contact:

Re: amling search program principles discussion / brain dump

Post by NNlk05 »

Soooooo... what is the use of rlife anyways? It seems to me that its for finding spaceship components?
Feci quod potui, faciant meliora potentes.

Code: Select all

x = 10, y = 3, rule = B34twz/S23
b2o4b2o$obo4bobo$2bo4bo!
[[ AUTOSTART AUTOHIDEGUI TRACK 0 -47/270 ZOOM 4 GPS 45 STEP 3 THEME BOOK ]]
https://nnlk05.github.io

=3
amling
Posts: 1210
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling »

NNlk05 wrote: July 16th, 2026, 10:16 pm Soooooo... what is the use of rlife anyways? It seems to me that its for finding spaceship components?
rlife is the name of the repository. LLSSS is the name of the most used tool in there, although there are a few others. "Finding spaceship components" is a vast, vast oversimplification of what LLSSS does, although it's not wrong in approximate direction and that is the type of goal it is used for most often.
User avatar
NNlk05
Posts: 576
Joined: January 14th, 2026, 8:42 pm
Location: Exploring in the Jungle of the INT Rulespace
Contact:

Re: amling search program principles discussion / brain dump

Post by NNlk05 »

I don't understand all the talk about "lattices" and "u, w, and v". Can you explain this in more layman terms?

A more layman explaination of LLSSS will also be nice.
Feci quod potui, faciant meliora potentes.

Code: Select all

x = 10, y = 3, rule = B34twz/S23
b2o4b2o$obo4bobo$2bo4bo!
[[ AUTOSTART AUTOHIDEGUI TRACK 0 -47/270 ZOOM 4 GPS 45 STEP 3 THEME BOOK ]]
https://nnlk05.github.io

=3
amling
Posts: 1210
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling »

NNlk05 wrote: August 4th, 2026, 1:22 am I don't understand all the talk about "lattices" and "u, w, and v". Can you explain this in more layman terms?
At the risk of being negative, no, not really.

I have already put in a great deal of effort up-thread trying to explain these things and I think reaching "layman" level is unrealistic, at least for me and my ability to explain. My original notes on the whole lattice business can be found way back at the beginning, as part of LGOL (a different search program with which LLSSS inherits and shares some code and some notions, including UVW coordinates). Sokwe and I discuss it a bit more later, in the posts ending here, although this is more about UWI views and less about UVW coordinates per se.

It has been a while since school for me, but when I saw it, the relevant material (to help understand this UVW coordinates business) was covered in a first undergraduate course on group theory / abstract algebra. That's not to say such is strictly necessary or the only way in, but it's the course and material I think of as why this all makes sense to me.
NNlk05 wrote: August 4th, 2026, 1:22 am A more layman explaination of LLSSS will also be nice.
I think this is especially unrealistic. I have more or less dedicated my life to the pursuit of math and CS and at this point I think it's fair to say that LLSSS is my magnum opus. If you want to try to make use of it without an equivalent investment that is understandable, but perhaps you would be better served starting at Sokwe's excellent tutorial.
Sokwe
Moderator
Posts: 3375
Joined: July 9th, 2009, 2:44 pm

Re: amling search program principles discussion / brain dump

Post by Sokwe »

amling wrote: August 4th, 2026, 11:55 am
NNlk05 wrote: August 4th, 2026, 1:22 am A more layman explaination of LLSSS will also be nice.
I think this is especially unrealistic. I have more or less dedicated my life to the pursuit of math and CS and at this point I think it's fair to say that LLSSS is my magnum opus.
I'm probably not adding much here, but I can say that LLSSS is by far my favorite piece of Life software ever. I've perused the code, asked tons of questions, and tried to wrap my brain around the core concepts. I'd like to think I'm also a little beyond a layman, but there's still a lot that just seems like magic to me.

I think a more layman explanation would be very tough to give.
-Matthias Merzenich
User avatar
Katrina
Posts: 161
Joined: September 26th, 2024, 3:23 am

Re: amling search program principles discussion / brain dump

Post by Katrina »

Sokwe wrote: August 7th, 2026, 11:39 pm I think a more layman explanation would be very tough to give.
I can very barely understand what LSSS is doing and how LLSSS is similar. However when many of the features completely surpass the features LSSS already has, including stuff like recentering, even the size of the source code, it feels like something only magic could describe.
Sokwe wrote: August 7th, 2026, 11:39 pm I'm probably not adding much here, but I can say that LLSSS is by far my favorite piece of Life software ever.
And this is exactly the reason why I've posted the most on this page.
User avatar
C_R_116
Posts: 863
Joined: April 15th, 2021, 2:49 pm
Location: At my home doing other random stuff.

Re: amling search program principles discussion / brain dump

Post by C_R_116 »

I've been exploring around with llsss because I'm new to complex programs like these, and I want to get familiar with it.
What I'm currently trying to do is extend a 0.3c partial I posted yesterday.
I currently don't know how to build starting grids to extend partials. Here's a manually generated starting grid:

Code: Select all

|                          |                          |                          |                          |                          |                          |                          |                          |                          | ..................... |
|                          |                          |                          |                          |                          |                          |                          | ........................ | ........................ | ***.................. |
| ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ****.................... | ....*................ |
| **...................... | **...................... | **...................... | **...................... | **...................... | **...................... | **...................... | *****................... | *****................... | ..................... |
| **...................... | ..*..................... | ..*..................... | ..*..................... | ..*..................... | ..*..................... | ..****.................. | ...*.*.................. | ...*.*.................. | .....**.............. |
| **...................... | **...................... | **...................... | **...*.................. | **..**.................. | **.****................. | **.*.***................ | **...***................ | ***..*.**............... | ..*..*..*............ |
| .....*.................. | .....**................. | ....***................. | ....****................ | ....**.*................ | ...*.*.**............... | ...*....*............... | ..*..*.**............... | **...*...*.............. | ..*....*.*........... |
| .....**................. | ....**.*................ | ....*..**............... | ...*...*................ | ...*...**............... | ...*.****............... | .....*...*.............. | ........**.............. | .......*..*............. | ..................... |
| .....*.**............... | .....*.**............... | ....**.................. | ....**..*............... | ....*................... | .......**............... | .........*.............. | .........**............. | ........................ | ..................... |
| ........*............... | .......**............... | .........*.............. | ........................ | ........*............... | ........*............... | .......***.............. | .........**............. | ........................ | ......****........... |
| ........................ | .......**............... | .........*.............. | ........***............. | ......*****............. | .....*....*............. | .........*.............. | ......**.*.............. | .....******............. | .....*..**........... |
| .......**............... | ......***............... | ......*..*.............. | .....***.*.............. | .....***.**............. | .....*....*............. | .....**................. | ....*.*................. | ......**................ | ....*....*........... |
| ......**.*.............. | .....*...*.............. | .....***.**............. | ....*..*................ | ....*..**............... | ....**.................. | ....***................. | ....*................... | ...**.*................. | ...**.**............. |
| .....**...*............. | ....*....**............. | ....**..***............. | ....**....*............. | ...*...**............... | ......*................. | .....*.................. | ....***................. | ....**.................. | ...**.*.............. |
| ...**.**.*.............. | ....*...*............... | ........*............... | ....**.**............... | .......***.............. | .........*.............. | ........................ | ........................ | ......*................. | ......*.............. |
| ......**................ | ........*............... | .....*..*............... | .....**.*............... | ........*............... | ........................ | ........................ | ......*................. | ......*................. | ..................... |
| ...**.*................. | ....*.**................ | ....*.**................ | ....*..*................ | ....*...*............... | .....*..*............... | .....***................ | .....*.*................ | ....****................ | ...**...*............ |
| .....*.................. | ....**.................. | ....***................. | ....*.**................ | ....*.**................ | ....*.**................ | ....*.**................ | ...**...*............... | ...**..**............... | .......**............ |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????...... |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????...... |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????...... |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????...... |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????...... |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????...... |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... |                       |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... |                          |                          |                       |
And if I enter the command in the shell:

Code: Select all

./rlife llsss --left-edge even 3c10-f2b 3c10.in

thread 'main' (2048104) panicked at src/lat/geom.rs:678:32:
no entry found for key
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
It won't work.

I been trying to search around this thread for answers while also editing the grid. I don't exactly know what the problem is with the grid that makes the program not understand what I'm trying to extend. I've heard about a "grid-tool" that can build grids, but I don't know how to use it or how it would be helpful.
I have three questions:

1. How do I build starting grids to extend partial spaceships for llsss or llsss-recentering? Is there a specific code that can automatically do that that I'm not aware of?

2. How do I use the grid-tool to help with the grids?

3. (Which is more of a request) Will anyone be willing to update the "Extending partial results" and "Saving and loading the search state" sections in the LLSSS Tutorials section?
amling
Posts: 1210
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling »

C_R_116 wrote: August 9th, 2026, 4:01 pm 1. How do I build starting grids to extend partial spaceships for llsss or llsss-recentering? Is there a specific code that can automatically do that that I'm not aware of?

2. How do I use the grid-tool to help with the grids?

3. (Which is more of a request) Will anyone be willing to update the "Extending partial results" and "Saving and loading the search state" sections in the LLSSS Tutorials section?
I think most of your questions (implicit or otherwise) boil down to a combination of "what are W rows" and "how to extend partials" which I'm going to group together and do first (I hope this will also answer what sorts of things "grid-tool" does by using them along the way). I'll discuss saving/loading state at the end. Most of what I write is going to be a little too abstract and/or raw to be inserted into the tutorial directly, but hopefully we can get you sorted.

I'm not sure when any of this will trickle down to the tutorial. There are just too few people doing these things and it's all just too weird and unpolished.

For the first half, you sort of have to decide how much you want to think about lattices and how much you want to invest here. Depending on your answer I think you might reasonably start at three different levels which I think will mostly lead into each other nicely (but the more sections you read, the more sense later sections will make, hopefully). If you're all-in, I'd start right below this paragraph. If you're interested enough to know the details of grid-tool and how to set up partials for extension manually (first), I'd start at (II) below. If you want to skip to current best efforts to make extending partials easier, I'd skip to (III) below.

(I) W rows and lattices.

Perhaps best illustrated with a question: in the following 2c/5 partial in all generations, which row is "first", i.e. closest to the front of the ship? Which is second-closest? Third-closest? Etc.

Code: Select all

$ cat p1.pic
| (A1).......... | (B1).......... | (C1).......... | (D1).......... | (E1).......... |
| (A2).......... | (B2).......... | (C2).......... | (D2).......... | (E2).......... |
| (A3).......... | (B3).......... | (C3).......... | (D3).....*.... | (E3)....***... |
| (A4).....*.... | (B4).....*.... | (C4)....***... | (D4)....***... | (E4)....*.*... |
| (A5)....*.*... | (B5)...**.**.. | (C5)....*..*.. | (D5)....*.*... | (E5)....*.*... |
| (A6)...**.**.. | (B6)......**.. | (C6).......... | (D6).......... | (E6)....**.... |
$
When searching for a ship we want to guess the rows in this order (by which is nearest the front) and so this is very much more than academic. It turns out there is a natural order and in fact, rather than viewing things in XYT coordinates you might rewrite the abelian group of the YT plane mod 2c/5 according to its single generator (or its negation). One sign of the generator is the same orientation as T (and Y) and for 2c5-f2b this is what LLSSS calls "W".

I can ask grid-tool to-uwi to restructure the above XYT view in a second view called UWI, which for 2c5-f2b (or any KcN-f2b or KcN-b2f with gcd(K, N) = 1) just amounts to showing all the rows in W order:

Code: Select all

$ rlife grid-tool to-uwi 2c5-f2b < p1.pic
| (A1).......... |
|                |
| (B1).......... |
|                |
| (C1).......... |
| (A2).......... |
| (D1).......... |
| (B2).......... |
| (E1).......... |
| (C2).......... |
| (A3).......... |
| (D2).......... |
| (B3).......... |
| (E2).......... |
| (C3).......... |
| (A4).....*.... |
| (D3).....*.... |
| (B4).....*.... |
| (E3)....***... |
| (C4)....***... |
| (A5)....*.*... |
| (D4)....***... |
| (B5)...**.**.. |
| (E4)....*.*... |
| (C5)....*..*.. |
| (A6)...**.**.. |
| (D5)....*.*... |
| (B6)......**.. |
| (E5)....*.*... |
| (C6).......... |
|                |
| (D6).......... |
|                |
| (E6)....**.... |
Note it has even inserted blanks where e.g. we didn't have the row that is halfway between A1 and B1.

In terms of actual editing grids this of course helps very little, but it might help understand why proper grids are staggered so weirdly.

(II) Manual grid construction

Generally the name of the game for LLSSS inputs is to make UVW prisms. For many geometries this can be hard to see and so it is likely easier to view everything in "UWI" view where UVW prisms translate to rectangles, aligned in the same place in each section. For geometries w/o GCD (including 3c10-f2b) there is just one section so that's just rectangles.

If I look at your proposed input ("proposed.in") in UWI view, neither the collection of non-blank spots nor the questions marks make a rectangle:

Code: Select all

$ rlife grid-tool to-uwi 3c10-f2b < proposed.in
| ........................ |
|                          |
|                          |
| ........................ |
|                          |
|                          |
| ........................ |
| .....................    |
|                          |
| ........................ |
| **...................... |
| ........................ |
| ........................ |
| **...................... |
| ........................ |
| ........................ |
| **...................... |
| ***..................    |
| ........................ |
| **...................... |
| **...................... |
| ........................ |
| **...................... |
| ..*..................... |
| ****.................... |
| **...................... |
| ..*..................... |
| ....*................    |
| **...................... |
| ..*..................... |
| **...................... |
| *****................... |
| ..*..................... |
| **...................... |
| *****................... |
| ..*..................... |
| **...................... |
| .....................    |
| ..****.................. |
| **...*.................. |
| .....*.................. |
| ...*.*.................. |
| **..**.................. |
| .....**................. |
| ...*.*.................. |
| **.****................. |
| ....***................. |
| .....**..............    |
| **.*.***................ |
| ....****................ |
| .....**................. |
| **...***................ |
| ....**.*................ |
| ....**.*................ |
| ***..*.**............... |
| ...*.*.**............... |
| ....*..**............... |
| ..*..*..*............    |
| ...*....*............... |
| ...*...*................ |
| .....*.**............... |
| ..*..*.**............... |
| ...*...**............... |
| .....*.**............... |
| **...*...*.............. |
| ...*.****............... |
| ....**.................. |
| ..*....*.*...........    |
| .....*...*.............. |
| ....**..*............... |
| ........*............... |
| ........**.............. |
| ....*................... |
| .......**............... |
| .......*..*............. |
| .......**............... |
| .........*.............. |
| .....................    |
| .........*.............. |
| ........................ |
| ........................ |
| .........**............. |
| ........*............... |
| .......**............... |
| ........................ |
| ........*............... |
| .........*.............. |
| .....................    |
| .......***.............. |
| ........***............. |
| .......**............... |
| .........**............. |
| ......*****............. |
| ......***............... |
| ........................ |
| .....*....*............. |
| ......*..*.............. |
| ......****...........    |
| .........*.............. |
| .....***.*.............. |
| ......**.*.............. |
| ......**.*.............. |
| .....***.**............. |
| .....*...*.............. |
| .....******............. |
| .....*....*............. |
| .....***.**............. |
| .....*..**...........    |
| .....**................. |
| ....*..*................ |
| .....**...*............. |
| ....*.*................. |
| ....*..**............... |
| ....*....**............. |
| ......**................ |
| ....**.................. |
| ....**..***............. |
| ....*....*...........    |
| ....***................. |
| ....**....*............. |
| ...**.**.*.............. |
| ....*................... |
| ...*...**............... |
| ....*...*............... |
| ...**.*................. |
| ......*................. |
| ........*............... |
| ...**.**.............    |
| .....*.................. |
| ....**.**............... |
| ......**................ |
| ....***................. |
| .......***.............. |
| ........*............... |
| ....**.................. |
| .........*.............. |
| .....*..*............... |
| ...**.*..............    |
| ........................ |
| .....**.*............... |
| ...**.*................. |
| ........................ |
| ........*............... |
| ....*.**................ |
| ......*................. |
| ........................ |
| ....*.**................ |
| ......*..............    |
| ........................ |
| ....*..*................ |
| .....*.................. |
| ......*................. |
| ....*...*............... |
| ....**.................. |
| ......*................. |
| .....*..*............... |
| ....***................. |
| .....................    |
| .....***................ |
| ....*.**................ |
| ..?????????????......... |
| .....*.*................ |
| ....*.**................ |
| ..?????????????......... |
| ....****................ |
| ....*.**................ |
| ..?????????????......... |
| ...**...*............    |
| ....*.**................ |
| ..?????????????......... |
| ..?????????????......... |
| ...**...*............... |
| ..?????????????......... |
| ..?????????????......... |
| ...**..**............... |
| ..?????????????......... |
| ..?????????????......... |
| .......**............    |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......    |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......    |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......    |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......    |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......    |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......    |
| ..?????????????......... |
| ..?????????????......... |
|                          |
| ..?????????????......... |
| ..?????????????......... |
|                          |
| ..?????????????......... |
| ..?????????????......... |
|                          |
|                          |
| ..?????????????......... |
Note gaps at front and back for both as well as mismatched widths in some places (last generation is missing three columns).

I would...

(1) "Round up" the front by replacing those blank rows with periods. Arguably better done by having more zero rows on the top in the XYT view, but either way will do. You could also reasonably "round down" by deleting rows off the front until there are no more blanks.

(2) "Round down" the back by deleting the first blank row there and everything after it. You could also reasonably "round up" by filling in rows.

(3) "Round up" the front of the question marks by replacing with question marks in each row that has none but is trapped between rows with them.

(4) "Round up" the missing rights sides by replacing the three blanks with periods in those rows (or extend the tenth generation in the original input).

That leaves me with this, "fixed.uwi":

Code: Select all

$ cat fixed.uwi
| ........................ |
| ........................ |
| ........................ |
| ........................ |
| ........................ |
| ........................ |
| ........................ |
| ........................ |
| ........................ |
| ........................ |
| **...................... |
| ........................ |
| ........................ |
| **...................... |
| ........................ |
| ........................ |
| **...................... |
| ***..................... |
| ........................ |
| **...................... |
| **...................... |
| ........................ |
| **...................... |
| ..*..................... |
| ****.................... |
| **...................... |
| ..*..................... |
| ....*................... |
| **...................... |
| ..*..................... |
| **...................... |
| *****................... |
| ..*..................... |
| **...................... |
| *****................... |
| ..*..................... |
| **...................... |
| ........................ |
| ..****.................. |
| **...*.................. |
| .....*.................. |
| ...*.*.................. |
| **..**.................. |
| .....**................. |
| ...*.*.................. |
| **.****................. |
| ....***................. |
| .....**................. |
| **.*.***................ |
| ....****................ |
| .....**................. |
| **...***................ |
| ....**.*................ |
| ....**.*................ |
| ***..*.**............... |
| ...*.*.**............... |
| ....*..**............... |
| ..*..*..*............... |
| ...*....*............... |
| ...*...*................ |
| .....*.**............... |
| ..*..*.**............... |
| ...*...**............... |
| .....*.**............... |
| **...*...*.............. |
| ...*.****............... |
| ....**.................. |
| ..*....*.*.............. |
| .....*...*.............. |
| ....**..*............... |
| ........*............... |
| ........**.............. |
| ....*................... |
| .......**............... |
| .......*..*............. |
| .......**............... |
| .........*.............. |
| ........................ |
| .........*.............. |
| ........................ |
| ........................ |
| .........**............. |
| ........*............... |
| .......**............... |
| ........................ |
| ........*............... |
| .........*.............. |
| ........................ |
| .......***.............. |
| ........***............. |
| .......**............... |
| .........**............. |
| ......*****............. |
| ......***............... |
| ........................ |
| .....*....*............. |
| ......*..*.............. |
| ......****.............. |
| .........*.............. |
| .....***.*.............. |
| ......**.*.............. |
| ......**.*.............. |
| .....***.**............. |
| .....*...*.............. |
| .....******............. |
| .....*....*............. |
| .....***.**............. |
| .....*..**.............. |
| .....**................. |
| ....*..*................ |
| .....**...*............. |
| ....*.*................. |
| ....*..**............... |
| ....*....**............. |
| ......**................ |
| ....**.................. |
| ....**..***............. |
| ....*....*.............. |
| ....***................. |
| ....**....*............. |
| ...**.**.*.............. |
| ....*................... |
| ...*...**............... |
| ....*...*............... |
| ...**.*................. |
| ......*................. |
| ........*............... |
| ...**.**................ |
| .....*.................. |
| ....**.**............... |
| ......**................ |
| ....***................. |
| .......***.............. |
| ........*............... |
| ....**.................. |
| .........*.............. |
| .....*..*............... |
| ...**.*................. |
| ........................ |
| .....**.*............... |
| ...**.*................. |
| ........................ |
| ........*............... |
| ....*.**................ |
| ......*................. |
| ........................ |
| ....*.**................ |
| ......*................. |
| ........................ |
| ....*..*................ |
| .....*.................. |
| ......*................. |
| ....*...*............... |
| ....**.................. |
| ......*................. |
| .....*..*............... |
| ....***................. |
| ........................ |
| .....***................ |
| ....*.**................ |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
| ..?????????????......... |
And that can be converted back to an input file in XYT coords with:

Code: Select all

$ rlife grid-tool from-uwi 3c10-f2b < fixed.uwi
|                          |                          |                          |                          |                          |                          |                          | ........................ | ........................ | ........................ |
|                          |                          |                          |                          | ........................ | ........................ | ........................ | ........................ | ........................ | ***..................... |
| ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ****.................... | ....*................... |
| **...................... | **...................... | **...................... | **...................... | **...................... | **...................... | **...................... | *****................... | *****................... | ........................ |
| **...................... | ..*..................... | ..*..................... | ..*..................... | ..*..................... | ..*..................... | ..****.................. | ...*.*.................. | ...*.*.................. | .....**................. |
| **...................... | **...................... | **...................... | **...*.................. | **..**.................. | **.****................. | **.*.***................ | **...***................ | ***..*.**............... | ..*..*..*............... |
| .....*.................. | .....**................. | ....***................. | ....****................ | ....**.*................ | ...*.*.**............... | ...*....*............... | ..*..*.**............... | **...*...*.............. | ..*....*.*.............. |
| .....**................. | ....**.*................ | ....*..**............... | ...*...*................ | ...*...**............... | ...*.****............... | .....*...*.............. | ........**.............. | .......*..*............. | ........................ |
| .....*.**............... | .....*.**............... | ....**.................. | ....**..*............... | ....*................... | .......**............... | .........*.............. | .........**............. | ........................ | ........................ |
| ........*............... | .......**............... | .........*.............. | ........................ | ........*............... | ........*............... | .......***.............. | .........**............. | ........................ | ......****.............. |
| ........................ | .......**............... | .........*.............. | ........***............. | ......*****............. | .....*....*............. | .........*.............. | ......**.*.............. | .....******............. | .....*..**.............. |
| .......**............... | ......***............... | ......*..*.............. | .....***.*.............. | .....***.**............. | .....*....*............. | .....**................. | ....*.*................. | ......**................ | ....*....*.............. |
| ......**.*.............. | .....*...*.............. | .....***.**............. | ....*..*................ | ....*..**............... | ....**.................. | ....***................. | ....*................... | ...**.*................. | ...**.**................ |
| .....**...*............. | ....*....**............. | ....**..***............. | ....**....*............. | ...*...**............... | ......*................. | .....*.................. | ....***................. | ....**.................. | ...**.*................. |
| ...**.**.*.............. | ....*...*............... | ........*............... | ....**.**............... | .......***.............. | .........*.............. | ........................ | ........................ | ......*................. | ......*................. |
| ......**................ | ........*............... | .....*..*............... | .....**.*............... | ........*............... | ........................ | ........................ | ......*................. | ......*................. | ........................ |
| ...**.*................. | ....*.**................ | ....*.**................ | ....*..*................ | ....*...*............... | .....*..*............... | .....***................ | ..?????????????......... | ..?????????????......... | ..?????????????......... |
| .....*.................. | ....**.................. | ....***................. | ....*.**................ | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... |                          |                          |                          |
| ..?????????????......... | ..?????????????......... | ..?????????????......... | ..?????????????......... |                          |                          |                          |                          |                          |                          |
This should be usable to run a fixed board search.

This process is of course somewhat tedious and my best (not so great) efforts to automate it are "ingest-1gp", which I'll discuss in the next section.

I think the bottom line for this section though, and really the bottom line and/or best practice for grid management as it stands now is that:

(a) You may freely convert back and forth between XYT/UWI view with to-uwi/from-uwi, especially when the geometry is a hard one to understand, i.e. not c/N. You do not have to understand the transformation to use it.

(b) You must make matching rectangles, using any editing tools you see fit. This may be adding or removing and can be done in either view (XYT or UWI), depending on how you're deciding values and/or what context you want to see when you do it.

(III) ingest-1gp

This tool can try to make sense of a single generation partial. Let's take the form of this you gave earlier ("p2.rle"):

Code: Select all

x = 22, y = 41, rule = B3/S23
10b2o$10b2o$10b2o$6bo8bo$5b2o8b2o$3b2obo8bob2o$3bo14bo2$3b2o12b2o$2bob
2o10b2obo$bo3b2o8b2o3bo$2bob2ob2o4b2ob2obo$4b2o10b2o$5bob2o4b2obo$6bo
8bo2$3b2o12b2o$2b3o12b3o$3b2o2b2o4b2o2b2o$2b3o2b2o4b2o2b3o$2b2obobo6bo
bob2o$bo5bo6bo5bo$bo3b2o8b2o3bo$5b2o8b2o$5bo10bo$2b2ob3o6b3ob2o$2bo3b
3o4b3o3bo$4bo12bo$bo3bo10bo3bo$o20bo$bob2o2b2o4b2o2b2obo$3b2obo2bo2bo
2bob2o$2b2obo10bob2o$2b2obobo6bobob2o$7b2o4b2o$5b4o4b4o$bo2bo3bo4bo3bo
2bo$b4ob3o4b3ob4o$o2bo14bo2bo$2bo3bo8bo3bo$3b2o12b2o!
With default options it doesn't quite make sense of the front of the ship (10 is a high time period for which its default zero padding is too small). The output would still work, but the partial be truncated at the front. With "--top-y-pad 30" it gets it right:

Code: Select all

$ rlife slices-tool ingest-1gp 3c10-f2b --top-y-pad 30 --w-size MAX p2.rle
...
20260809 15:26:58 [INFO] New aligned slice:
20260809 15:26:58 [INFO]    |                          |                          |                          |                          |                          |                          |                          | ........................ | ........................ | ........................ |
20260809 15:26:58 [INFO]    |                          |                          |                          | LLuuuuuuuuuuuuuuuuuuuuRR | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ |
20260809 15:26:58 [INFO]    | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ |
20260809 15:26:58 [INFO]    | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ |
20260809 15:26:58 [INFO]    | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ |
20260809 15:26:58 [INFO]    | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ |
20260809 15:26:58 [INFO]    | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ | ........................ |
20260809 15:26:58 [INFO]    | ........................ | ........................ | ........................ | ........................ | ...........**........... | ...........**........... | ...........**........... | ...........**........... | ...........**........... | ...........**........... |
20260809 15:26:58 [INFO]    | ........................ | ........................ | ........................ | ..........****.......... | ...........**........... | ..........*..*.......... | ..........*..*.......... | ..........*..*.......... | ..........*..*.......... | ..........*..*.......... |
20260809 15:26:58 [INFO]    | ........................ | ........................ | .........******......... | ........*......*........ | ...........**........... | ...........**........... | ...........**........... | .......*...**...*....... | .......**..**..**....... | ......****.**.****...... |
20260809 15:26:58 [INFO]    | ...........**........... | ........********........ | ........********........ | ........................ | .......*........*....... | ......**........**...... | ......***......***...... | .....****......****..... | .....*.**......**.*..... | ....**.*.*....*.*.**.... |
20260809 15:26:58 [INFO]    | .......****..****....... | .......*.*....*.*....... | .......*.*....*.*....... | ......**........**...... | ......**........**...... | .....*.**......**.*..... | ....**..*......*..**.... | .....*...*....*...*..... | ....**...*....*...**.... | ....****.*....*.****.... |
20260809 15:26:58 [INFO]    | .....***.*.**.*.***..... | .....***...**...***..... | ....**.*..****..*.**.... | ....*..*..*..*..*..*.... | ....**.*........*.**.... | ....**.*........*.**.... | .......**......**....... | ....*..**......**..*.... | ........*......*........ | ....**............**.... |
20260809 15:26:58 [INFO]    | ....*....*....*....*.... | ....**.*..*..*..*.**.... | ...*...*...**...*...*... | ...*.*....*..*....*.*... | ....*..............*.... | ....**............**.... | ...*................*... | ........................ | ....*..............*.... | ....*..............*.... |
20260809 15:26:58 [INFO]    | ...*...*........*...*... | ...**..............**... | ..*..*............*..*.. | ........................ | ........................ | ....**............**.... | ...*................*... | ..***..............***.. | ..*****..........*****.. | ..*....*........*....*.. |
20260809 15:26:58 [INFO]    | ...*................*... | ..**................**.. | ........................ | ........................ | ....**............**.... | ....***..........***.... | ...*..*..........*..*... | ...*.***........***.*... | ..**.***........***.**.. | ..*....*........*....*.. |
20260809 15:26:58 [INFO]    | ...***............***... | ..**................**.. | ........................ | ...****..........****... | ...*.**..........**.*... | ...*...*........*...*... | ..**.***........***.**.. | .....*..*......*..*..... | ....**..*......*..**.... | .......**......**....... |
20260809 15:26:58 [INFO]    | ...*................*... | ...*.**..........**.*... | ..******........******.. | ...**..*........*..**... | ..*...**........**...*.. | ..**....*......*....**.. | ..***..**......**..***.. | ..*....**......**....*.. | ....**...*....*...**.... | ......*..........*...... |
20260809 15:26:58 [INFO]    | ......**........**...... | ......*.*......*.*...... | .....**..........**..... | ...*....*......*....*... | ...*.**.**....**.**.*... | ....*...*......*...*.... | ....*..............*.... | ....**.**......**.**.... | ...***............***... | ...*................*... |
20260809 15:26:58 [INFO]    | ......***......***...... | ........*......*........ | ......*.**....**.*...... | .....**.**....**.**..... | .....**..........**..... | ....*..............*.... | ....*..*........*..*.... | ....*.**........**.*.... | ....*..............*.... | ........................ |
20260809 15:26:58 [INFO]    | .......*........*....... | ......***......***...... | .......**......**....... | ......*.**....**.*...... | ......*.**....**.*...... | .....**.*......*.**..... | .....**.*......*.**..... | .....*..*......*..*..... | ....*...*......*...*.... | ....*..*........*..*.... |
20260809 15:26:58 [INFO]    | ........................ | ........................ | ......*..........*...... | ......*..........*...... | .......*........*....... | .......**......**....... | ......***......***...... | .....**.*......*.**..... | .....**.*......*.**..... | .....**.*......*.**..... |
20260809 15:26:58 [INFO]    | ........................ | ......*..........*...... | ......*..........*...... | ........................ | ........................ | ........................ | ........................ | .......*........*....... | .......*........*....... | ........*......*........ |
20260809 15:26:58 [INFO]    | .....***........***..... | .....*.*........*.*..... | .....****......****..... | ....*...**....**...*.... | ....**............**.... | ...*.*............*.*... | ....*..............*.... | ....*.*..........*.*.... | .....***........***..... | ....**.**......**.**.... |
20260809 15:26:58 [INFO]    | .....**.*......*.**..... | ....*...**....**...*.... | ....**..**....**..**.... | ....**............**.... | ...***............***... | ...*..*..........*..*... | ....****........****.... | ....*..*........*..*.... | ...**..*........*..**... | ....**............**.... |
20260809 15:26:58 [INFO]    | ....*...**....**...*.... | ....*....*....*....*.... | ........**....**........ | ....*...**....**...*.... | ....**..**....**..**.... | ......*.**....**.*...... | .....**..........**..... | ....*...*......*...*.... | .......**......**....... | ....**..*......*..**.... |
20260809 15:26:58 [INFO]    | ....*****......*****.... | ...****..........****... | ...*................*... | ........*......*........ | ...***..**....**..***... | ......*..........*...... | ........**....**........ | .......*........*....... | .....***........***..... | .....*..*......*..*..... |
20260809 15:26:58 [INFO]    | ...*...**......**...*... | ....*...*......*...*.... | ...*...*........*...*... | ...**.**........**.**... | ...**.*.*......*.*.**... | ..*.....*......*.....*.. | .....**..........**..... | .....**..........**..... | ......*..........*...... | .....*............*..... |
20260809 15:26:58 [INFO]    | ......*..........*...... | .....**..........**..... | ....*.**........**.*.... | ...**.**........**.**... | ..*.....*......*.....*.. | ..*..**.*......*.**..*.. | .....**.**....**.**..... | ........................ | .......*........*....... | .....*.*........*.*..... |
20260809 15:26:58 [INFO]    | .....**..........**..... | ....*.*..........*.*.... | ....*.*..........*.*.... | ...**.**........**.**... | ..*...**........**...*.. | ......*.*......*.*...... | ......*..........*...... | .....**.*......*.**..... | .....**..........**..... | ......**........**...... |
20260809 15:26:58 [INFO]    | ....**............**.... | ....*..............*.... | ....*..............*.... | ...**..............**... | ......**........**...... | .....*............*..... | .......*........*....... | ......**........**...... | ........*......*........ | .....*............*..... |
20260809 15:26:58 [INFO]    | .....*.*........*.*..... | .....*............*..... | ....**............**.... | ....*.*..........*.*.... | ......*..........*...... | ........*......*........ | ......*..........*...... | .....**.*......*.**..... | ....*....*....*....*.... | ........**....**........ |
20260809 15:26:58 [INFO]    | .....*.*........*.*..... | .....*............*..... | .....**..........**..... | ....*****......*****.... | ...**.***......***.**... | ...****..*....*..****... | ...*.**.**....**.**.*... | ....******....******.... | .........*....*......... | ........***..***........ |
20260809 15:26:58 [INFO]    | ......***......***...... | ......*.**....**.*...... | .......***....***....... | ....*....*....*....*.... | ...*...***....***...*... | ...*.*...*....*...*.*... | ...*.....*....*.....*... | ....**...*....*...**.... | ....*....*....*....*.... | ...***...**..**...***... |
20260809 15:26:58 [INFO]    | ........*.*..*.*........ | ........**....**........ | ....**.***....***.**.... | ....**....*..*....**.... | .....*............*..... | ......***......***...... | ......***......***...... |                          |                          |                          |
20260809 15:26:58 [INFO]    | ....*..............*.... | ...***............***... | ...*..****....****..*... |                          |                          |                          |                          |                          |                          |                          |
...
We can have it save this to an intermediate form ("slices") and output a valid input file for recentering:

Code: Select all

$ rlife slices-tool ingest-1gp 3c10-f2b --top-y-pad 30 --w-size MAX p2.rle p2.slices
...
20260809 15:30:12 [INFO] Total of 1 slices.
20260809 15:30:12 [INFO] Saved to "p2.slices".
$ rlife slices-tool to-rc-input 3c10-f2b p2.slices 1gp.in
20260809 15:37:52 [INFO] Just one slice, building special format.
20260809 15:37:52 [INFO] Saved to "1gp.in".
$ cat 1gp.in
|                            |                            |                            |                            |                            |                            |                            | .......................... | .......................... | .......................... |
|                            |                            |                            | AAAuuuuuuuuuuuuuuuuuuuuBBB | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... |
| .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... |
| .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... |
| .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... |
| .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... |
| .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... | .......................... |
| .......................... | .......................... | .......................... | .......................... | ............**............ | ............**............ | ............**............ | ............**............ | ............**............ | ............**............ |
| .......................... | .......................... | .......................... | ...........****........... | ............**............ | ...........*..*........... | ...........*..*........... | ...........*..*........... | ...........*..*........... | ...........*..*........... |
| .......................... | .......................... | ..........******.......... | .........*......*......... | ............**............ | ............**............ | ............**............ | ........*...**...*........ | ........**..**..**........ | .......****.**.****....... |
| ............**............ | .........********......... | .........********......... | .......................... | ........*........*........ | .......**........**....... | .......***......***....... | ......****......****...... | ......*.**......**.*...... | .....**.*.*....*.*.**..... |
| ........****..****........ | ........*.*....*.*........ | ........*.*....*.*........ | .......**........**....... | .......**........**....... | ......*.**......**.*...... | .....**..*......*..**..... | ......*...*....*...*...... | .....**...*....*...**..... | .....****.*....*.****..... |
| ......***.*.**.*.***...... | ......***...**...***...... | .....**.*..****..*.**..... | .....*..*..*..*..*..*..... | .....**.*........*.**..... | .....**.*........*.**..... | ........**......**........ | .....*..**......**..*..... | .........*......*......... | .....**............**..... |
| .....*....*....*....*..... | .....**.*..*..*..*.**..... | ....*...*...**...*...*.... | ....*.*....*..*....*.*.... | .....*..............*..... | .....**............**..... | ....*................*.... | .......................... | .....*..............*..... | .....*..............*..... |
| ....*...*........*...*.... | ....**..............**.... | ...*..*............*..*... | .......................... | .......................... | .....**............**..... | ....*................*.... | ...***..............***... | ...*****..........*****... | ...*....*........*....*... |
| ....*................*.... | ...**................**... | .......................... | .......................... | .....**............**..... | .....***..........***..... | ....*..*..........*..*.... | ....*.***........***.*.... | ...**.***........***.**... | ...*....*........*....*... |
| ....***............***.... | ...**................**... | .......................... | ....****..........****.... | ....*.**..........**.*.... | ....*...*........*...*.... | ...**.***........***.**... | ......*..*......*..*...... | .....**..*......*..**..... | ........**......**........ |
| ....*................*.... | ....*.**..........**.*.... | ...******........******... | ....**..*........*..**.... | ...*...**........**...*... | ...**....*......*....**... | ...***..**......**..***... | ...*....**......**....*... | .....**...*....*...**..... | .......*..........*....... |
| .......**........**....... | .......*.*......*.*....... | ......**..........**...... | ....*....*......*....*.... | ....*.**.**....**.**.*.... | .....*...*......*...*..... | .....*..............*..... | .....**.**......**.**..... | ....***............***.... | ....*................*.... |
| .......***......***....... | .........*......*......... | .......*.**....**.*....... | ......**.**....**.**...... | ......**..........**...... | .....*..............*..... | .....*..*........*..*..... | .....*.**........**.*..... | .....*..............*..... | .......................... |
| ........*........*........ | .......***......***....... | ........**......**........ | .......*.**....**.*....... | .......*.**....**.*....... | ......**.*......*.**...... | ......**.*......*.**...... | ......*..*......*..*...... | .....*...*......*...*..... | .....*..*........*..*..... |
| .......................... | .......................... | .......*..........*....... | .......*..........*....... | ........*........*........ | ........**......**........ | .......***......***....... | ......**.*......*.**...... | ......**.*......*.**...... | ......**.*......*.**...... |
| .......................... | .......*..........*....... | .......*..........*....... | .......................... | .......................... | .......................... | .......................... | ........*........*........ | ........*........*........ | .........*......*......... |
| ......***........***...... | ......*.*........*.*...... | ......****......****...... | .....*...**....**...*..... | .....**............**..... | ....*.*............*.*.... | .....*..............*..... | .....*.*..........*.*..... | ......***........***...... | .....**.**......**.**..... |
| ......**.*......*.**...... | .....*...**....**...*..... | .....**..**....**..**..... | .....**............**..... | ....***............***.... | ....*..*..........*..*.... | .....****........****..... | .....*..*........*..*..... | ....**..*........*..**.... | .....**............**..... |
| .....*...**....**...*..... | .....*....*....*....*..... | .........**....**......... | .....*...**....**...*..... | .....**..**....**..**..... | .......*.**....**.*....... | ......**..........**...... | .....*...*......*...*..... | ........**......**........ | .....**..*......*..**..... |
| .....*****......*****..... | ....****..........****.... | ....*................*.... | .........*......*......... | ....***..**....**..***.... | .......*..........*....... | .........**....**......... | ........*........*........ | ......***........***...... | ......*..*......*..*...... |
| ....*...**......**...*.... | .....*...*......*...*..... | ....*...*........*...*.... | ....**.**........**.**.... | ....**.*.*......*.*.**.... | ...*.....*......*.....*... | ......**..........**...... | ......**..........**...... | .......*..........*....... | ......*............*...... |
| .......*..........*....... | ......**..........**...... | .....*.**........**.*..... | ....**.**........**.**.... | ...*.....*......*.....*... | ...*..**.*......*.**..*... | ......**.**....**.**...... | .......................... | ........*........*........ | ......*.*........*.*...... |
| ......**..........**...... | .....*.*..........*.*..... | .....*.*..........*.*..... | ....**.**........**.**.... | ...*...**........**...*... | .......*.*......*.*....... | .......*..........*....... | ......**.*......*.**...... | ......**..........**...... | .......**........**....... |
| .....**............**..... | .....*..............*..... | .....*..............*..... | ....**..............**.... | .......**........**....... | ......*............*...... | ........*........*........ | .......**........**....... | .........*......*......... | ......*............*...... |
| ......*.*........*.*...... | ......*............*...... | .....**............**..... | .....*.*..........*.*..... | .......*..........*....... | .........*......*......... | .......*..........*....... | ......**.*......*.**...... | .....*....*....*....*..... | .........**....**......... |
| ......*.*........*.*...... | ......*............*...... | ......**..........**...... | .....*****......*****..... | ....**.***......***.**.... | ....****..*....*..****.... | ....*.**.**....**.**.*.... | .....******....******..... | ..........*....*.......... | .........***..***......... |
| .......***......***....... | .......*.**....**.*....... | ........***....***........ | .....*....*....*....*..... | ....*...***....***...*.... | ....*.*...*....*...*.*.... | ....*.....*....*.....*.... | .....**...*....*...**..... | .....*....*....*....*..... | ....***...**..**...***.... |
| .........*.*..*.*......... | .........**....**......... | .....**.***....***.**..... | .....**....*..*....**..... | ......*............*...... | .......***......***....... | .......***......***....... |                            |                            |                            |
| .....*..............*..... | ....***............***.... | ....*..****....****..*.... |                            |                            |                            |                            |                            |                            |                            |
$
This sort of works (and does work as an input for a recentering search), but isn't really what you want here. For even symmetry you want to cut the file in half (plus one extra column) and for fixed board searches you want to remove the root labels and insert question marks. Unfortunately the tool just hasn't gotten that much love in terms of such features as I personally feel like I am in a pretty decent place in terms of making input grids so there's not much itch to scratch. I would have said the same before I wrote grid-tool and that would have been an incredible mistake as grid-tool has absolutely revolutionized the space, so I still aspire to move things along ... eventually.

To cut it for even searches I would pipe it through "rlife grid-tool cw", cut off the appropriate number of initial (i.e. left side) rows, and then pipe it back through through "grid-tool ccw". I would do this with my editor, but as a demo it can be shown with a shell one-liner...

Code: Select all

$ cat 1gp.in | rlife grid-tool cw | tail +13 | rlife grid-tool ccw
|                |                |                |                |                |                |                | .............. | .............. | .............. |
|                |                |                | uuuuuuuuuuuBBB | .............. | .............. | .............. | .............. | .............. | .............. |
| .............. | .............. | .............. | .............. | .............. | .............. | .............. | .............. | .............. | .............. |
| .............. | .............. | .............. | .............. | .............. | .............. | .............. | .............. | .............. | .............. |
| .............. | .............. | .............. | .............. | .............. | .............. | .............. | .............. | .............. | .............. |
| .............. | .............. | .............. | .............. | .............. | .............. | .............. | .............. | .............. | .............. |
| .............. | .............. | .............. | .............. | .............. | .............. | .............. | .............. | .............. | .............. |
| .............. | .............. | .............. | .............. | **............ | **............ | **............ | **............ | **............ | **............ |
| .............. | .............. | .............. | ***........... | **............ | ..*........... | ..*........... | ..*........... | ..*........... | ..*........... |
| .............. | .............. | ****.......... | ....*......... | **............ | **............ | **............ | **...*........ | **..**........ | **.****....... |
| **............ | *****......... | *****......... | .............. | .....*........ | .....**....... | ....***....... | ....****...... | ....**.*...... | ...*.*.**..... |
| ..****........ | ...*.*........ | ...*.*........ | .....**....... | .....**....... | ....**.*...... | ....*..**..... | ...*...*...... | ...*...**..... | ...*.****..... |
| **.*.***...... | **...***...... | ***..*.**..... | ..*..*..*..... | .....*.**..... | .....*.**..... | ....**........ | ....**..*..... | ....*......... | .......**..... |
| ...*....*..... | ..*..*.**..... | **...*...*.... | ..*....*.*.... | ........*..... | .......**..... | .........*.... | .............. | ........*..... | ........*..... |
| .....*...*.... | ........**.... | .......*..*... | .............. | .............. | .......**..... | .........*.... | ........***... | ......*****... | .....*....*... |
| .........*.... | .........**... | .............. | .............. | .......**..... | ......***..... | ......*..*.... | .....***.*.... | .....***.**... | .....*....*... |
| .......***.... | .........**... | .............. | ......****.... | ......**.*.... | .....*...*.... | .....***.**... | ....*..*...... | ....*..**..... | ....**........ |
| .........*.... | ......**.*.... | .....******... | .....*..**.... | .....**...*... | ....*....**... | ....**..***... | ....**....*... | ...*...**..... | ......*....... |
| .....**....... | ....*.*....... | ......**...... | ....*....*.... | ...**.**.*.... | ....*...*..... | ........*..... | ....**.**..... | .......***.... | .........*.... |
| ....***....... | ....*......... | ...**.*....... | ...**.**...... | ......**...... | ........*..... | .....*..*..... | .....**.*..... | ........*..... | .............. |
| .....*........ | ....***....... | ....**........ | ...**.*....... | ...**.*....... | ....*.**...... | ....*.**...... | ....*..*...... | ....*...*..... | .....*..*..... |
| .............. | .............. | ......*....... | ......*....... | .....*........ | ....**........ | ....***....... | ....*.**...... | ....*.**...... | ....*.**...... |
| .............. | ......*....... | ......*....... | .............. | .............. | .............. | .............. | .....*........ | .....*........ | ....*......... |
| .....***...... | .....*.*...... | ....****...... | ...**...*..... | .......**..... | .......*.*.... | ........*..... | ......*.*..... | .....***...... | ....**.**..... |
| ....*.**...... | ...**...*..... | ...**..**..... | .......**..... | .......***.... | ......*..*.... | .....****..... | .....*..*..... | .....*..**.... | .......**..... |
| ...**...*..... | ...*....*..... | ...**......... | ...**...*..... | ...**..**..... | ...**.*....... | ......**...... | ....*...*..... | ....**........ | ....*..**..... |
| ....*****..... | ......****.... | .........*.... | ....*......... | ...**..***.... | ......*....... | ...**......... | .....*........ | .....***...... | ....*..*...... |
| ....**...*.... | ....*...*..... | .....*...*.... | .....**.**.... | ....*.*.**.... | ....*.....*... | ......**...... | ......**...... | ......*....... | .......*...... |
| ......*....... | ......**...... | .....**.*..... | .....**.**.... | ....*.....*... | ....*.**..*... | ...**.**...... | .............. | .....*........ | .....*.*...... |
| ......**...... | ......*.*..... | ......*.*..... | .....**.**.... | .....**...*... | ....*.*....... | ......*....... | ....*.**...... | ......**...... | .....**....... |
| .......**..... | ........*..... | ........*..... | ........**.... | .....**....... | .......*...... | .....*........ | .....**....... | ....*......... | .......*...... |
| .....*.*...... | .......*...... | .......**..... | ......*.*..... | ......*....... | ....*......... | ......*....... | ....*.**...... | ...*....*..... | ...**......... |
| .....*.*...... | .......*...... | ......**...... | ....*****..... | ....***.**.... | ...*..****.... | ...**.**.*.... | ...******..... | ...*.......... | ..***......... |
| ....***....... | ...**.*....... | ...***........ | ...*....*..... | ...***...*.... | ...*...*.*.... | ...*.....*.... | ...*...**..... | ...*....*..... | ..**...***.... |
| ..*.*......... | ...**......... | ...***.**..... | ..*....**..... | .......*...... | ....***....... | ....***....... |                |                |                |
| ........*..... | .......***.... | ...****..*.... |                |                |                |                |                |                |                |
$
Stripping roots and inserting question marks for fixed board search is sort of unavoidably going to involve understanding at least a little about W and/or UWI views (see above).

Finally, about saving/loading state. This is not super well-trodden ground as for my part most searches I do are enormous and I do not want to afford the disk space and wear involved.

All three search subcommands take "--state-file" which will cause them to initially load that state file if it exists and to checkpoint to it after each round of expansion.

There is also rctl (on linux only), which can be used asynchronously to ask a running search to save its state. E.g. if you're only running one rctl target (one search) you should be able to run in the "ars" subdirectory:

Code: Select all

cargo run -p ars_rctl_cli invoke --ep llsss checkpt
The next time the search is at a place it can checkpoint (the end of an expansion round), it should choose a filename and output something like:

Code: Select all

20260809 16:03:34 [INFO] Checkpointed LLSSS state to llsss.20260809-160334.bin in 285.40909ms
There are some other options to disambiguate targets (like "--pid") as well as a "checkpt_to" which takes a specified path.
User avatar
R2INT
Posts: 810
Joined: July 2nd, 2024, 7:42 pm

Re: amling search program principles discussion / brain dump

Post by R2INT »

I have decided to try LLSSS today. Here are some ships that it rediscovered in my rule Checkerboard, Day & Night (except for the c/5, apparently it's new, so I added it to the collection). I tried searching for (2,1)c/5, a new velocity that ikpx2 previously struggled on, but LLSSS quickly exhausted my 64GB of memory and crashed.

Code: Select all

x = 118, y = 36, rule = B2en3cin4aciknqt5eny6ikn78/S2ace3-eny4cjnqyz5-cin6-en78
34bo14bo6bo9bo5bo14bo23bo$32b2ob2o11b2o6b2o27b2ob2o19b2ob2o$29bo3bobo
3bo7b4o4b4o6b3o3b3o10b3ob3o16bo2b3o2bo$29b4obob4o8bobo4bobo8bo5bo11bo
bobobo15b2ob5ob2o$33bobo11b4o4b4o8bo3bo9b4obobob4o16b3o$6b4o19b4obob4o
8b2o6b2o7bo7bo8b2o7b2o15b7o$5b2obo3bo16b2o2bobo2b2o8bob2o2b2obo7b2obo
bob2o12bobo18b3o3b3o$7bobobo18b2obobob2o10b8o8bob5obo12bobo18bob5obo$
4b2obob6o16bobobobo11b8o8b4ob4o35bo3bo$4bobo3bobo20b3o11b12o5bo2b5o2b
o11bobo17bobob3obobo$3b3obobob3obo14b2ob3ob2o9b3o4b3o7bob5obo11bo3bo17b
obo3bobo$4b4o6bob2o10bob3obob3obo8b3o2b3o9bob3obo11bobobobo15b2ob5ob2o
$4bob2obobobob4o9bobo2bobo2bobo8bo6bo8bob5obo10b3ob3o14bo2b3ob3o2bo$2b
obob2ob4o2b2o11b5obob5o9b2o2b2o9b9o10b7o14bo2b7o2bo$bob3ob4o2bo14bobo
b5obobo25b7o11bob3obo16bob5obo$2bo3bob2o2b2o16b9o27b7o12b5o18b7o$ob3o
bo2bob2ob2o13b2o2b3o2b2o26b7o9bo9bo15b7o$2b4o2b8o13bo3bobo3bo28b3o10b
obo7bobo11bob9obo$bo3b2ob2ob4o17bo3bo30b5o9b2obo5bob2o11bob9obo$4bo2b
9o13b2o2bobo2b2o25bob5obo8b3o5b3o15b7o$5bob3obo3bo13b3obobob3o24bob7o
bo8b2o5b2o16b7o$5b7ob2ob2o11b3o5b3o24b11o31bob7obo$6b2o3b2o2bo11bobob
obobobobobo23b9o32b3o5b3o$8b5o3bo10b2obobobobobob2o24b7o34b9o$8b2obo18b
2obobob2o26bob5obo32b5ob5o$10bobo17bobobobobo28b5o34bo2b5o2bo$11bobo17b
obobobo26bo2b5o2bo34bobobo$11bo17b2obo3bob2o24bob3ob3obo35b3o$30b2o5b
2o27bo2bo2bo36b5o$33b3o28b2o3bo3b2o34bo3bo$34bo32b2ob2o$31b3ob3o28b2o
bob2o$34bo31b2obob2o$66bob3obo$66b2obob2o$65b2o2bo2b2o!
I also used LLSSS to search for ships in agar rules: for example, the 2c/4o and c/3d in my ElectricCheckerboard rule:

Code: Select all

x = 164, y = 102, rule = B2cek3ejknr4ejknqry5-ikr6akn7c8/S2-ck3ery4eikqr5ckn6-kn78:T164,102
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobo$obobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobo$bobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobo$obobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobo$bobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$obobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobo$bobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobo$obobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobo$bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobo$obobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobo$bobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobo$obobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobo$bobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobo$bobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobo$obobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobo$bobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobo$obobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$bobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobo$obobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobo$bobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobo$obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobo$bobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobo$obobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobo$bobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobo$obobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$b
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobo$obobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobo$bobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobo$obobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobo$bobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$obobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobo$bobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobo$obobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obo$bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobo$obobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobo$bobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobo$obobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobo$bobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$o
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobo$bobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobo$obobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobo$bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobo$obobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$bobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobo$obobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobo9bobobobobo9bobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobo$bobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobob2o4bo4b2obobob2o4bo4b2obobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobo$obobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobob2obo2b3o2bob2obob2obo
2b3o2bob2obobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobo$bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obob4o2bob2o3b2ob2o3b2obo2b4obobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobo$obobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobob3o3bobo2b2o2bobo2b2o2bobo3b3obobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobo$bobobobobobobobobobo
bobobobobobobobobobob5obobobobobobobobobobobo2bob2obobo2bobobo2bobob2o
bo2bobobobobobo3bobobobobobobobobobobobobobobobobobobobobobobobobobob
o$obobobobobobobobobobobobobobobobobobobobob3obobobobobobobobobob5o2b
ob2o2bo3bobo3bo2b2obo2b5obobobob3obobobobobobobobobobobobobobobobobob
obobobobobobobobo$bobobobobobobobobobobobobobobobobobobobob3o2bo2b3ob
obobobobobob3obobobo2b5obob5o2bobobob3obobobobo3bobobo2bobo2bobobobob
obobobobobobobobobobobobobobobobo$obobobobobobobobobobobobobobobobobo
bobobobo2b3ob2ob3obobobobo2b3obob4o2b2o2bobo2b2o2b4obob3o2bobobob3obo
bobo5bobobobobobobobobobobobobobobobobobobobobo$bobobobobobobobobobob
obobobobobobobobobobob3o2bob2o2b2obobobob5ob2ob8ob3ob8ob2ob5obobobobo
bobobob5obobobobobobobobobobobobobobobobobobobobobo$obobobobobobobobo
bobobobobobobobobobobobobo3bo2b3o2bobobobobob5o3bob2obob2obob2obob2ob
o3b5obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$b
obobobobobobobobobobobobobobobobobobobobobobob2obob2obobobobobo3bob2o
2bo2bob2obobob2obo2bo2b2obo3bobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobo$obobobobobobobobobobobobobobobobobobobobobob3o
bo2bo2b3obobobob5o2b2o2bo4bobobo4bo2b2o2b5obobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobo$bobobobobobobobobobobobobobobobo
bobobobobobobob2o2b2ob2obobobobob2o4bob4ob2obobob2ob4obo4b2obobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobo$obobobobobobo
bobobobobobobobobobobobobobobobobobo2b5o2bobobobobo4b2ob3obobobobobob
3ob2o4bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obo$bobobobobobobobobobobobobobobobobobobobobobobobobob2obob2obobobob
2ob4obo3bobobobobobo3bob4ob2obobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobo$obobobobobobobobobobobobobobobobobobobobobob
obobobobob2o2bobobob2ob3obob6obobobob6obob3ob2obobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobo$bobobobobobobobobobobobobobo
bobobobobobobobobobobobobob3obobob4obobob2obobobobobobobobob2obobob4o
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$obobob
obobobobobobobobobobobobobobobobobobobobobobobobo5bobob2ob3obob2ob3ob
obobob3ob2obob3ob2obobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobo$bobobobobobobobobobobobobobobobobobobobobobobobobobobobo
3bobob2o5bo4b2o2bobobobo2b2o4bo5b2obobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobo$obobobobobobobobobobobobobobobobobobobob
obobobobobobobo2b2obobob5ob2ob2ob2ob2obob2ob2ob2ob2ob5obobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobo$bobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobob3obob4o2bob3obobob3obo2b4o
bob3obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$o
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo3b2ob
o2bo4b2obob2o4bo2bob2o3bobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobo$bobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobo5b2o2b2o2bobo2b2o2b2o5bobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobo$obobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobob4ob2obobobobobobobob2ob4obobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$bobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobo$obobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobo$bobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obo$obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobo$bobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobo$obobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobo$bobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobo$obobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$bo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobo$obobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobo$bobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobo$obobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobo$bobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$obobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobo$bobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobo$obobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bo$bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobo$obobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobo$bobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobo$obobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobo$bobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$ob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobo$bobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobo$obobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobo$bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobo$obobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$bobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobo$obobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobo$bobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bo$obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobo$bobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobo$obobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobo!
I am currently running searches for my rule B2cen3acijk4-einqr5cein6-an/S2cek3ckny4jnqtw5aik6cen78 (AgarGalaxy), a custom agar rule. My main suggestion here would be to add a setting that allows 2-state RLE printing that I can copy and paste into LifeViewer or other software without having to edit the block and remove the timestamps interrupting the RLE.

What settings can I use to reduce the memory consumption of LLSSS?

EDIT: My Windows 10 computer crashed while running the 2c/6 search in AgarGalaxy with the code IRQL_NOT_LESS_OR_EQUAL. Here's the command I was using (I don't remember the exact width I used, so 13 is a placeholder):

Code: Select all

.\rlife.exe llsss-recentering-wao `
  --rule 'B2cen3acijk4-einqr5cein6-an/S2cek3ckny4jnqtw5aik6cen78' `
  --bg-agar '@.\agar-galaxy-2c2-p2.json' `
  --pre-reify-autochoke 20GB `
  --pre-partials '[wao_unique, unique, default, random]' `
  2c6-f2b '@bg' 13 2>&1 |
  Tee-Object -FilePath .\agar-galaxy-2c6-wao.txt
Contents of agar-galaxy-2c2-p2.json:

Code: Select all

{
  periods: [
    [2, 0, 0],
    [0, 2, 0],
    [1, 1, 1],
  ],
  cells: [
    [[0, 0, 0], false],
    [[1, 0, 0], false],
    [[0, 1, 0], true],
    [[1, 1, 0], false],
  ],
}
Range-2 INT
R2INT's Rule Collection

Travelling Ts has surpassed LeapLife in post count, but not yet in technology.
amling
Posts: 1210
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling »

R2INT wrote: August 11th, 2026, 1:05 pm I have decided to try LLSSS today.
Welcome to the party! I am always excited for fresh perspective and of course sorry in advance for the eternally user-hostile and under-construction nature of things.
R2INT wrote: August 11th, 2026, 1:05 pm My main suggestion here would be to add a setting that allows 2-state RLE printing that I can copy and paste into LifeViewer or other software without having to edit the block and remove the timestamps interrupting the RLE.
Interesting, interesting. I guess decades of UNIX/editor practice twist one's brain as I never thought much about this, assuming managing block mode copies/edits was just a fact of life. I am generally quite attached to timestamps and unambiguously parsable logs and as a result the code has all been structured around such assumptions, although it's just code and this could be fixed. Unfortunately it's the same defaults problem all over again: I am somewhat reluctant to make the default pollute my own pretty logs with untimestamped lines and have to set an option everywhere to fix it, but also making new users all individually discover a setting to get timestamps off their RLEs is maybe not so great.

I will think some more on it. Adding an option to print RLEs directly and fixing up the few outputs of them to respect it is easy and I will almost certainly do so. Making it the default I might need some time to come to terms with.
R2INT wrote: August 11th, 2026, 1:05 pm EDIT: My Windows 10 computer crashed while running the 2c/6 search in AgarGalaxy with the code IRQL_NOT_LESS_OR_EQUAL.
Microsoft's own documentation says:
The IRQL_NOT_LESS_OR_EQUAL (0xA) error is a Windows stop error that typically occurs when a device driver or system memory accesses invalid memory. This error is most often caused by faulty or outdated drivers, memory issues, or hardware problems.
That does not sound like something a mere user program should be able to cause (although maybe "typically" is hiding something here). My money is absolutely gonna be on some combination of OS/hardware issue, although I can try to run the exact search as best I can to see what happens to me (and/or my computers). You might consider running some form of stress test to see if you can reproduce it another way. It would also be helpful to know the exact version you ran, how long it took to die (measured in time or in w_pos), and if you've run it more than once what happened.

A quick test on my laptop with that command and 923638698668 got through expanding w_pos 19[0] in ~12m with no issues. Perhaps more later...
R2INT wrote: August 11th, 2026, 1:05 pm What settings can I use to reduce the memory consumption of LLSSS?
Unfortunately there aren't a lot of great options:

(*) Structure search differently if you can (not often applicable). E.g. searches generally do best f2b over s2s over b2f, although circumstances may vary.

(*) Take it to swap (slooow and maybe not great for HD). Details far above from my own testing of this and given that I run most of my searches on computers I don't care about I do tend to run with ulimit set to twice main memory.

(*) Use autochoke (incomplete answers at best). From your command it sounds like you already know about it.

(*) Maybe try MDSE V2 if you're really a glutton for pain (missing so many features and sooo slooow). Only fixed board, etc.

(*) Split search cell by cell (tedious). Fork search into two copies and force a single cell value on/off in them. Repeat recursively if needed.
amling
Posts: 1210
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling »

I have just finished a minimal runnable version of a mad dash for recentering MDSE V2. It compiles, it runs, and the most basic, basic smoke tests produce correct answers. I've pushed this demo to codeberg as 20260811-rc-mdse-v2-10 and the insanely adventurous could theoretically check it out and run recentering searches with it. Still TBD:

(*) WAO subcommand. This might not be too bad, but it's a distraction I felt the minimal cut did not need.

(*) partials, ends, max pop. All cut from the MDSE V2 copy of the llsss-recentering subcommand. Some might be easy to restore, some might be hard. I think agar ends and max pop are probably the short-term goal list in terms of producing something that could actually advance the state of knowledge.

(*) Benchmarking, both in terms of how much abstraction hurts, and in terms of recentering MDSE V2 time/memory. I haven't really waded into this as there are still quite a few places in the code still marked with "XXX: PERF" which is a reminder to myself that they produce correct results, but are crummy placeholders algorithm-wise and definitely need fixing.

As an extremely, extremely rough comparison of a very, very small test search with the current code, a WAO-like 2c5-f2b mid_steps=07 search has largest inter-round state go from 407.52 KB to 78.28 KB and largest observed memory at any point go from 1021.09 KB to 261.18 KB. The former is wider than I might have expected and may be smaller states somehow favoring MDSE V2. The latter includes some weird shims for MDSE V2 that I may or may not be able to remove to get it better.

Stay tuned.
User avatar
LaundryPizza03
Posts: 2623
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: amling search program principles discussion / brain dump

Post by LaundryPizza03 »

Crashes on startup.

Code: Select all

% ./rlife llsss --rule 'B34578/S24678' --left-edge bg --ends '[bg,odd,gso]' --filters bcaf c3d-s2s '@bg(10)' > output.txt

thread 'main' (9985019) panicked at src/lat/geom.rs:120:9:
assertion `left == right` failed
  left: 18
 right: 0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
EDIT: Never mind, gso is invalid for this geometry.

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia
amling
Posts: 1210
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling »

LaundryPizza03 wrote: August 12th, 2026, 12:40 am Crashes on startup.

...

EDIT: Never mind, gso is invalid for this geometry.
It's true, although I have been trying to slowly improve errors when they are easily reachable with typical arguments. In this case 3b5e85ef0cd7 (just pushed) changes this so the output would include:

Code: Select all

Error: LlsssEndsReflect(GSOdd) is not compatible with geometry c3d-s2s

Context:
    0: While compiling step LlsssEndsReflect(GSOdd)
db1ba1a94ffd (also just pushed) similarly improves analogous errors for edges:

Code: Select all

$ rlife llsss-recentering-wao c3d-f2b '@bg' 00 --left-edge gso
...
Error: LlsssEdgeReflect(GSOdd) is not compatible with geometry c3d-f2b

Context:
    0: While compiling step LlsssStepExpandRecentering
...
amling
Posts: 1210
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling »

amling wrote: August 11th, 2026, 7:30 pm (recentering MDSE V2 MVP)
I have recovered most of the missing features. I gave up on --partials as I seem to have done with fixed board MDSE V2 as well. The way SRV2 builds its output it just so very complicated and reliant on the old format.

There are definitely still big perf issues left before I move on to the real benchmarking, but I think I have ideas about how to address most of them.

Again, this has been pushed to codeberg as 20260812-rc-mdse-v2-19, although that is more of a manner of backup or commitment for me than anything that will likely be useful to others.
User avatar
LaundryPizza03
Posts: 2623
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: amling search program principles discussion / brain dump

Post by LaundryPizza03 »

Maybe the LifeWiki tutorial should discuss how to make raw geometries. I'd like to search for (2,1)c/5 along the diagonal direction, like the known ship in B36/S345. Here's an rlifesrc partial of that type, oriented to NNW direction:

Code: Select all

x = 55, y = 53, rule = B36/S3458
6bo$2b4ob3o$b6ob2o$b2ob7o$bobobob3o$2o2b3ob2o$ob2o2b4o$5bobob2o$bobobo
bobo2bo$5bo4b3o$4bob3o2bobo$5b2o2b2o2b2ob3o$8b2ob9o$8bo2b4o$10b2obob5o
$12b2o2bo$12b2ob3o$13b5o$12b2o6b2o$15bo2b4o$15b4o2b2o$17bo3bob2o$18bo
2b2ob2o$18b4ob6o$22b3ob3o$21b3o3b3o$21bobobob2o$22b3o$24bo2b2o4bo$23b
2obo2b2ob3o$23b2obob3o2bobo$29b2o2b2ob2o$27bobo3b3obo$27b3ob5obob2o$
30bob5ob3o$29bob4obo4b2o$29b3o3bo3bobo$32b2ob2ob3obo$32bo2b4ob2o$36b7o
2b3o$36bo2b2obo2b4o$36b2o2bo3b2ob2o$37b4o2bo$38b3obob2obob2o$37b4obo5b
2o2bo$39b3ob2ob2ob2ob2o$40b4o4b2obob2o$41b2ob8o$41b2o3bo2bobo$44b2obo$
45bob3o$46bobo$47b3o!

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia
amling
Posts: 1210
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling »

LaundryPizza03 wrote: August 13th, 2026, 11:13 pm Maybe the LifeWiki tutorial should discuss how to make raw geometries. I'd like to search for (2,1)c/5 along the diagonal direction, like the known ship in B36/S345. Here's an rlifesrc partial of that type, oriented to NNW direction:

Code: Select all

x = 55, y = 53, rule = B36/S3458
6bo$2b4ob3o$b6ob2o$b2ob7o$bobobob3o$2o2b3ob2o$ob2o2b4o$5bobob2o$bobobo
bobo2bo$5bo4b3o$4bob3o2bobo$5b2o2b2o2b2ob3o$8b2ob9o$8bo2b4o$10b2obob5o
$12b2o2bo$12b2ob3o$13b5o$12b2o6b2o$15bo2b4o$15b4o2b2o$17bo3bob2o$18bo
2b2ob2o$18b4ob6o$22b3ob3o$21b3o3b3o$21bobobob2o$22b3o$24bo2b2o4bo$23b
2obo2b2ob3o$23b2obob3o2bobo$29b2o2b2ob2o$27bobo3b3obo$27b3ob5obob2o$
30bob5ob3o$29bob4obo4b2o$29b3o3bo3bobo$32b2ob2ob3obo$32bo2b4ob2o$36b7o
2b3o$36bo2b2obo2b4o$36b2o2bo3b2ob2o$37b4o2bo$38b3obob2obob2o$37b4obo5b
2o2bo$39b3ob2ob2ob2ob2o$40b4o4b2obob2o$41b2ob8o$41b2o3bo2bobo$44b2obo$
45bob3o$46bobo$47b3o!
I'm pretty skeptical about anything like that making the tutorial as it's a pretty messy topic. Even as the author I could not have easily told you if "c5k-1/W=X+Y" would work (or would have U neighborhood too wide and need to recompile with larger AF2, which it turns out it does). If you recompile with AF2=5 you ought to be able to search with "c5k-1/W=X+Y" although I cannot imagine it will perform well. If you increase (and twist) U to X-Y like the diagonal f2b geometries have, it will work without a recompile, i.e. you ought to be able to search with "c5k-1/W=X+Y/U=X-Y", although I imagine it will perform even worse.

I'm not sure exactly why you want to search this way, but if you expand your motivations we might have other ideas that could help. I assume you think there are interesting partials that "tilt" (viewed from the W=Y angle of c5k-1) this way and you're running "fixed board" searches (i.e. "llsss" subcommand) which are obligated to follow W strictly. Recentering searches would cover patterns that tilt, although it widens the search space to any kind of tilting, and might take slightly wider mid_steps than you might think, due to all that tilting.
User avatar
LaundryPizza03
Posts: 2623
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: amling search program principles discussion / brain dump

Post by LaundryPizza03 »

amling wrote: August 14th, 2026, 10:56 am
LaundryPizza03 wrote: August 13th, 2026, 11:13 pm Maybe the LifeWiki tutorial should discuss how to make raw geometries. I'd like to search for (2,1)c/5 along the diagonal direction, like the known ship in B36/S345. Here's an rlifesrc partial of that type, oriented to NNW direction:

Code: Select all

x = 55, y = 53, rule = B36/S3458
6bo$2b4ob3o$b6ob2o$b2ob7o$bobobob3o$2o2b3ob2o$ob2o2b4o$5bobob2o$bobobo
bobo2bo$5bo4b3o$4bob3o2bobo$5b2o2b2o2b2ob3o$8b2ob9o$8bo2b4o$10b2obob5o
$12b2o2bo$12b2ob3o$13b5o$12b2o6b2o$15bo2b4o$15b4o2b2o$17bo3bob2o$18bo
2b2ob2o$18b4ob6o$22b3ob3o$21b3o3b3o$21bobobob2o$22b3o$24bo2b2o4bo$23b
2obo2b2ob3o$23b2obob3o2bobo$29b2o2b2ob2o$27bobo3b3obo$27b3ob5obob2o$
30bob5ob3o$29bob4obo4b2o$29b3o3bo3bobo$32b2ob2ob3obo$32bo2b4ob2o$36b7o
2b3o$36bo2b2obo2b4o$36b2o2bo3b2ob2o$37b4o2bo$38b3obob2obob2o$37b4obo5b
2o2bo$39b3ob2ob2ob2ob2o$40b4o4b2obob2o$41b2ob8o$41b2o3bo2bobo$44b2obo$
45bob3o$46bobo$47b3o!
I'm pretty skeptical about anything like that making the tutorial as it's a pretty messy topic. Even as the author I could not have easily told you if "c5k-1/W=X+Y" would work (or would have U neighborhood too wide and need to recompile with larger AF2, which it turns out it does). If you recompile with AF2=5 you ought to be able to search with "c5k-1/W=X+Y" although I cannot imagine it will perform well. If you increase (and twist) U to X-Y like the diagonal f2b geometries have, it will work without a recompile, i.e. you ought to be able to search with "c5k-1/W=X+Y/U=X-Y", although I imagine it will perform even worse.

I'm not sure exactly why you want to search this way, but if you expand your motivations we might have other ideas that could help. I assume you think there are interesting partials that "tilt" (viewed from the W=Y angle of c5k-1) this way and you're running "fixed board" searches (i.e. "llsss" subcommand) which are obligated to follow W strictly. Recentering searches would cover patterns that tilt, although it widens the search space to any kind of tilting, and might take slightly wider mid_steps than you might think, due to all that tilting.
Two ships found by Josh Ball in 2011 in closely related rules have this orientation, as do the known (2,1)c/5 ships in B35/S34. It is likely that some rules favor knightships whose long axis is closer to orthogonal than the direction of propagation, while others favor knightships whose long axis is closer to diagonal.

Code: Select all

#C Glider 15196, (2,1)c/5
#C Discovered by Josh Ball, 2011
#C
#C B012345678 S012345678
#C  ---X--X--  ---XXX---
#C
x = 36, y = 37, rule = B36/S345
34bo$30b2ob2o$28b5obo$28bob3ob2o$27b7o$28bo4bo$27b2obobo$27b4obo$29b3o$
28b3o$25bo2b3o$24b2ob3o$23bobo2bo$21b2o2b2obo$21b2obobo$24bo$21bo2b3o$
22b2o2bo$17b3o2bobo$13bobo2bob2obo$11b2ob2o2bob2o$11b3o3b3o$13b2o2b3o$9b
2obob2o3bo$8b3o$7bo2b2o$6b2ob2o$7bo$2bo3bo$2bo4b3o$2ob2o2bo$2bo4b2o$bobo
2b3o$4ob3o$2o4b2o$3o3bo$3b2o!

Code: Select all

#C Glider 15197, (2,1)c/5
#C Discovered by Josh Ball, 2011
#C
#C B012345678 S012345678
#C  ---X--X--  X--XXX---
#C
x = 31, y = 30, rule = B36/S0345
27b2o$26b2o$26b3o$26bo$25bo$23bo$19bob3o3bo$18b4obobob2obo$18b2obobo4b3o
$18bo2b3o6bo$19b2o$18b5o$15b2o2bo$15bo$14b2o2bo$9bobobo2b2o$8b2obobo2bo$
9bo2b3o$7b3o$7b2o$7bobo$7bo3bobo$7b3ob3o$2bobob2o2b2obo$b5o3bo2b3o$2obob
3o$bo3b2o$2o2bo2bo$2o2b2o$b4o!

Code: Select all

#C Glider 27803, (2,1)c/5
#C Discovered by iNoMed, 2023
#C
#C B012345678 S012345678
#C  ---X-X--   ---XX----
#C
x = 36, y = 38, rule = B35/S34
6o$2o4bo$obo3b2o$2bob5o$4b4ob2o$3b2o2bobo$3b5o$4b3o$4bo3bob2o$5bobob4o$
5bob3obo2b2o$7bo2b6o$12b3obo$16b2o$13bo4b2o$14bo3b2o$14bo6bo$15b4o2bobo$
16bo4bo$17b2o2bo$16bob3o$19bo$17bobobo$18b3obo$18bobo3bobo$24b3obo$20bo
3b2ob2o$22b3o4bo$21b3o5b2o$29bobo$31bo$29bob3o$30b3o$29bo$30bob2o$33b2o$
31b3o$35bo!

Code: Select all

#C Glider 26479, (2,1)c/5 (period 10)
#C Discovered by LaundryPizza03, 2021
#C
#C B012345678 S012345678
#C  ---X-X---  ---XX--- 
#C
x = 28, y = 25, rule = B35/S34
o$2o3bo$bob5o2bo$b3ob2ob2o$2bo7b2o$4b2o2b2obo$5bobo2bo$6bobobobobobo$8b
6o$8b2obo4b2o$13bob2o$12b3obo$11b2ob2o$12bo4bo$15bobo$13bo2bobo$13b3ob2o
$15bobo2bo$20bo$18b5obo$19b5o2b2o$18b2o3b2ob2o$18b3ob2ob3o$19b3obo$20b3o
!
In this case, here's the partial I found vs. one made by searching a horizontal axis.

Code: Select all

x = 72, y = 53, rule = B36/S3458
6bo57b3o$2b4ob3o54b3ob2o$b6ob2o54b2ob3o$b2ob7o52b3o3b2o$bobobob3o52b5o
3bo$2o2b3ob2o52bo2bo3b3o$ob2o2b4o52bo3bo4bo$5bobob2o55bobobo$bobobobob
o2bo49b3obo$5bo4b3o49b2o$4bob3o2bobo47b5ob2o$5b2o2b2o2b2ob3o42bo2bob4o
$8b2ob9o41bo2b6obo$8bo2b4o48bo2bob2obo$10b2obob5o41bobo2bob3o$12b2o2bo
44b2obob3obo$12b2ob3o47bo$13b5o44bobo2bo$12b2o6b2o39b2o2bobo$15bo2b4o
45bo$15b4o2b2o39b3ob2o$17bo3bob2o36b2o2bobo2b2o$18bo2b2ob2o36b2obobob
3o$18b4ob6o31b2ob4o$22b3ob3o$21b3o3b3o$21bobobob2o$22b3o$24bo2b2o4bo$
23b2obo2b2ob3o$23b2obob3o2bobo$29b2o2b2ob2o$27bobo3b3obo$27b3ob5obob2o
$30bob5ob3o$29bob4obo4b2o$29b3o3bo3bobo$32b2ob2ob3obo$32bo2b4ob2o$36b
7o2b3o$36bo2b2obo2b4o$36b2o2bo3b2ob2o$37b4o2bo$38b3obob2obob2o$37b4obo
5b2o2bo$39b3ob2ob2ob2ob2o$40b4o4b2obob2o$41b2ob8o$41b2o3bo2bobo$44b2ob
o$45bob3o$46bobo$47b3o!
You might want to add a comprehensive usage documentation to LLSSS for usage that is too advanced for the tutorials. Is AF2 a variable in the build file or an environment variable?

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia
amling
Posts: 1210
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling »

LaundryPizza03 wrote: August 16th, 2026, 4:49 pm
amling wrote: August 14th, 2026, 10:56 am I'm not sure exactly why you want to search this way, but if you expand your motivations we might have other ideas that could help. I assume you think there are interesting partials that "tilt" (viewed from the W=Y angle of c5k-1) this way and you're running "fixed board" searches (i.e. "llsss" subcommand) which are obligated to follow W strictly. Recentering searches would cover patterns that tilt, although it widens the search space to any kind of tilting, and might take slightly wider mid_steps than you might think, due to all that tilting.
Two ships found by Josh Ball in 2011 in closely related rules have this orientation, as do the known (2,1)c/5 ships in B35/S34. It is likely that some rules favor knightships whose long axis is closer to orthogonal than the direction of propagation, while others favor knightships whose long axis is closer to diagonal.
That's sort of what I suggested, and an overwhelming reason to do something other than search with fixed board c5k-1. From my experience with LLSSS I really think c5k-1 recentering is the best choice, but you are of course free to chase (and advocate for) others...
LaundryPizza03 wrote: August 16th, 2026, 4:49 pm Is AF2 a variable in the build file or an environment variable?
On the codeberg master branch as I write this, AF2 for all LLSSS mains is declared together in "src/llsss/cli/common.rs" with "pub type AF2 = NumberMarker<3>;". It should be possible to change that 3 to a 5 and recompile with no further futzing, but this sort of thing is rarely, rarely done (i.e. I believe has only ever been done by me, and only a handful of times), and I have broken it (caused it not to compile with values other than 3) several times over the years by one weird type system accident or another.

I tried all four options (c5k-1 fixed board, c5k-1/W=X+Y AF2=5 fixed board, c5k-1/W=X+Y/U=X-Y fixed board, and c5k-1 recentering) to 8 GB memory real quick:

(0) c5k-1 fixed board last completed board width 18 (so pattern width 14) in 7.76 GB:

Code: Select all

x = 106, y = 41, rule = B36/S3458History
F20.F20.F20.F.18B.F.18B.F$F.18B.F.18B.F.18B.F.18B.F.18B.F$F.18B.F.18B
.F.18B.F.18B.F.18B.F$F.18B.F.18B.F.7BA10B.F.8BA9B.F.5B3AB2A7B.F$F.7BA
10B.F.6B3A2BA6B.F.5B3AB2A7B.F.4B4AB3A6B.F.3B5AB3A6B.F$F.6B3AB3A5B.F.
5B2ABAB2A6B.F.4B2A2BAB2A6B.F.3B6AB2A6B.F.3BA14B.F$F.5B4AB2A6B.F.4B5AB
A7B.F.3B2AB5A7B.F.3B2AB7A5B.F.2B2ABA6BA5B.F$F.4B2A5B2A5B.F.3B3A2BAB2A
6B.F.3BABA4B3A5B.F.3BABABAB3A6B.F.3BAB2A11B.F$F.3B2A2BA10B.F.3B2A6BAB
A4B.F.2B2A2B3AB2A6B.F.2B2A2B3AB2A6B.F.2B2A2B3A2B2A5B.F$F.4BAB2A4B2A4B
.F.3B2AB2AB3A6B.F.2B3AB2ABABA6B.F.2BAB2A2B4A6B.F.8B2ABA6B.F$F.5B7A6B.
F.3BABAB5ABA4B.F.3B5ABAB2A5B.F.7BABAB2A5B.F.3BABA2B2AB2A5B.F$F.3B3ABA
B2ABA5B.F.4B2AB2A2B3A4B.F.3B3AB5ABA4B.F.3BABABABABABA4B.F.2BA8B2A5B.F
$F.9B2AB2A4B.F.3BA2BA2B2AB3A3B.F.2B2ABABAB2ABABA3B.F.2B2ABABA3B2A5B.F
.2B2ABABA2B3A5B.F$F.3BA3BAB2A2B2A3B.F.2B2A5B2A2B2A3B.F.2B2AB3AB2ABABA
3B.F.2B7A3B2A4B.F.2BA2B4A3B2A4B.F$F.2B4A2B2A2B2A4B.F.3B3AB3AB3A4B.F.
3B2ABAB6A4B.F.3B2ABABA3BA5B.F.6B3A9B.F$F.4B3A2B2A2BA4B.F.2B2A2BA2B2A
2BA4B.F.2B2ABABAB2AB3A3B.F.2B4ABA6BA3B.F.2B2ABABA2BABA5B.F$F.3B3A3B2A
B3A3B.F.3BA5B2AB2A4B.F.3BAB2A2B6A3B.F.3BAB2AB5ABA3B.F.2B5AB4A2B2A2B.F
$F.3B2AB3A2BA6B.F.2B3AB3AB4A4B.F.2BABAB4A3BA4B.F.4BA2B4A2B2A3B.F.3B2A
2BA2BA2BA4B.F$F.3BA2B2AB6A3B.F.2B3AB2AB4A5B.F.2BAB4ABABA6B.F.4BA2B3A
2BA5B.F.4BA2BABABABA4B.F$F.3B3A2BA2BA6B.F.4B2A2BAB3ABA3B.F.4B2ABA2BAB
A5B.F.3B3ABA3BA6B.F.4B2A12B.F$F.5BABABABABA4B.F.5BA6BA5B.F.5BABA5BA4B
.F.5BA12B.F.5BABA10B.F$F.5B2A2BA8B.F.4B4A10B.F.4BABA11B.F.6B2A10B.F.
6B2AB2A7B.F$F.5B2A2BA8B.F.4B3A2BA8B.F.4BA2BA2B2A6B.F.4BAB6A6B.F.3B2AB
A2B4A5B.F$F.5BAB2AB2A6B.F.5B4AB3A5B.F.3B2A2B2AB4A4B.F.3B3AB4AB2A4B.F.
3B3ABA2BABA5B.F$F.4B2ABA2B3A5B.F.3B3AB2ABAB2A4B.F.4BA3B3AB2A4B.F.3BA
4BA4BA4B.F.3BAB2A6BA4B.F$F.3B2ABA3B2AB2A3B.F.4B4AB3AB3A2B.F.7BAB3AB2A
3B.F.4BA2B5AB3A2B.F.5B5A3B2A3B.F$F.5B2A3BA2B3A2B.F.4B3ABABA2B2A3B.F.
4B5A4B3A2B.F.5B2ABA4B2A3B.F.4B2A2BAB2A6B.F$F.6B6ABA4B.F.7B5A6B.F.4BAB
3A2B2A5B.F.4BA3BA3B3A3B.F.5BABABA2B3A3B.F$F.5B3ABABA6B.F.5B3AB3A6B.F.
5B3A3BA6B.F.9BABA6B.F.4B2A2BAB2A6B.F$F.6BA3BA2BA4B.F.5B2AB3A7B.F.4B3A
B2AB2A5B.F.4B2A2BA2B2A5B.F.11B2A5B.F$F.7BA2B3A5B.F.5BA4B3A5B.F.5BABA
2B2ABA4B.F.5BA2BAB2ABA4B.F.5BA3B3ABA4B.F$F.5B2A4B3A4B.F.6BA6B2A3B.F.
5BA4BA2B3A2B.F.4BA6B5A2B.F.4B2A2BA2B4A3B.F$F.5BA5B2AB2A2B.F.5BA5BA2B
2A2B.F.5BABA6B2A2B.F.3BABA2B2A3BABA2B.F.2B2A5BA5BA2B.F$F.4B2A6B4A2B.F
.3B4ABA2B2A2BA2B.F.2B4ABAB6A3B.F.2B3A3BAB5A3B.F.2B3AB2A2B5A3B.F$F.3B
2A2B3A3B2A3B.F.2B3A3BABABA5B.F.2B2A6BABA2BA2B.F.2B2AB2A3BABA5B.F.2BAB
2ABABAB2A5B.F$F.2B2ABABA2B5A3B.F.3BABABA2B6A2B.F.3BA2BA3BAB3A3B.F.3B
2A2BA4B3A3B.F.11BABA4B.F$F.5B2A2BA2BA2BA2B.F.2B2A2BA3BAB2A4B.F.3BA2B
2A4B2A4B.F.2B4A12B.F.2B2AB2A4BABA4B.F$F.3BA8B2A4B.F.4BABA11B.F.2BABA
6B3A4B.F.3BABA5B4A3B.F.3B2ABA11B.F$F.4BABA11B.F.3BABA6BA5B.F.6B2A3BA
2BA3B.F.3BA3BA10B.F.3B4AB2A3B2A3B.F$F.4BA2BA5B3A2B.F.3BA3B2ABAB4A2B.F
.4BABABA4BA4B.F.2B4A2B4A3BA2B.F.2B2ABA2B2ABAB2A3B.F$F.4BAB2AB3AB3A2B.
F.7BAB2A7B.F20.F20.F20.F!
(1) c5k-1/W=X+Y AF2=5 fixed board last completed board width 19 (so pattern width 11) in 4.96 GB:

Code: Select all

x = 171, y = 13, rule = B36/S3458History
F33.F33.F33.F.19B13.F.19B13.F$F.19B13.F2.19B12.F2.19B12.F2.19B12.F2.
19B12.F$F2.19B12.F3.19B11.F3.19B11.F3.19B11.F3.19B11.F$F3.19B11.F4.
19B10.F4.11BA7B10.F4.10B2A7B10.F4.9B3ABA5B10.F$F4.11BA7B10.F5.9B3A7B
9.F5.9B4A6B9.F5.8B6A5B9.F5.8B5A6B9.F$F5.9B3A7B9.F6.8B3ABA6B8.F6.7B2AB
2ABA5B8.F6.8BA2BA7B8.F6.8BA3BA6B8.F$F6.8BAB4A5B8.F7.7BAB3ABA5B7.F7.8B
2ABA7B7.F7.7B7A5B7.F7.7B2AB5A4B7.F$F7.8B2A2BABA4B7.F8.8B2ABA7B6.F8.8B
2ABABA5B6.F8.7B3ABAB2A4B6.F8.6B2AB3ABA5B6.F$F8.6B3ABAB2A5B6.F9.5BA3BA
B2A6B5.F9.8B2AB3A5B5.F9.7BA2BA2BA5B5.F9.7B4A2BA5B5.F$F9.6B3ABAB3A4B5.
F10.5B5AB2A6B4.F10.4B9A6B4.F10.6B5AB2A5B4.F10.5B4ABA2BA5B4.F$F10.5BA
4BABA6B4.F11.4BABA2B2ABA6B3.F11.6BA2BA2BA6B3.F11.5BAB3A3BA5B3.F11.4B
2AB3A2B2A5B3.F$F11.5BA4B5A4B3.F12.8B4A7B2.F12.4B3ABA2BABA5B2.F12.4B2A
4B3A6B2.F33.F$F12.9BA9B2.F13.4B2ABAB5A5B.F33.F33.F33.F!
(2) c5k-1/W=X+Y/U=X-Y fixed board last completed board width 12 (so pattern width 8, although these are essentially twice as big as the above with U=X) in 3.88 GB:

Code: Select all

x = 311, y = 60, rule = B36/S3458History
F61.F61.F61.F61.F12.B48.F$F61.F13.B47.F12.2B47.F12.2B47.F11.3B47.F$F
12.2B47.F12.3B46.F11.4B46.F11.4B46.F10.5B46.F$F11.4B46.F11.5B45.F10.
6B45.F10.6B45.F9.7B45.F$F10.6B45.F10.7B44.F9.8B44.F9.8B44.F8.9B44.F$F
9.8B44.F9.9B43.F8.10B43.F8.10B43.F7.11B43.F$F8.10B43.F8.11B42.F7.12B
42.F7.12B42.F6.13B42.F$F7.12B42.F7.13B41.F6.14B41.F6.14B41.F5.7BA7B
41.F$F6.14B41.F6.15B40.F5.7BA8B40.F5.6B3A2BA4B40.F4.6B3AB2A5B40.F$F5.
9BA6B40.F5.6B3AB2A5B39.F4.7B3AB3A4B39.F4.6B2ABAB2A5B39.F3.6B2A2BAB2A
5B39.F$F4.6B4AB3A4B39.F4.5B5AB3A5B38.F3.7B4AB2A6B38.F3.6B5ABA7B38.F2.
6B2AB5A7B38.F$F3.6B6AB2A5B38.F3.6BA14B37.F2.7B2A5B2A6B37.F2.6B3A2BAB
2A7B37.F.7BABA4B3A6B37.F$F2.7B2AB7A5B37.F2.6B2ABA6BA6B36.F.7B2A2BA12B
36.F.7B2A6BABA6B36.F.6B2A2B3AB2A8B36.F$F.8BABABAB3A7B36.F2.7BAB2A13B
35.F2.7BAB2A4B2A7B35.F2.6B2AB2AB3A9B35.F2.5B3AB2ABABA9B35.F$F2.6B2A2B
3AB2A8B35.F3.5B2A2B3A2B2A8B34.F3.7B7A10B34.F3.5BABAB5ABA8B34.F3.5B5AB
AB2A9B34.F$F3.5BAB2A2B4A9B34.F4.10B2ABA10B33.F4.4B3ABAB2ABA10B33.F4.
5B2AB2A2B3A9B33.F4.4B3AB5ABA9B33.F$F4.9BABAB2A9B33.F5.4BABA2B2AB2A10B
32.F5.9B2AB2A10B32.F5.4BA4B2AB3A9B32.F5.5BABAB2A3B2A8B32.F$F5.4BABABA
BABA2BA8B32.F6.11BA12B31.F6.8BA2B2ABA9B31.F6.7B2A2B4A9B31.F6.7B3ABA2B
A9B31.F$F6.7BA4B3A9B31.F7.6BA3B5A9B30.F7.7BABAB5A8B30.F7.6BA3B2AB3ABA
6B30.F7.5B2A2B2A2B3AB2A5B30.F$F7.5BAB3A2BABA9B30.F8.6B2A3BAB2A2BA6B
29.F8.6BABAB2A2B4A6B29.F8.5BA3B2ABAB4A6B29.F8.4BABAB5A3B2A6B29.F$F8.
5B2A2B2A2B2AB3A5B29.F9.4B2A2B2AB3AB4A5B28.F9.5BA2B2AB3ABABA6B28.F9.4B
A3B2AB5A8B28.F9.8B2AB2A4BA6B28.F$F9.7B2AB9A5B28.F10.5B3ABA3B4A7B27.F
10.4BAB2ABABABABA8B27.F10.6B2A3BABAB2A7B27.F10.6B2A2B6A8B27.F$F10.6BA
2B4A11B27.F11.8BA3B4A8B26.F11.5BA6B2ABA8B26.F11.4BABA5B2A10B26.F11.9B
2ABA2BA8B26.F$F11.7B2ABAB5A7B26.F12.7BABAB3A10B25.F12.11BABA10B25.F
12.8B2AB3A10B25.F12.8B2AB3A10B25.F$F12.8B2A2BA11B25.F13.7B2A3BA11B24.
F13.6B4AB3A10B24.F13.7B3A3BA10B24.F13.7B3A14B24.F$F13.7B2AB3A11B24.F
14.6B4ABA12B23.F14.6BA2B4A11B23.F14.5B2A2BA2BA11B23.F14.5B2A6BA10B23.
F$F14.7B5A12B23.F15.6B5A13B22.F15.6BAB3A13B22.F15.5BA2BA3BA11B22.F15.
4BABABAB4A10B22.F$F15.5B2A6B2A9B22.F16.5BA3B2AB2A10B21.F16.5BA3B2AB2A
10B21.F16.6B3ABAB2A10B21.F16.7B3A2B3A9B21.F$F16.7BA2B4A10B21.F17.5BA
3B4A11B20.F17.7B6A11B20.F17.7BA3B3A10B20.F17.7BA3B2A11B20.F$F17.6B4A
2B2A10B20.F18.6B3A2B3A10B19.F18.7B2ABABA11B19.F18.7BA2BA13B19.F18.6BA
BABA13B19.F$F18.7BA3B3A10B19.F19.6BA2B3A12B18.F19.6BAB2A14B18.F19.6BA
B2A14B18.F19.8B3A13B18.F$F19.7BA2BA13B18.F20.5B2A2B3A12B17.F20.6BABA
2BA12B17.F20.6B3A15B17.F20.6BAB2A2BA11B17.F$F20.6B5A13B17.F21.6B5A13B
16.F21.6B2ABA14B16.F21.6B2A2B3A11B16.F21.7B2A2BABA10B16.F$F21.9B2A2BA
10B16.F22.5BAB5A12B15.F22.6BA3B3A11B15.F22.5B2A4BABABA8B15.F22.5B2A3B
2A3BA8B15.F$F22.7B2AB2A12B15.F23.6B2AB3A2BA9B14.F23.6B3A2BAB3A8B14.F
23.6B3AB2AB4A7B14.F23.6B6AB5A6B14.F$F23.6BA3BA2B3ABA6B14.F24.5BA2B2A
2B3ABA7B13.F24.6BABABAB3AB2A6B13.F24.5B6ABAB3A7B13.F24.5BA4BA2BA2B2A
6B13.F$F24.6B13A5B13.F25.7B5AB4A7B12.F25.6B4A3B3A8B12.F25.6B4A3B4A7B
12.F25.6BA2B2AB5A7B12.F$F25.10BA2BA3BA6B12.F26.4BA3B5A11B11.F26.8BA4B
A10B11.F26.6BA8BA8B11.F26.5B2AB3A2B4A7B11.F$F26.5BABAB2AB3A9B11.F27.
8B5A3BA7B10.F27.11B3ABA8B10.F27.8B6ABA8B10.F27.9B5AB2A7B10.F$F27.7B5A
4B2A6B10.F28.6B3A2B2AB2A8B9.F28.7B3ABAB4A7B9.F28.8B2ABAB2ABA7B9.F28.
8BAB2ABA10B9.F$F28.9B3A2B2A8B9.F29.7BABA3B2A9B8.F29.7BABABAB3A8B8.F
29.7BABA5BA8B8.F29.7B3ABA12B8.F$F29.7B2A4B2A9B8.F30.7B2ABAB2A10B7.F
30.6B3A3B2A10B7.F30.7B2ABAB2A10B7.F30.8BA2BA5B2A5B7.F$F30.8B2AB2A11B
7.F31.5BAB2ABA7BA5B6.F31.7BAB2A3BA2BA6B6.F31.5B3A2BA4B4A5B6.F31.6B2A
2B2AB6A5B6.F$F31.6B3AB3A2BAB3A4B6.F32.6B4AB4AB2A6B5.F32.5B2A2B2AB2AB
3A6B5.F32.7B6AB4A6B5.F32.7BAB4ABA4BA4B5.F$F32.7B2AB2AB5A6B5.F33.6B2A
3B2A2B3A6B4.F33.10BA4B4A5B4.F33.5B4AB2A3B5A4B4.F33.6BABA2BA3B4A5B4.F$
F33.9B6A9B4.F34.5B2AB4AB2A2B2A5B3.F34.5B2A2B3ABA2B3A5B3.F34.7BAB2A4BA
2BA5B3.F34.4BA2B4A2BABA2BA5B3.F$F34.5BA2BA2BA2B6A4B3.F35.7BA4B6A6B2.F
35.5BAB2A5B4A6B2.F35.4BA2B2AB2AB2A2B2A5B2.F35.5BA4BAB3AB2A6B2.F$F35.
5BAB7AB2ABA5B2.F36.5BAB2AB3A4B2A5B.F36.6B2A2BA2BABABA6B.F36.5B5A2B2AB
A7B2.F36.6B4A2B4A7B2.F$F36.8B3ABAB4A6B.F37.7BAB4A3BA6B.F37.7BABA2B2A
3BA4B2.F37.6BA2BA2B3A6B3.F37.6B4A4BA6B3.F$F37.7BABA2B4A6B2.F38.6B3AB
3A8B2.F38.7B2AB2A2B2A4B3.F38.6B3AB6ABAB4.F38.6B5ABA2BA3B4.F$F38.5B2A
2BA4B2A4B3.F39.7BABA3B2A4B3.F39.6B2ABA3B2AB2A4.F39.6B9ABA5.F39.5B5A4B
3A5.F$F39.7BA2B2A2BA2BA4.F40.4B2A2B9A4.F40.6BAB3A2B2AB5.F40.6BA2B2A2B
2A6.F40.6B2A4B3A6.F$F40.5BA3B2A3BAB5.F41.6BAB4A3B5.F41.4B2A3B2A3B6.F
41.5BABAB3AB7.F41.4BA3BAB2AB7.F$F41.4BAB2A3B2AB6.F42.4BA2B6A6.F42.5BA
2BA2BA7.F42.4BA2B3AB8.F42.5B3A3B8.F$F42.9BABA7.F43.5B4ABA7.F43.6BA3B
8.F43.6BABA9.F43.5B3AB9.F$F43.6B2ABA8.F44.6BABA8.F44.4B3AB9.F44.5BAB
10.F44.4BABA10.F$F44.5BABA9.F45.4B2AB9.F45.6B10.F45.4BA11.F45.5B11.F$
F45.5BA10.F46.5B10.F46.4B11.F46.3B12.F46.3B12.F$F46.4B11.F47.3B11.F
47.2B12.F47.B13.F47.B13.F$F47.2B12.F48.B12.F61.F61.F61.F!
(3) c5k-1 recentering last completed mid_steps=13 in 4.17 GB:

Code: Select all

x = 131, y = 73, rule = B36/S3458History
F25.F25.F25.F.23B.F.23B.F$F.23B.F.23B.F.23B.F.23B.F.23B.F$F.23B.F.23B
.F.23B.F.6BA16B.F.5B3A2BA12B.F$F.7BA15B.F.8BA14B.F.5B3AB2A12B.F.5B3AB
3A11B.F.4B2ABAB2A12B.F$F.5B3AB2A12B.F.4B4AB3A11B.F.3B5AB3A11B.F.4B4AB
2A12B.F.3B5ABA13B.F$F.4B2A2BAB2A11B.F.3B6AB2A11B.F.3BA19B.F.3B2A5B2A
11B.F.2B3A2BAB2A12B.F$F.3B2AB5A12B.F.3B2AB7A10B.F.2B2ABA6BA10B.F.2B2A
2BA16B.F.2B2A6BABA10B.F$F.3BABA4B3A10B.F.3BABABAB3A11B.F.3BAB2A16B.F.
3BAB2A4B2A10B.F.2B2AB2AB3A12B.F$F.2B2A2B3AB2A11B.F.2B2A2B3AB2A11B.F.
2B2A2B3A2B2A10B.F.4B7A12B.F.2BABAB5A2BA9B.F$F.2B3AB2ABABA11B.F.2BAB2A
2B4A11B.F.8B2ABA11B.F.2B3ABAB2AB3A9B.F.3B2AB2A2B3A10B.F$F.3B5ABABABA
9B.F.7BABAB2A10B.F.3BABA2B2AB3A9B.F.8B2AB2A10B.F.3BA4B2ABA11B.F$F.3B
3AB7A9B.F.3BABABABAB3A9B.F.11B2A10B.F.8BA2B2A10B.F.7B2A2B2A10B.F$F.5B
ABAB2ABA10B.F.7BA15B.F.8BABABABA8B.F.7BABA2B2A9B.F.7BA4B3A8B.F$F.8B6A
9B.F.6BA4B4A8B.F.7B2A3B3A8B.F.7B2A3BAB2A7B.F.7B3A2B3A8B.F$F.7B4A2BABA
7B.F.7BABA3B2A8B.F.8BABA2B2A8B.F.8BA4B2A8B.F.8B2A13B.F$F.8B3A2B3A7B.F
.9BA3BAB2A6B.F.7B3A3BA9B.F.7B2A3B4A7B.F.9BA2BA2BA7B.F$F.8B4ABABA7B.F.
7B3AB2A10B.F.8B3A2B3A7B.F.10BA2B2A8B.F.7B3ABABA9B.F$F.8B3A12B.F.8BA5B
A8B.F.8B2ABABA9B.F.8BA2BABABA7B.F.9BA3BA9B.F$F.9B2A4BA7B.F.8B3A3BA8B.
F.9B3A2BA8B.F.9BABABA9B.F.9B8A6B.F$F.10B2AB2ABA6B.F.10B2AB4A6B.F.8B2A
BABA2BA6B.F.8B4AB3ABA5B.F.8B2ABAB2A8B.F$F.10B7A6B.F.9B8A6B.F.9BA2B2A
2B2A5B.F.8BAB4A2B2A5B.F.10B6AB2A4B.F$F.10BA5BABA4B.F.10B2A2BABA6B.F.
12BAB3A6B.F.12BAB4A5B.F.10B2AB3ABA5B.F$F.11B2A3BA6B.F.10B3A2BA7B.F.
10BABA2BA7B.F.11B3AB2A6B.F.11BA2B4A5B.F$F.11B4A3BA4B.F.11B4A8B.F.10B
5A8B.F.11B4A8B.F.11BA3BA7B.F$F.12BAB4A5B.F.12BAB4A5B.F.12BAB4A5B.F.
12B5A6B.F.11B2AB2A7B.F$F.11B2ABABA6B.F.12B3AB2A5B.F.12BA4BA5B.F.13BA
3BA5B.F.13BA9B.F$F.13B3A7B.F.13B4A6B.F.16BA6B.F.12BABABA6B.F.11B4AB2A
5B.F$F.13B2A2BA5B.F.12B3ABA6B.F.12B6A5B.F.11B6A6B.F.11B5A7B.F$F.12BA
2BA7B.F.11BA3BABA5B.F.10B2ABABA7B.F.9B4A10B.F.8B3A2BA9B.F$F.10BABA2B
3A5B.F.9B2AB3ABA6B.F.9B2AB6A5B.F.8B2AB3AB2A6B.F.8B2A2B4A7B.F$F.9B3ABA
9B.F.9B3ABA3BA5B.F.8B4AB2ABA6B.F.9B3A2BABA6B.F.9BABA2BABA6B.F$F.9B2AB
5A6B.F.9BA3B3A7B.F.12BABABA6B.F.9B3A2B4A5B.F.9B6A2BA5B.F$F.10B4ABA7B.
F.15BA7B.F.15B2A6B.F.12BA2B3A5B.F.9BA2BABABA6B.F$F.9B7ABA5B.F.10BA2B
3A2BA4B.F.11BAB3ABA5B.F.10B2AB6A4B.F.11B3A4B2A3B.F$F.12BA2B2AB2A3B.F.
11B3AB2ABA4B.F.10B4AB2AB2A3B.F.11B6AB2A3B.F.11B3AB2ABA4B.F$F.11B2ABA
2BA5B.F.11B2A4B2A4B.F.13BA3B3A3B.F.10BA2BA9B.F.11BAB2AB4A3B.F$F.11B2A
BAB4A3B.F.10B5AB2ABA3B.F.10BA2B2AB5A2B.F.13B2ABA2BA3B.F.11BABABA7B.F$
F.11B2AB2AB3A3B.F.11B2AB2ABAB2A2B.F.10B5AB2A5B.F.11B2A3BA6B.F.12BA2B
2A6B.F$F.14BABA2BA3B.F.14B3A6B.F.13B4ABA4B.F.11BAB5A5B.F.14B2ABA5B.F$
F.14BAB2A5B.F.16B2A5B.F.16B2A5B.F.15B3A5B.F.17BA5B.F$F.16BA6B.F.16BA
6B.F.15B2A6B.F.15B2A6B.F.15BA7B.F$F.15B2A6B.F.16B2A5B.F.16BA6B.F.16B
2A5B.F.11B2ABABA6B.F$F.17BA5B.F.12BAB2A7B.F.15BABA5B.F.10B4ABA7B.F.
10B4AB2A6B.F$F.11B3ABABA5B.F.10B3ABA2BA5B.F.9B7A7B.F.8B6AB3A5B.F.9B5A
B2A6B.F$F.10B2A2BAB3A4B.F.9B2ABAB4A5B.F.8B10A5B.F.8BA7BA6B.F.8B2A3BAB
3A5B.F$F.9B4AB3A6B.F.8B2A2BABABA6B.F.8B2A2BAB3A6B.F.7B3A2BA10B.F.7B3A
BABA3BA5B.F$F.8B4AB2AB3A4B.F.8BA2BABA2B2A5B.F.8BA2BAB2AB2A5B.F.7B2A2B
2AB4A5B.F.7B2A2B5A7B.F$F.8BABA2B3A7B.F.7B2AB3A2BA2BA4B.F.8BAB5A2BA5B.
F.10B5A8B.F.8B4A2BA2BA5B.F$F.8BAB6ABA5B.F.9B2ABA2BA7B.F.9BA2BA2BA7B.F
.9BA2B2ABABA5B.F.8B2A2BAB2A7B.F$F.9B4AB2ABA5B.F.9B4AB3A6B.F.8B2A2BAB
4A5B.F.8B2A2BAB3A6B.F.8B2A2BA2B2A6B.F$F.8B2A5B2A6B.F.9BAB3AB3A5B.F.9B
5A3BA5B.F.9B7A7B.F.7B6A10B.F$F.13BAB2A6B.F.7BABA2BA2B2A6B.F.8B2AB2A
10B.F.7B3AB2AB3A6B.F.6B2AB3A4BA6B.F$F.7B2A3B2A2B2A5B.F.7B3A4B3A6B.F.
6B2ABABA2B3A6B.F.6B4A2B4A7B.F.6BA2B2ABA10B.F$F.7B3A13B.F.7B3AB3A9B.F.
6B2ABA4B2A7B.F.6B2A4B5A6B.F.6B2AB2ABA2BA7B.F$F.6B2A2BABA10B.F.7BA2BA
12B.F.10B3A10B.F.10B3ABA8B.F.10BA3BA8B.F$F.9B3A2BA8B.F.10B4A9B.F.11B
3A9B.F.10B4A9B.F.10BA2BABA7B.F$F.11BA2B3A6B.F.12B4A7B.F.12BA2B2A6B.F.
11B2AB2A7B.F.11B2A10B.F$F.13BABA7B.F.13B4A6B.F.14BABA6B.F.11BA11B.F.
10B3A10B.F$F.12B3A8B.F.12B4A7B.F.11B3A9B.F.11B4ABA6B.F.10B3A10B.F$F.
11BAB2A8B.F.10B2A2B2A7B.F.9B4A2B2A6B.F.10BA12B.F.9BA3BA9B.F$F.10B5A8B
.F.9B7A7B.F.9BAB3ABA7B.F.8B2A2B3ABA6B.F.8B3A2B3A7B.F$F.9B2A3BA8B.F.9B
2A2B2A8B.F.9B2ABA10B.F.8B2A3BABA7B.F.8B3A2BA9B.F$F.9BABAB3A7B.F.12B4A
7B.F.9B7A7B.F.9BA2B2A9B.F.7B3AB2ABA8B.F$F.11BA2BABA6B.F.8BA2BA2BA8B.F
.7B2AB2A11B.F.7B5A11B.F.7BA3BABA9B.F$F.8B3AB2A9B.F.7B4AB4A7B.F.7B3A2B
AB2A7B.F.7B5ABA9B.F.7BA2BABA10B.F$F.7B2ABABABA8B.F.7B2A3B3A8B.F.6B2A
5BA9B.F.6B2AB5A9B.F.6BA4BABA9B.F$F.7BA5B2A8B.F.7BABAB5A7B.F.6B2A2B2A
2B2A7B.F.6B4A2B3A8B.F.5B2A3B2A2B2A7B.F$F.6B3A3BA2BA7B.F.6BABA2B2A2BA
7B.F.8BABA2BABA7B.F.6BAB3AB4A7B.F.6BA3B2ABABA7B.F$F.6B3A2B2AB2A7B.F.
6BAB5ABA8B.F.7B4A2B2A8B.F.7B8A8B.F.6B2A2BA12B.F$F.7BA2B4A9B.F.7B2AB6A
7B.F.7B2A2BA2B2A7B.F.7B2A2B2AB2A7B.F.7B2ABA3B2A7B.F$F.7B3ABA4BA6B.F.
8B7A8B.F.10B2A2B2A7B.F.9BAB2AB2A7B.F.6B3AB5A8B.F$F.9BABABABA7B.F.7B3A
3BA9B.F.7B2A3BABA8B.F.5B2A5BAB3A6B.F.13B3A7B.F$F.8B2A2B3A8B.F.8BABAB
5A6B.F25.F25.F25.F!
I am quite surprised by how much better (2) did over (1). It doesn't make sense to me because the jcol data structure (the biggest memory hog generally) in (1) is storing strips of 5 HDs and in (2) it's 6 HDs. Maybe it's something about the shape of the partial rows that lets it eliminate stuff at earlier depths or something.

Whether (3) did better than (1)/(2) is perhaps debatable. The partial was certainly longer, although the search is effectively thinner and I don't believe mid_steps=13 was nearly enough to cover the longest partial from (2).

If you do chase any of these further, please report back how it goes. My intuition about what is best is built of completed projects and I am interested in knowing what happens to update it.
LaundryPizza03 wrote: August 16th, 2026, 4:49 pm You might want to add a comprehensive usage documentation to LLSSS for usage that is too advanced for the tutorials.
I am just a guy who likes programming, with little talent, temperament, or inclination for anything other than writing code to satisfy my own itches and so I can assure you I want no such thing. I am especially allergic to the weight of documentation slowing down my development. You can thank Sokwe for writing the tutorial and convincing me it was worth having and maintaining. At this point I would say that, documentation-wise, I have been convinced to occasionally promote to tutorial status features which have been well-baked and are likely to be generally useful. The notion of anything "comprehensive" still seems inconceivable given the size, complexity, and development speed of the codebase. As for the sorts of features we've been discussing, I'm not so sure they're ready or in particular demand, but let's take another look...

Somewhere above there had been discussion about other possible ways of specifying geometries. Knightwise geometries (e.g. "c5k-1") are especially confusing and were placeholder names I chose because I was sick of writing out their full "raw" versions. In the end we didn't do anything as there was no real urgency and we had no great ideas.

Syntax is of course a mess, but a bigger problem perhaps is the AF2 issue. Many geometries will require recompiling with higher AF2 and many would benefit from recompiling with lower AF2. There is absolutely no way I can avoid needing the recompile due to how AF2 is baked into the type system and I don't think recompiling with a different value is ever going to be tutorial-worthy.

One iffy idea is we could only offer specific choices of U and W that enforce the sufficiency and appropriateness of AF2=3. Maybe something like "vv_orth:K:N:M" -> V=(K, N, M), U=X, W=Y and "vv_diag:K:N:M" -> V=(K, N, M), U=X-Y, W=X+Y? Exact syntax probably TBD. With these choices of UW, the CA neighborhood current generation always fits w/in a U neighborhood of 3 and I believe the future cell should as well so long as we require max(|K|, |N|) <= |M| and thus the generational staggering is by at most 1 X and 1 Y. With this, something like "vv_orth:-1:-2:5" might be more intuitive than "c5k-1" and you'd be able to use "vv_diag:-1:-2:5" instead of "c5k-1/W=X+Y/U=X-Y".
Post Reply