什么头什么尾(含动物)(数独策略链(chain)之十:弱头弱尾链)

弱头弱尾链和它的独特之处
之前我们探讨了强头强尾链的强大之处,现在我们来了解一下弱头弱尾链,这种链甚至比强头强尾链更强大。
弱头弱尾链,是指链头和链尾都存在一定的不确定性。具体表现为:链头有一个弱关系,链尾也有一个弱关系。如示意图所示:
R4C5[1]-R4C7[1]=R4C7[7]-R4C4[7]=R6C6[7]-R7C6[7]=R7C8[7]-R7C8[6 ]=R4C8[6 ]-R5C9[6 ]
这条链的特点在于,我们可以从链头开始逐步推导,直到链尾。在这个过程中,我们可以确定某些候选数的取舍。比如,如果链头R4C5[1]取值1,那么链尾R5C9[6 ]就必定放弃,不取值[6 ]。反过来,如果我们从链尾开始推导,也可以得出相应的结论。
弱头弱尾链相比强头强尾链的优势在于,它不仅可以删除与强头强尾链相关的候选数,还可以利用弱关系进行推理。
例如,如示意图中有强头强尾链:
R1C4[3]=R3C5[3]-R7C5[3]=R7C9[3]
这条链可以通过链头和链尾删除某些候选数。如果我们利用弱头弱尾的概念,可以找到更多的弱关系,从而进一步限制候选数的范围。
除了以上的基本应用,弱头弱尾链还可以构造出强制链,这是其更为强大的地方。
格强制链是一个很好的例子。如示意图所示,含有弱头弱尾链:
1. R6C5[7]-R2C5[7]=R2C5[2]-R4C5[2]
2. R6C5[9]-R5C6[9]=R5C6[2]-R4C5[2]
3. R6C5[2]-R4C5[2],这个弱关系,是最短的弱头弱尾链。
利用这些弱头弱尾链,我们可以进行一系列的推理,从而删除某些候选数。这种推理方法从一个格子的各个候选值出发,建立删除候选值为链尾的弱头弱尾链,形成格强制链。
单元强制链是另一种应用。如示意图所示,在某个单元(宫、行或列)中,某一值的所有候选数作为链头,都与这个单元外的一个候选数作为链尾,构成弱头弱尾链。这样,我们可以删除这个候选数。这个策略就是单元强制链。
弱头弱尾链虽然复杂,但它是解决绝大多数数独难题的关键策略之一。它不仅涵盖了强头强尾链的功能,还可以通过构造强制链(包括格强制链和单元强制链)来解决问题。尽管使用复杂,但只要掌握其原理和应用方法,就可以解决绝大多数的数独难题。
思考题:对于一条强头强尾链,如果其头和尾重合,我们是否可以只用弱头弱尾链来替代其进行推理?答案是可以,只要我们找到相应的弱关系并构造出正确的弱头弱尾链,就可以进行推理。
