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.