amling search program principles discussion / brain dump

For scripts to aid with computation or simulation in cellular automata.
amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » February 5th, 2024, 9:40 pm

Sokwe wrote:
February 5th, 2024, 7:48 pm
amling wrote:
February 5th, 2024, 3:51 pm
here is a perfect clearance one-sided [c/3] block eater...

Blinker was easy
These are great! Can you show/explain the setup for the block-eater case? I don't understand some details like how you enforce no cells in the first column of the ship until the interaction point but then allow cells in that column below the interaction point. There's a partial result for a c/3 p15 rake that I want to see if I can complete.
The initial engagement search was as follows:

Code: Select all

./rlife llsss-recentering 7c21-s2s G05.in --left-edge grid:G05.edge:zero --constraint grid:G05.cstr:pd:7 --ends pd_lite:7,pd_rotor_tree:7 22
This was with `rlife` built from `dedcfb0902bc` with no code changes (!). Inlining many of the above dynamic arguments and letting LLVM do its magic might speed things up but considering memory is more often the limit I haven't really tested to see how much better it could be.

`llsss-recentering` selects a recentering search. Constraints do work with fixed-board searches from a theoretical perspective but due to the way I've implemented the "grid" constraint it's hard to make dynamic user input make sense.

`7c21-s2s` selects U=(0, 0, 1), V=(-7, 0, 21), W=(0, 1, 0). The geometry is specified by name and for c/3 p15 you're probably gonna want `5c15-s2s` or `5c15-f2b`, depending on which direction you want to search.

`G05.in` specifies the starting rows. `--left-edge grid:G05.edge:zero` specifies the left edge is to be read from that file (and continued with zeros) and `--constraint grid:G05.cstr:pd:7` specifies extra constraints are to be read from that file and continued with a global 7-fold period division constraint. The three inputs files were written together with `G05.in` being just the first 3 rows of `G05.cstr` and `G05.edge` being basically just the left two columns:

`G05.cstr`:

Code: Select all

|       106543210uuuuuuuuuRRR |       106543210uuuuuuuuuRRR |       106543210uuuuuuuuuRRR |      106543210uuuuuuuuuRRR  |      106543210uuuuuuuuuRRR  |      106543210uuuuuuuuuRRR  |     106543210uuuuuuuuuRRR   |     106543210uuuuuuuuuRRR   |     106543210uuuuuuuuuRRR   |    106543210uuuuuuuuuRRR    |    106543210uuuuuuuuuRRR    |    106543210uuuuuuuuuRRR    |   106543210uuuuuuuuuRRR     |   106543210uuuuuuuuuRRR     |   106543210uuuuuuuuuRRR     |  106543210uuuuuuuuuRRR      |  106543210uuuuuuuuuRRR      |  106543210uuuuuuuuuRRR      | 106543210uuuuuuuuuRRR       | 106543210uuuuuuuuuRRR       | 106543210uuuuuuuuuRRR       |
|       ..................... |       ..................... |       ..................... |      .....................  |      .....................  |      .....................  |     .....................   |     .....................   |     .....................   |    .....................    |    .....................    |    .....................    |   .....................     |   .....................     |   .....................     |  .....................      |  .....................      |  .....................      | .....................       | .....................       | .....................       |
|       ..................... |       ..................... |       ..................... |      .....................  |      .....................  |      .....................  |     .....................   |     .....................   |     .....................   |    .....................    |    .....................    |    .....................    |   .....................     |   .....................     |   .....................     |  .....................      |  .....................      |  .....................      | .....................       | .....................       | .....................       |
|       ..................... |       ..................... |       ..................... |      .....................  |      .....................  |      .....................  |     .....................   |     .....................   |     .....................   |    .....................    |    .....................    |    .....................    |   .....................     |   .....................     |   .....................     |  .....................      |  .....................      |  .....................      | .....................       | .............W.......       | ............WWW......       |
|       *.....**............. |       *.....**............. |       *.....**............. |      **.....**............  |      **.....**............  |      **.....**............  |     .**.....**...........   |     .**.....**...........   |     .**.....**...........   |    ..**.....**..........    |    ..**.....**..........    |    ..**.....**..........    |   ...**.....**.........     |   ...**.....**.........     |   ...**.....**.........     |  ....**.....**........      |  ....**.....**........      |  ....**.....**........      | .....**.....WWW......       | .....**....WWWW......       | .....**....WWWWW.....       |
|       *.....**............. |       *.....**............. |       *.....**............. |      **.....**............  |      **.....**............  |      **.....**............  |     .**.....**...........   |     .**.....**...........   |     .**.....**...........   |    ..**.....**..........    |    ..**.....**..........    |    ..**.....**..........    |   ...**.....**.........     |   ...**.....**.........     |   ...**.....**.........     |  ....**.....**........      |  ....**.....**........      |  ....**.....WWW.......      | .....**....WWWW......       | .....**....WWWWW.....       | .....**...WWWWWWW....       |
|       ..................... |       ..................... |       ..................... |      .....................  |      .....................  |      .....................  |     .....................   |     .....................   |     .....................   |    .....................    |    .....................    |    .....................    |   .....................     |   .....................     |   .....................     |  .....................      |  ............W........      |  ...........WWW.......      | ...........WWWWW.....       | ..........WWWWWWW....       | ..........WWWWWWWW...       |
|       .............77777777 |       .............77777777 |       .............77777777 |      .............77777777  |      .............77777777  |      .............77777777  |     .............77777777   |     .............77777777   |     .............77777777   |    .............77777777    |    .............77777777    |    .............77777777    |   .............77777777     |   .............77777777     |   .............77777777     |  .............77777777      |  .............77777777      |  ...........WWW7777777      | ...........WWWWW77777       | ..........WWWWWWW7777       | .........WWWWWWWWW777       |
|       777777777777777777777 |       777777777777777777777 |       777777777777777777777 |      777777777777777777777  |      777777777777777777777  |      777777777777777777777  |     777777777777777777777   |     777777777777777777777   |     777777777777777777777   |    777777777777777777777    |    777777777777777777777    |    777777777777777777777    |   777777777777777777777     |   777777777777777777777     |   777777777777777777777     |  777777777777777777777      |  777777777777777777777      |  777777777777777777777      | 77777777777WWWWW77777       | 7777777777WWWWWWW7777       | 777777777WWWWWWWWW777       |
|       777777777777777777777 |       777777777777777777777 |       777777777777777777777 |      777777777777777777777  |      777777777777777777777  |      777777777777777777777  |     777777777777777777777   |     777777777777777777777   |     777777777777777777777   |    777777777777777777777    |    777777777777777777777    |    777777777777777777777    |   777777777777777777777     |   777777777777777777777     |   777777777777777777777     |  777777777777777777777      |  777777777777777777777      |  777777777777777777777      | 777777777777777777777       | 7777777777WWWWWWW7777       | 777777777WWWWWWWWW777       |
|       777777777777777777777 |       777777777777777777777 |       777777777777777777777 |      777777777777777777777  |      777777777777777777777  |      777777777777777777777  |     777777777777777777777   |     777777777777777777777   |     777777777777777777777   |    777777777777777777777    |    777777777777777777777    |    777777777777777777777    |   777777777777777777777     |   777777777777777777777     |   777777777777777777777     |  777777777777777777777      |  777777777777777777777      |  777777777777777777777      | 777777777777777777777       | 777777777777777777777       | 777777777WWWWWWWWW777       |
|       777777777777777777777 |       777777777777777777777 |       777777777777777777777 |      777777777777777777777  |      777777777777777777777  |      777777777777777777777  |     777777777777777777777   |     777777777777777777777   |     777777777777777777777   |    777777777777777777777    |    777777777777777777777    |    777777777777777777777    |   777777777777777777777     |   777777777777777777777     |   777777777777777777777     |  777777777777777777777      |  777777777777777777777      |  777777777777777777777      | 777777777777777777777       | 777777777777777777777       | 777777777777777777777       |
`G05.in`:

Code: Select all

|       106543210uuuuuuuuuRRR |       106543210uuuuuuuuuRRR |       106543210uuuuuuuuuRRR |      106543210uuuuuuuuuRRR  |      106543210uuuuuuuuuRRR  |      106543210uuuuuuuuuRRR  |     106543210uuuuuuuuuRRR   |     106543210uuuuuuuuuRRR   |     106543210uuuuuuuuuRRR   |    106543210uuuuuuuuuRRR    |    106543210uuuuuuuuuRRR    |    106543210uuuuuuuuuRRR    |   106543210uuuuuuuuuRRR     |   106543210uuuuuuuuuRRR     |   106543210uuuuuuuuuRRR     |  106543210uuuuuuuuuRRR      |  106543210uuuuuuuuuRRR      |  106543210uuuuuuuuuRRR      | 106543210uuuuuuuuuRRR       | 106543210uuuuuuuuuRRR       | 106543210uuuuuuuuuRRR       |
|       ..................... |       ..................... |       ..................... |      .....................  |      .....................  |      .....................  |     .....................   |     .....................   |     .....................   |    .....................    |    .....................    |    .....................    |   .....................     |   .....................     |   .....................     |  .....................      |  .....................      |  .....................      | .....................       | .....................       | .....................       |
|       ..................... |       ..................... |       ..................... |      .....................  |      .....................  |      .....................  |     .....................   |     .....................   |     .....................   |    .....................    |    .....................    |    .....................    |   .....................     |   .....................     |   .....................     |  .....................      |  .....................      |  .....................      | .....................       | .....................       | .....................       |
`G05.edge`:

Code: Select all

|       .. |       .. |       .. |      ..  |      ..  |      ..  |     ..   |     ..   |     ..   |    ..    |    ..    |    ..    |   ..     |   ..     |   ..     |  ..      |  ..      |  ..      | ..       | ..       | ..       |
|       .. |       .. |       .. |      ..  |      ..  |      ..  |     ..   |     ..   |     ..   |    ..    |    ..    |    ..    |   ..     |   ..     |   ..     |  ..      |  ..      |  ..      | ..       | ..       | ..       |
|       .. |       .. |       .. |      ..  |      ..  |      ..  |     ..   |     ..   |     ..   |    ..    |    ..    |    ..    |   ..     |   ..     |   ..     |  ..      |  ..      |  ..      | ..       | ..       | ..       |
|       *. |       *. |       *. |      **  |      **  |      **  |     .*   |     .*   |     .*   |    ..    |    ..    |    ..    |   ..     |   ..     |   ..     |  ..      |  ..      |  ..      | ..       | ..       | ..       |
|       *. |       *. |       *. |      **  |      **  |      **  |     .*   |     .*   |     .*   |    ..    |    ..    |    ..    |   ..     |   ..     |   ..     |  ..      |  ..      |  ..      | ..       | ..       | ..       |
|       .. |       .. |       .. |      ..  |      ..  |      ..  |     ..   |     ..   |     ..   |    ..    |    ..    |    ..    |   ..     |   ..     |   ..     |  ..      |  ..      |  ..      | ..       | ..       | ..       |
|       .. |       .. |       .. |      ..  |      ..  |      ..  |     ..   |     ..   |     ..   |    ..    |    ..    |    ..    |   ..     |   ..     |   ..     |  ..      |  ..      |  ..      | ..       | ..       | ..       |
|       .. |       .. |       .. |      ..  |      ..  |      ..  |     ..   |     ..   |     ..   |    ..    |    ..    |    ..    |   ..     |   ..     |   ..     |  ..      |  ..      |  ..      | ..       | ..       | ..       |
There are several horrible surprises here. One is the constraint file's relative X/U positions don't matter, it's just applied per root label. Note I have carefully made all constraints determined strictly by their root label so they apply correctly. Another is the edge file doesn't get root labels (since there is nothing it would do with them). Hopefully you're going to be able to set up to use zero edges so you can just do the simpler default (`--right-edge zero` defaulted above) and the easier grids in the style of the `R` columns. `W` and `7` are wildcards where `W` is any cell value and `7` means 7-fold period division approximately (it actually means match the previous 7-marked cell in this 7-fold PD cohort, but if you're using the markers uniformly (as this above constraint actually is not) it will just mean 7-fold period division). The binary as compiled will have a `5` to mean 5-fold period division for your search. That first row with 7's in it contains the answer to the mystery of how it was allowed to place cells after (on the right) but not before (on the left).

`--ends pd_lite:7,pd_rotor_tree:7` configures the PD lite and PD rotor tree ends for 7-fold division. PD lite is easier to understand: after each W row just output the deepest result that has successfully period divided (if there are any, the minimum depth is the W overlap size, generally 2 Y rows). This is probably what you want, especially if you think you're going to get lucky quickly and be able to run off and complete your result in normal c/3 searches. PD rotor tree outputs more complicated data about the space of would-be PD results and can be used to constrain a second (presumably wider) search efficiently to mostly just those same results. If you don't get lucky with PD lite's results, but it has some we can revisit trying to do the entire PD rotor tree pipeline.

`22` specifies the number of steps in expansion. This corresponds to something like 21 cell wide windows but these things are complicated and very much not local. I had already run 21 with no results and 22 had good enough results that I didn't need to go on. If you're getting no results quickly you might try `XX` for unlimited steps to possibly show your constraints are unsolvable (and presumably then go relax them somehow).

This is of course all insanely complicated and a wacky tower of weird tools built on each other with a deep, deep assumption of the previous tool being well-understood. If, at the risk of getting scooped (!), you want to provide more details of your search I can try to help sketch inputs. We could also work through running some simplification of it to build understanding without revealing it if you'd rather.

Sokwe
Moderator
Posts: 2735
Joined: July 9th, 2009, 2:44 pm

Re: amling search program principles discussion / brain dump

Post by Sokwe » February 5th, 2024, 9:57 pm

Thanks! I'll study this and try something in a bit.
amling wrote:
February 5th, 2024, 9:40 pm
If, at the risk of getting scooped (!), you want to provide more details of your search I can try to help sketch inputs. We could also work through running some simplification of it to build understanding without revealing it if you'd rather.
I have too many discoveries to my name to care about getting scooped. I mostly want to practice with LLSSS so I can use it effectively in the future, and this seemed like a viable test case (although I'm not sure it can actually be solved).

Here is the partial result at p15, which is essentially shown in the moving objects collection at p30 (velocity-c3/failed-rake-c3-p30.rle):

Code: Select all

x = 63, y = 34, rule = B3/S23
34b2o11b2obo$32b2o2bob2o4b2ob2ob2o$14bo5bob2o5b2o7b2o4b2obobo2bo$6b2o
4b4o3b2ob2obob2obo6b2obo2bob2o$5b2o4b2o3bobo2b2o3bo5bo2b2o3bo2bo4b2o$
5b2ob2o4bobob2o4bobob2o2bo2bo4bobo2bo3b3o2b3o$2bob2o2bobob3obo4b4obo2b
2obob2o3bo2bob3obo8bo$b3o4bo4b3o5b2o5bo3bobo2b2ob2ob6o3bo4b2o$o3bob5ob
o2b7o6b3o6b3o7b2obo2b2o2b2o$bo6bo2bo5b4o6b3o4b5obo2b3o10b3obo$28b2o4b
2o4bo2bobo14b2o$40bo5b2o10b2o2bo$44bo2b2o8b2o$42b2o4b2o2b2o2b2o$48b2o
2b2o2b2o$2b2ob3o13b2ob2o6b3o16bo2bo$2b2o4b2ob2o6b2obo3bo3b2obo13bo2bo
4bo2bo$bo2bobo4b2o4bo4bo4bobo3bob2o9b6o2b6o$8b2obobo2b3o3b3o3b5o2bobo
8b2ob8ob2o$12b2o4bo3bo2bo2b2o3bobob3o$16bo2bo3b3o4bo2bobobobob3o$12bo
3bo2bo3bobo3b3obobobo6bo7b2o5bo$12bo3bo4bobobobo3bobobobob2ob2o8b2o5bo
$14b2o15bobobobo7b2o3bo4bo2b3o$34b2ob2o2b2o2b2o3bo4bo2b3o$35bob2o2bob
2o5bo4bo2b3o$28bo4b3o2b2obob3o2bo3b2o5bo$17bo8b2obo3b3o9bobo11bo$13b3o
b3o6b2obobo3bo2bobo2bo$12bo6b2o4bo2b2o3bo10bo$13b2o3bo2bo8bo12bo$23b3o
2bobo2b2o$23bob4ob4obo$21bo2bobobobobobo!
A simple c/3 dot spark as shown on the right side of the pattern doesn't seem to work at period-3. I was wondering if some more complex interaction could yield the same result. Feel free to try this yourself.

Edit: I got the example setup running. I'll take a look at the output later and see if I can figure out how to use it effectively. Then I'll try some basic modifications before venturing to the p15 rake. Please let me know if you think I've gotten too ambitious for my first experiment, and of course feel free to try solving it yourself.
-Matthias Merzenich

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » February 6th, 2024, 6:08 am

Sokwe wrote:
February 5th, 2024, 9:57 pm
Here is the partial result at p15, which is essentially shown in the moving objects collection at p30 (velocity-c3/failed-rake-c3-p30.rle):

Code: Select all

x = 63, y = 34, rule = B3/S23
34b2o11b2obo$32b2o2bob2o4b2ob2ob2o$14bo5bob2o5b2o7b2o4b2obobo2bo$6b2o
4b4o3b2ob2obob2obo6b2obo2bob2o$5b2o4b2o3bobo2b2o3bo5bo2b2o3bo2bo4b2o$
5b2ob2o4bobob2o4bobob2o2bo2bo4bobo2bo3b3o2b3o$2bob2o2bobob3obo4b4obo2b
2obob2o3bo2bob3obo8bo$b3o4bo4b3o5b2o5bo3bobo2b2ob2ob6o3bo4b2o$o3bob5ob
o2b7o6b3o6b3o7b2obo2b2o2b2o$bo6bo2bo5b4o6b3o4b5obo2b3o10b3obo$28b2o4b
2o4bo2bobo14b2o$40bo5b2o10b2o2bo$44bo2b2o8b2o$42b2o4b2o2b2o2b2o$48b2o
2b2o2b2o$2b2ob3o13b2ob2o6b3o16bo2bo$2b2o4b2ob2o6b2obo3bo3b2obo13bo2bo
4bo2bo$bo2bobo4b2o4bo4bo4bobo3bob2o9b6o2b6o$8b2obobo2b3o3b3o3b5o2bobo
8b2ob8ob2o$12b2o4bo3bo2bo2b2o3bobob3o$16bo2bo3b3o4bo2bobobobob3o$12bo
3bo2bo3bobo3b3obobobo6bo7b2o5bo$12bo3bo4bobobobo3bobobobob2ob2o8b2o5bo
$14b2o15bobobobo7b2o3bo4bo2b3o$34b2ob2o2b2o2b2o3bo4bo2b3o$35bob2o2bob
2o5bo4bo2b3o$28bo4b3o2b2obob3o2bo3b2o5bo$17bo8b2obo3b3o9bobo11bo$13b3o
b3o6b2obobo3bo2bobo2bo$12bo6b2o4bo2b2o3bo10bo$13b2o3bo2bo8bo12bo$23b3o
2bobo2b2o$23bob4ob4obo$21bo2bobobobobobo!
A simple c/3 dot spark as shown on the right side of the pattern doesn't seem to work at period-3. I was wondering if some more complex interaction could yield the same result. Feel free to try this yourself.
Boy, you sure picked a doozy, both in terms of the difficulty of the problem and of the mess of LLSSS features to try to swallow at once.

My first line of attack on this is similar to the edge repair ships, even if the sort of result would be very different. Here is a sample constraint file:

Code: Select all

|     LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR |     LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR |     LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR |    LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR  |    LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR  |    LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR  |   LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR   |   LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR   |   LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR   |  LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR    |  LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR    |  LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR    | LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR     | LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR     | LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR     |
|     .....*.**.......**..**................*......... |     .....***...*...*.**...................**........ |     ...*.*.*.*.........*..................**........ |    .....*.**.......**..**.................***......  |    .....***...*...*.**.....................**......  |    ...*.*.*.*.........*...................*.*......  |   .....*.**.......**..**....................**....   |   .....***...*...*.**........................*....   |   ...*.*.*.*.........*.....................*.*....   |  .....*.**.......**..**......................*...    |  .....***...*...*.**........**..............*....    |  ...*.*.*.*.........*.......**...............*...    | .....*.**.......**..**..........................     | .....***...*...*.**.............................     | ...*.*.*.*.........*............................     |
|     ...**...*..*.......***................**........ |     ...***..**.......**..................*.*........ |     ...*...****........*....*..............**....... |    ...**...*..*.......***...................*......  |    ...***..**.......**...*................*.*......  |    ...*...****........*.....................*......  |   ...**...*..*.......***...................*......   |   ...***..**.......**...*...................*.....   |   ...*...****........*......*.....................   |  ...**...*..*.......***....***...................    |  ...***..**.......**...*....*....................    |  ...*...****........*...............*............    | ...**...*..*.......***.....*........**..........     | ...***..**.......**...*....*........**..........     | ...*...****........*........*.......***.........     |
|     ....*...*.........*.**.**............*.*........ |     ...***...*.......**....***.............*........ |     ...*.*..**......*..*....*.............*......... |    ....*...*.........*.**...**.............*.......  |    ...***...*.......**...*..**.....................  |    ...*.*..**......*..*..*..**.....................  |   ....*...*.........*.**....**....................   |   ...***...*.......**...*..***.....*..............   |   ...*.*..**......*..*..*..***.....**.............   |  ....*...*.........*.**............**............    |  ...***...*.......**...*..****.....***...........    |  ...*.*..**......*..*..*.**.**......**...........    | ....*...*.........*.**.....***.....*.*..........     | ...***...*.......**...*....*.*.......**.........     | ...*.*..**......*..*..**...WWW........*.........     |
|     .....*....*.....**...*..**...................... |     ................*.*..*.......................... |     ....*.....*.....*.**..*.*....................... |    .....*....*.....**...*...**....*................  |    ................*.*..**.*..*...**...............  |    ....*.....*.....*.**....*..*...**...............  |   .....*....*.....**...*..**..*...***.............   |   ................*.*..**.*...*....**.............   |   ....*.....*.....*.**....*.*.*...*.*.............   |  .....*....*.....**...*..**...*.....**...........    |  ................*.*..**.**..........*...........    |  ....*.....*.....*.**.......*......*.*...........    | .....*....*.....**...*......*........*..........     | ................*.*..**...WWWW......*...........     | ....*.....*.....*.**...*.WWWWWW......*..........     |
|     ...........*....**...*..**...**................. |     ..........**....*.*..*.......**................. |     ................*.**..*.*....***................ |    ...........*....**...*...**....**...............  |    ..........**....*.*..**.*..*..*.*...............  |    ................*.**....*..*....**..............  |   ...........*....**...*..**..*.....*.............   |   ..........**....*.*..**.*...*...*.*.............   |   ................*.**....*.*.*.....*.............   |  ...........*....**...*..**...*....*.............    |  ..........**....*.*..**.**.........*............    |  ................*.**.......*....................    | ...........*....**...*....WWWW..................     | ..........**....*.*..**..WWWWWW.................     | ................*.**...*.WWWWWWW................     |
|     ........*..*......*.**.**...*.*................. |     .................**....***....**................ |     ........***.....*..*....*......*................ |    ........*..*......*.**...**...*.*...............  |    .................**...*..**.....*...............  |    ........***.....*..*..*..**....*................  |   ........*..*......*.**....**.....*..............   |   .................**...*..***....................   |   ........***.....*..*..*..***....................   |  ........*..*......*.**..........................    |  .................**...*..****...................    |  ........***.....*..*..*.*WWWW...................    | ........*..*......*.**...WWWWWW.................     | .................**...*..WWWWWWW................     | ........***.....*..*..*WWWWWWWWWW...............     |
|     ........*..........***........*................. |     .......***.......**..........*.................. |     .......***.........*....*.....*................. |    ........*..........***..........................  |    .......***.......**...*.........................  |    .......***.........*............................  |   ........*..........***..........................   |   .......***.......**...*.........................   |   .......***.........*......*.....................   |  ........*..........***....***...................    |  .......***.......**...*...WWW...................    |  .......***.........*.....WWWWW..................    | ........*..........***...WWWWWWW................     | .......***.......**...*.WWWWWWWWW...............     | .......***.........*...WWWWWWWWWWW..............     |
|     ........*...*...**..**.......................... |     ........*.*.*..*.**............................. |     .......*..*........*............................ |    ........*...*...**..**..........................  |    ........*.*.*..*.**.............................  |    .......*..*........*............................  |   ........*...*...**..**..........................   |   ........*.*.*..*.**.............................   |   .......*..*........*............................   |  ........*...*...**..**....WWW...................    |  ........*.*.*..*.**......WWWWW..................    |  .......*..*........*.....WWWWWW.................    | ........*...*...**..**...WWWWWWWW...............     | ........*.*.*..*.**.....WWWWWWWWWW..............     | .......*..*........*...WWWWWWWWWWWW.............     |
|     555555555555555555555555555555555555555555555555 |     555555555555555555555555555555555555555555555555 |     555555555555555555555555555555555555555555555555 |    555555555555555555555555555555555555555555555555  |    555555555555555555555555555555555555555555555555  |    555555555555555555555555555555555555555555555555  |   555555555555555555555555555555555555555555555555   |   555555555555555555555555555555555555555555555555   |   555555555555555555555555555555555555555555555555   |  555555555555555555555555555555555555555555555555    |  5555555555555555555555555WWWWW555555555555555555    |  555555555555555555555555WWWWWWW55555555555555555    | 5555555555555555555555555WWWWWWWW555555555555555     | 555555555555555555555555WWWWWWWWWW55555555555555     | 55555555555555555555555WWWWWWWWWWWW5555555555555     |
|     555555555555555555555555555555555555555555555555 |     555555555555555555555555555555555555555555555555 |     555555555555555555555555555555555555555555555555 |    555555555555555555555555555555555555555555555555  |    555555555555555555555555555555555555555555555555  |    555555555555555555555555555555555555555555555555  |   555555555555555555555555555555555555555555555555   |   555555555555555555555555555555555555555555555555   |   555555555555555555555555555555555555555555555555   |  555555555555555555555555555555555555555555555555    |  555555555555555555555555555555555555555555555555    |  555555555555555555555555WWWWWWW55555555555555555    | 5555555555555555555555555WWWWWWWW555555555555555     | 555555555555555555555555WWWWWWWWWW55555555555555     | 555555555555555555555555WWWWWWWWWWW5555555555555     |
|     555555555555555555555555555555555555555555555555 |     555555555555555555555555555555555555555555555555 |     555555555555555555555555555555555555555555555555 |    555555555555555555555555555555555555555555555555  |    555555555555555555555555555555555555555555555555  |    555555555555555555555555555555555555555555555555  |   555555555555555555555555555555555555555555555555   |   555555555555555555555555555555555555555555555555   |   555555555555555555555555555555555555555555555555   |  555555555555555555555555555555555555555555555555    |  555555555555555555555555555555555555555555555555    |  555555555555555555555555555555555555555555555555    | 5555555555555555555555555WWWWWWWW555555555555555     | 5555555555555555555555555WWWWWWWWW55555555555555     | 555555555555555555555555WWWWWWWWWWW5555555555555     |
|     555555555555555555555555555555555555555555555555 |     555555555555555555555555555555555555555555555555 |     555555555555555555555555555555555555555555555555 |    555555555555555555555555555555555555555555555555  |    555555555555555555555555555555555555555555555555  |    555555555555555555555555555555555555555555555555  |   555555555555555555555555555555555555555555555555   |   555555555555555555555555555555555555555555555555   |   555555555555555555555555555555555555555555555555   |  555555555555555555555555555555555555555555555555    |  555555555555555555555555555555555555555555555555    |  555555555555555555555555555555555555555555555555    | 555555555555555555555555555555555555555555555555     | 5555555555555555555555555WWWWWWWWW55555555555555     | 555555555555555555555555WWWWWWWWWWW5555555555555     |
|     555555555555555555555555555555555555555555555555 |     555555555555555555555555555555555555555555555555 |     555555555555555555555555555555555555555555555555 |    555555555555555555555555555555555555555555555555  |    555555555555555555555555555555555555555555555555  |    555555555555555555555555555555555555555555555555  |   555555555555555555555555555555555555555555555555   |   555555555555555555555555555555555555555555555555   |   555555555555555555555555555555555555555555555555   |  555555555555555555555555555555555555555555555555    |  555555555555555555555555555555555555555555555555    |  555555555555555555555555555555555555555555555555    | 555555555555555555555555555555555555555555555555     | 555555555555555555555555555555555555555555555555     | 5555555555555555555555555WWWWWWWWWW5555555555555     |
|     555555555555555555555555555555555555555555555555 |     555555555555555555555555555555555555555555555555 |     555555555555555555555555555555555555555555555555 |    555555555555555555555555555555555555555555555555  |    555555555555555555555555555555555555555555555555  |    555555555555555555555555555555555555555555555555  |   555555555555555555555555555555555555555555555555   |   555555555555555555555555555555555555555555555555   |   555555555555555555555555555555555555555555555555   |  555555555555555555555555555555555555555555555555    |  555555555555555555555555555555555555555555555555    |  555555555555555555555555555555555555555555555555    | 555555555555555555555555555555555555555555555555     | 555555555555555555555555555555555555555555555555     | 555555555555555555555555555555555555555555555555     |
I've had the bottom 5-fold PD wildcards just swallow entirely the shoulder of the p15 puffer part since I thought it likely it would benefit from being able to change supporting cells close to the smoke.

Gens 1-9 are just 5-fold PD wildcards. In gen 10 there is the first interaction between the 5's at the bottom and the smoke where I place the first W wildcards. These then expand at about the speed of light in gens 11-15 and when it wraps around to gen 1 it has to have turned into the expected glider out.

This constraint file is unsolvable at any width although it does have a depth 2 (as in 2 Y rows) 5-fold PD hit. These 2 rows of c/3 are themselves of course then unsolvable, but they give hope that there might be something here:

Code: Select all

x = 796, y = 11, rule = LifeHistory
F5.4BAB2A7B2A2B2A16BA8B.F5.4B3A3BA3BAB2A19B2A7B.F5.2BABABABA9BA18B2A
7B.F4.4BAB2A7B2A2B2A17B3A5B2.F4.4B3A3BA3BAB2A21B2A5B2.F4.2BABABABA9BA
19BABA5B2.F3.4BAB2A7B2A2B2A20B2A3B3.F3.4B3A3BA3BAB2A24BA3B3.F3.2BABAB
ABA9BA21BABA3B3.F2.4BAB2A7B2A2B2A22BA2B4.F2.4B3A3BA3BAB2A8B2A14BA3B4.
F2.2BABABABA9BA7B2A15BA2B4.F.4BAB2A7B2A2B2A25B5.F.4B3A3BA3BAB2A28B5.F
.2BABABABA9BA27B5.F$F5.2B2A3BA2BA7B3A16B2A7B.F5.2B3A2B2A7B2A18BABA7B.
F5.2BA3B4A8BA4BA14B2A6B.F4.2B2A3BA2BA7B3A19BA5B2.F4.2B3A2B2A7B2A3BA
16BABA5B2.F4.2BA3B4A8BA21BA5B2.F3.2B2A3BA2BA7B3A19BA5B3.F3.2B3A2B2A7B
2A3BA19BA4B3.F3.2BA3B4A8BA6BA20B3.F2.2B2A3BA2BA7B3A4B3A18B4.F2.2B3A2B
2A7B2A3BA4BA19B4.F2.2BA3B4A8BA15BA11B4.F.2B2A3BA2BA7B3A5BA8B2A9B5.F.
2B3A2B2A7B2A3BA4BA8B2A9B5.F.2BA3B4A8BA8BA7B3A8B5.F$F5.3BA3BA9BAB2AB2A
12BABA7B.F5.2B3A3BA7B2A4B3A13BA7B.F5.2BABA2B2A6BA2BA4BA13BA8B.F4.3BA
3BA9BAB2A3B2A13BA6B2.F4.2B3A3BA7B2A3BA2B2A20B2.F4.2BABA2B2A6BA2BA2BA
2B2A20B2.F3.3BA3BA9BAB2A4B2A19B3.F3.2B3A3BA7B2A3BA2B3A5BA13B3.F3.2BAB
A2B2A6BA2BA2BA2B3A5B2A12B3.F2.3BA3BA9BAB2A12B2A11B4.F2.2B3A3BA7B2A3BA
2B4A5B3A10B4.F2.2BABA2B2A6BA2BA2BAB2AB2A6B2A10B4.F.3BA3BA9BAB2A5B3A5B
ABA9B5.F.2B3A3BA7B2A3BA4BABA7B2A8B5.F.2BABA2B2A6BA2BA2B2A4BA9BA8B5.F$
F5.4BA4BA5B2A3BA2B2A21B.F5.15BABA2BA25B.F5.3BA5BA5BAB2A2BABA22B.F4.4B
A4BA5B2A3BA3B2A4BA15B2.F4.15BABA2B2ABA2BA3B2A14B2.F4.3BA5BA5BAB2A4BA
2BA3B2A14B2.F3.4BA4BA5B2A3BA2B2A2BA3B3A12B3.F3.15BABA2B2ABA3BA4B2A12B
3.F3.3BA5BA5BAB2A4BABABA3BABA12B3.F2.4BA4BA5B2A3BA2B2A3BA5B2A10B4.F2.
15BABA2B2AB2A10BA10B4.F2.3BA5BA5BAB2A7BA6BABA10B4.F.4BA4BA5B2A3BA6BA
8BA9B5.F.15BABA2B2A13BA10B5.F.3BA5BA5BAB2A3BA13BA9B5.F$F5.10BA4B2A3BA
2B2A3B2A16B.F5.9B2A4BABA2BA7B2A16B.F5.15BAB2A2BABA4B3A15B.F4.10BA4B2A
3BA3B2A4B2A14B2.F4.9B2A4BABA2B2ABA2BA2BABA14B2.F4.15BAB2A4BA2BA4B2A
13B2.F3.10BA4B2A3BA2B2A2BA5BA12B3.F3.9B2A4BABA2B2ABA3BA3BABA12B3.F3.
15BAB2A4BABABA5BA12B3.F2.10BA4B2A3BA2B2A3BA4BA12B4.F2.9B2A4BABA2B2AB
2A9BA11B4.F2.15BAB2A7BA19B4.F.10BA4B2A3BA6BA18B5.F.9B2A4BABA2B2A24B5.
F.15BAB2A3BA4BA18B5.F$F5.7BA2BA6BAB2AB2A3BABA16B.F5.16B2A4B3A4B2A15B.
F5.7B3A5BA2BA4BA6BA15B.F4.7BA2BA6BAB2A3B2A3BABA14B2.F4.16B2A3BA2B2A5B
A14B2.F4.7B3A5BA2BA2BA2B2A4BA15B2.F3.7BA2BA6BAB2A4B2A5BA13B3.F3.16B2A
3BA2B3A19B3.F3.7B3A5BA2BA2BA2B3A19B3.F2.7BA2BA6BAB2A25B4.F2.16B2A3BA
2B4A18B4.F2.7B3A5BA2BA2BAB2AB2A18B4.F.7BA2BA6BAB2A5B3A17B5.F.16B2A3BA
4B3A17B5.F.7B3A5BA2BA2B2A4B2A17B5.F$F5.7BA10B3A8BA16B.F5.6B3A7B2A10BA
17B.F5.6B3A9BA4BA5BA16B.F4.7BA10B3A25B2.F4.6B3A7B2A3BA24B2.F4.6B3A9BA
27B2.F3.7BA10B3A25B3.F3.6B3A7B2A3BA24B3.F3.6B3A9BA6BA20B3.F2.7BA10B3A
4B3A18B4.F2.6B3A7B2A3BA4BA19B4.F2.6B3A9BA27B4.F.7BA10B3A4BA20B5.F.6B
3A7B2A3BA6BA17B5.F.6B3A9BA7BABA17B5.F$F5.7BA3BA3B2A2B2A25B.F5.7BABABA
2BAB2A28B.F5.6BA2BA8BA27B.F4.7BA3BA3B2A2B2A25B2.F4.7BABABA2BAB2A28B2.
F4.6BA2BA8BA27B2.F3.7BA3BA3B2A2B2A25B3.F3.7BABABA2BAB2A28B3.F3.6BA2BA
8BA27B3.F2.7BA3BA3B2A2B2A25B4.F2.7BABABA2BAB2A8BA19B4.F2.6BA2BA8BA6B
3A18B4.F.7BA3BA3B2A2B2A6BA18B5.F.7BABABA2BAB2A8BA19B5.F.6BA2BA8BA27B
5.F$F5.8B4A2B3A2BA3BA22B.F5.8BA4BA2BABA4B2A2BA18B.F5.7B4A2B4ABA27B.F
4.8B4A2B3A2BA3BA22B2.F4.8BA4BA2BABA4B2A2BA18B2.F4.7B4A2B4ABA27B2.F3.
8B4A2B3A2BA3BA22B3.F3.8BA4BA2BABA4B2A2BA18B3.F3.7B4A2B4ABA27B3.F2.8B
4A2B3A2BA3BA22B4.F2.8BA4BA2BABA4B2A2BA18B4.F2.7B4A2B4ABA27B4.F.8B4A2B
3A2BA3BA3BA18B5.F.8BA4BA2BABA4B2A21B5.F.7B4A2B4ABA27B5.F$F5.9B3AB2A4B
2A2B2AB3A17B.F5.8BA2BABA5BA26B.F5.13BA4B2AB3A22B.F4.9B3AB2A4B2A2B2AB
3A17B2.F4.8BA2BABA5BA26B2.F4.13BA4B2AB3A22B2.F3.9B3AB2A4B2A2B2AB3A17B
3.F3.8BA2BABA5BA26B3.F3.13BA4B2AB3A22B3.F2.9B3AB2A4B2A2B2AB3A17B4.F2.
8BA2BABA5BA26B4.F2.13BA4B2AB3A22B4.F.9B3AB2A4B2A2B2AB3A17B5.F.8BA2BAB
A5BA26B5.F.13BA4B2AB3A22B5.F$F5.13BA6B3AB7A15B.F5.13BABA3B4A23B.F5.
11BA4B2A5B6A17B.F4.13BA6B3AB7A15B2.F4.13BABA3B4A23B2.F4.11BA4B2A5B6A
17B2.F3.13BA6B3AB7A15B3.F3.13BABA3B4A23B3.F3.11BA4B2A5B6A17B3.F2.13BA
6B3AB7A15B4.F2.13BABA3B4A23B4.F2.11BA4B2A5B6A17B4.F.13BA6B3AB7A15B5.F
.13BABA3B4A23B5.F.11BA4B2A5B6A17B5.F!
Some poking around with funnier constraints (e.g. rotor tree or forcing the rotor to be exactly that hit but allowing more c/3 changes above the dividing line of the original constraint) is able to produce a depth 3 hit which is also unsolvable at any width:

Code: Select all

x = 796, y = 12, rule = LifeHistory
F5.4BAB2A7B2A2B2A16BA8B.F5.4B3A3BA3BAB2A19B2A7B.F5.2BABABABA9BA18B2A
7B.F4.4BAB2A7B2A2B2A17B3A5B2.F4.4B3A3BA3BAB2A21B2A5B2.F4.2BABABABA9BA
19BABA5B2.F3.4BAB2A7B2A2B2A20B2A3B3.F3.4B3A3BA3BAB2A24BA3B3.F3.2BABAB
ABA9BA21BABA3B3.F2.4BAB2A7B2A2B2A22BA2B4.F2.4B3A3BA3BAB2A8B2A14BA3B4.
F2.2BABABABA9BA7B2A15BA2B4.F.4BAB2A7B2A2B2A25B5.F.4B3A3BA3BAB2A28B5.F
.2BABABABA9BA27B5.F$F5.2B2A3BA2BA7B3A16B2A7B.F5.2B3A2B2A7B2A18BABA7B.
F5.2BA3B4A8BA4BA14B2A6B.F4.2B2A3BA2BA7B3A19BA5B2.F4.2B3A2B2A7B2A3BA
16BABA5B2.F4.2BA3B4A8BA21BA5B2.F3.2B2A3BA2BA7B3A19BA5B3.F3.2B3A2B2A7B
2A3BA19BA4B3.F3.2BA3B4A8BA6BA20B3.F2.2B2A3BA2BA7B3A4B3A18B4.F2.2B3A2B
2A7B2A3BA4BA19B4.F2.2BA3B4A8BA15BA11B4.F.2B2A3BA2BA7B3A5BA8B2A9B5.F.
2B3A2B2A7B2A3BA4BA8B2A9B5.F.2BA3B4A8BA8BA7B3A8B5.F$F5.3BA3BA9BAB2AB2A
12BABA7B.F5.2B3A3BA7B2A4B3A13BA7B.F5.2BABA2B2A6BA2BA4BA13BA8B.F4.3BA
3BA9BAB2A3B2A13BA6B2.F4.2B3A3BA7B2A3BA2B2A20B2.F4.2BABA2B2A6BA2BA2BA
2B2A20B2.F3.3BA3BA9BAB2A4B2A19B3.F3.2B3A3BA7B2A3BA2B3A5BA13B3.F3.2BAB
A2B2A6BA2BA2BA2B3A5B2A12B3.F2.3BA3BA9BAB2A12B2A11B4.F2.2B3A3BA7B2A3BA
2B4A5B3A10B4.F2.2BABA2B2A6BA2BA2BAB2AB2A6B2A10B4.F.3BA3BA9BAB2A5B3A5B
ABA9B5.F.2B3A3BA7B2A3BA4BABA7B2A8B5.F.2BABA2B2A6BA2BA2B2A4BA9BA8B5.F$
F5.4BA4BA5B2A3BA2B2A21B.F5.15BABA2BA25B.F5.3BA5BA5BAB2A2BABA22B.F4.4B
A4BA5B2A3BA3B2A4BA15B2.F4.15BABA2B2ABA2BA3B2A14B2.F4.3BA5BA5BAB2A4BA
2BA3B2A14B2.F3.4BA4BA5B2A3BA2B2A2BA3B3A12B3.F3.15BABA2B2ABA3BA4B2A12B
3.F3.3BA5BA5BAB2A4BABABA3BABA12B3.F2.4BA4BA5B2A3BA2B2A3BA5B2A10B4.F2.
15BABA2B2AB2A10BA10B4.F2.3BA5BA5BAB2A7BA6BABA10B4.F.4BA4BA5B2A3BA6BA
8BA9B5.F.15BABA2B2A13BA10B5.F.3BA5BA5BAB2A3BA13BA9B5.F$F5.10BA4B2A3BA
2B2A3B2A16B.F5.9B2A4BABA2BA7B2A16B.F5.15BAB2A2BABA4B3A15B.F4.10BA4B2A
3BA3B2A4B2A14B2.F4.9B2A4BABA2B2ABA2BA2BABA14B2.F4.15BAB2A4BA2BA4B2A
13B2.F3.10BA4B2A3BA2B2A2BA5BA12B3.F3.9B2A4BABA2B2ABA3BA3BABA12B3.F3.
15BAB2A4BABABA5BA12B3.F2.10BA4B2A3BA2B2A3BA4BA12B4.F2.9B2A4BABA2B2AB
2A9BA11B4.F2.15BAB2A7BA19B4.F.10BA4B2A3BA6BA18B5.F.9B2A4BABA2B2A24B5.
F.15BAB2A3BA4BA18B5.F$F5.7BA2BA6BAB2AB2A3BABA16B.F5.16B2A4B3A4B2A15B.
F5.7B3A5BA2BA4BA6BA15B.F4.7BA2BA6BAB2A3B2A3BABA14B2.F4.16B2A3BA2B2A5B
A14B2.F4.7B3A5BA2BA2BA2B2A4BA15B2.F3.7BA2BA6BAB2A4B2A5BA13B3.F3.16B2A
3BA2B3A19B3.F3.7B3A5BA2BA2BA2B3A19B3.F2.7BA2BA6BAB2A25B4.F2.16B2A3BA
2B4A18B4.F2.7B3A5BA2BA2BAB2AB2A18B4.F.7BA2BA6BAB2A5B3A17B5.F.16B2A3BA
4B3A17B5.F.7B3A5BA2BA2B2A4B2A17B5.F$F5.7BA10B3A8BA16B.F5.6B3A7B2A10BA
17B.F5.6B3A9BA4BA5BA16B.F4.7BA10B3A25B2.F4.6B3A7B2A3BA24B2.F4.6B3A9BA
27B2.F3.7BA10B3A25B3.F3.6B3A7B2A3BA24B3.F3.6B3A9BA6BA20B3.F2.7BA10B3A
4B3A18B4.F2.6B3A7B2A3BA4BA19B4.F2.6B3A9BA27B4.F.7BA10B3A4BA20B5.F.6B
3A7B2A3BA6BA17B5.F.6B3A9BA7BABA17B5.F$F5.7BA2BA4BABAB2A25B.F5.7BA2BA
3BAB2A28B.F5.9BA5BA2BA27B.F4.7BA2BA4BABAB2A25B2.F4.7BA2BA3BAB2A28B2.F
4.9BA5BA2BA27B2.F3.7BA2BA4BABAB2A25B3.F3.7BA2BA3BAB2A28B3.F3.9BA5BA2B
A27B3.F2.7BA2BA4BABAB2A25B4.F2.7BA2BA3BAB2A8BA19B4.F2.9BA5BA2BA6B3A
18B4.F.7BA2BA4BABAB2A6BA18B5.F.7BA2BA3BAB2A8BA19B5.F.9BA5BA2BA27B5.F$
F5.8B3A2B2A2B4AB2A22B.F5.7B2A4BA3BA6BA2BA18B.F5.7B2A3B2ABAB2A27B.F4.
8B3A2B2A2B4AB2A22B2.F4.7B2A4BA3BA6BA2BA18B2.F4.7B2A3B2ABAB2A27B2.F3.
8B3A2B2A2B4AB2A22B3.F3.7B2A4BA3BA6BA2BA18B3.F3.7B2A3B2ABAB2A27B3.F2.
8B3A2B2A2B4AB2A22B4.F2.7B2A4BA3BA6BA2BA18B4.F2.7B2A3B2ABAB2A27B4.F.8B
3A2B2A2B4AB2A3BA18B5.F.7B2A4BA3BA6BA21B5.F.7B2A3B2ABAB2A27B5.F$F5.7BA
2B2A2B2ABA3B4AB3A17B.F5.11BABABABA2B2A24B.F5.6BA2BA3BA6B4A22B.F4.7BA
2B2A2B2ABA3B4AB3A17B2.F4.11BABABABA2B2A24B2.F4.6BA2BA3BA6B4A22B2.F3.
7BA2B2A2B2ABA3B4AB3A17B3.F3.11BABABABA2B2A24B3.F3.6BA2BA3BA6B4A22B3.F
2.7BA2B2A2B2ABA3B4AB3A17B4.F2.11BABABABA2B2A24B4.F2.6BA2BA3BA6B4A22B
4.F.7BA2B2A2B2ABA3B4AB3A17B5.F.11BABABABA2B2A24B5.F.6BA2BA3BA6B4A22B
5.F$F5.9BA5BA2BA5B7A15B.F5.6B4A2B2ABA5B2ABA4BA16B.F5.7BABABA5B3A3B6A
17B.F4.9BA5BA2BA5B7A15B2.F4.6B4A2B2ABA5B2ABA4BA16B2.F4.7BABABA5B3A3B
6A17B2.F3.9BA5BA2BA5B7A15B3.F3.6B4A2B2ABA5B2ABA4BA16B3.F3.7BABABA5B3A
3B6A17B3.F2.9BA5BA2BA5B7A15B4.F2.6B4A2B2ABA5B2ABA4BA16B4.F2.7BABABA5B
3A3B6A17B4.F.9BA5BA2BA5B7A15B5.F.6B4A2B2ABA5B2ABA4BA16B5.F.7BABABA5B
3A3B6A17B5.F$F5.6B2A2BAB2ABA4BA25B.F5.8B2ABAB4AB2ABABAB4A17B.F5.11BAB
ABA2B2ABA7B2A15B.F4.6B2A2BAB2ABA4BA25B2.F4.8B2ABAB4AB2ABABAB4A17B2.F
4.11BABABA2B2ABA7B2A15B2.F3.6B2A2BAB2ABA4BA25B3.F3.8B2ABAB4AB2ABABAB
4A17B3.F3.11BABABA2B2ABA7B2A15B3.F2.6B2A2BAB2ABA4BA25B4.F2.8B2ABAB4AB
2ABABAB4A17B4.F2.11BABABA2B2ABA7B2A15B4.F.6B2A2BAB2ABA4BA25B5.F.8B2AB
AB4AB2ABABAB4A17B5.F.11BABABA2B2ABA7B2A15B5.F!
TBD trying to allow more c/3 stuff further up, allowing more generations of interaction, etc.

Sokwe
Moderator
Posts: 2735
Joined: July 9th, 2009, 2:44 pm

Re: amling search program principles discussion / brain dump

Post by Sokwe » February 6th, 2024, 7:55 am

amling wrote:
February 6th, 2024, 6:08 am
Boy, you sure picked a doozy, both in terms of the difficulty of the problem and of the mess of LLSSS features to try to swallow at once.
Thanks for your help! It looks like I may have flown too close to the sun on this one.
amling wrote:
February 6th, 2024, 6:08 am
This constraint file is unsolvable at any width although it does have a depth 2 (as in 2 Y rows) 5-fold PD hit. These 2 rows of c/3 are themselves of course then unsolvable, but they give hope that there might be something here:

Code: Select all

x = 796, y = 11, rule = LifeHistory
F5.4BAB2A7B2A2B2A16BA8B.F5.4B3A3BA3BAB2A19B2A7B.F5.2BABABABA9BA18B2A
7B.F4.4BAB2A7B2A2B2A17B3A5B2.F4.4B3A3BA3BAB2A21B2A5B2.F4.2BABABABA9BA
19BABA5B2.F3.4BAB2A7B2A2B2A20B2A3B3.F3.4B3A3BA3BAB2A24BA3B3.F3.2BABAB
ABA9BA21BABA3B3.F2.4BAB2A7B2A2B2A22BA2B4.F2.4B3A3BA3BAB2A8B2A14BA3B4.
F2.2BABABABA9BA7B2A15BA2B4.F.4BAB2A7B2A2B2A25B5.F.4B3A3BA3BAB2A28B5.F
.2BABABABA9BA27B5.F$F5.2B2A3BA2BA7B3A16B2A7B.F5.2B3A2B2A7B2A18BABA7B.
F5.2BA3B4A8BA4BA14B2A6B.F4.2B2A3BA2BA7B3A19BA5B2.F4.2B3A2B2A7B2A3BA
16BABA5B2.F4.2BA3B4A8BA21BA5B2.F3.2B2A3BA2BA7B3A19BA5B3.F3.2B3A2B2A7B
2A3BA19BA4B3.F3.2BA3B4A8BA6BA20B3.F2.2B2A3BA2BA7B3A4B3A18B4.F2.2B3A2B
2A7B2A3BA4BA19B4.F2.2BA3B4A8BA15BA11B4.F.2B2A3BA2BA7B3A5BA8B2A9B5.F.
2B3A2B2A7B2A3BA4BA8B2A9B5.F.2BA3B4A8BA8BA7B3A8B5.F$F5.3BA3BA9BAB2AB2A
12BABA7B.F5.2B3A3BA7B2A4B3A13BA7B.F5.2BABA2B2A6BA2BA4BA13BA8B.F4.3BA
3BA9BAB2A3B2A13BA6B2.F4.2B3A3BA7B2A3BA2B2A20B2.F4.2BABA2B2A6BA2BA2BA
2B2A20B2.F3.3BA3BA9BAB2A4B2A19B3.F3.2B3A3BA7B2A3BA2B3A5BA13B3.F3.2BAB
A2B2A6BA2BA2BA2B3A5B2A12B3.F2.3BA3BA9BAB2A12B2A11B4.F2.2B3A3BA7B2A3BA
2B4A5B3A10B4.F2.2BABA2B2A6BA2BA2BAB2AB2A6B2A10B4.F.3BA3BA9BAB2A5B3A5B
ABA9B5.F.2B3A3BA7B2A3BA4BABA7B2A8B5.F.2BABA2B2A6BA2BA2B2A4BA9BA8B5.F$
F5.4BA4BA5B2A3BA2B2A21B.F5.15BABA2BA25B.F5.3BA5BA5BAB2A2BABA22B.F4.4B
A4BA5B2A3BA3B2A4BA15B2.F4.15BABA2B2ABA2BA3B2A14B2.F4.3BA5BA5BAB2A4BA
2BA3B2A14B2.F3.4BA4BA5B2A3BA2B2A2BA3B3A12B3.F3.15BABA2B2ABA3BA4B2A12B
3.F3.3BA5BA5BAB2A4BABABA3BABA12B3.F2.4BA4BA5B2A3BA2B2A3BA5B2A10B4.F2.
15BABA2B2AB2A10BA10B4.F2.3BA5BA5BAB2A7BA6BABA10B4.F.4BA4BA5B2A3BA6BA
8BA9B5.F.15BABA2B2A13BA10B5.F.3BA5BA5BAB2A3BA13BA9B5.F$F5.10BA4B2A3BA
2B2A3B2A16B.F5.9B2A4BABA2BA7B2A16B.F5.15BAB2A2BABA4B3A15B.F4.10BA4B2A
3BA3B2A4B2A14B2.F4.9B2A4BABA2B2ABA2BA2BABA14B2.F4.15BAB2A4BA2BA4B2A
13B2.F3.10BA4B2A3BA2B2A2BA5BA12B3.F3.9B2A4BABA2B2ABA3BA3BABA12B3.F3.
15BAB2A4BABABA5BA12B3.F2.10BA4B2A3BA2B2A3BA4BA12B4.F2.9B2A4BABA2B2AB
2A9BA11B4.F2.15BAB2A7BA19B4.F.10BA4B2A3BA6BA18B5.F.9B2A4BABA2B2A24B5.
F.15BAB2A3BA4BA18B5.F$F5.7BA2BA6BAB2AB2A3BABA16B.F5.16B2A4B3A4B2A15B.
F5.7B3A5BA2BA4BA6BA15B.F4.7BA2BA6BAB2A3B2A3BABA14B2.F4.16B2A3BA2B2A5B
A14B2.F4.7B3A5BA2BA2BA2B2A4BA15B2.F3.7BA2BA6BAB2A4B2A5BA13B3.F3.16B2A
3BA2B3A19B3.F3.7B3A5BA2BA2BA2B3A19B3.F2.7BA2BA6BAB2A25B4.F2.16B2A3BA
2B4A18B4.F2.7B3A5BA2BA2BAB2AB2A18B4.F.7BA2BA6BAB2A5B3A17B5.F.16B2A3BA
4B3A17B5.F.7B3A5BA2BA2B2A4B2A17B5.F$F5.7BA10B3A8BA16B.F5.6B3A7B2A10BA
17B.F5.6B3A9BA4BA5BA16B.F4.7BA10B3A25B2.F4.6B3A7B2A3BA24B2.F4.6B3A9BA
27B2.F3.7BA10B3A25B3.F3.6B3A7B2A3BA24B3.F3.6B3A9BA6BA20B3.F2.7BA10B3A
4B3A18B4.F2.6B3A7B2A3BA4BA19B4.F2.6B3A9BA27B4.F.7BA10B3A4BA20B5.F.6B
3A7B2A3BA6BA17B5.F.6B3A9BA7BABA17B5.F$F5.7BA3BA3B2A2B2A25B.F5.7BABABA
2BAB2A28B.F5.6BA2BA8BA27B.F4.7BA3BA3B2A2B2A25B2.F4.7BABABA2BAB2A28B2.
F4.6BA2BA8BA27B2.F3.7BA3BA3B2A2B2A25B3.F3.7BABABA2BAB2A28B3.F3.6BA2BA
8BA27B3.F2.7BA3BA3B2A2B2A25B4.F2.7BABABA2BAB2A8BA19B4.F2.6BA2BA8BA6B
3A18B4.F.7BA3BA3B2A2B2A6BA18B5.F.7BABABA2BAB2A8BA19B5.F.6BA2BA8BA27B
5.F$F5.8B4A2B3A2BA3BA22B.F5.8BA4BA2BABA4B2A2BA18B.F5.7B4A2B4ABA27B.F
4.8B4A2B3A2BA3BA22B2.F4.8BA4BA2BABA4B2A2BA18B2.F4.7B4A2B4ABA27B2.F3.
8B4A2B3A2BA3BA22B3.F3.8BA4BA2BABA4B2A2BA18B3.F3.7B4A2B4ABA27B3.F2.8B
4A2B3A2BA3BA22B4.F2.8BA4BA2BABA4B2A2BA18B4.F2.7B4A2B4ABA27B4.F.8B4A2B
3A2BA3BA3BA18B5.F.8BA4BA2BABA4B2A21B5.F.7B4A2B4ABA27B5.F$F5.9B3AB2A4B
2A2B2AB3A17B.F5.8BA2BABA5BA26B.F5.13BA4B2AB3A22B.F4.9B3AB2A4B2A2B2AB
3A17B2.F4.8BA2BABA5BA26B2.F4.13BA4B2AB3A22B2.F3.9B3AB2A4B2A2B2AB3A17B
3.F3.8BA2BABA5BA26B3.F3.13BA4B2AB3A22B3.F2.9B3AB2A4B2A2B2AB3A17B4.F2.
8BA2BABA5BA26B4.F2.13BA4B2AB3A22B4.F.9B3AB2A4B2A2B2AB3A17B5.F.8BA2BAB
A5BA26B5.F.13BA4B2AB3A22B5.F$F5.13BA6B3AB7A15B.F5.13BABA3B4A23B.F5.
11BA4B2A5B6A17B.F4.13BA6B3AB7A15B2.F4.13BABA3B4A23B2.F4.11BA4B2A5B6A
17B2.F3.13BA6B3AB7A15B3.F3.13BABA3B4A23B3.F3.11BA4B2A5B6A17B3.F2.13BA
6B3AB7A15B4.F2.13BABA3B4A23B4.F2.11BA4B2A5B6A17B4.F.13BA6B3AB7A15B5.F
.13BABA3B4A23B5.F.11BA4B2A5B6A17B5.F!
Some poking around with funnier constraints (e.g. rotor tree or forcing the rotor to be exactly that hit but allowing more c/3 changes above the dividing line of the original constraint) is able to produce a depth 3 hit which is also unsolvable at any width:

Code: Select all

x = 796, y = 12, rule = LifeHistory
F5.4BAB2A7B2A2B2A16BA8B.F5.4B3A3BA3BAB2A19B2A7B.F5.2BABABABA9BA18B2A
7B.F4.4BAB2A7B2A2B2A17B3A5B2.F4.4B3A3BA3BAB2A21B2A5B2.F4.2BABABABA9BA
19BABA5B2.F3.4BAB2A7B2A2B2A20B2A3B3.F3.4B3A3BA3BAB2A24BA3B3.F3.2BABAB
ABA9BA21BABA3B3.F2.4BAB2A7B2A2B2A22BA2B4.F2.4B3A3BA3BAB2A8B2A14BA3B4.
F2.2BABABABA9BA7B2A15BA2B4.F.4BAB2A7B2A2B2A25B5.F.4B3A3BA3BAB2A28B5.F
.2BABABABA9BA27B5.F$F5.2B2A3BA2BA7B3A16B2A7B.F5.2B3A2B2A7B2A18BABA7B.
F5.2BA3B4A8BA4BA14B2A6B.F4.2B2A3BA2BA7B3A19BA5B2.F4.2B3A2B2A7B2A3BA
16BABA5B2.F4.2BA3B4A8BA21BA5B2.F3.2B2A3BA2BA7B3A19BA5B3.F3.2B3A2B2A7B
2A3BA19BA4B3.F3.2BA3B4A8BA6BA20B3.F2.2B2A3BA2BA7B3A4B3A18B4.F2.2B3A2B
2A7B2A3BA4BA19B4.F2.2BA3B4A8BA15BA11B4.F.2B2A3BA2BA7B3A5BA8B2A9B5.F.
2B3A2B2A7B2A3BA4BA8B2A9B5.F.2BA3B4A8BA8BA7B3A8B5.F$F5.3BA3BA9BAB2AB2A
12BABA7B.F5.2B3A3BA7B2A4B3A13BA7B.F5.2BABA2B2A6BA2BA4BA13BA8B.F4.3BA
3BA9BAB2A3B2A13BA6B2.F4.2B3A3BA7B2A3BA2B2A20B2.F4.2BABA2B2A6BA2BA2BA
2B2A20B2.F3.3BA3BA9BAB2A4B2A19B3.F3.2B3A3BA7B2A3BA2B3A5BA13B3.F3.2BAB
A2B2A6BA2BA2BA2B3A5B2A12B3.F2.3BA3BA9BAB2A12B2A11B4.F2.2B3A3BA7B2A3BA
2B4A5B3A10B4.F2.2BABA2B2A6BA2BA2BAB2AB2A6B2A10B4.F.3BA3BA9BAB2A5B3A5B
ABA9B5.F.2B3A3BA7B2A3BA4BABA7B2A8B5.F.2BABA2B2A6BA2BA2B2A4BA9BA8B5.F$
F5.4BA4BA5B2A3BA2B2A21B.F5.15BABA2BA25B.F5.3BA5BA5BAB2A2BABA22B.F4.4B
A4BA5B2A3BA3B2A4BA15B2.F4.15BABA2B2ABA2BA3B2A14B2.F4.3BA5BA5BAB2A4BA
2BA3B2A14B2.F3.4BA4BA5B2A3BA2B2A2BA3B3A12B3.F3.15BABA2B2ABA3BA4B2A12B
3.F3.3BA5BA5BAB2A4BABABA3BABA12B3.F2.4BA4BA5B2A3BA2B2A3BA5B2A10B4.F2.
15BABA2B2AB2A10BA10B4.F2.3BA5BA5BAB2A7BA6BABA10B4.F.4BA4BA5B2A3BA6BA
8BA9B5.F.15BABA2B2A13BA10B5.F.3BA5BA5BAB2A3BA13BA9B5.F$F5.10BA4B2A3BA
2B2A3B2A16B.F5.9B2A4BABA2BA7B2A16B.F5.15BAB2A2BABA4B3A15B.F4.10BA4B2A
3BA3B2A4B2A14B2.F4.9B2A4BABA2B2ABA2BA2BABA14B2.F4.15BAB2A4BA2BA4B2A
13B2.F3.10BA4B2A3BA2B2A2BA5BA12B3.F3.9B2A4BABA2B2ABA3BA3BABA12B3.F3.
15BAB2A4BABABA5BA12B3.F2.10BA4B2A3BA2B2A3BA4BA12B4.F2.9B2A4BABA2B2AB
2A9BA11B4.F2.15BAB2A7BA19B4.F.10BA4B2A3BA6BA18B5.F.9B2A4BABA2B2A24B5.
F.15BAB2A3BA4BA18B5.F$F5.7BA2BA6BAB2AB2A3BABA16B.F5.16B2A4B3A4B2A15B.
F5.7B3A5BA2BA4BA6BA15B.F4.7BA2BA6BAB2A3B2A3BABA14B2.F4.16B2A3BA2B2A5B
A14B2.F4.7B3A5BA2BA2BA2B2A4BA15B2.F3.7BA2BA6BAB2A4B2A5BA13B3.F3.16B2A
3BA2B3A19B3.F3.7B3A5BA2BA2BA2B3A19B3.F2.7BA2BA6BAB2A25B4.F2.16B2A3BA
2B4A18B4.F2.7B3A5BA2BA2BAB2AB2A18B4.F.7BA2BA6BAB2A5B3A17B5.F.16B2A3BA
4B3A17B5.F.7B3A5BA2BA2B2A4B2A17B5.F$F5.7BA10B3A8BA16B.F5.6B3A7B2A10BA
17B.F5.6B3A9BA4BA5BA16B.F4.7BA10B3A25B2.F4.6B3A7B2A3BA24B2.F4.6B3A9BA
27B2.F3.7BA10B3A25B3.F3.6B3A7B2A3BA24B3.F3.6B3A9BA6BA20B3.F2.7BA10B3A
4B3A18B4.F2.6B3A7B2A3BA4BA19B4.F2.6B3A9BA27B4.F.7BA10B3A4BA20B5.F.6B
3A7B2A3BA6BA17B5.F.6B3A9BA7BABA17B5.F$F5.7BA2BA4BABAB2A25B.F5.7BA2BA
3BAB2A28B.F5.9BA5BA2BA27B.F4.7BA2BA4BABAB2A25B2.F4.7BA2BA3BAB2A28B2.F
4.9BA5BA2BA27B2.F3.7BA2BA4BABAB2A25B3.F3.7BA2BA3BAB2A28B3.F3.9BA5BA2B
A27B3.F2.7BA2BA4BABAB2A25B4.F2.7BA2BA3BAB2A8BA19B4.F2.9BA5BA2BA6B3A
18B4.F.7BA2BA4BABAB2A6BA18B5.F.7BA2BA3BAB2A8BA19B5.F.9BA5BA2BA27B5.F$
F5.8B3A2B2A2B4AB2A22B.F5.7B2A4BA3BA6BA2BA18B.F5.7B2A3B2ABAB2A27B.F4.
8B3A2B2A2B4AB2A22B2.F4.7B2A4BA3BA6BA2BA18B2.F4.7B2A3B2ABAB2A27B2.F3.
8B3A2B2A2B4AB2A22B3.F3.7B2A4BA3BA6BA2BA18B3.F3.7B2A3B2ABAB2A27B3.F2.
8B3A2B2A2B4AB2A22B4.F2.7B2A4BA3BA6BA2BA18B4.F2.7B2A3B2ABAB2A27B4.F.8B
3A2B2A2B4AB2A3BA18B5.F.7B2A4BA3BA6BA21B5.F.7B2A3B2ABAB2A27B5.F$F5.7BA
2B2A2B2ABA3B4AB3A17B.F5.11BABABABA2B2A24B.F5.6BA2BA3BA6B4A22B.F4.7BA
2B2A2B2ABA3B4AB3A17B2.F4.11BABABABA2B2A24B2.F4.6BA2BA3BA6B4A22B2.F3.
7BA2B2A2B2ABA3B4AB3A17B3.F3.11BABABABA2B2A24B3.F3.6BA2BA3BA6B4A22B3.F
2.7BA2B2A2B2ABA3B4AB3A17B4.F2.11BABABABA2B2A24B4.F2.6BA2BA3BA6B4A22B
4.F.7BA2B2A2B2ABA3B4AB3A17B5.F.11BABABABA2B2A24B5.F.6BA2BA3BA6B4A22B
5.F$F5.9BA5BA2BA5B7A15B.F5.6B4A2B2ABA5B2ABA4BA16B.F5.7BABABA5B3A3B6A
17B.F4.9BA5BA2BA5B7A15B2.F4.6B4A2B2ABA5B2ABA4BA16B2.F4.7BABABA5B3A3B
6A17B2.F3.9BA5BA2BA5B7A15B3.F3.6B4A2B2ABA5B2ABA4BA16B3.F3.7BABABA5B3A
3B6A17B3.F2.9BA5BA2BA5B7A15B4.F2.6B4A2B2ABA5B2ABA4BA16B4.F2.7BABABA5B
3A3B6A17B4.F.9BA5BA2BA5B7A15B5.F.6B4A2B2ABA5B2ABA4BA16B5.F.7BABABA5B
3A3B6A17B5.F$F5.6B2A2BAB2ABA4BA25B.F5.8B2ABAB4AB2ABABAB4A17B.F5.11BAB
ABA2B2ABA7B2A15B.F4.6B2A2BAB2ABA4BA25B2.F4.8B2ABAB4AB2ABABAB4A17B2.F
4.11BABABA2B2ABA7B2A15B2.F3.6B2A2BAB2ABA4BA25B3.F3.8B2ABAB4AB2ABABAB
4A17B3.F3.11BABABA2B2ABA7B2A15B3.F2.6B2A2BAB2ABA4BA25B4.F2.8B2ABAB4AB
2ABABAB4A17B4.F2.11BABABA2B2ABA7B2A15B4.F.6B2A2BAB2ABA4BA25B5.F.8B2AB
AB4AB2ABABAB4A17B5.F.11BABABA2B2ABA7B2A15B5.F!
Unfortunately, this exact spark combination appears to be unsolvable. I have attached a .jdf file (in a .zip file) that I think has a necessary set of constraints for this to work. Unfortunately, running the search (with JLS) quickly gives 0 results:
5c15-impossible.zip
(1.39 KiB) Downloaded 20 times
Of course, this doesn't rule out other interactions. The restrictions caused by the set cells at the front of your input pattern may be a preventing the discovery of a working interaction. I don't suppose there is a way to set those to some sort of "could be anything" value?
amling wrote:
February 6th, 2024, 6:08 am
TBD trying to allow more c/3 stuff further up, allowing more generations of interaction, etc.
This project looks to be somewhere between difficult and impossible. I have no expectation that you attempt anything further. I might try to see if I can modify your input to get something different, although my skill level may prevent me from adequately covering the search space.
-Matthias Merzenich

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » February 6th, 2024, 2:33 pm

Sokwe wrote:
February 6th, 2024, 7:55 am
I don't suppose there is a way to set those to some sort of "could be anything" value?
You might be asking about the W wildcard which allows a cell constrained by it to be, well, unconstrained. The entire board is still bound to obey CA rules though. The closest to ignoring CA rules is the "any" edge (no variant of which is available in the default dynamic configuration) which, unlike most edges, doesn't expect or imply anything about what cells might be out of bounds off the edge. I have never gotten any search project involving it to go anywhere before filling memory though so I'm not sure I'd bark up that tree. More often recentering's willingness to recombine things and enough normal wildcards can substitute "anything legal of any width can go here".
Sokwe wrote:
February 6th, 2024, 7:55 am
amling wrote:
February 6th, 2024, 6:08 am
TBD trying to allow more c/3 stuff further up, allowing more generations of interaction, etc.
This project looks to be somewhere between difficult and impossible. I have no expectation that you attempt anything further. I might try to see if I can modify your input to get something different, although my skill level may prevent me from adequately covering the search space.
I sketched a constraint file for allowing one more row north of c/3 cells but I can't get anywhere on it with only 8G. I want to run that to 60G at least, but I am probably prepared to throw in the towel after that.

This is a very interesting use of the edge repair eater style of search (where it's mostly PD wildcards surrounding a limited-time interaction). It's limited to places where you can guess/specify your exact inputs and outputs, but are there any other catalysts that would be useful to try to search for?

EDIT: This was the constraint file I used for one more row of arbitrary c/3 cells. My guess for where the interaction begins is just that a guess) and arguably the light(ish) cone of the W cells should have extended slightly further north in the last two generations but I didn't want to extend the window north (it forces to extend a lot east) so I've truncated it there. I doubt any reaction is going to reach that far north and still work out anyway.

Code: Select all

|     LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR |     LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR |     LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR |    LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR  |    LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR  |    LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR  |   LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR   |   LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR   |   LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR   |  LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR    |  LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR    |  LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR    | LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR     | LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR     | LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR     |
|     ....**..**................*......... |     ...*.**...................**........ |     .......*..................**........ |    ....**..**.................***......  |    ...*.**.....................**......  |    .......*...................*.*......  |   ....**..**....................**....   |   ...*.**........................*....   |   .......*.....................*.*....   |  ....**..**......................*...    |  ...*.**........**..............*....    |  .......*.......**...............*...    | ....**..**..........................     | ...*.**.............................     | .......*............................     |
|     .......***................**........ |     .....**..................*.*........ |     .......*....*..............**....... |    .......***...................*......  |    .....**...*................*.*......  |    .......*.....................*......  |   .......***...................*......   |   .....**...*...................*.....   |   .......*......*.....................   |  .......***....***...................    |  .....**...*....*....................    |  .......*...............*............    | .......***.....*........**..........     | .....**...*....*........**..........     | .......*........*.......***.........     |
|     ......*.**.**............*.*........ |     .....**....***.............*........ |     ....*..*....*.............*......... |    ......*.**...**.............*.......  |    .....**...*..**.....................  |    ....*..*..*..**.....................  |   ......*.**....**....................   |   .....**...*..***.....*..............   |   ....*..*..*..***.....**.............   |  ......*.**............**............    |  .....**...*..****.....***...........    |  ....*..*..*.**.**......**...........    | ......*.**..WWWWWWW....*.*..........     | .....**...*.WWWWWWWW.....**.........     | ....*..*..WWWWWWWWWWW.....*.........     |
|     ....**...*..**...................... |     ....*.*..*.......................... |     ....*.**..*.*....................... |    ....**...*...**....*................  |    ....*.*..**.*..*...**...............  |    ....*.**....*..*...**...............  |   ....**...*..**..*...***.............   |   ....*.*..**.*...*....**.............   |   ....*.**....*.*.*...*.*.............   |  ....**...*..**...*.....**...........    |  ....*.*..**.**..........*...........    |  ....*.**....W..WWW....*.*...........    | ....**...*..WWWWWWWW.....*..........     | ....*.*..**WWWWWWWWWW...*...........     | ....*.**...WWWWWWWWWWW...*..........     |
|     ....**...*..**...**................. |     ....*.*..*.......**................. |     ....*.**..*.*....***................ |    ....**...*...**....**...............  |    ....*.*..**.*..*..*.*...............  |    ....*.**....*..*....**..............  |   ....**...*..**..*.....*.............   |   ....*.*..**.*...*...*.*.............   |   ....*.**....*.*.*.....*.............   |  ....**...*..**...*....*.............    |  ....*.*..**.*WWWWWW....*............    |  ....*.**....WWWWWWW.................    | ....**...*..WWWWWWWWW...............     | ....*.*..**WWWWWWWWWWW..............     | ....*.**...WWWWWWWWWWWW.............     |
|     ......*.**.**...*.*................. |     .....**....***....**................ |     ....*..*....*......*................ |    ......*.**...**...*.*...............  |    .....**...*..**.....*...............  |    ....*..*..*..**....*................  |   ......*.**....**.....*..............   |   .....**...*..***....................   |   ....*..*..*..***....................   |  ......*.**....WWWW..................    |  .....**...*..WWWWWW.................    |  ....*..*..*.WWWWWWWW................    | ......*.**..WWWWWWWWWW..............     | .....**...*WWWWWWWWWWWW.............     | ....*..*..WWWWWWWWWWWWWW............     |
|     .......***........*................. |     .....**..........*.................. |     .......*....*.....*................. |    .......***..........................  |    .....**...*.........................  |    .......*............................  |   .......***..........................   |   .....**...*.........................   |   .......*......WWW...................   |  .......***....WWWWW.................    |  .....**...*..WWWWWWW................    |  .......*....WWWWWWWWW...............    | .......***..WWWWWWWWWWW.............     | .....**...*WWWWWWWWWWWWW............     | .......*..WWWWWWWWWWWWWW............     |
|     555555555555555555555555555555555555 |     555555555555555555555555555555555555 |     555555555555555555555555555555555555 |    555555555555555555555555555555555555  |    555555555555555555555555555555555555  |    555555555555555555555555555555555555  |   555555555555555555555555555555555555   |   555555555555555555555555555555555555   |   555555555555555555555555555555555555   |  55555555555555WWWWW55555555555555555    |  5555555555555WWWWWWW5555555555555555    |  555555555555WWWWWWWWW555555555555555    | 555555555555WWWWWWWWWWW5555555555555     | 55555555555WWWWWWWWWWWWW555555555555     | 5555555555WWWWWWWWWWWWWWW55555555555     |
|     555555555555555555555555555555555555 |     555555555555555555555555555555555555 |     555555555555555555555555555555555555 |    555555555555555555555555555555555555  |    555555555555555555555555555555555555  |    555555555555555555555555555555555555  |   555555555555555555555555555555555555   |   555555555555555555555555555555555555   |   555555555555555555555555555555555555   |  555555555555555555555555555555555555    |  5555555555555WWWWWWW5555555555555555    |  555555555555WWWWWWWWW555555555555555    | 555555555555WWWWWWWWWWW5555555555555     | 55555555555WWWWWWWWWWWWW555555555555     | 5555555555WWWWWWWWWWWWWWW55555555555     |
|     555555555555555555555555555555555555 |     555555555555555555555555555555555555 |     555555555555555555555555555555555555 |    555555555555555555555555555555555555  |    555555555555555555555555555555555555  |    555555555555555555555555555555555555  |   555555555555555555555555555555555555   |   555555555555555555555555555555555555   |   555555555555555555555555555555555555   |  555555555555555555555555555555555555    |  555555555555555555555555555555555555    |  555555555555WWWWWWWWW555555555555555    | 555555555555WWWWWWWWWWW5555555555555     | 55555555555WWWWWWWWWWWWW555555555555     | 5555555555WWWWWWWWWWWWWWW55555555555     |
|     555555555555555555555555555555555555 |     555555555555555555555555555555555555 |     555555555555555555555555555555555555 |    555555555555555555555555555555555555  |    555555555555555555555555555555555555  |    555555555555555555555555555555555555  |   555555555555555555555555555555555555   |   555555555555555555555555555555555555   |   555555555555555555555555555555555555   |  555555555555555555555555555555555555    |  555555555555555555555555555555555555    |  555555555555555555555555555555555555    | 555555555555WWWWWWWWWWW5555555555555     | 55555555555WWWWWWWWWWWWW555555555555     | 5555555555WWWWWWWWWWWWWWW55555555555     |
|     555555555555555555555555555555555555 |     555555555555555555555555555555555555 |     555555555555555555555555555555555555 |    555555555555555555555555555555555555  |    555555555555555555555555555555555555  |    555555555555555555555555555555555555  |   555555555555555555555555555555555555   |   555555555555555555555555555555555555   |   555555555555555555555555555555555555   |  555555555555555555555555555555555555    |  555555555555555555555555555555555555    |  555555555555555555555555555555555555    | 555555555555555555555555555555555555     | 55555555555WWWWWWWWWWWWW555555555555     | 5555555555WWWWWWWWWWWWWWW55555555555     |
|     555555555555555555555555555555555555 |     555555555555555555555555555555555555 |     555555555555555555555555555555555555 |    555555555555555555555555555555555555  |    555555555555555555555555555555555555  |    555555555555555555555555555555555555  |   555555555555555555555555555555555555   |   555555555555555555555555555555555555   |   555555555555555555555555555555555555   |  555555555555555555555555555555555555    |  555555555555555555555555555555555555    |  555555555555555555555555555555555555    | 555555555555555555555555555555555555     | 555555555555555555555555555555555555     | 5555555555WWWWWWWWWWWWWWW55555555555     |
|     555555555555555555555555555555555555 |     555555555555555555555555555555555555 |     555555555555555555555555555555555555 |    555555555555555555555555555555555555  |    555555555555555555555555555555555555  |    555555555555555555555555555555555555  |   555555555555555555555555555555555555   |   555555555555555555555555555555555555   |   555555555555555555555555555555555555   |  555555555555555555555555555555555555    |  555555555555555555555555555555555555    |  555555555555555555555555555555555555    | 555555555555555555555555555555555555     | 555555555555555555555555555555555555     | 555555555555555555555555555555555555     |
It took 19 GB to complete, and along the way it did find that depth 3 c/3 hit, but, alas, it is unsolvable even at arbitrary width.

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » February 11th, 2024, 2:34 am

I've just pushed 1e61391be523 which augments the S/B rule parser to understand forbidden transitions (is there a standard syntax for this sort of thing?). Something like `--rule 'S!23/B3'` can forbid S2 and S3, thus searching for phoenix patterns in S23/B3 and something like `--rule 'S23/B3!5'` can forbid B5, thus searching for patterns in the intersection of S23/B3 and S23/B35.

User avatar
confocaloid
Posts: 3524
Joined: February 8th, 2022, 3:15 pm

Re: amling search program principles discussion / brain dump

Post by confocaloid » February 11th, 2024, 3:48 am

I think Logic Life Search allows to specify a target rulespace using notation like this: (note the leading "p", to distinguish these from usual rulestrings in Hensel notation)
  • pB3aceijknqry4-a678/S2aceikn3aceijknqry
    That means "all ten isotropic subconditions of B3 must be present in the rule definition; subconditions of B4 are not required but are allowed with the sole exception of B4a which must be absent from the rule definition; isotropic subconditions of B6, B7, B8 are allowed but are not required; the survival conditions must be S23 exactly."
However, that notation might be more general than necessary or convenient here, if you only want to support Life-like rule definitions where birth/survival conditions just count neighbours without looking at their configuration.

Edit: For Life-like rules, one could just put the optional conditions in brackets, e.g. "B3(78)/S23(8)" includes eight rules (B7, B8, S8 can be either present or absent). Another way is "B3/S23:B378/S238" (minrule:maxrule).
May13 wrote:
August 28th, 2023, 11:10 am
c/7 orthogonal spaceships in B345(678)/S4(678):
LaundryPizza03 wrote:
June 24th, 2023, 5:34 pm
The B3(78)/S235(678) c/6o search is now complete. [...]
Edit 2: when both the pattern and the evolution rule are partially specified, there can be more different choices. Taking S8/D8 (an alive cell with 8 alive neighbours) as an example, there are at least these:
  • The S8/D8 condition is allowed in the pattern, and S8 must be included in the rule.
  • The S8/D8 condition is allowed in the pattern, and S8 must not be included in the rule.
  • The S8/D8 condition is allowed in the pattern, and the S8 condition is optional in the rule (as long as the pattern evolves consistently; i.e. either "always S8" or "always D8").
  • The S8/D8 condition is forbidden in the pattern (must not appear in any phase). Implies that it doesn't matter whether the rule includes S8 or D8.
So (maybe) writing something like 'S(4)!23/B3(4)' could be a way to search for phoenices in either of four rules B3/S23, B34/S23, B3/S234, B34/S234? (S2, S3 are forbidden in the pattern; B3 allowed in the pattern and included in the rule; B4, S4 allowed in the pattern and optional in the rule; all remaining birth/survival conditions not explicitly mentioned are allowed in the pattern and excluded from the rule.)
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » February 14th, 2024, 6:50 pm

I've just pushed `71b3e4f5db59`, a rewrite of a bunch of the lower layers of how the CA checks are done in order to enable INT rules as well as hex rules. It's only very lightly tested (and the hex rules are entirely untested), but I assume I'll realize pretty quickly if I've really hosed it.

For a number of neighbors N transitions are specified like `N` for all, `Nabc` to select just some, or `N-abc` to select all but some. Prefixes of S and B still required to indicate which part of the rule table you're specifying. This is my understanding of what things like `B2-a/S12` for "Just Friends" mean.

An exclamation point still switches from specifiying transition to live cell to specifying refused transitions. E.g. `B3/S!23` would be `B3/S` but not even allowed to have S2 or S3 transitions checked. This should also work for INT things like `B2-a!2a/S` for birth on 2 for all but 2a and refuse 2a or `B3/S!23` to search for phoenixes in normal life.

A terminal H switches to hex rules which has its own table of INT letters. I know so little about this space that I can't even name an interesting rule, but e.g. something like `B12m3-p!2o4-o/S123H` would parse. This allows all 1 births, just 2m, and all of 3 births except 3p, then forbids even querying 2o, and all 4 except for 4o (leaving 4o as non-birth). Hex rules are still on the regular grid, they just don't read NE and SW neighbors. I assume any users of this will have to specify their own interesting "raw:" geometries.

I am arguably now in the market for some light test cases for these features (INT and hex rules) and perhaps even some entry-level problems to try to solve. I don't anticipate spending a ton of my time off in this part of the world but it might be nice to at least be sure I'm not shipping brokenness.

User avatar
confocaloid
Posts: 3524
Joined: February 8th, 2022, 3:15 pm

Re: amling search program principles discussion / brain dump

Post by confocaloid » February 14th, 2024, 10:16 pm

amling wrote:
February 14th, 2024, 6:50 pm
[...] I know so little about this space that I can't even name an interesting rule, but e.g. something like `B12m3-p!2o4-o/S123H` would parse. [...]
Several interesting isotropic hex rules (which were explored to some extent): Maybe someone else will add to this.
edit (2024-03-25): added two rules to the above list.
amling wrote:
February 14th, 2024, 6:50 pm
[...] I am arguably now in the market for some light test cases for these features (INT and hex rules) and perhaps even some entry-level problems to try to solve. I don't anticipate spending a ton of my time off in this part of the world but it might be nice to at least be sure I'm not shipping brokenness.
In my understanding, the entire rulespace of isotropic hex rules is underexplored. (Just in case there are not enough open problems/challenges...) For example I think any unnatural low-period spaceships/puffers in any of the rules listed above are likely to be new. (With the exception of small ships, which were likely found by random soup search.) And even if it turns out a rediscovery, it would be a test to confirm that the software works.
Last edited by confocaloid on March 25th, 2024, 10:51 am, edited 1 time in total.
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » February 15th, 2024, 3:00 am

confocaloid wrote:
February 14th, 2024, 10:16 pm
Several interesting isotropic hex rules (which were explored to some extent):
As a quick check I can find the small 2c/4 glider in the first. Searches for the first, third, fourth, and fifth for what I would call c/2 all terminate immediately, even at arbitrary widths. The second has pyramid issues, although I guess this partial "working" is a validation of a sort:

Code: Select all

x = 105, y = 40, rule = B2o3m56/S2-p4oH
9$75bo$71bob4o$67bob4ob2o2bo$63bob4ob2o4bob2o$59bob4ob2o5bo3b5o$55bob
4ob2o5bo8bo3bobo$51bob4ob2o5bo12b2o4b2o$47bob4ob2o5bo21b5o$43bob4ob2o
5bo21b2o2b2o3bobo$39bob4ob2o5bo27bo3bo4b2o$35bob4ob2o5bo32bo6b5o$31bob
4ob2o5bo36bo11bobo$27bob4ob2o5bo42b2o10b2obo$23bob4ob2o5bo46b2obo4b2ob
6o$19bob4ob2o5bo51bob2obo$15bob4ob2o5bo55bo2b4ob2obo4b2o$11bob4ob2o5bo
58bobo3b4obobobo2bo$7bob4ob2o5bo62bo5b5o7b2o$3bob4ob2o5bo68b2o7b2o6b2o
$2b3ob2o7b2o70bo3b4o2bo5bo!
c/3 searches immediately complete for first and third rules. Second, fourth, and fifth did not terminate quickly but their partials were pretty sick-looking but not so obviously pyramidal. Limited width for second and fourth were looking similarly ugly. The fifth quickly enough gets gummed up on this:

Code: Select all

x = 141, y = 93, rule = B2o3-o4-m56/S2m3o4-o56H
2bo$b2o$o3b2o$2bobo$bo4b3o$4b5o$10b2o$6bobobo$8bo3b3o$9b6o$9bo6b2o$10b
3obobo$10bo3bo3b3o$11bo3b6o$10b2o3bo6b2o$12bo3b3obobo$16bo3bo3b3o$17bo
3b6o$16b2o3bo6b2o$18bo3b3obobo$22bo3bo3b3o$23bo3b6o$22b2o3bo6b2o$24bo
3b3obobo$28bo3bo3b3o$29bo3b6o$28b2o3bo6b2o$30bo3b3obobo$34bo3bo3b3o$
35bo3b6o$34b2o3bo6b2o$36bo3b3obobo$40bo3bo3b3o$41bo3b6o$40b2o3bo6b2o$
42bo3b3obobo$46bo3bo3b3o$47bo3b6o$46b2o3bo6b2o$48bo3b3obobo$52bo3bo3b
3o$53bo3b6o$52b2o3bo6b2o$54bo3b3obobo$58bo3bo3b3o$59bo3b6o$58b2o3bo6b
2o$60bo3b3obobo$64bo3bo3b3o$65bo3b6o$64b2o3bo6b2o$66bo3b3obobo$70bo3bo
3b3o$71bo3b6o$70b2o3bo6b2o$72bo3b3obobo$76bo3bo3b3o$77bo3b6o$76b2o3bo
6b2o$78bo3b3obobo$82bo3bo3b3o$83bo3b6o$82b2o3bo6b2o$84bo3b3obobo$88bo
3bo3b3o$89bo3b6o$88b2o3bo6b2o$90bo3b3obobo$94bo3bo3b3o$95bo3b6o$94b2o
3bo6b2o$96bo3b3obobo$100bo3bo3b3o$101bo3b6o$100b2o3bo6b2o$102bo3b3obob
o$106bo3bo3b3o$107bo3b6o$106b2o3bo6b2o$108bo3b3obobo$112bo3bo3b3o$113b
o3b6o$112b2o3bo6b2o$114bo3b3obobo$118bo3bo3b3o$119bo3b6o$118b2o3bo6b2o
$120bo3b3obobo$124bo3bo3b3o$125bo3b6o$126bo2bo6b2o$126b2o$128bob3ob2ob
4o!
I'm probably gonna throw in the towel here as my plate is pretty full with other pursuits and this is somewhat beyond my are of interest. Thanks for the leads, it really helped to have some idea of where to start poking to test.

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » February 23rd, 2024, 5:51 pm

I've reworked how some of the LLSSS constraints work in `src/entry.rs`. The good:

(*) Recentering, when used with an input file with question marks would prune the input grid down to just surround them, but not any constraint grids which is almost certainly not what you want. Now it will assert that the constraint grid is the same layout (U size and roots are identical) and prune constraint grids to match. When run with no question marks all grids are left exactly as-is.

(*) If there are duplicate roots it should now verify you've specified identical constraints on each copy, preventing a very obvious possible silent mistake.

(*) Fixed-board can now take `--constraint` as well and does similar grid shape checking and grid pruning. This is I think especially going to be handy for demanding custom complex clearance shapes. Fixed-board constraints grid, like fixed-board input grids, have no root labels (at least in the input text files).

The bad:

(*) Fixed-board now uses implicit U root spine labels instead of empty root spine labels. This probably doesn't matter and the only things it even has the potential to make worse are spine store sizes and spine store step/gc times. I have run plenty of recentering searches in this style (with "u" root labels) and neither spine store memory nor time has ever appeared on my radar. In a strict sense, spine store element counts are still bounded above by bcol element counts and so I expect spine store memory usage to still pale in comparison to bcol memory usage (which of course pales in comparison to col memory usage).

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » February 26th, 2024, 2:35 am

I added a `pd-map` subsubcommand to `grid-tool`. This can be used to convert something like this, a partial from one of these 3c/6 b2f searches:

Code: Select all

| ............*.*.*.*.*.*.*.*.*.* |                                 |                                 |                                 |                                 |                                 |
| ...........**.*.*.*.*.*.*.*.*.* | ...........**.*.*.*.*.*.*.*.*.* | ...........**.*.*.*.*.*.*.*.*.* |                                 |                                 |                                 |
| ..............*.*.*.*.*.*.*.*.* | ...........*..*.*.*.*.*.*.*.*.* | ...........*..*.*.*.*.*.*.*.*.* | ...........*..*.*.*.*.*.*.*.*.* | ...........*..*.*.*.*.*.*.*.*.* |                                 |
| ...........*.**.*.*.*.*.*.*.*.* | ............*.*.*.*.*.*.*.*.*.* | ............*.*.*.*.*.*.*.*.*.* | ............*.*.*.*.*.*.*.*.*.* | ............*.*.*.*.*.*.*.*.*.* | ............*.*.*.*.*.*.*.*.*.* |
| ............*.*.*.*..**.*.*.*.* | ...........**.*.*.***.*.*.*.*.* | ...........**.*.*.*.*.*.*.*.*.* | ...........**.*.*.*.*.*.*.*.*.* | ...........**.*.*.*.*.*.*.*.*.* | ...........**.*.*.*.*.*.*.*.*.* |
| ............*.*..*...*..*.*.*.* | ............*..**....*..*.*.*.* | ............*.*.*.*..**.*.*.*.* | ............*.*.*.***.*.*.*.*.* | ............*.*.*.*.*.*.*.*.*.* | ..............*.*.*.*.*.*.*.*.* |
| ........**.**....**...**..*.*.* | ........*...*.*...*..*..*.*.*.* | ............*.*..*...*..*.*.*.* | ............*..**....*..*.*.*.* | ...........**.*.*.*..**.*.*.*.* | ...........**.*.*.***.*.*.*.*.* |
| ........****..****....**..*.*.* | ...........**.*...*...**.**.*.* | ........**.**....**...**..*.*.* | ........*...*.*...*..*..*.*.*.* | ............*.*..*...*..*.*.*.* | ..........*....**....*..*.*.*.* |
| .........*.....**.........*.*.* | ........**.......*.....*..*.*.* | ........****..****....**..*.*.* | ...........**.*...*...**.**.*.* | ........**.**....**...**..*.*.* | ........*...*.*...*..*..*.*.*.* |
| .............*..........*.*.*.* | .........*..**.**.......*.*.*.* | .........*.....**.........*.*.* | ........**.......*.....*..*.*.* | ........****..****....**..*.*.* | ...........**.*...*...**.**.*.* |
| ....*.*.*.*.**.*...*....**..*.* | ...*...*........*.*.......*.*.* | .............*..........*.*.*.* | .........*..**.**.......*.*.*.* | .........*.....**.........*.*.* | ........**.......*.....*..*.*.* |
| ..*.*.*....***.*.**...****..*.* | ....*.*....*.*.*.*.....*.**.*.* | ....*.*.*.*.**.*...*....**..*.* | ...*...*........*.*.......*.*.* | .............*..........*.*.*.* | .........*..**.**.......*.*.*.* |
| ..*.***........*.**.*......**.* | ..*.*.**.**..**..**.*.*..*.**.* | ..*.*.*....***.*.**...****..*.* | ....*.*....*.*.*.*.....*.**.*.* | ....*.*.*.*.**.*...*....**..*.* | ...*...*........*.*.......*.*.* |
| ...*....***.*.......**..*...*.* | ..**..*.***....*.....**.....*.* | ..*.***........*.**.*......**.* | ..*.*.**.**..**..**.*.*..*.**.* | ..*.*.*....***.*.**...****..*.* | ....*.*....*.*.*.*.....*.**.*.* |
| ...*.*...*.....***.*.*.*...*..* | ...*.....*...***.*...***......* | ...*....***.*.......**..*...*.* | ..**..*.***....*.....**.....*.* | ..*.***........*.**.*......**.* | ..*.*.**.**..**..**.*.*..*.**.* |
| ....*..*...***.*.****...*****.* | ...*.*......****...*...**.***.* | ...*.*...*.....***.*.*.*...*..* | ...*.....*...***.*...***......* | ...*....***.*.......**..*...*.* | ..**..*.***....*.....**.....*.* |
|                                 |                                 | ....*..*...***.*.****...*****.* | ...*.*......****...*...**.***.* | ...*.*...*.....***.*.*.*...*..* | ...*.....*...***.*...***......* |
|                                 |                                 |                                 |                                 | ....*..*...***.*.****...*****.* | ...*.*......****...*...**.***.* |
via this:

Code: Select all

rlife grid-tool pd-map 3c6-b2f 3 -m '...=333,***=333'
into this:

Code: Select all

| 33333333333.*333333333333333333 |                                 |                                 |                                 |                                 |                                 |
| 33333333333**333333333333333333 | 33333333333**333333333333333333 | 33333333333**333333333333333333 |                                 |                                 |                                 |
| 33333333333..333333333333333333 | 33333333333*.333333333333333333 | 33333333333*.333333333333333333 | 33333333333*.333333333333333333 | 33333333333*.333333333333333333 |                                 |
| 33333333333*.*33333333333333333 | 33333333333.*333333333333333333 | 33333333333.*333333333333333333 | 33333333333.*333333333333333333 | 33333333333.*333333333333333333 | 33333333333.*333333333333333333 |
| 33333333333.3333333333333333333 | 33333333333*3333333333333333333 | 33333333333**.33333333333333333 | 33333333333**333333333333333333 | 33333333333**333333333333333333 | 33333333333**333333333333333333 |
| 3333333333333333333333333333333 | 3333333333.3*333333333333333333 | 33333333333.3333333333333333333 | 33333333333.3333333333333333333 | 33333333333.*.33333333333333333 | 33333333333..333333333333333333 |
| 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333.3*333333333333333333 | 33333333333*3333333333333333333 | 33333333333*3333333333333333333 |
| 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333*3.333333333333333333 |
| 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 |
| 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 |
| 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 |
| 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 |
| 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 |
| 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 |
| 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 |
| 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 |
|                                 |                                 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 | 3333333333333333333333333333333 |
|                                 |                                 |                                 |                                 | 3333333333333333333333333333333 | 3333333333333333333333333333333 |
Which is to say I used it like this to capture the non-c/2 cohorts and leave them as is, but replace all c/2 cohorts with 3's. This is the sort of grid you might use as (part of) a constraint file to force a 3c/6 search to be c/2 everywhere except for just the 3c/6 "rotor" from the partial result. This is the sort of trick I was doing for the middle version of the PD workflow (before I wrote rotor tree), but I was doing this remapping by either by hand and horrible vim/UNIX magic or with custom one-off setup code in `src/entry.rs`.


I've also published the `--unwrap-v` hacks which disable CA checks globally between the last generation and first generation. In order for the notion coded of "last" and "first" to make any sense, U and W must be space-like. This is already true of s2s and non-orthogonal geometries, but f2b/b2f orthogonal geometries will have to change, generally just replacing W=Y, e.g. "c2-f2b" can be replaced with:

Code: Select all

raw:0:0:1:0:-1:2:0:1:0
I do not recommend attempting to use this feature unless you have been following the edge repair posts and configurations very, very closely and even then it would probably be best to drop your plan and input files on the thread here for a consult.

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » March 15th, 2024, 2:19 am

I did a little benchmarking on an EC2 box with just 8 GB of RAM but 200GB+ of SSD swap space, trying to figure out if thrashing the crap out of swap is acceptable, at least performance-wise. It's possible with optimization for this kind of use it could do better, but I don't really love the results I got. Still, it is an maybe an alternative for those with different relative amounts of willingness to thrash their own disk drives and time to wait for answers.

I ran the `2c5-wing.in` searches from above with top pad 0, right pad 2, and varying left pad both on my personal laptop and on the EC2 box. Left pad 4 was the biggest to finish without hitting swap on the EC2 box and comparing times for the individual stages suggests a difference between my laptop's times and the EC2 box's times of almost exactly 1.5x (EC2 box worse). I then ran up to left pad 6. It reached its worst point of 53-54 GB and that expansion step (when memory was fullest) was almost exactly 7x slower on the EC2 box than on the laptop. Dividing the two I get that the EC2 box in swap was doing ~4.7x worst than I would have projected from its earlier performance in memory only.

Admittedly this is a rather tenuous way of estimating this and of course real searches and bigger boxes may do differently but it's enough to mostly dash my hopes for this being an easy out.

I'm now going to leave the arbitrary width B2a3i/S12 p3 search running for a bit since the box is only 15 cents an hour. My fancier computer had taken just 18 minutes to fill 120 GB and die so maybe we'll see if this EC2 box can get anywhere on that question overnight. This sort of thing (a search that died quickly) I guess is maybe still a candidate for this even if something like the min pop searches (which are multiple days even on my fanciest computer) are probably not.

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » March 18th, 2024, 2:14 pm

I've been actually using the improved constraint grid stuff in the wild and it is pretty nice. As an example, when trying to solve one of these c/4d sparkers I wanted to run the search in c/4d but the target stuff being sparked that it had to clear around was 3c/12d. I collapsed the 3c/12d stuff to c/4d with pd-fold, sprayed enough zeros around it to guarantee its safety, and used it as a constraint grid.

Input:

Code: Select all

| ...........................*............................................................................... | ........................**...*............................................................................. | .......................*.......**.......................................................................... | ...........................*............................................................................... |
| ...........................**.............................................................................. | ...........................**.............................................................................. | ............................*.............................................................................. | ........................................................................................................... |
| ........................................*.................................................................. | .......................................**.................................................................. | .......................................**.................................................................. | ......................................***.................................................................. |
| .......................................**.................................................................. | ......................................*..*................................................................. | .....................................**..*................................................................. | ..............................*......*....*................................................................ |
| ..............................**......**.*................................................................. | ..............................**.....**..*................................................................. | .............................***.....**.***................................................................ | .............................**.....*...*.*................................................................ |
| ..............................*.*...**..*.................................................................. | .............................**.....*....*................................................................. | .............................*......*.*.*.................................................................. | .............................*.*...**.*.*.................................................................. |
| ..............................*.....**.*.*................................................................. | ...............................*....*..*................................................................... | ..............................*....**..*................................................................... | .................................*....***.................................................................. |
| .................................*....*??????.............................................................. | .................................**..**??????.............................................................. | ................................****.*.??????.............................................................. | ................................*......??????.............................................................. |
| .................................**....??????.............................................................. | .................................**....??????.............................................................. | .................................**....??????.............................................................. | ................................*..*...??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
| .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. | .......................................??????.............................................................. |
Constraint:

Code: Select all

| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.................................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................ |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.................................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................. |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................. |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW*................................................................ |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW*................................................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW*................................................................ |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................................... |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.............................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.............................................................. |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.............................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.............................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.............................................................. |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................................. |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................................ |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................................... |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.......................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.......................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.......................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.......................................................... |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW......................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW......................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW......................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW......................................................... |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................................ |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW....................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW....................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW....................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW....................................................... |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...................................................... |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW..................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW..................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW..................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW..................................................... |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.................................................... |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................... |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.................................................. |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................. |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW................................................ |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................... |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.............................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.............................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.............................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.............................................. |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................. | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................. |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW............................................ |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................... |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.......................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.......................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.......................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.......................................... |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW......................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW......................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW......................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW......................................... |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................ | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW........................................ |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW....................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW....................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW....................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW....................................... |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...................................... |
| WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW..................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW..................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW..................................... | WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW..................................... |
It might seem tricky to have to line the grids up but really I had a single file with more complicated characters marking the types of things going on that I then collapsed into these two once I was done drawing it:

Code: Select all

| ...........................*................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ........................**...*...........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................*.......**.........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ...........................*...............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| ...........................**..............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ...........................**............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ............................*.............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ..........................................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| ........................................*..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................**.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................**.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ......................................***.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................**.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ......................................*..*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .....................................**..*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ..............................*......*....oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| ..............................**......**.*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ..............................**.....**..*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .............................***.....**.**oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .............................**.....*...*.oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| ..............................*.*...**..*.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .............................**.....*....*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .............................*......*.*.*.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .............................*.*...**.*.*...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| ..............................*.....**.*.*.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ...............................*....*..*...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ..............................*....**..*.....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .................................*....***....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .................................*....*??????xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .................................**..**??????.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ................................****.*.??????xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ................................*......??????xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .................................**....??????.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .................................**....??????.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .................................**....??????.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ................................*..*...??????.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????.....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????.......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????.........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????..........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????..........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????..........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????..........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????...........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????...........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????...........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????...........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????.............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????..............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????..............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????..............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????..............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????...............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????...............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????...............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????...............xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????.................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????..................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????..................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????..................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????..................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????...................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????...................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????...................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????...................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????....................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????....................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????....................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????....................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????.....................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.....................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.....................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.....................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????......................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????......................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????......................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????......................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????.......................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.......................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.......................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.......................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????........................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????........................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????........................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????........................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| .......................................??????.........................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.........................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.........................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | .......................................??????.........................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
What's really nice about the current implementation is that when used with fixed-board LLSSS and varying amounts of top/left/right pad the correct thing happens: the constraint grid is pruned to match and I don't have to rewrite it for every search.

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » March 24th, 2024, 12:19 am

I'm toying with a slight rework of how edges work in recentering searches. It's gonna take some explaining and will probably be best to think about in terms of the problem I want it to solve.

Often when searching I have a prompt like this, with a branch I need to solve and neighboring branch, sometimes rather close like this:

Code: Select all

|| LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR | LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR | LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR | LLLuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuRRR |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ............................................................................... | ............................................................................... | ............................................................................... | ............................................................................... |
|| ........!...................................................................... | ............................................................................... | .........!..................................................................... | .........!..................................................................... |
|| .........!..................................................................... | ........!!!.................................................................... | ........!!!.................................................................... | ........!!..................................................................... |
|| ........!!!.................................................................... | ........!!!.................................................................... | ........!!..................................................................... | ..........!.................................................................... |
|| .......!.!..................................................................... | .......!.!!.................................................................... | .........!!!................................................................... | .........!!!................................................................... |
|| .......!!!!!!.................................................................. | .........!!!................................................................... | ........!.!!................................................................... | ........!.!!................................................................... |
|| .......!!!!!!!................................................................. | .......!!!!!!!................................................................. | ........!.!!!.................................................................. | .......!!!!!!!................................................................. |
|| .......!!!!!!!................................................................. | .......!.!!!!.................................................................. | .......!!!!!!!................................................................. | .........!!!!!................................................................. |
|| ......!!!!!!!!!................................................................ | .......!!!!!!!!................................................................ | .......!!!!!!!................................................................. | ......!.!!!!!!!................................................................ |
|| ......!!!!!!!!!................................................................ | ......!.!!!!!!!................................................................ | ......!!!!!!!!!!............................................................... | .......!!!!!!!!!............................................................... |
|| .......!!!!!!!!!............................................................... | .......!!!!!!!!................................................................ | ..........!!!!!!............................................................... | .......!!!!!..!!............................................................... |
|| ........!!.!!!.................*............................................... | ........!!!!!!!................**.............................................. | ........!!!!!!!................**.............................................. | ........!!!!!!!!...............*............................................... |
|| ...............................**.............................................. | ............!...................*.............................................. | ........!!!!!!!!*.............*...**........................................... | ........!!......!..........**.......*.......................................... |
|| .....................**.......**..**........................................... | .........*********...*.....*..**.****.......................................... | ........***********.*.*...***********.......................................... | ..................*....*........**..*.......................................... |
|| ......*.***********.*...*.***....*.*.*......................................... | .......**.........**.*.*.**.**.....*..*........................................ | ......*************.*.*.*******........*....................................... | ......*...............*..*......*.............................................. |
|| ........**.****.***.....*..**......*.*.**...................................... | .....*.*................*..........*...**...................................... | .....*.*.........*....*......*....***...*...................................... | ...........**.........*......**...*.***.*...................................... |
|| ....**...*..*......*...**..*....*..*...*...........................**.......... | ...***...*.*...*.****..******......*..**............................*.......... | ...*....**....*...*****...**......*.*.***...................................... | ......*.***..********....****....**.*.*.*...................................... |
|| ...**....*...**.....**...*.......*.**....*...................**......*......... | ...***...**..**......**.*........*...*........................*......*......... | ...*.*...**..***.*...**.*.**......*..*.*.............................*......... | ...*.*....*....*.*.......***.....**.*...*...........................**......... |
|| .......*.*.....*...***............****....*...............**...*.....*......... | ..............*...**.*............*...*...*.................*..*....**......... | ....**...*...**...**.**...........*.*.*...**...................*....**......... | ....**.......*.*****..**...........**...*.*...................**....*.*........ |
|| .......*.........*.*.................**....*.........**.*....**..*...**........ | ......*.*.........**...............*.**...**...*.....**..*...**.*...*.......... | ........**.......*..*................***.*...........**..*....**....*.*........ | ........***.......****..............*..***.*.........*......*..*...**.*........ |
|| ....**.....*...........................*...*..***....*....***....*...**........ | ....*..**.*.......*...................*...**...*.....**..*****.......**........ | ..........*..........................**..*..*..*.*..*...*..****.....*.*........ | .........**.......*..................*.*****...*.**.....**.**.**...**.**....... |
|| ....***.**.*......*.......................*........**.....*.................... | ........**.*.....***......................*.*...***..*...**..........**........ | ...........*.....*.*......................*.*..**.*****.*...*.......*..*....... | .....**...**..............................*.*.*......*.***.**......**.......... |
|| ...*****..*......***.......................**...*.***....*........*..*......... | ...*...****......*.........................*....*.*.*....*...........**........ | ....****...*.....*.*.......................*...**.**.....*..........*.......... | ....*..*..***.......*......................*....*......***.........***..*...... |
|| ..................**..*.*.......................**.......**..........**...*.... | ....***..**.........*...*...................***...........*..........****.*.... | ....****...*.........*.*....................***....**...*.*.........*..*.*..... | ........*.........**....*...................****..*.**.**.*.........**....*.... |
|| .........**......***...**....................***.**.***.**.............****.... | .........**......*..*.*.*....................*......***.***..........*....*.... | .....*..*..........**...**..........................*.**.**..........*....**... | ....**.*...........*.....*....................**.*..*.*...*...........*....*... |
|| ........*.*.......**...*......................******.*................**.*..... | ........*.**........*..**....................*.....*.**...............**.**.... | ...........*.......***.**.....................*.****..**.*.............*.**.... | ..........**......*..*.***.....................**..*.***.**...........*.****... |
|| ........*.*......*.*........................................................... | ..........*........*...........................****..................**........ | ..........**.......*............................***.................*..*....... | ..........**.......*...............................*....................*...... |
|| .......***..........................................................**......... | ......****........*.................................................**......... | ......*..*......................................**............................. | .........*..........*...........................*.*............................ |
|| .....**..........*..*...........*..*................................**......... | ......***...........................................................**......... | ......*..*.......****.................................................*........ | ......*..**.......***................................................*......... |
|| ................*...*......*..*....*........................................... | ................**.***............**.................................*......... | .......***..........*.............**................................**......... | .......*........*...**............**.................................**........ |
|| ..??????????....*...*..*..........*...................................*.*...... | ..??????????...............**......*....................................*...... | ..??????????....***.*......*.*....**...................................*....... | ..??????????....*.*..*......**.*.****...................................*...... |
|| ..??????????............*..**...*...*.*................................**...... | ..??????????.....*......*..***.*......*...............................*.*...... | ..??????????.....**...*.*....****....*..................................**..... | ..??????????.........*.*....******....*..................................*..... |
|| ..??????????....*.*******...*.**.....**................................*....... | ..??????????.....**..****...*..**...*.*................................**...... | ..??????????.....**..*..*.......*.....**...............................**...... | ..??????????....*...**..**...*..*......*...............................***..... |
|| ..??????????......***.......*...*....*......................................... | ..??????????..........**...**.*.*....**........................................ | ..??????????.....****...*.....*......**........................................ | ..??????????.....*..**.**......*.....***....................................... |
|| ..??????????......*.........**..*.............................................. | ..??????????......*.**.....***..**............................................. | ..??????????........*...**....*..*............................................. | ..??????????......*..........**..*............................................. |
|| ..??????????........*.*...*....**.............................................. | ..??????????.........**.*****..**.............................................. | ..??????????........***.**...*.***............................................. | ..??????????........*.....*...****............................................. |
|| ..??????????..........****.*................................................... | ..??????????.............*.*................................................... | ..??????????.........*****..................................................... | ..??????????........*....*......*.............................................. |
|| ..??????????..........***..*................................................... | ..??????????..........*....**.................................................. | ..??????????................*.................................................. | ..??????????..........*****.*.................................................. |
|| ..??????????..............**................................................... | ..??????????...........*..**................................................... | ..??????????..............***.................................................. | ..??????????...............**.................................................. |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????...............*................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
|| ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... | ..??????????................................................................... |
The conundrum here is how far should I right pad this? If I do zero, the branch I'm solving can never step rightward at all but if I pad even a little bit the sibling branch becomes visible in the search window and starts counting towards e.g. mid_steps, SRV2's notion of width, what can or can't match in the end DB, etc.

Usually I deal with this sort of setup by used fixed board (whose notion of width is both better and worse) or by running separate recentering searches with varying amounts of right pad. Always one where the right branch is not visible at all and usually one maybe 4ish columns beyond that. Sometimes with more, other amounts if I'm feeling lucky about it.

What if instead I could run all those right pad searches mixed together (EDIT: and I don't just mean in parallel, I mean in the same search and allowed to hybridize with each other as they go)? The notion of "what is the right edge?" needs to change to not just be one fixed spot but the union of all of them. Thankfully this requires no real change to the hardest, innermost parts of the engine as some edges (e.g. symmetric edges) can already have multiple values. The current sketch I'm testing implements e.g. right pad a little differently, by throwing all possible 2 column slices between the question marks and the expanded window into the right edge. This requires a change to the "single constant" edge that does the expansion to be able to expand them all correctly, but it's not that bad. There is one other tiny detail about how expansion works that makes this not quite work, but adding --left-closure pd:1:1,zero plus --right-closure pd:1:1,zero papers over it. Perhaps more on that later.

The result in this sketch is that as it goes, partials, as viewed by the various monitors, ends, and by the expansion step's notion of mid_steps, are exactly as wide as they need to be, reaching into the sibling branch only as much as they have changed. All the extensions of the columns of the sibling branch do come along for the ride and so they're always available to expand into.

As an example even with --right-pad 65 to slurp the entire input file, I get partials like this one where it hasn't eaten very far right at all:

Code: Select all

| ..............  |                 |                 |                 |
| .....*........  |  .............. |  ........****** |  .......******* |
| ..........**..  |  .....*.******* |  ......**...... |  .....********* |
| .....*.***..**  |  .......**.**** |  ....*.*....... |  ....*.*....... |
| ..*.*....*....  |  ...**...*..*.. |  ..***...*.*... |  ..*....**....* |
| ...**.......*.  |  ..**....*...** |  ..***...**..** |  ..*.*...**..** |
| .......***....  |  ......*.*..... |  .............* |  ...**...*...** |
| ........**....  |  ......*....... |  .....*.*...... |  .......**..... |
| ....**...**...  |  ...**.....*... |  ...*..**.*.... |  .........*.... |
| ...*..*..***..  |  ...***.**.*... |  .......**.*... |  ..........*... |
| .......*......  |  ..*****..*.... |  ..*...****.... |  ...****...*... |
| ...**.*.......  |  .............. |  ...***..**.... |  ...****...*... |
| .........**...  |  ........**.... |  ........**.... |  ....*..*...... |
| .........**...  |  .......*.*.... |  .......*.**... |  ..........*... |
| ........*.....  |  .......*.*.... |  .........*.... |  .........**... |
| ........**....  |  ......***..... |  .....****..... |  ........*..... |
| ..*..**.......  |  ....**........ |  ...*****...... |  ....*...*..... |
| .....*........  |  ...**......... |  .............. |  ...*...**..... |
| .....*....*...  |  ...***..**.... |  ..*..*..**.... |  ..***.****.... |
| ...*..*.**.*..  |  ...*....*.*... |  ..**.*.**.*... |  ..**.*.**.*... |
| ...*......**..  |  ...*..*....*.. |  ...*.**....*.. |  ...*.*...*.*.. |
| .....*..****..  |  ..**.**.*.**.. |  ...*..*...**.. |  ...*......**.. |
|                 |                 |  ....*.**...... |  ....*......... |
But then also partials like this where eventually it did decide to step into that branch a little:

Code: Select all

| .................*  |                     |                     |                     |
| .....*............  |  .................. |  ........*********. |  .......*********** |
| ..........**......  |  .....*.*********** |  ......**.........* |  .....************* |
| .....*.***..******  |  .......**.****.*** |  ....*.*........... |  ....*.*.........*. |
| ..*.*....*....*.*.  |  ...**...*..*...... |  ..***...*.*...*.** |  ..*....**....*...* |
| ...**.......*.****  |  ..**....*...**.... |  ..***...**..**.... |  ..*.*...**..***.*. |
| .......***.......*  |  ......*.*.....*... |  .............*...* |  ...**...*...**...* |
| ........**.......*  |  ......*.........*. |  .....*.*.........* |  .......**.......*. |
| ....**...**.......  |  ...**.....*....... |  ...*..**.*.......* |  .........*........ |
| ...*..*..***......  |  ...***.**.*......* |  .......**.*.....** |  ..........*.....*. |
| .......*.........*  |  ..*****..*......** |  ..*...****......*. |  ...****...*.....*. |
| ...**.*...........  |  .................* |  ...***..**........ |  ...****...*....... |
| ..........*......*  |  ........**......** |  ........**......*. |  ....*..*.......... |
| ........**.*......  |  ........*.*.*....* |  ........*......... |  ..........*....... |
| ...........****...  |  ......**.....*..*. |  ......*.**.*...... |  .........*.*...... |
| ......**...***...*  |  ......**..*....... |  .......*.*.***...* |  .......*.*..*.**.. |
|                     |                     |                     |  .......*...*..**** |
And the "unique" partial view shows a funny map of where changes are under consideration in total:

Code: Select all

| ...............*....*........**..*.......................................  |                                                                            |                                                                            |                                                                            |
| ...*...............*..*......*...........................................  |  ..................**.......**..**........................................ |  ......*********...*.....*..**.****....................................... |  .....***********.*.*...***********....................................... |
| ........**.........*......**...*.***.*...................................  |  ...*.***********.*...*.***....*.*.*...................................... |  ....**.........**.*.*.**.**.....*..*..................................... |  ...*************.*.*.*******........*.................................... |
| ...*.***..********....****....**.*.*.*...................................  |  .....**.****.***.....*..**......*.*.**................................... |  ..*.*................*..........*...**................................... |  ..*.*.........*....*......*....***...*................................... |
| *.*....*....*.*.......***.....**.*...*...........................**......  |  .**...*..*......*...**..*....*..*...*...........................**....... |  ***...*.*...*.****..******......*..**............................*....... |  *....**....*...*****...**......*.*.***................................... |
| .**.......*.*****..**...........**...*.*...................**....*.*.....  |  **....*...**.....**...*.......*.**....*...................**......*...... |  ***...**..**......**.*........*...*........................*......*...... |  *.*...**..***.*...**.*.**......*..*.*.............................*...... |
| .....***.......****..............*..***.*.........*......*..*...**.*.....  |  ....*.*.....*...***............****....*...............**...*.....*...... |  ...........*...**.*............*...*...*.................*..*....**...... |  .**...*...**...**.**...........*.*.*...**...................*....**...... |
| ......**.......*..................*.*****...*.**.....**.**.**...**.**....  |  ....*.........*.*.................**....*.........**.*....**..*...**..... |  ...*.*.........**...............*.**...**...*.....**..*...**.*...*....... |  .....**.......*..*................***.*...........**..*....**....*.*..... |
| ..**...**..............................*.*.*......*.***.**......**.......  |  .**.....*...........................*...*..***....*....***....*...**..... |  ??..**.*.......*...................*...**...*.....**..*****.......**..... |  .......*..........................**..*..*..*.*..*...*..****.....*.*..... |
| .*..*..***.......*......................*....*......***.........***..*...  |  ?***.**.*......*.......................*........**.....*................. |  ...??**.*.....***......................*.*...***..*...**..........**..... |  ...?....*.....*.*......................*.*..**.*****.*...*.......*..*.... |
| ?....*.........**....*...................****..*.**.**.*.........**....*.  |  **??*..*......***.......................**...*.***....*........*..*...... |  ?...*??*......*.........................*....*.*.*....*...........**..... |  .**?*...*.....*.*.......................*...**.**.....*..........*....... |
| .?*?*...........*.....*....................**.*..*.*...*...........*....*  |  .??...?........**..*.*.......................**.......**..........**...*. |  ?**?..???........*...*...................***...........*..........****.*. |  ??**??..*.........*.*....................***....**...*.*.........*..*.*.. |
| ...?.?????.....*..*.***.....................**..*.***.**...........*.****  |  ......???.....***...**....................***.**.***.**.............****. |  .??..?**......*..*.*.*....................*......***.***..........*....*. |  ?.*.?*..........**...**..........................*.**.**..........*....** |
| .??????????.....*...............................*....................*...  |  ??????????.....**...*......................******.*................**.*.. |  .....?????.......*..**....................*.....*.**...............**.**. |  ........??......***.**.....................*.****..**.*.............*.**. |
| ???????????......*...........................*.*.........................  |  ??????????....*.*........................................................ |  ??????????......*...........................****..................**..... |  ??????????......*............................***.................*..*.... |
| ???????????....***................................................*......  |  ???????????......................................................**...... |  ???????????....*.................................................**...... |  ???????????..................................**.......................... |
| ???????????..*...**............??.................................**.....  |  ???????????...*..*...........?..?................................**...... |  ???????????......................................................**...... |  ???????????...****.................................................*..... |
| ???????????..*.*..*......??.?.????...................................*...  |  ????????????.*...*......?..?....?........................................ |  ????????????.**.***............??.................................*...... |  ???????????......*.............??................................**...... |
| ????????????......*.*....??????....??????????????????????????????.....*..  |  ????????????.*...*..*......?...?...................................*.*... |  ????????????............??..?...?....................................*... |  ????????????.***.*......?.?....??...................................*.... |
| ???????????..*...**..**...?????.??.???????????????????????????????..**?..  |  ????????????.........*..??.???..?????????????????????????????????...**... |  ????????????..*......*..???.?...?????????????????????????????????..*.*... |  ????????????..**...*.*....????....??????????????????????????????.....**.. |
| ????????????.??..**.**...??????????????????????????????????????????...?..  |  ????????????.*.*******...?.??...??????????????????????????????????..*.... |  ????????????..**..****...?..??..??????????????????????????????????..*??.? |  ????????????.??*..*..*.....???..?..???????????????????????????????..**..? |
| ???????????????*........???????????????????????????????????????????.....?  |  ?????????????.??**......????????????????????????????????????????????.???? |  ????????????.?.?...**...??????????????????????????????????????????....??? |  ????????????.???**...*..???????????????????????????????????????????....?? |
|                                                                            |                                                                            |  ??????????????????*?...????????????????????????????????????????????.????? |  ????????????.???.??..*?????????????????????????????????????????????.????? |
Anyway, there is still a bunch of testing to do and I have to figure out what to do about the issue I papered over with "pd:1:1" above (most likely I will change the edge expansion semantics in a minor way that will have very little effect, either in behaviour or in performance, for typical searches). Most likely some time in the next few months this will ship and be the default for recentering searches where the input files have question marks. I will try to remember to announce it and include e.g. a `--strict-right-edge` option to go back to the current behaviour.

EDIT: I've let it run a bit longer and even very small searches are finding partials that look much, much better than what I used to solve this actual problem earlier. Consider this one:

Code: Select all

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

Code: Select all

x = 117, y = 44, rule = LifeHistory
F.18BA4BAB2.F28.F28.F28.F$F.6BA15BA2B2.F2.21B2A2B.F2.9B9A3BA3B.F2.8B
11ABABA2B.F$F.11B2A9BA2B2.F2.6BAB11ABA3BA.F2.7B2A9B2ABABAB.F2.6B13ABA
BABA.F$F.6BAB3A2B8A4B2.F2.8B2AB4AB3A5BA.F2.5BABA16BA.F2.5BABA9BA4BA2B
.F$F.3BABA4BA4BABA7B2.F2.4B2A3BA2BA6BA3B2A.F2.3B3A3BABA3BAB4A2B2A.F2.
3BA4B2A4BA3B5A2B.F$F.4B2A7BAB5A2B2AB2.F2.3B2A4BA3B2A5B2A3B.F2.3B3A3B
2A2B2A6B2ABA.F2.3BABA3B2A2B3ABA3B2ABA.F$F.8B3A7B4A3B2.F2.7BABA5BA3B3A
3B.F2.14BA3B2ABA3B.F2.4B2A3BA3B2A3B2AB2A2B.F$F.9B2A7BA6B2.F2.7BA9BABA
5B.F2.6BABA9B2A5B.F2.8B2A7BA2BA4B.F$F.5B2A3B2A13B2.F2.4B2A5BA13B.F2.
4BA2B2ABA7BA6B.F2.10BA14B.F$F.4BA2BA2B3A7BA4B2.F2.4B3AB2ABA6BA6B.F2.
8B2ABA5B3A5B.F2.11BA5BABA5B.F$F.8BA9B2A4BA2.F2.3B5A2BA6B3A5B.F2.3BA3B
4A6BA7B.F2.4B4A3BA5BABA5B.F$F.4B2ABA11BA5B2.F2.18B2A2BABA.F2.4B3A2B2A
9BA3BA.F2.4B4A3BA9BABAB.F$F.10B2A6BA2BAB2A2.F2.9B2A6B3A3B2A.F2.9B2A6B
A2BABABA.F2.5BA2BA10B2A3BA.F$F.10B2A7BA5B2.F2.8BABA7B2A3BAB.F2.8BAB2A
8BA2B2A.F2.11BA7B3AB2A.F$F.9BA10BA4B2.F2.7BA2BA6BABA5B.F2.6BA3BA8BA5B
.F2.6BA3B2A7BA5B.F$F.8B3A7B3A4B2.F2.6B4A15B.F2.6B4A8BA6B.F2.9BA15B.F$
F.6B2A8BA3B2A3B2.F2.5BA11BA2BA4B.F2.5B4A16B.F2.5BA3BA7B4A4B.F$F.6B2AB
2A5BABA2BA3B2.F2.4BA11BA3BA4B.F2.4BA2BA8B2AB3A3B.F2.9BA10BA4B.F$F.6B
2A13BABAB2.F2.5B4ABA5BA3BA2BAB.F2.6B3ABA14B.F2.6B6A4B3ABA4B.F$F.10B2A
4BA3B2A2BA2.F2.4B2A3B2A13BA.F2.3BA6B2A5BA6BA.F2.7BA9B2A3BABA.F$F.2BAB
2A3BABA5BA2B2AB2A2.F2.3B2A2BA2BA5BAB7A.F2.2BA7B2A5B2A2B4A.F2.2BABA5B
2A5B2A2BA2BA.F$F.3B2A3B3A7BA6B2.F2.2B3A5BA7B3A4B.F2.2BAB2A16B2AB.F2.
2BABA4BABA5B4A3BA.F$F.8B3A9BA4B2.F2.6BA11BA6B.F2.3BA5B2A7BAB2A3B.F2.
3B2A4B2A9BA3BA.F$F.8BAB2A8BA4B2.F2.7BAB2A9BABA2B.F2.7B3A11B2ABA.F2.7B
A12B3ABA.F$F.13BA8B3A2.F2.8BA3B2A8B3A.F2.8B3A2BA11B.F2.7BA2BA10B4A.F$
F.10B2AB2A10B2.F2.11B3A8B3A.F2.11BA10BA2B.F2.9BAB2A12B.F$F.14BA10B2.F
2.12B3A10B.F2.11BA2BA8BAB.F2.11B3A11B.F$F.15BA9B2.F2.14BA10B.F2.12BAB
A10B.F2.14B2A9B.F$F.14B2A9B2.F2.13BA11B.F2.14BA10B.F2.13BA11B.F$F.15B
2A8B2.F2.15BA9B.F2.25B.F2.15BA9B.F$F.15BA9B2.F2.16BA8B.F2.15B2A8B.F2.
15B3A7B.F$F.13BAB3A7B2.F2.12BA3BA8B.F2.16B2A7B.F2.25B.F$F.13B5A7B2.F
2.12BA4BA7B.F2.12B2A2B2A7B.F2.12BA3B2A7B.F$F.15BA2BA6B2.F2.11B2A4BA7B
.F2.11BA13B.F2.13B2AB2A7B.F$F.11BABA2B3A6B2.F2.12B2AB4A6B.F2.13BABA2B
A6B.F2.11BABA11B.F$F.12B2A5BA5B2.F2.11B2A3B2A7B.F2.11B3ABA2BA6B.F2.
12B2A2B3A6B.F$F.25B2.F2.25B.F2.17BA7B.F2.12BA4BABA5B.F$F.20BA4B2.F2.
18BA6B.F2.18B2A5B.F2.17BABA5B.F$F.18BABA4B2.F2.18B2A5B.F2.18B2A5B.F2.
25B.F$F.17BA3B2A2B2.F2.20BA4B.F2.19B2A4B.F2.18B3A4B.F$F.25B2.F2.15B2A
4BA3B.F2.21BA3B.F2.18B2ABA3B.F$F.16B2A2BABA2B2.F2.19BABA3B.F2.16B2ABA
BA3B.F2.18BA2B2A2B.F$F.14BA5B3A2B2.F2.17B3AB2A2B.F2.14BA4BA2BA2B.F2.
14BA2B2AB3A2B.F$F28.F28.F28.F2.15BABABA5B.F!
The branch has slipped under its neighbor in a way that a single-shot recentering search would have to have had a very large right pad (and thus mid_steps) to see. Fixed board would also struggle to find this because it's rather snaky and is much wider in total than it is at any point. I am growing more and more certain this is going to ship and be a real improvement in the suitability of recentering for solving crowded problems.

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » March 26th, 2024, 2:07 pm

amling wrote:
March 15th, 2024, 2:19 am
I'm now going to leave the arbitrary width B2a3i/S12 p3 search running for a bit since the box is only 15 cents an hour. My fancier computer had taken just 18 minutes to fill 120 GB and die so maybe we'll see if this EC2 box can get anywhere on that question overnight. This sort of thing (a search that died quickly) I guess is maybe still a candidate for this even if something like the min pop searches (which are multiple days even on my fanciest computer) are probably not.
It ran for about 10 days (at only ~22% CPU average) and eventually filled the 200 GB I had allocated it. So still no answer to whether or not B2a3i/S12 has p3 oscillators and presumably if we want it answered any time soon we're gonna need to spring for a beefier machine.

User avatar
confocaloid
Posts: 3524
Joined: February 8th, 2022, 3:15 pm

Re: amling search program principles discussion / brain dump

Post by confocaloid » March 26th, 2024, 2:17 pm

Well, I didn't investigate this question, but if B2a3i/S12 doesn't have any p3 oscillators, there won't be any results regardless of how much RAM is available, right? It might be easier/cheaper to disprove them.

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » March 26th, 2024, 6:12 pm

confocaloid wrote:
March 26th, 2024, 2:17 pm
Well, I didn't investigate this question, but if B2a3i/S12 doesn't have any p3 oscillators, there won't be any results regardless of how much RAM is available, right? It might be easier/cheaper to disprove them.
This was an arbitrary width search I was running under the assumption that they don't exist and I was expecting/hoping it to find nothing (but exhaustively as LLSSS arbitrary width searches can be). If an obstruction exists it's going to have to be complex and weird in that we've got fairly long partials (9ish rows of p3 stuff) but of course these things happen (something something non-p2 phoenixes in B3/S23).

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » May 11th, 2024, 12:17 am

I've been running that same B2a3i/S12 p3 search on another EC2 box, this one with ~64 GB RAM and ~2 TB of SSDs. It's only a fairly subjective feeling from reading the logs, but it seemed like it was merely "slow" into maybe the ~300-500 GB range and thus that the earlier tests with 8 GB RAM may have been particularly limited by that low 8 GB of RAM. It's now heading into the ~1.5 TB range and I would say the pace has slowed further once again to "glacial" and I assume it's not going to make it before it hits 2 TB or I give up and decide I need to stop paying Amazon, even for this cheap(ish) of a box.

What does this mean for LLSSS? Well, it makes me very slightly more optimistic about using swap to extend the usefulness of a computer materially past its actual memory. Perhaps more news on that front soon.

What does it mean for B2a3i/S12? This search did successfully pass the critical point all the finite width searches I had run stopped at so I'm less suspicious that there are no p3 oscillators, but rather that maybe they just have to be fairly wide. Here is the thinnest partial for the latest step it has completed:

Code: Select all

| .......................... | .......................... | .......................... |
| .................*........ | .................*........ | .................*........ |
| ..................*....... | ...............*..*....... | ..................*....... |
| ............*..**..*...... | ............*......*...... | ............*......*...... |
| .........*...*.**.*....... | .........*...*....*....... | .........*...*.**.*....... |
| ..........*............... | .......*..*....**......... | ..........*....*.......... |
| .....*.**....*.......*.... | .....*.........*.**..*.... | .....*........*......*.... |
| ...*.*.**.******.**.*..*.. | ...*.*....*....*.**.*..*.. | ...*.*.**.**..**....*..*.. |
| ..*.........*.....*...*... | ..*....**.*...........*... | ..*....*...*.....**...*... |
| .....*........*....*...... | .......*.**...**....*..... | ......*...*...***.*....... |
| ..******.**.*.*...**..**.. | ..**...*....*..*..******.. | ..**..**.**.*...***...**.. |
| .........**.***.......*... | ............*..*..*....... | ...*........*............. |
| ...*..*.......*.....*..*.. |                            |                            |
This is two steps (as in two lines of cells, one in the last generation, one in the first generation) beyond where my finite width searches had been exhausted. Unfortunately they're not giving me any real sort of aha moment.

EDIT: But here is something semi-aha that I realized when staring closely at one of the random partials, a p3 wick:

Code: Select all

x = 54, y = 122, rule = B2a3i/S12
bob2o3bo$o3b2obo$4bo$2bobo2b2o$bo5b2o$3b2o5bo$3b2o2bobo$7bo$4bob2o3bo$
3bo3b2obo$7bo$5bobo2b2o$4bo5b2o$6b2o5bo$6b2o2bobo$10bo$7bob2o3bo$6bo3b
2obo$10bo$8bobo2b2o$7bo5b2o$9b2o5bo$9b2o2bobo$13bo$10bob2o3bo$9bo3b2ob
o$13bo$11bobo2b2o$10bo5b2o$12b2o5bo$12b2o2bobo$16bo$13bob2o3bo$12bo3b
2obo$16bo$14bobo2b2o$13bo5b2o$15b2o5bo$15b2o2bobo$19bo$16bob2o3bo$15bo
3b2obo$19bo$17bobo2b2o$16bo5b2o$18b2o5bo$18b2o2bobo$22bo$19bob2o3bo$
18bo3b2obo$22bo$20bobo2b2o$19bo5b2o$21b2o5bo$21b2o2bobo$25bo$22bob2o3b
o$21bo3b2obo$25bo$23bobo2b2o$22bo5b2o$24b2o5bo$24b2o2bobo$28bo$25bob2o
3bo$24bo3b2obo$28bo$26bobo2b2o$25bo5b2o$27b2o5bo$27b2o2bobo$31bo$28bob
2o3bo$27bo3b2obo$31bo$29bobo2b2o$28bo5b2o$30b2o5bo$30b2o2bobo$34bo$31b
ob2o3bo$30bo3b2obo$34bo$32bobo2b2o$31bo5b2o$33b2o5bo$33b2o2bobo$37bo$
34bob2o3bo$33bo3b2obo$37bo$35bobo2b2o$34bo5b2o$36b2o5bo$36b2o2bobo$40b
o$37bob2o3bo$36bo3b2obo$40bo$38bobo2b2o$37bo5b2o$39b2o5bo$39b2o2bobo$
43bo$40bob2o3bo$39bo3b2obo$43bo$41bobo2b2o$40bo5b2o$42b2o5bo$42b2o2bob
o$46bo$43bob2o3bo$42bo3b2obo$46bo$44bobo2b2o$43bo5b2o$45b2o5bo$45b2o2b
obo$49bo$46bob2o3bo$45bo3b2obo!
It seems very finicky to extend in general and my vague efforts to pair two of them up (perpendicular to each other) met with no success.

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » May 16th, 2024, 6:09 pm

This is sort of idle musing into the void, but I was thinking about changing how recentering expansion does its "rcol" index.

First, the background: the main structure of the recentering state is "col", a single giant array of pairs of indices into "bcol" (another structure whose contents do not really matter here). We keep this in sorted order meaning we can efficiently-ish (bisection) query l2r ("what are all the entries with this left value") but not r2l ("what are all the entries with this right value"). Previously we got by and somehow always managed to rewrite any r2l queries by reconsidering whatever loop the were contained in and somehow making it all one long walk over the entire col. Somewhere along the line we started computing "rcol", an array of indices back into col, but sorted by the right half of the pair they point to in col. Now the same sort of bisection can be done (in rcol) to answer r2l queries efficiently-ish. This is where the code stands right now.

There are a few problems with this. rcol construction is expensive, rcol is large, and rcol query is actually still pretty bad (bisection is always pretty expensive). The first and second are solved, in the sense of trading off for CPU, by going back to no rcol. The first and the third can be solved by keeping rcol as a collection of linked lists instead. So instead we keep "heads", an index of the first col index for each right value and "nexts", an index of the next (as in next for the same right value) for each col index.

The former, "no rcol", should be slower, at least for some searches (otherwise why did I make rcol in the first place?) but should save some searches memory (searches that hit mem peak later when rcol has already been dropped might not notice).

The latter, "linked lists rcol" should be faster (it's way easier to build heads/nexts as there is no sorting and query is faster as there is no bisection) but should be a little larger (nexts is the same size as current rcol and heads only adds a somewhat smaller amount of memory, but again only for searches where rcol is present at memory peak).

Unfortunately this isn't really shaking out as expected in benchmarking.

One problem is that making rcol implementation abstract should have been zero cost but in testing it's not. It's weird that it seems to slightly slow down most parts of the program, even those that aren't changed. I assume there is some chaotic dependence on the exact size of generated code or how much optimization it tries or something.

The other problem is that for some searches "no rcol" (with abstraction penalty!) is actually beating even the original unchanged (as in unabstracted) version of the code. Certainly not all searches, but there are some among the handful of searches I picked to benchmark with.

At the end of the day I sort of have to pick: (a) current rcol, (b) no rcol, (c) linked lists rcol, or (d) left abstracted so it's changeable (athough will require a recompile). I guess I'm leaning towards (d) with a default of linked lists rcol. I'm sensitive to memory sizes but the tradeoff is good enough, even with the abstraction penalty, and particularly memory-sensitive search projects can switch to current rcol or no rcol and recompile.

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » May 17th, 2024, 1:37 pm

After a little more benchmarking my best guess is that "no rcol" is winning where it is due to it benefiting somewhat more from parallelism than the others due to the way the r2l query gets reformulated in its containing loop. All the searches where it was winning were on computers with quite a few cores.

Given how small the relative memory hit is for "linked lists rcol", how much its winning by (in all cases), and how much more it wins by when unabstracted I think I'm probably going to just go with it and inline it.

As an example a pretty serious search here heads maxed at 1.23 GB and the smallest memory size during which that was present was 23.55 GB. This wasn't even the memory peak of this particular search (and so it saw no peak difference at all), but it shows the sort of relative sizes we're talking about.

I'm a little unsure about time numbers because they've been weirdly variable on this box, but I'm guessing for this search abstracted linked lists versus original unabstracted rcol is going to be something like saving 1700s on 7000s. TBD how much this particular search saves unabstracted but the next smaller version of this saved 58s on 570s going from abstracted linked lists to unabstracted linked lists.

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » May 18th, 2024, 4:27 pm

amling wrote:
May 17th, 2024, 10:38 pm
...the state of the art for doing from-zeros searches for fixed board searches like that is the "W cycle avoidance filter" which is a royal pain, performs poorly, and requires a recompilation...
Well, I fixed one of those problems anyway. I've just pushed `a6556ac079cf` which adds e.g. `--filters wcaf` so no more recompile required. It's still confusing to use and still performs questionably. It takes zero, one, or three arguments depending on what you want specified/defaulted of w_cycle_size and w_check_min/max. Please hit me up here for a consult if you're thinking of using this.

As an example an input file like:

Code: Select all

| ....................... | ....................... | ....................... |
| ....................... | ....................... | ....................... |
| ....................?.. | ....................?.. | ....................?.. |
Can now be used with a search like:

Code: Select all

rlife llsss c3-f2b --rule 'B3/S12' 1.in --filters wcaf --right-edge gutter 00 04 00
To run a gutter width 13 search (the starting question mark plus the edge columns are width 5, then plus 4 on each side pad gets to 13) and get partials like:

Code: Select all

20240518 13:25:55 [INFO] Firstest:
20240518 13:25:55 [INFO] | ......... | ......... | ......... |
20240518 13:25:55 [INFO] | ......... | ......... | ......... |
20240518 13:25:55 [INFO] | ....*.... | ....*.... | ...***... |
20240518 13:25:55 [INFO] | ...*..*.. | ...**.*.. | .....**.. |
20240518 13:25:55 [INFO] | ...*...*. | ...*...*. | ..*..***. |
20240518 13:25:55 [INFO] | ......... | ...*..*.. | .......*. |
20240518 13:25:55 [INFO] | ...***.*. | ..**.*.*. | ...**.... |

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » June 12th, 2024, 6:25 pm

I am having a hard time managing BIDX for searches on the new 1 TB computer. The problem is searches run with BIDX=u32 (the default) and 2 TB of memory (what I've generally targeted in terms of memory/swap ratio) often reach bcols 2^32 long and crash horribly. I can go back and run them with a separately-built binary with BIDX=usize (64 bits) but then they take twice as much memory for the same search and thus may or may not even get further before hitting 2 TB.

This is, well, painful but manageable, at least for now. I'd like to do something more automatic here but I have been unable to make the code make sense to be able to dynamically switch between them. Even better would be to somehow abstract storage of the "col" structures and have a more efficient implementation like say storing 64 packed 33-bit integers in 33 64-bit words so we can efficiently do up to 2^33-length bcols (or whatever value of 33 we need). This I also couldn't make make sense and even if I could I worry we'd be paying an abstraction penalty in performance.

For now I'm starting to try to collect all the reference to the "col" structure together to make it easier to swap it out, but I'm tearing my hair out trying to keep it maintainable and avoid sacrificing performance in the common case. I assume very few others will be searching with bcols longer than 2^32 any time soon. Some time in the medium to far future we may have to make a choice about the common case being as fast as it can be versus the giant case being better and/or possible at all.

amling
Posts: 759
Joined: April 2nd, 2020, 9:47 pm

Re: amling search program principles discussion / brain dump

Post by amling » June 23rd, 2024, 5:57 pm

Sokwe wrote:
June 15th, 2024, 9:37 pm
Drelectron8 wrote:
June 15th, 2024, 7:40 pm
Are there any search programs that do support strobing rules you would like to recommend me?
I'm not sure which programs support strobing rules. ...LLSSS...
It supports it in that the core engine has no problem with it, but some of the various features may or may not do useful things in the presence of the p2 agar background and of course it's still quite difficult to operate in general.

Your input files would need to include the actual strobing p2 agar background (not the weird inverted version of it golly/lifeviewer seem to show?) and you'd be looking at using `--left-edge cycle:1` or `--left-edge cycle:2` depending on geometry to extend the edge with it. You'd also need to use e.g. `--ends s_periodic:0:0:2` in place of the default `--ends zero`, although this will unavoidably find p2 wickerstretchers which there are quite a few of here. A much more sophisticated use of `--ends nfa` could avoid displaying such but the searches are still gonna be quite gummed up with them.

Some test searches for e.g. c/4d found partials like:

Code: Select all

x = 113, y = 23, rule = B01356/S012345History
F.25B.F.25A.F.25B.F.25A.F$F.25B.F.25A.F.25B.F.25A.F$F.25B.F.25A.F.25B
.F.8ABAB14A.F$F.12BA12B.F.8A2BABAB11A.F.8B3A3BA10B.F.7AB3A2B12A.F$F.
8B2A2BA12B.F.7AB2AB3A2B9A.F.8B5AB2A9B.F.7AB8AB8A.F$F.8B2A2B3ABA8B.F.
11AB3AB9A.F.11B5A9B.F.8AB3A3BAB8A.F$F.8B2A3B2AB2A7B.F.7AB4A2B4AB6A.F.
11BAB2A10B.F.8AB3A4B9A.F$F.10BABABA2BA7B.F.8AB2ABAB11A.F.8B7A10B.F.
10A4BAB9A.F$F.11B7A7B.F.9A2B2AB11A.F.9B6ABA8B.F.11A4B2AB7A.F$F.10B2AB
2AB2A7B.F.12A2BA3B2AB4A.F.12B4ABA7B.F.9A2BA4B2ABA2B3A.F$F.11B2ABAB5A
4B.F.15ABAB3AB3A.F.11B7A2B2A3B.F.16ABAB6A.F$F.14B3ABABA4B.F.11A2B8AB
3A.F.10B2A4B3ABA4B.F.4A2B19A.F$F.6BA18B.F.4A2B3A2B5A2BAB5A.F.4B2A3B3A
4BA8B.F.6ABABAB4AB3AB5A.F$F.4B3ABAB4A11B.F.5AB3AB5AB9A.F.3B2ABA2B3A3B
3A7B.F.2ABAB3ABA4B11A.F$F.3B4ABAB2A2B2A9B.F.2ABA2B5A2B3AB8A.F.3B3A4B
3AB3A8B.F.2A3B6ABAB3AB7A.F$F.3BAB2A3B6A9B.F.2AB8AB2A2BAB7A.F.2B4A5B3A
2BA8B.F.6AB3ABAB2AB9A.F$F.4BA6B2AB4A7B.F.3AB2AB5A4B9A.F.11BAB4A8B.F.
10ABA4B2AB6A.F$F.12B3AB3A6B.F.12A2B5AB5A.F.3B2A7B7A6B.F.2AB2AB7A5B7A.
F$F.10B4A5BA5B.F.3A2B4AB4A5B6A.F.3B2A7B2AB5A5B.F.8A2BAB3A3B7A.F$F.3B
2A4BA5B2A2BABA3B.F.2AB2AB2AB3A3B5ABAB2A.F.3B2A3B2A5B3A7B.F.2A2B3AB8AB
2A3B3A.F$F.3B2A4B3A4BABA2BA3B.F.8AB5AB10A.F.2B3A3B2AB5A3B3A3B.F.3AB6A
B5AB8A.F$F.3B2A3B3A4B2AB4A3B.F.2A3B4A2BABAB4A2B4A.F.3B2A3B2A3B2A3BABA
4B.F.2AB3ABA2B3A5BAB5A.F$F.2B6AB2ABA2BA2B4A3B.F.4AB3AB4AB3A4B4A.F.3BA
2B5A2B2A2BA7B.F27.F!
As a more successful demo I found the front/back edge and back corner for this greyship:

Code: Select all

#C [[ TRACK 0 -1/2 ]]
x = 41, y = 31, rule = B01356/S012345
obo35bobo$obo35bobo$ob3o31b3obo$2b3o31b3o$2b3o5bobo2bobo5bobo2bobo5b3o
$2b3o5bob4obo5bob4obo5b3o$2b3o5bob4obo5bob4obo5b3o$b4o5b3o2b3o5b3o2b3o
5b4o$6o3b10o3b10o3b6o$10ob6ob5ob6ob10o$41o$41o$41o$41o$41o$41o$41o$41o
$41o$41o$41o$41o$41o$41o$obob7ob4ob7ob4ob7obobo$3obob3obobo2bobob3obob
o2bobob3obob3o$ob11o2b11o2b11obo$2bob7obo2bob7obo2bob7obo$4bob3obo6bob
3obo6bob3obo$5bobobo8bobobo8bobobo$7bo12bo12bo!
I also briefly looked at c/6 but the searches are gumming up so badly on wickstretchers that I don't think I'm gonna be able to do anything here, e.g.:

Code: Select all

#C [[ TRACK 0 -1/6 ]]
x = 20, y = 40, rule = B01356/S012345
3bo12bo$2b2obobo4bobob2o$2b6o4b6o$2b2ob3o4b3ob2o$2b4obo4bob4o$2b4obo4b
ob4o$2b5o6b5o$2b2obo8bob2o$2b4o3b2o3b4o$2b4o3b2o3b4o$2b4obo4bob4o$2b7o
2b7o$2b7o2b7o$2b2ob10ob2o$2b3ob2o4b2ob3o$2b6o4b6o$2b4ob6ob4o$2b7o2b7o$
2b7o2b7o$2b3o2b6o2b3o$2b6o4b6o$2b3ob2o4b2ob3o$2b4obo4bob4o$2b2o2b2o4b
2o2b2o$2b3obo6bob3o$2bob3o6b3obo$2b5o6b5o$2bob3o6b3obo$2bobo10bobo$2bo
bo10bobo$2b3o10b3o$2b3obo6bob3o$2bobobo6bobobo3$obo14bobo$3o14b3o$3o
14b3o$3o14b3o$3o14b3o!

Post Reply