tarek wrote:My intentions to start the thread was not to herald the invention of a new technique, but to find a suitable name for something which I
thought to be Forcing chains then discovered that it wasn't (or is it
??!!).
Bifurcation, (or trifurcation, etc), Ariadne's thread, etc. "Forcing implications" is inappropriate and confusing.
tarek wrote:returning to the example in that thread. My solver with modifications solves it as follows
- Code: Select all
*-----------------------------------------------------------------*
| 18 19 3 | 7 189 5 | 4 2 6 |
| 126 14569 249 | 3 129 29 | 7 59 8 |
| 7 59 28 | 28 4 6 | 59 3 1 |
|---------------------+---------------------+---------------------|
| 5 2 89 | 1 7 89 | 6 4 3 |
| 68 369 7 | 4 269 2389 | 1 589 259 |
| 4 369 1 | 5 269 2389 | 89 7 29 |
|---------------------+---------------------+---------------------|
| 12 14 24 | 6 3 7 | 589 589 59 |
| 9 7 5 | 28 28 1 | 3 6 4 |
| 3 8 6 | 9 5 4 | 2 1 7 |
*-----------------------------------------------------------------*
Any Candidate in r1c1 forces r1c2 to have only 9 as valid Candidates (Forcing Implications)
But none of us reading this know what this means without solving ourselves! No one simply says A leads to M by forcing chain without giving the chain. If not, its simpler just to say "Place a 9 in r1c2. Trust me."
This first deduction can be expressed by forcing chains aka dual implication chains:
-- r1c1=1 => r1c2=9
-- r1c1=8 => (r5c1=6 AND r3c3=2) => r2c1=1 => r1c2=9
-- therefore, r1c2=9
Each link leads to the next with no 'memory', though one of the links is two cells combined.
But the fact that your solver is giving these series of convoluted and opaque 'steps' might hint at the problem. There is a simple xy-wing (4 cell forcing chain):
-- r1c1=1 => r7c1=2 => r7c3=4
-- r1c1=8 => r3c3=8 => r7c3=4
therefore, r7c3=4 and the rest of the puzzle is trivial.
tarek wrote:Now if you used forcing chains to get to your conclusion then I must have done the same thing.
Whoa now ... that's not true. Just because we both started in LA and we're now in London doesn't mean we were on the same plane. Or that we both flew.
tso wrote:I strongly disagree. Coloring does not require or imply any assumptions. Further, contradiction is another red herring. For example:
...snip...
I've colored 1s in four cells based these three descrete truths:
r5c1=1 IF AND ONLY IF r5c7<>1
r5c7=1 IF AND ONLY IF r6c8<>1
r6c8=1 IF AND ONLY IF r9c8<>1
tarek wrote:"If" is an Assumption, I can't see how you label it as Truth.
No it isn't. "if/then" and "if and only if" are relationships. "If I drop this ball, it will fall." assumes only the existance of gravity, not that I will drop the ball. If you prefer, I can state the same thing without the ifs:
r5c1 and r5c7 have the opposite values (1 or not 1)
r5c7 and r6c8 have the opposite values
Therefore, r5c1 and r6c8 have the same value
r6c8 and r9c8 have the opposite values
Therefore r5c1 and r9c8 have the opposite values
Another way to say it is that r5c1-r5c7-r6c8-r9c8 form a chain of conjugate connections. Chains with an even number of links will have the opposite state on the ends.
tarek wrote:Is the problem then that too many elimination cycles are above the human level ...
No. Length has nothing to do with it. In some cases, very long forcing chains can be easily followed by humans as long as no eliminations are required along the way, no memory other than where the chain started.
tarek wrote:... or is it that the same cell might feature in the same chain twice ??
No. The problem is you aren't actually giving an answer that we can follow along ourselves. No matter how complex an actual forcing chain might be or how difficult it is to find -- I could draw it on the grid (or list the sequence of implications) and anyone will be able to follow it from cell to cell. You have not done this. You have chosen a cell at random, filled in each of the candidates it can contain sequentially, solved the resulting 2 or 3 puzzles as far along as you can go using an arbitrary subset of tactics, then looked for cells that contained the same number in the same spot. In most cases, you could not map them out on the grid because some of the connections *do not exist yet*.
tarek wrote:Selecting only bivalued cells for elimination is one way of preventing the a cell to be featured in the
chain twice (which ends up also with easy nice presentable chain which can feature in a helper program more easily).
And then the result *would* be a forcing chain.