Hi
champagne,
champagne wrote:Your different diagram show where eliminations lie. I have a global formula easy to use (and one concern regarding the SLG with quads is to check it is still valid in all situations).
My program does the following
a) collects all candidates in sets
b) collect all candidates in links
suppress form b) all candidates in a) and you have all eliminations.
With Obi-Wahn's scheme, you would do this (in effect):
a) For each "live" candidate in the puzzle, initialize a counter to zero.
b) Increment it once for each base sector that contains it.
c) Decrement it once for each cover sector that contains it.
Obi-Wahn's "Construction Rule", requires that the final counts are all <= 0 -- each candidate must appear in at least as many cover as base sectors.
Obi-Wahn's "Exclusion Rule", says that you can eliminate any candidate where the final count is less than (-R), where R is the number of cover sectors minus the number of base sectors.
For "rank 0" logic, R = 0, and you can eliminate any candidate where the count is < 0.
I don't know if that's exactly what you meant, or not.
For Obi-Wahn's rules, a candidate can be eliminated if it's in one "truth" and two "links".
You are speaking often of the Obi-Wahn conversion. I would be sure to have the right understanding of that.
My understanding is that you fill the 81*81 table shown by Obi-Wahn to see where are the eliminations;
You clearly it also to find alternative SLG's (Obi-Wahn transformation) and here I have to dig in the corresponding thread and in your comments to understand what is behind.
(I don't remember an 81*81 table).
Obi-Wahn gave only one "transformation" example, and it wasn't done exactly the way I've been suggesting -- but in a way that's equivalent.
First some basics (some of which you know, of course):
1) Obi-Wahn's thread was about single digit fish, but his principles are valid for any base/cover problem. The value "R" above, he called the "fin sector count".
2) Base sectors are like Alan Barker's "truth" sets, but with only the SIS requirement (and not the weak link requirement).
Candidates can be in more than one base sector.
3) Cover sectors are like Alan Barker's "link sets".
4) Sectors can occur multiple times as base sectors, and multiple times as cover sectors, and as both a base and cover sector
5) If a sector occurs as both a base and cover sector, it can be removed (once) from each list -- it wouldn't change the final values of the "counters" described above.
6) Similarly, a sector can be
added as both a base and cover sector ... a "matching pair".
In the example that Obi-Wahn gave, there was one "problem" row truth ... 9r3 say ... he didn't specify the digit.
He wanted to make it go away (one instance of it), because it appeared twice in the base list.
He added 9r12 to both the base and the cover.
At that point, all three of the row truths were present -- 9r123.
Then he converted the 3 row truths, to 3 box truths -- 9b123.
The justification was that the 3 box truths contain the same candidates as the 3 row truths -- meaning that the final counter values (above), would be unchanged. The main point was that if the "Construction Rule" was satisfied originally, then it would still be satisfied after the changes.
At that point, 9b23 appeared as in matching pairs, and they were removed.
The end result, was that one of the 9r3 row truths, and two box links, 9b23, went away, and you were left with one new box truths, 9b1, and two new row links, 9r12.
The way I've been describing it, for that transformation, I would have said that you add box truths, 9b123, covered by row links, 9r123, and then let the new 9r3 row link, cancel with the original 9r3 row truth, and new 9b23 box truths cancel with the original 9b23 box links.
There are many kinds of transformations like that, that can be done.
I'll describe them the way I like to think of them, and let you think about how Obi-Wahn might describe them.
Each line should be followed by "allow matching pairs to cancel", and for each line, the truth/link roles can be reversed.
A) For a single digit: add row truths covered by box links for every row and box in a band.
B) For a single digit: add column truths covered by box links for every column and box in a stack.
C) For a single digit: add row truths covered by column links for every row and and column in the grid.
D) In a row: add row truths for every digit, covered by cell links.
E) In a column: add column truths for every digit, covered by cell links.
F) In a box: add box truths for every digit, covered by cell links.
For #6, say: Obi-Wahn might do it by adding matching truth/link pairs for cells, until every cell in the box has a cell truth, then convert the full set of cell truths to a full set of box truths, one for each digit. Then let box truths cancel with box links, if box links were present initially.
I feel that I cover (may be after some code adjustments) you "row fish" and "column fish" diagrams.
So I am looking at the end for other SLGs not convertible to a row or column based SLG.
It turns out that by using Obi-Wahn transformations, you can convert any base/cover pattern to any of these forms:
- cell truths covered by row/col/box links
- row truths covered by cell/col/box links
- col truths covered by cell/row/box links
- box truths covered by cell/row/col links
- cell/row truths covered by col/box links
- cell/col truths covered by row/box links
- cell/box truths covered by row/col links
- col/box truths covered by cell/row links
- row/box truths covered by cell/col links
- row/col truths covered by cell/box links
- row/col/box truths covered by cell links
- cell/col/box truths covered by row links
- cell/row/box truths covered by col links
- cell/row/col truths covered by box links
The only worry, is that you might get overlapping base sectors, or duplicate base or cover sectors.
There's nothing wrong with that, in theory ... but if you enter the result into XSudo, the truth and link counts
won't match, since XSudo won't allow multiple instances of the same item. You'll see all of the eliminations though.
You may see more eliminations too, since XSudo and SLG's aren't 100% equivalent to base/cover problems.
There is more to it too. You can get several equivalent patterns with the same overall type.
For example, for SK-loop, you can get lots of different patterns with only cell truths -- one with the cells in the 4 "corner boxes", and two more at the very least.
Regards,
Blue.