Is Andrew Stuart’s Digit Forcing Chains a useful new solving technique? Actually, no. Andrew’s sudowiki site introduces digit forcing chains with examples that raise – and seem to settle – that question. Needless confusion is created by this unwarranted introduction.
First, have you voted? Just a reminder that it’s U.S.election day. Every U.S. sysudokie should have decoded the political noise and weighed in. Pay the dues for living in a free country and having a discerning intelligence. Set an example for sysudokies over the world.
Sue de Coq, in the celebrated post announcing the method given his forum name, modestly discounted the importance of his discovery by citing forcing chains as the strategy that would probably make the Sue de Coq technique unnecessary. Forcing chains didn’t and won’t. Our next posts demonstrate that. Where forcing chains are not simply AIC almost nice loops(ALNs), which we can construct to great length, they are less than practical for human solving. That’s why forcing chains are pushed way back, after LPO, in the SSOB.
A forcing chain is an alternating inference chain starting with a wink, in contrast to an AIC, which has a slink on both ends. The solving technique of forcing chains takes several forms. It recruits one or more forcing chains to force removals or confirm a clue. The problem with a forcing chain is that it documents the consequences of an unjustified assumption. In plain words, it follows up on a guess. This makes the conclusion a happy accident, showing that the guess was correct, but telling us nothing about the logical contradictions buried in the puzzle.
Unfortunately, a completely logical structure, the alternative inference chain, can be interpreted as the digit forcing chain technique. But this is a delusion, damaging the reputation of the AIC.
No guessing attends the AIC. The end candidates of an AIC are toxic because at least one of them must be true. If the starting candidate is false, the alternation makes the end candidate true. The toxicity does not depend on the starting candidate being false. The opposing end can be false, and the same alternation then guarantees that the starting candidate is true, and the toxicity remains. Both candidates can be true, and the toxicity remains. It’s just that both cannot be false. The AIC is a logical structure to be discovered, one of those logical contradictions buried in the puzzle. It is not, by any stretch of meaning, the confirmation of a guess.
Here is Andrew Stuart’s definition of a digit forcing chain. Pick a bv candidate, the “digit”. Simultaneously run a forcing chain and an AIC from the digit. The forcing chain assumes the digit is true and the AIC assumes it false. Any conclusion they agree on must be true, because one of the assumptions is correct. This is a completely hedged guess, which is no guess at all. The problem is, if there is a conclusion, this prescription generates an AIC almost nice loop, and therefore gives the forcing chain technique the false credit for the AIC’s conclusion.
In reality, is the digit forcing chain an efficient way to generate an AIC based ALN? If you have time to waste, just try it. Instead, we consult our bv map, our X-panels, and our bv/AIC hinge combinations, and even our bv/AIC/ALS combinations. We construct AIC. We do not search for them, like an unthinking computer algorithm, trying bv candidate after bv candidate.
Currently, Andrew’s sudowiki.org description of the digit forcing chain begins with this example. It is described as a forcing chain from a “digit” candidate, plus an AIC from this digit. In this case the digit is 5 in r9c9. Assuming the digit true, that forces 6 in r5c9 to be true. Assuming the digit false, we follow the slink and chain in the other direction to show that 6 in r5c1 is true. So the digit being true or false, one of two r5 6-candidates is true, and the other r5 6-candidates are removed.
A big problem with this argument is that the choice of digit is without justification. Any other candidate interior to the chain could have been the digit, with the same removals. A bigger problem is that, regardless of the choice of digit, the two chains together form an AIC, and the end 6-candidates form its toxic set. Why do we need to re-label this a digit forcing chain? The hard part is the lengthy AIC, and this re-interpretation doesn’t help us find it. One should just construct such AIC’s with an open mind, and find applications for them. Why pick a candidate from the air and stick a wink on it?
With the 6-candidates removed, Andrew cites a second digit forcing chain as a different type. This time 8-candidate in r5c4 is selected for no reason as the digit originating the forcing chain. This example is actually an AIC with an ALS node. In support of the digit forcing chain idea, Stuart libels the ALS as “awkward” and explains the node without reference to AIC theory, saying “the chain [from r5c4]… turns off the 6 and leaves just a Naked Pair 4/9”. Hard as it might be to construct, the AIC stands as the logical proof for the removal. It requires no re-interpretation as a digit forcing chain.
In a third example following the 5 removal, Andrew again selects a candidate along the confirming AIC almost nice loop shown here, and reinterprets the loop as a digit forcing chain. Pick your own digit along the chain.
A second example on the site gives us two more examples of AIC masquerading as digit forcing chains.
So far I have seen no justification for the introduction of digit forcing chains. Can one be demonstrated that is not an AIC chain, and does not permit an arbitrary choice for the “digit?
By way of general theory, on digit forcing chains, sudowiki currently lists a family of solving results for digit forcing chains. Of the six listed, four are correct. These four apply equally as well to the AIC in which Stuart’s arbitrarily selected digit candidate is embedded. In the order of the diagram at left, they are: the confirming almost nice loop (ANL), the eliminating ANL, an eliminating ANL with toxic candidates in the same cell, and an eliminating ANL with toxic candidates in the same unit.
Two of sudowiki’s digit forcing chain diagrams are simply incorrect. In the first, it is claimed that the digit and its embedding AIC proves two of three candidates of a cell false (OFF), leaving the third candidate true. Actually, only one of the toxic end candidates of the AIC is known to be true, and therefore only one of the cell candidates is forced OFF. We don’t know which one. Both toxic candidates can be true, but an AIC does not assert that. It only allows it. The same error is made on the unit ANL elimination example, where the elimination of two of three candidates in the unit leaves a third one true. But unfortunately, the AIC guarantees the elimination of only one of the two candidates, and we don’t know which two of the three are eliminated.
Bottom line, we recommend that Stuart drop digit forcing chains, and not too quietly after having it online all this time. Also, he may need to check that the faulty logic noted above did not hatch a bug in the code of his very useful solver.