This post shows what it means to maintain three three ALS maps. ALS map updates are followed through a series of ALS_XZ until a decisive coloring wrap on Stefan Heine’s ultrahardcore 311.
We are exploring ALS mapping as ALS_XZ scans are interleaved with AIC building and other sysudoku tools. When AIC building stalls, the ALS maps are constructed with the aid of suset tables. Then the maps and tables are maintained, move by move.
Beeby’s ALS_XZ series begins with the SW to S scan with the alignment matched ALS_61. The 1r9c6 removal adds a SWr9 boxline.
By this time, significant updates have occurred, so we’ll start with the maps as updated after ALS_61 and walk through the updates during the series.
Comparing this ALS box map with with the earlier one, we’re seeing removals generating more and smaller ALS faster than the larger ALS disappear.
Beeby’s next ALS_XZ is made possible by the 1 removals in c2
That means that ALS_65 would be found on the bv vs box scan as part of the ALS_61 box map update. The 5 r9c2 removal now affects all three maps. We see above that it doesn’t affect the values of the SW ALS or its box ALS match ups. Same with the row and column maps.
The next Beeby ALS_89, however, would also be found in the ALS_61 update. When ALS c2 5678/56789 . . .
was added to the ALS column map.
Now let’s follow what’s been happening on the row ALS map. After ALS_61 we had this, as 5r9c3 is being removed by ALS_65 above.
In the suset row table, we see that the 5 removal will allow cell 3 into the 12467/124569 suset, making it 6 cells and 6 values and destroying the black ALS.
Now when ALS_89 removes 9r9c2, we get two ALS to join ALS_29.
On the grid it looks like this, with the update ALS W 5689/25679 and two removals from the Wr5 boxline.
In the 9 removals follow up, the bv vs box scan hits this ALS_14 and the removal in r4 produces another speedy delivery ALS from the row suset table.
The row vs row scan then produces the final ALS_42. It’s final because the 2 removal brings a quick blue wrap:
Next time, some attention on fitting Beeby’s ALS wings into ALS mapping.
Following up on this example, these seem to be the elements of ALS map maintenance:
Have copies of row, column and box maps together for updates.
On each removal, check each enclosing ALS for a new single or alignment. Scan the other two maps with each new single or alignment for new ALS_XZ.
If the removal was a single, the ALS is now a subset. Remove candidates seeing its locked value groups. Remove the ALS boundary
If the removal was not a single, watch for the opportunity to drop the cell from the ALS, along with the removal, for a smaller ALS.
Update the suset tables for each unit containing the removal. Check for new ALS and singles.
For a newly confirmed clue or subset, follow up each of its removals as above.
Next we will survey the ALS-wings of the ultrahardcore review to envision how ALS-wings can be generated, along with AIC extensions and ALS are added to the ALS maps.