1、【数独技巧图示】X 翼删减法、剑鱼删减法了解掌握数对法后,接下来要掌握的是 X翼删减法、剑鱼删减法。 X翼删减法:两列只有两格可以填入 6,且这 4格分别在两行形成一个 X形,这时可以排除这两行其它格内的填入 6的可能,示意图:剑鱼删减法与 X翼删减法道理相同,由 2列拓展为 3列.3 列中每列都只有 3格可以填入 5,且这 9格分别在三行,这时可以排除这三行其它格填入 5的可能,示意图:X翼删减法实例:6楼剑鱼删减法实例:这个很好证明了,重点在于某列在有且只有两格可以填入该数字,比如有一列其余格都排除了能填入 6,只有两格中可填,前题还应该补充一点,这两格应该在不同的小宫内。那与之对应的平行
2、的另一列中也只有同行的二个空格内能填入 6,此列也不能和前一列同宫。则这四个 6最终肯定在对角上要填入两个 6,所以可能提前排除与之同行的那些填 6可能性。三列的情况一样,。但难度在于要花专门的精力去找这样列或者行显然浪费时间,只能在僵持不下时,正巧又出现一列或者行中只能填两个同数的情况,顺带瞧瞧有没有对应的列刚巧也有只能填两个同数。不过它的排除量大,找到这样的列后,会非常有用。xy-wing删减法、xyz-wing 删减法xyz-wing删减法:某格中只有候选数 xyz,与这格同行(列)和同宫中的另两格分别只有候选数 xz,yz,则这三格交叉处格中的 z被删除。 理由:无论 xyz格怎么取值
3、,三格中必出现一个 z。 示意图:xyz-wing删减法实例:唯一矩形删减法这是一种较特殊的删减法,因为它运用的排除原理是数独的唯一性,如果你做的数独确定存在有唯一解,那么就放心运用这种技巧吧。当然,绝大多数的数独都是唯一解,但不排除有些奇怪的题目存在多解求解的可能。 先牢记下边的非唯一解情况吧,不少人做一些多解的题也会出现这种情况,4 格中每格取 x或 y都不算错误。一个确定唯一解的数独不能出现上边的情况。 所以如果 3 格中都只有 xy,另一格内除了 xy 以外还有其它候选数,则删掉这格中的 xy,保留其它候选数。 理由:如果这格还取值 x 或 y,则构成上边的非唯一解情况。 示意图 a:
4、唯一矩形删减法 a 实例:唯一矩形删减法有多种变形,下边一种是同行两格除了 xy还多另外一个 a的情况。这时要删除这与这两格共同同区域其它格中的 a。 理由:为了避免非唯一解,这两格中必有一格中取 a,无论哪格为 a,共同区域中的 a一定被排除。 示意图 b:唯一矩形删减法 b实例:6楼还有一种常见的唯一矩形情况。 同行的两格中除了 xy以为分别还含有 a和 b,如果该行中其它格中不含 x,但有格含有 y,则排除掉两格中的 y。 理由:为了避免非唯一解,这两格中必须删掉两个 x,或两个 y。该行其它格中不含 x,但含 y。所以删除掉两格中的 y。7楼唯一矩形删减法 c实例:最后一定要注意一点
5、构成唯一矩形的四格必须同时存在于两行且同时存在于两列且同时存在与两宫中。如果不满足这个条件,删除很可能是错误的。 例如:四格如果分别在四个宫中,也符合两行两列,但没有符合两宫的要求,这时不要用唯一矩形删减法。切记!BUG删减法BUG是 Bivalue Universal Grave的缩写,按字面直接翻译是双壳全体坟墓。使用该技巧必须遇到以下情况,即绝大多数格内都只含两个候选数,只有少数格内多余两个候选数。如果非只含两个候选的格过多,建议不要试用该方法。下边以只有 1-2个格内非两个候选数的实例说明。 该方法证明起来比较麻烦,不过一旦理解定式后便能立即得出结果,所以很有必要掌握。 原理有点类似于
6、唯一矩形删减法,即避免出现多解的情况。见下图,只有一个格内含有 2、3、5 三个候选数。假设该格内取值为 2、5。那么该题便出现了双解(两种答案都是正确的)。为了避免这种情况的出现,该格内只能选 3,这样就不会多解了,这个数一出,整题迎刃而解。 那么含三个候选数的格内到底取哪个候选数呢?观察含三个候选数的格于之共行(列、宫)的几格。如果同区有三格,另两格为 xy、yz,那么这格内如果取 xz就双解,所以取值就取 xz之外的另一个数。如果掌握这个定式就可以很快解题了,至于原理嘛,不一定非理解的很深刻 O(_)O下边看一下有两个格内含三个候选数的情况。同样按照找 xy、yz、xz 的方法,先找到两
7、个格内应该取哪个值。这时出现了一个有趣的情况,两个都取 6,说明该行的 6一定在两格之中,所以该行其他格内的 6被删除。题目迎刃而解。Turbot Fish 删减法Turbot Fish介绍之前做个简单的铺垫,简单介绍一下强弱链的关系。 单链分为强链和弱链。 强链:某行、列或宫只存在 2个某候选数,这两个数就构成强链,两数非真即假。这里用红线连接表示。 弱链:某行、列或宫存在 3个或 3格以上某候选数,这些数就构成弱链,其中一个为真则其余为假;其中一个为假则不能判断其余的真假。这里用蓝线连接表示。根据强链两端数字,一个为真另一个为假的特性可以引申出某些三条连续单链组有排除候选数的情况。 “强-
8、强-强链”和“强-弱-强”链都可以导致“长链”两端数字交叉处格中的该数被删除。 下边给出两种“三连链”的图:(两图中“长链”形状可以互换) 说明: “强-强-强链”由于链两端数非真即假的特性,标成红蓝两组,红为真则蓝为假,反之亦然。“长链”两端也为一红一蓝,肯定有一个是真,所以排除掉共同区域格(橙色格)中的 x。 “强-弱-强链”虽然不像“三强”中数字真假那么分明,但注意弱链的两端,弱链一端为真另一端也为假,这两端的数字分别连接强链,所以导致“长链”两端数同样是一真一假。如果弱链两端均为假,则长链两端数都为真。综上:同样排除掉共同区域格(橙色格)中的 x。 所以,可以看出“强-强-强链”与“强
9、-弱-强链”在排除两端数字交叉区域数字的效果上是“等价”的。turbot fish就是五条单链连成的环,有以下三种形状,左下边的形状酷似这种鱼,由此得名。使用这种技巧就是找出这五条链中形成的“强-强-强链”或“强-弱-强链”。再利用刚才已经说明的这两种长链的性质无论另两条链强弱与否,删除掉这两条链交点处的候选数。 示意图:下边是 Turbot Fish删减法实例:(还有另一种画法删除数字,你找到了吗?)最后注意一点,如果画出的“鱼”中只有一条强链或只有两条连续的强链,是无法利用这种技巧的。因为没有“强-强-强链”和“强-弱- 强链”作判断候选数真假的基础。 如果都理解了,可以应用到更长的单链中
10、。Y-wing删减法Y-wing删减法:某两格内 x候选数形成强链,另两格内只有 x、y 两个候选数,且这两格内的x分别于以上含 x的两格中的 x形成链,无论强弱与否,含 x、y 的两格交叉处区域格内的 y候选数被删除。 证明:形成强链的 x两格内必有一个 x为真,所以与之有关系的含 x、y 的两格内必有一个 y为真,得到含 x、y 的两格交叉处格内的候选数 y被删除。 示意图:实例:红圈处 3被删除Remote pair删减法该技巧有点类似于 Turbot Fish 删减法(X 链),使用候选数由单一的一个数改为了一个数对。如果有偶数个只包含 xy数对的格组成了一条链,那么这条链两端格交叉区
11、域的格中删除 x、y 两个候选数。 证明:假设长链的一端为 x,可知另一端为 y,反之亦然,即两端格内必有 x和 y,所以交叉区域格内要删除 x、y 两候选数。 也可以看做两条 Turbot Fish (X 链)可以参考 Turbot Fish 的证明方法。实例:这一步有 3处的候选数可以被删除这个方法是单链的特殊情况,两条单链重叠在一起进行,比单链更好找,但出现的几率也更低。你先看明白单链怎么找,这个应该也就明白了。两格共同影响区域是数独中非常常见的一个概念,一定要很清晰。那个例题图示是个好几个该技巧同时出现的情况,开始看容易乱,你先看最上边的示意图好了说明: 1、很多爱好者只喜欢简单玩数独
12、,直观解数独,那么可以不看“进阶篇”里的内容。入门篇里的直观技巧运用的出神入化同样也是高手,但遇到有些较难题目难免力不从心,只要不去碰这些题目即可。 2、进阶篇中的技巧只是最常用的删减候选数方法,当然还有很多其它方法,由于出现几率较低及能力有限未能提及。写到的几种技巧由于匆忙整理和极力缩短篇幅的原因也可能有些错误和不足,望高手批评和指正。如果你有较简约的技巧图示说明,欢迎发到“贴吧”里,这篇汇总会适时地修证完善。觉得本文技巧不够参照可以拜访其它专题网站。 3、以上技巧全部以标准数独为对象。只要你理解了技巧的内涵,这些技巧的原理完全可以运用在各种变形数独中。当然很多变形数独有独特的解题技巧,本篇不讨论。 4、本文涉及的技巧最多只能应付较难的题目,如果题目难度很大或某些非人类能解的数独题,上边提到的技巧也无能为力。本文的初衷是让初学者快速入门,为他们指引一条成长为高手的捷径的技巧汇总。并非是东拼西凑毫无条理技巧堆积,也不是高手切磋 BT 技巧的文章。