益智游戏:数独
davies 发表于 2006 年 02 月 22 日
维基百科上的解释:数独(Sudoku)是一種源自18世紀末的瑞士,後在美國發展、並在日本發揚光大的
數學
智力拼圖遊戲。拼圖是九宮格
(即3格寬×3格高)的正方形狀,每一格又細分為一個九宮格。在每一個小九宮格中
数独的规则非常简单:每一行、每一列或者每个小九宫必须包含1-9九个数字,即任何一个数字都不能缺少,任何一个数字都不能重复,游戏时就是反复利用这两条规则进行。对一个小格而言,它可能是1-9中的任何一个数字;对一个数字而言,它可能在行、列或者九宫中的任何一格中。逻辑推理时,经常用到排除法,排除一个数字在某些格中的可能,或者排除一个格子是其它数字的可能,当排除了其它8种可能性时,就得到了确定的答案。
数独的规则简单,内容确实千变万化的,给定不同数目的已知数字,按照不同的位置配置,可以得到不同难度的题目,橱窗上就有一系列不同难度的数独题目可以在线玩。容易的数独,通常能够以一定的推理次序轻松地得到答案,而难的数独则可能需要假定才能继续推理。
在用计算机求解时,先假定每一格可能为9个数字中的任何一个,然后添加已知数字时,利用规则对相关格子的可能性进行过滤,当某一格只有一种可能性,或者某个数字在某行、列或者九宫中只有一种可能性时,即为推理结果,继续过滤。在碰到不能继续推理的情况,则搜索,即假定一种情况并继续推理。