霍尔蒙多

数独爱好者
  • 内容数

    8
  • 注册日期

  • 最后上线

文章 发表由 霍尔蒙多


  1. 我是一边根据叶卡和TThsieh的讲解学习、理解,一边推广并把它们变成计算机程序语言和程序,同时也学习和熟悉一下编程。我发现最近所谓最难数独,在某种删除程序下,竟然有可利用七阶鱼的局势出现,其中也有用到六阶、五阶鱼和Jellyfish、swordfish的局势。


  2. 所有数独解法,不外从两个方面考虑问题,一个是从某个格子可能数即候选数方面考虑,一个是从某个数可能的候选格位考虑。中、高级技巧都是基本技巧的逻辑推论。应用数学归纳法,从某个单元的各格位候选数考虑,由数对可以推论出三链数,四链数、五链数至N链数,包括是显式和隐式;同样应用数学归纳法,从某个数的候选格位考虑,从X-wing可以推论出 swordfish(三列同在三行或三行同在三列)、Jellyfish(四列同在四行或四行同在四列)及其它更高阶鱼。然而,物极必反,无论N链数还是高阶鱼,越高阶不但寻找越难,而且超过一定阶数后剔除效果也反而会下降,比如六、七阶鱼,极少可能会有实用价值。


  3. 某些高难度数独,当各种屏蔽法均无法向前推进时,就只好用试填法了。如近日网络上热传的所谓最难数独,在很早期就需要试填。那么从哪里试起呢?我觉得要从下两个方面考虑:一是每一步均从候选数少的某格试起,如二元候选数格,二是每一步均从各行、列、宫单元角度看某数的候选格少的试起,如二候选位数,这样经过试填后再结合屏蔽法可以大大减试错、回溯的计算量。对少候选数格很少的题,单一候选数法可能搜索、回溯深度很大,结合二位候选数试填,则可能在少量的组合态下很快试出错误或一刀解决问题。比如所谓最难数独,我用EXCEL编程,用二元候选数和二位候选数试填结合基础屏蔽和中级屏蔽法,较快地得到了解。


  4. 是看第八列的2、5、6、7可能位置,只能在那四格(r1356c8),因为r78c8都不能有2、5、6、7。

    其实直接看第九宫的剩余两格r78c8是39数对也是可以的,同样得到r1356c8是{2567},他们是互补的,知道一个就能互补出另一个。

     

    刚对数独感兴趣,还不熟悉。请问

    r8c8不能填5,r7c8不能填2是怎么直接盾出来的呢?