霍尔蒙多
数独爱好者文章 发表由 霍尔蒙多
-
-
我是一边根据叶卡和TThsieh的讲解学习、理解,一边推广并把它们变成计算机程序语言和程序,同时也学习和熟悉一下编程。我发现最近所谓最难数独,在某种删除程序下,竟然有可利用七阶鱼的局势出现,其中也有用到六阶、五阶鱼和Jellyfish、swordfish的局势。
-
所有数独解法,不外从两个方面考虑问题,一个是从某个格子可能数即候选数方面考虑,一个是从某个数可能的候选格位考虑。中、高级技巧都是基本技巧的逻辑推论。应用数学归纳法,从某个单元的各格位候选数考虑,由数对可以推论出三链数,四链数、五链数至N链数,包括是显式和隐式;同样应用数学归纳法,从某个数的候选格位考虑,从X-wing可以推论出 swordfish(三列同在三行或三行同在三列)、Jellyfish(四列同在四行或四行同在四列)及其它更高阶鱼。然而,物极必反,无论N链数还是高阶鱼,越高阶不但寻找越难,而且超过一定阶数后剔除效果也反而会下降,比如六、七阶鱼,极少可能会有实用价值。
-
数独的规则你知道吗?每个粗线宫里面的数字也不能重复,第九宫(右下)已经出现过2和5了,还剩两格r78c8是39.
哦,知道了,九宫25678是已填好的啊,我以为是通过排除填入的呢!
-
某些高难度数独,当各种屏蔽法均无法向前推进时,就只好用试填法了。如近日网络上热传的所谓最难数独,在很早期就需要试填。那么从哪里试起呢?我觉得要从下两个方面考虑:一是每一步均从候选数少的某格试起,如二元候选数格,二是每一步均从各行、列、宫单元角度看某数的候选格少的试起,如二候选位数,这样经过试填后再结合屏蔽法可以大大减试错、回溯的计算量。对少候选数格很少的题,单一候选数法可能搜索、回溯深度很大,结合二位候选数试填,则可能在少量的组合态下很快试出错误或一刀解决问题。比如所谓最难数独,我用EXCEL编程,用二元候选数和二位候选数试填结合基础屏蔽和中级屏蔽法,较快地得到了解。
-
是看第八列的2、5、6、7可能位置,只能在那四格(r1356c8),因为r78c8都不能有2、5、6、7。
其实直接看第九宫的剩余两格r78c8是39数对也是可以的,同样得到r1356c8是{2567},他们是互补的,知道一个就能互补出另一个。
刚对数独感兴趣,还不熟悉。请问
r8c8不能填5,r7c8不能填2是怎么直接盾出来的呢?
-
r6c8不能填567倒是很明显啊!不能填3还不容易看出来。
-
- 用四链数的解法
1. 上左图,数字 2,5,6,7 对第 8 列进行摒除,得到四链数 {2567}。
2. 上右图,数字 5,6,7 对 r6c8 进行删减,得到唯余解 r6c8 = {2567} - {567} = 2。
TTHsieh
关于多链数,其他人的理解和定义好象与你讲的不一样。请问你如果看出r6c8不能填3的。
- 用四链数的解法
在 解题技巧
发表于 · 检举文章
谢谢戈壁滩.对于游戏,我这人喜欢在基本规则下先自己去揣摸一些东西,然后才去学习比较.
经过学习后,我觉得我所谓的二元候选数和二候选位数,其实就是论坛里已论及的能构成强链的情况.