数独的候选数法解题技巧 ──三链数删减法 (Naked Triples) 概说 遇到了高级、困难级的数独谜题,使得唯一候选数法和 隐性唯一候选数法黔驴技穷的时候,就是各种删减法上场的时机了。在各种的删减法中,哪一个要先用 是随个人之喜好的,并无限制。本页介绍的当然就要以三链数删减法优先啰! <图 1> 请看<图 1>的第 6 列,(6, 2)、(6, 3)和(6, 9)这三个宫格的候选数中, 相异的数字只有 4、5、9 三个;这时三链数删减法的条件已成立了!这表示第 6 列的数字 4、5 和 9 将只能填到这三个宫格之中了,因为:如果数字 5 将填入(6, 2),那么(6, 3)就一定要填入数字 4、而 (6, 9)就只能填入数字 9 了;另外,如果数字 9 将填入(6, 2),那么(6, 9)就一定要填入数字 4、而 (6, 3)就只能填入数字 5 了;不论哪一个状况出现,第 6 列的数字 4、5 和 9 都将已被使用,所以可将 他们自本列的其它宫格候选数中安全的删减掉,因为这三个数字已不再能成为其它宫格的候选数了。于是 (6, 1)的候选数 1、8、9 将被删减成 1、8;(6, 4)的候选数 5、6、9 将被删减成 6;(6, 5)的候选数 1、4、5、6、8 将被删减成 1、6、8;唯一候选数已出现在 (6, 4)了。 整理一下: 1. 当某列的某三个宫格候选数中,相异的数字不超过 3 个时,就可以把这 3 个数字自 本列的其它宫格候选数中删减掉了。 2. 同理,当某行的某三个宫格候选数中,相异的数字不超过 3 个时,就可以把这 3 个数字自 本行的其它宫格候选数中删减掉了。 3. 当然,当某一个九宫格的某三个宫格候选数中,相异的数字不超过 3 个时,就可以把这 3 个数字自本九宫格的其它宫格候选数中删减掉了。 利用「找出某一列、某一行或某一个九宫格中的某三个宫格候选数中,相异的数字不超过 3 个的情形, 进而将这 3 个数字自其它宫格的候选数中删减掉」的方法就叫做三链数删减法 (Naked Triples)。 本法其实为数对删除法的推广,在介绍数对删减法时,因为我们的寻找标的是 数对,所以使用了一般人较能接受的数对这个名词,而说明成「找出某一行、 某一列或某一个九宫格中某两个宫格候选数恰为某个数对的情形,并将该数对自其它宫格候选数中删减掉」 的方法就叫做数对删减法。如果将以上的说明内容换成改成「找出某一列、某一行或某一个九宫格中的 某二个宫格候选数中,相异的数字不超过 2 个的情形,进而将这 2 个数字自其它宫格的候选数中删减掉」 的方法就叫做数对删减法也是成立的。 本法还可以继续加以推广: 1. 四链数删减法就是:「找出某一列、某一行或某一个九宫格中的某四个宫格候选数中,相异的数字 不超过 4 个的情形,进而将这 4 个数字自其它宫格的候选数中删减掉」的方法。 2. 五链数删减法就是:「找出某一列、某一行或某一个九宫格中的某五个宫格候选数中,相异的数字 不超过 5 个的情形,进而将这 5 个数字自其它宫格的候选数中删减掉」的方法。 3. ...... 如果愿意的话,你确实是可以这样推广的,只是,实用上是否有其应用的空间呢? 三链数删减法示例 三链数删减法一共有 3 种状况:第一种发生在行、第二种是发生在列、第三种则发生在九宫格。<图 1> 就是 发生在列的例子了,其它的情况举例如下: <图 2> <图 2> 是三链数删减法发生在列的例子:第 4 列中的(4, 2)、(4, 3)、(4, 9)三个宫格候选数中, 相异的数字只有 2、7、8 三个,所以可以将这 3 个数字自其它宫格的候选数中删减掉,于是 (4, 4)的候选数 2、6、8 将被删减成 6,出现唯一候选数了。 <图 3> <图 3> 是同时应用列及行的三链数删减法的例子: 1. 首先:第 5 列中的(5, 7)、(5, 8)、(5, 9)三个宫格候选数中,相异的数字只有 1、2、8 三个, 这时,如果数字 1 被填入(5, 7),那么(5, 9)将只能被填入数字 2,而(5, 8)就只能填入数字 8 了; 如果数字 2 被填入(5, 7),那么(5, 9)将只能被填入数字 1,而(5, 8)一样只能填入数字 8 ; 如果数字 8 被填入(5, 7),那么(5, 8)、(5, 9)将出现数对 1、2,所以数字 1、2 就只能被填到 (5, 8)、(5, 9)中;不论出现的是哪一种状况,数字 1、2、8 在本列都已使用,所以可以将 这 3 个数字自其它宫格的候选数中删减掉,于是(5, 4)及(5, 6)的候选数都被删减成 4、6。 2. 接下来:第 6 行中的(1, 6)、(4, 6)、(9, 6)三个宫格候选数中,相异的数字只有 5、6、7 三个, 这时,如果数字 7 被填入(1, 6),那么(4, 6)将只能被填入数字 5,而(9, 6)就只能填入数字 6 了; 如果数字 6 被填入(1, 6),那么(4, 6)、(9, 6)将出现数对 5、7,所以数字 5、7 就只能被填到 (4, 6)、(9, 6)中;不论出现的是哪一种状况,数字 5、6、7 在本行都已使用,所以可以将 这 3 个数字自其它宫格的候选数中删减掉,于是(5, 6)的候选数将继续被删减成 4,出现唯一候选数了。 <图 4> <图 4> 是三链数删减法发生在九宫格的例子:中央九宫格中的(4, 6)、(5, 4)、(5, 6)三个宫格候选数中, 相异的数字只有 3、8、9 三个,所以可以将这 3 个数字自其它宫格的候选数中删减掉,于是 (6, 4)的候选数 3、5、9 将被删减成 5,出现唯一候选数了。 (责任编辑:admin) |