矩形法_九宫数独高级技巧--唯一矩形法(1)

一个正规的数独,必然有且只有一个答案。那么若是在某种条件(称作条件A)情况下,盘面内存在两种及以上的可能情况并且无法排除其中任意一种,那么会与题目规则违背,因此条件A是不成立的。

常见的唯一性解法是唯一矩形和bug两种,并以唯一矩形法居多。

3c55d7b40721897b148103a6252ee167.png

当盘面内形成如上图所示的矩形的情况下,这四个格内的ab有两种可能分布,这种情况叫做致命模式。因此,无论如何要避免这种情况的发生,以此做出的删减,叫唯一矩形删减法。

4e38f63faeee82cfb5d15aa203b58e3d.png

如上图所示:B3和C3一定是8和9的数对,A7、B7、C7是7、8、9的数组。此时,若如果A7=7,则B7、C7形成8和9的数对,与B3,C3构成致命模式,因此A7不能是7,这样就可以推出B7=7。

c48f0965d11f5690d892b0251993b865.png

这种方法比较难,有两点需要注意:一是四个单元格刚好在矩形的四个角,并且在两个宫内,二是这四个单元格刚好形成同一个数对,这样就是致命模式,而必须避免致命模式,于是,就可以利用这样的情况进行排除。

下面我们来看看唯一矩形的几个实例应用。

如图所示:

d7e89a294a188782a349d60f184117be.png

在G4和H4中,很明显形成8和9的数对,而G7数它的余数,发现只能填8和9,H7只能填789,于是可以推知H7一定不能是8或者9,否则就形成了致命模式,这样H7只能是7。

再来看一种情况:

a525d0a403aced7bd0665900f3bd2d45.png

如图所示,D7和D9形成了6和7的数对,数一数I7和I9的余数,发现I7和I9的备选数都是3、6和7,为了不形成致命模式,I7和I9必须有一个是3,于是在第七宫可以用3的宫摒除得到G3=3。

唯一矩形法还可以有一些其他的应用,我下周整理后再发出来,敬请关注!

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于解决数独问题,可以使用整数规划模型来表示。以下是针对数独问题的一个简化的整数规划模型示例: 1. 定义变量: - 令 x(i, j, k) 表示数独中第 i 行、第 j 列的单元格是否填入数字 k。如果 x(i, j, k) = 1,则表示填入数字 k;如果 x(i, j, k) = 0,则表示不填入数字 k。 2. 定义约束条件: - 每个单元格只能填入一个数字:对于每个单元格 (i, j),约束条件为 ∑(k=1 to 9) x(i, j, k) = 1。 - 每一行只能包含每个数字一次:对于每个 i 和 k,约束条件为 ∑(j=1 to 9) x(i, j, k) = 1。 - 每一列只能包含每个数字一次:对于每个 j 和 k,约束条件为 ∑(i=1 to 9) x(i, j, k) = 1。 - 每个九宫格只能包含每个数字一次:对于每个九宫格起始单元格的坐标 (a, b) 和 k,约束条件为 ∑(i=a to a+2, j=b to b+2) x(i, j, k) = 1。 - 已给出的初始数字:对于已经给出的初始数字,约束条件为 x(i, j, k) = 1,其中 (i, j) 为初始数字的位置,k 为初始数字的值。 3. 定义目标函数: - 由于数独问题是一个求解问题,没有明确的目标函数。可以将目标函数定义为空,或者根据需要设置一些特定的目标,如最小化某个变量的值等。 以上是一个简化的整数规划模型示例,您可以根据实际情况进行调整和扩展。在使用MATLAB进行求解时,可以使用线性规划工具箱中的整数规划函数进行求解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值