简体中文

Platon Sudoku · 数独研习室

Nice Loop / AIC(漂亮环/交替推理链) · 分步讲解

交替推理链以真实强弱关系连接候选状态;开链与闭环的结论不同。 按已验证的结果排除候选,或在相反状态不可能时填入数字。

本课程改编自 Platon Sudoku App 的教学内容。你可以在这里读完完整实例,再到应用中继续学习和练习。

在 Google Play 查看

辨认模式

交替推理链以真实强弱关系连接候选状态;开链与闭环的结论不同。

如何寻找

沿每段关系追踪假设,记录强弱转换,并检查链是否闭合或使端点矛盾。

可以得出什么

按已验证的结果排除候选,或在相反状态不可能时填入数字。

别看错了

强链表示:一端为假,则另一端为真。弱链表示:一端为真,则另一端为假。不能倒转这些推论;下结论前须核对端点关系。

分步讲解 · 不连续·排除

本例从已保存的中途盘面开始,候选数包含此前逻辑排除的结果,并非刚刚自动生成的笔记。

蓝色:推理依据。绿色:结论。划线数字:排除的候选数。R1C1 表示第1行第1列。

步骤 1 · 先读懂 AIC 交替链

本课覆盖 HoDoKu 普通候选节点的 Nice Loop / AIC 家族:不连续环删除与落数、开放式 Type 1 与 Type 2,以及连续环。先从“R1C6=1 成立”开始观察 R1C6=1。在第6列、第2行、第9列、第7行、第5宫、第5行、第1列、第9行、第8列中,实线表示两端至少一端成立,虚线表示两端不能同时成立;每页只推进一条高亮关系。

本课覆盖 HoDoKu 普通候选节点的 Nice Loop / AIC 家族:不连续环删除与落数、开放式 Type 1 与 Type 2,以及连续环。先从“R1C6=1 成立”开始观察 R1C6=1。在第6列、第2行、第9列、第7行、第5宫、第5行、第1列、第9行、第8列中,实线表示两端至少一端成立,虚线表示两端不能同时成立;每页只推进一条高亮关系。
本课覆盖 HoDoKu 普通候选节点的 Nice Loop / AIC 家族:不连续环删除与落数、开放式 Type 1 与 Type 2,以及连续环。先从“R1C6=1 成立”开始观察 R1C6=1。在第6列、第2行、第9列、第7行、第5宫、第5行、第1列、第9行、第8列中,实线表示两端至少一端成立,虚线表示两端不能同时成立;每页只推进一条高亮关系。
步骤 2 · 假设:开始交替链

分支 1:假设 R1C6=1 成立。

分支 1:假设 R1C6=1 成立。
分支 1:假设 R1C6=1 成立。
步骤 3 · 弱关系:相连候选互斥

R1C6=1 已经成立,排除 R1C6=8。

R1C6=1 已经成立,排除 R1C6=8。
R1C6=1 已经成立,排除 R1C6=8。
步骤 4 · 强关系:另一端被迫成立

R1C6=8 不成立。这两端合起来包含第6列中的全部剩余选项,因此 R2C6=8 被迫成立。

R1C6=8 不成立。这两端合起来包含第6列中的全部剩余选项,因此 R2C6=8 被迫成立。
R1C6=8 不成立。这两端合起来包含第6列中的全部剩余选项,因此 R2C6=8 被迫成立。
步骤 5 · 弱关系:相连候选互斥

R2C6=8 已经成立,排除 R2C6=6。

R2C6=8 已经成立,排除 R2C6=6。
R2C6=8 已经成立,排除 R2C6=6。
步骤 6 · 强关系:另一端被迫成立

R2C6=6 不成立。这两端合起来包含第2行中的全部剩余选项,因此 R2C9=6 被迫成立。

R2C6=6 不成立。这两端合起来包含第2行中的全部剩余选项,因此 R2C9=6 被迫成立。
R2C6=6 不成立。这两端合起来包含第2行中的全部剩余选项,因此 R2C9=6 被迫成立。
步骤 7 · 弱关系:相连候选互斥

R2C9=6 已经成立,排除 R2C9=3。

R2C9=6 已经成立,排除 R2C9=3。
R2C9=6 已经成立,排除 R2C9=3。
步骤 8 · 强关系:另一端被迫成立

R2C9=3 不成立。这两端合起来包含第9列中的全部剩余选项,因此 R7C9=3 被迫成立。

R2C9=3 不成立。这两端合起来包含第9列中的全部剩余选项,因此 R7C9=3 被迫成立。
R2C9=3 不成立。这两端合起来包含第9列中的全部剩余选项,因此 R7C9=3 被迫成立。
步骤 9 · 弱关系:相连候选互斥

R7C9=3 已经成立,排除 R7C6=3。

R7C9=3 已经成立,排除 R7C6=3。
R7C9=3 已经成立,排除 R7C6=3。
步骤 10 · 强关系:另一端被迫成立

R7C6=3 不成立。这两端合起来包含第6列中的全部剩余选项,因此 R6C6=3 被迫成立。

R7C6=3 不成立。这两端合起来包含第6列中的全部剩余选项,因此 R6C6=3 被迫成立。
R7C6=3 不成立。这两端合起来包含第6列中的全部剩余选项,因此 R6C6=3 被迫成立。
步骤 11 · 弱关系:相连候选互斥

R6C6=3 已经成立,排除 R5C4=3。

R6C6=3 已经成立,排除 R5C4=3。
R6C6=3 已经成立,排除 R5C4=3。
步骤 12 · 强关系:另一端被迫成立

R5C4=3 不成立。这两端合起来包含第5行中的全部剩余选项,因此 R5C1=3 被迫成立。

R5C4=3 不成立。这两端合起来包含第5行中的全部剩余选项,因此 R5C1=3 被迫成立。
R5C4=3 不成立。这两端合起来包含第5行中的全部剩余选项,因此 R5C1=3 被迫成立。
步骤 13 · 弱关系:相连候选互斥

R5C1=3 已经成立,排除 R9C1=3。

R5C1=3 已经成立,排除 R9C1=3。
R5C1=3 已经成立,排除 R9C1=3。
步骤 14 · 强关系:另一端被迫成立

R9C1=3 不成立。这两端合起来包含第9行中的全部剩余选项,因此 R9C8=3 被迫成立。

R9C1=3 不成立。这两端合起来包含第9行中的全部剩余选项,因此 R9C8=3 被迫成立。
R9C1=3 不成立。这两端合起来包含第9行中的全部剩余选项,因此 R9C8=3 被迫成立。
步骤 15 · 弱关系:相连候选互斥

R9C8=3 已经成立,排除 R2C8=3。

R9C8=3 已经成立,排除 R2C8=3。
R9C8=3 已经成立,排除 R2C8=3。
步骤 16 · 同格切换:另一候选被迫成立

R2C8=3 不成立。在同一格 R2C8 内,同格另一候选 R2C8=8 在当前假设下被迫成立。

R2C8=3 不成立。在同一格 R2C8 内,同格另一候选 R2C8=8 在当前假设下被迫成立。
R2C8=3 不成立。在同一格 R2C8 内,同格另一候选 R2C8=8 在当前假设下被迫成立。
步骤 17 · 弱关系:相连候选互斥

R2C8=8 已经成立,排除 R2C6=8。

R2C8=8 已经成立,排除 R2C6=8。
R2C8=8 已经成立,排除 R2C6=8。
步骤 18 · 强关系:另一端被迫成立

R2C6=8 不成立。这两端合起来包含第6列中的全部剩余选项,因此 R1C6=8 被迫成立。

R2C6=8 不成立。这两端合起来包含第6列中的全部剩余选项,因此 R1C6=8 被迫成立。
R2C6=8 不成立。这两端合起来包含第6列中的全部剩余选项,因此 R1C6=8 被迫成立。
步骤 19 · 交替链产生矛盾

推导结果与“R1C6=1 成立”矛盾,所以R1C6=1 不成立。

推导结果与“R1C6=1 成立”矛盾,所以R1C6=1 不成立。
推导结果与“R1C6=1 成立”矛盾,所以R1C6=1 不成立。
步骤 20 · 撤回上一种矩形填法

撤回这个假设和由它产生的结果。恢复原候选快照,再检查下一种可能。

撤回这个假设和由它产生的结果。恢复原候选快照,再检查下一种可能。
撤回这个假设和由它产生的结果。恢复原候选快照,再检查下一种可能。
步骤 21 · AIC 首尾摘要

交替链从“R1C6=1 成立”出发,沿页面标出的强关系和弱关系推进,需要时切换到同格另一候选,最终产生矛盾。因此R1C6=1 不成立。全部临时状态均已撤回。

交替链从“R1C6=1 成立”出发,沿页面标出的强关系和弱关系推进,需要时切换到同格另一候选,最终产生矛盾。因此R1C6=1 不成立。全部临时状态均已撤回。
交替链从“R1C6=1 成立”出发,沿页面标出的强关系和弱关系推进,需要时切换到同格另一候选,最终产生矛盾。因此R1C6=1 不成立。全部临时状态均已撤回。

可以得出什么

交替链从“R1C6=1 成立”出发,沿页面标出的强关系和弱关系推进,需要时切换到同格另一候选,最终产生矛盾。因此R1C6=1 不成立。全部临时状态均已撤回。

Nice Loop / AIC(漂亮环/交替推理链) · 按已验证的结果排除候选,或在相反状态不可能时填入数字。
Nice Loop / AIC(漂亮环/交替推理链) · 按已验证的结果排除候选,或在相反状态不可能时填入数字。

分步讲解 · 不连续·填数

本例从已保存的中途盘面开始,候选数包含此前逻辑排除的结果,并非刚刚自动生成的笔记。

蓝色:推理依据。绿色:结论。划线数字:排除的候选数。R1C1 表示第1行第1列。

步骤 1 · 先读懂 AIC 交替链

本课覆盖 HoDoKu 普通候选节点的 Nice Loop / AIC 家族:不连续环删除与落数、开放式 Type 1 与 Type 2,以及连续环。先从“R1C1=4 不成立”开始观察 R1C1=4。在第1行、第2列、第4宫、第3列中,实线表示两端至少一端成立,虚线表示两端不能同时成立;每页只推进一条高亮关系。

本课覆盖 HoDoKu 普通候选节点的 Nice Loop / AIC 家族:不连续环删除与落数、开放式 Type 1 与 Type 2,以及连续环。先从“R1C1=4 不成立”开始观察 R1C1=4。在第1行、第2列、第4宫、第3列中,实线表示两端至少一端成立,虚线表示两端不能同时成立;每页只推进一条高亮关系。
本课覆盖 HoDoKu 普通候选节点的 Nice Loop / AIC 家族:不连续环删除与落数、开放式 Type 1 与 Type 2,以及连续环。先从“R1C1=4 不成立”开始观察 R1C1=4。在第1行、第2列、第4宫、第3列中,实线表示两端至少一端成立,虚线表示两端不能同时成立;每页只推进一条高亮关系。
步骤 2 · 假设:开始交替链

分支 1:假设 R1C1=4 不成立。

分支 1:假设 R1C1=4 不成立。
分支 1:假设 R1C1=4 不成立。
步骤 3 · 强关系:另一端被迫成立

R1C1=4 不成立。这两端合起来包含第1行中的全部剩余选项,因此 R1C3=4 被迫成立。

R1C1=4 不成立。这两端合起来包含第1行中的全部剩余选项,因此 R1C3=4 被迫成立。
R1C1=4 不成立。这两端合起来包含第1行中的全部剩余选项,因此 R1C3=4 被迫成立。
步骤 4 · 弱关系:相连候选互斥

R1C3=4 已经成立,排除 R1C3=5。

R1C3=4 已经成立,排除 R1C3=5。
R1C3=4 已经成立,排除 R1C3=5。
步骤 5 · 强关系:另一端被迫成立

R1C3=5 不成立。这两端合起来包含第1行中的全部剩余选项,因此 R1C2=5 被迫成立。

R1C3=5 不成立。这两端合起来包含第1行中的全部剩余选项,因此 R1C2=5 被迫成立。
R1C3=5 不成立。这两端合起来包含第1行中的全部剩余选项,因此 R1C2=5 被迫成立。
步骤 6 · 弱关系:相连候选互斥

R1C2=5 已经成立,排除 R1C2=9。

R1C2=5 已经成立,排除 R1C2=9。
R1C2=5 已经成立,排除 R1C2=9。
步骤 7 · 强关系:另一端被迫成立

R1C2=9 不成立。这两端合起来包含第2列中的全部剩余选项,因此 R5C2=9 被迫成立。

R1C2=9 不成立。这两端合起来包含第2列中的全部剩余选项,因此 R5C2=9 被迫成立。
R1C2=9 不成立。这两端合起来包含第2列中的全部剩余选项,因此 R5C2=9 被迫成立。
步骤 8 · 弱关系:相连候选互斥

R5C2=9 已经成立,排除 R4C3=9。

R5C2=9 已经成立,排除 R4C3=9。
R5C2=9 已经成立,排除 R4C3=9。
步骤 9 · 同格切换:另一候选被迫成立

R4C3=9 不成立。在同一格 R4C3 内,同格另一候选 R4C3=4 在当前假设下被迫成立。

R4C3=9 不成立。在同一格 R4C3 内,同格另一候选 R4C3=4 在当前假设下被迫成立。
R4C3=9 不成立。在同一格 R4C3 内,同格另一候选 R4C3=4 在当前假设下被迫成立。
步骤 10 · 弱关系:相连候选互斥

R4C3=4 已经成立,排除 R1C3=4。

R4C3=4 已经成立,排除 R1C3=4。
R4C3=4 已经成立,排除 R1C3=4。
步骤 11 · 交替链产生矛盾

推导结果与“R1C1=4 不成立”矛盾,所以R1C1=4 成立。

推导结果与“R1C1=4 不成立”矛盾,所以R1C1=4 成立。
推导结果与“R1C1=4 不成立”矛盾,所以R1C1=4 成立。
步骤 12 · 撤回上一种矩形填法

撤回这个假设和由它产生的结果。恢复原候选快照,再检查下一种可能。

撤回这个假设和由它产生的结果。恢复原候选快照,再检查下一种可能。
撤回这个假设和由它产生的结果。恢复原候选快照,再检查下一种可能。
步骤 13 · AIC 首尾摘要

交替链从“R1C1=4 不成立”出发,沿页面标出的强关系和弱关系推进,需要时切换到同格另一候选,最终产生矛盾。因此R1C1=4 成立。全部临时状态均已撤回。

交替链从“R1C1=4 不成立”出发,沿页面标出的强关系和弱关系推进,需要时切换到同格另一候选,最终产生矛盾。因此R1C1=4 成立。全部临时状态均已撤回。
交替链从“R1C1=4 不成立”出发,沿页面标出的强关系和弱关系推进,需要时切换到同格另一候选,最终产生矛盾。因此R1C1=4 成立。全部临时状态均已撤回。

可以得出什么

交替链从“R1C1=4 不成立”出发,沿页面标出的强关系和弱关系推进,需要时切换到同格另一候选,最终产生矛盾。因此R1C1=4 成立。全部临时状态均已撤回。

Nice Loop / AIC(漂亮环/交替推理链) · 按已验证的结果排除候选,或在相反状态不可能时填入数字。
Nice Loop / AIC(漂亮环/交替推理链) · 按已验证的结果排除候选,或在相反状态不可能时填入数字。

分步讲解 · Type 1

本例从已保存的中途盘面开始,候选数包含此前逻辑排除的结果,并非刚刚自动生成的笔记。

蓝色:推理依据。绿色:结论。划线数字:排除的候选数。R1C1 表示第1行第1列。

步骤 1 · 先读懂 AIC 交替链

本课覆盖 HoDoKu 普通候选节点的 Nice Loop / AIC 家族:不连续环删除与落数、开放式 Type 1 与 Type 2,以及连续环。先从“R1C6=2 不成立”开始观察 R1C8=2, R1C9=2, R2C4=2。在第6列、第2行中,实线表示两端至少一端成立,虚线表示两端不能同时成立;每页只推进一条高亮关系。

本课覆盖 HoDoKu 普通候选节点的 Nice Loop / AIC 家族:不连续环删除与落数、开放式 Type 1 与 Type 2,以及连续环。先从“R1C6=2 不成立”开始观察 R1C8=2, R1C9=2, R2C4=2。在第6列、第2行中,实线表示两端至少一端成立,虚线表示两端不能同时成立;每页只推进一条高亮关系。
本课覆盖 HoDoKu 普通候选节点的 Nice Loop / AIC 家族:不连续环删除与落数、开放式 Type 1 与 Type 2,以及连续环。先从“R1C6=2 不成立”开始观察 R1C8=2, R1C9=2, R2C4=2。在第6列、第2行中,实线表示两端至少一端成立,虚线表示两端不能同时成立;每页只推进一条高亮关系。
步骤 2 · 假设:开始交替链

分支 1:假设 R1C6=2 不成立。

分支 1:假设 R1C6=2 不成立。
分支 1:假设 R1C6=2 不成立。
步骤 3 · 同格切换:另一候选被迫成立

R1C6=2 不成立。在同一格 R1C6 内,同格另一候选 R1C6=1 在当前假设下被迫成立。

R1C6=2 不成立。在同一格 R1C6 内,同格另一候选 R1C6=1 在当前假设下被迫成立。
R1C6=2 不成立。在同一格 R1C6 内,同格另一候选 R1C6=1 在当前假设下被迫成立。
步骤 4 · 弱关系:相连候选互斥

R1C6=1 已经成立,排除 R6C6=1。

R1C6=1 已经成立,排除 R6C6=1。
R1C6=1 已经成立,排除 R6C6=1。
步骤 5 · 同格切换:另一候选被迫成立

R6C6=1 不成立。在同一格 R6C6 内,同格另一候选 R6C6=6 在当前假设下被迫成立。

R6C6=1 不成立。在同一格 R6C6 内,同格另一候选 R6C6=6 在当前假设下被迫成立。
R6C6=1 不成立。在同一格 R6C6 内,同格另一候选 R6C6=6 在当前假设下被迫成立。
步骤 6 · 弱关系:相连候选互斥

R6C6=6 已经成立,排除 R2C6=6。

R6C6=6 已经成立,排除 R2C6=6。
R6C6=6 已经成立,排除 R2C6=6。
步骤 7 · 同格切换:另一候选被迫成立

R2C6=6 不成立。在同一格 R2C6 内,同格另一候选 R2C6=7 在当前假设下被迫成立。

R2C6=6 不成立。在同一格 R2C6 内,同格另一候选 R2C6=7 在当前假设下被迫成立。
R2C6=6 不成立。在同一格 R2C6 内,同格另一候选 R2C6=7 在当前假设下被迫成立。
步骤 8 · 弱关系:相连候选互斥

R2C6=7 已经成立,排除 R2C8=7。

R2C6=7 已经成立,排除 R2C8=7。
R2C6=7 已经成立,排除 R2C8=7。
步骤 9 · 同格切换:另一候选被迫成立

R2C8=7 不成立。在同一格 R2C8 内,同格另一候选 R2C8=2 在当前假设下被迫成立。

R2C8=7 不成立。在同一格 R2C8 内,同格另一候选 R2C8=2 在当前假设下被迫成立。
R2C8=7 不成立。在同一格 R2C8 内,同格另一候选 R2C8=2 在当前假设下被迫成立。
步骤 10 · AIC 首尾摘要

同数字端点 R1C6=2 与 R2C8=2 不会同时不成立。目标 R1C8=2, R1C9=2, R2C4=2 同时看见两个端点,因此都不可能成立。

同数字端点 R1C6=2 与 R2C8=2 不会同时不成立。目标 R1C8=2, R1C9=2, R2C4=2 同时看见两个端点,因此都不可能成立。
同数字端点 R1C6=2 与 R2C8=2 不会同时不成立。目标 R1C8=2, R1C9=2, R2C4=2 同时看见两个端点,因此都不可能成立。
步骤 11 · 撤回上一种矩形填法

撤回这个假设和由它产生的结果。恢复原候选快照,再检查下一种可能。

撤回这个假设和由它产生的结果。恢复原候选快照,再检查下一种可能。
撤回这个假设和由它产生的结果。恢复原候选快照,再检查下一种可能。
步骤 12 · AIC 首尾摘要

撤回临时端点状态。Type 1 AIC 的永久结论是删除 R1C8=2, R1C9=2, R2C4=2,因为它们同时看见 R1C6=2 与 R2C8=2。

撤回临时端点状态。Type 1 AIC 的永久结论是删除 R1C8=2, R1C9=2, R2C4=2,因为它们同时看见 R1C6=2 与 R2C8=2。
撤回临时端点状态。Type 1 AIC 的永久结论是删除 R1C8=2, R1C9=2, R2C4=2,因为它们同时看见 R1C6=2 与 R2C8=2。

可以得出什么

撤回临时端点状态。Type 1 AIC 的永久结论是删除 R1C8=2, R1C9=2, R2C4=2,因为它们同时看见 R1C6=2 与 R2C8=2。

Nice Loop / AIC(漂亮环/交替推理链) · 按已验证的结果排除候选,或在相反状态不可能时填入数字。
Nice Loop / AIC(漂亮环/交替推理链) · 按已验证的结果排除候选,或在相反状态不可能时填入数字。

分步讲解 · Type 2

本例从已保存的中途盘面开始,候选数包含此前逻辑排除的结果,并非刚刚自动生成的笔记。

蓝色:推理依据。绿色:结论。划线数字:排除的候选数。R1C1 表示第1行第1列。

步骤 1 · 先读懂 AIC 交替链

本课覆盖 HoDoKu 普通候选节点的 Nice Loop / AIC 家族:不连续环删除与落数、开放式 Type 1 与 Type 2,以及连续环。先从“R1C8=9 不成立”开始观察 R4C8=9。在第1行、第7列、第6宫、第8列、第3行、第6列、第5行、第4列、第6行、第9列、第4行中,实线表示两端至少一端成立,虚线表示两端不能同时成立;每页只推进一条高亮关系。

本课覆盖 HoDoKu 普通候选节点的 Nice Loop / AIC 家族:不连续环删除与落数、开放式 Type 1 与 Type 2,以及连续环。先从“R1C8=9 不成立”开始观察 R4C8=9。在第1行、第7列、第6宫、第8列、第3行、第6列、第5行、第4列、第6行、第9列、第4行中,实线表示两端至少一端成立,虚线表示两端不能同时成立;每页只推进一条高亮关系。
本课覆盖 HoDoKu 普通候选节点的 Nice Loop / AIC 家族:不连续环删除与落数、开放式 Type 1 与 Type 2,以及连续环。先从“R1C8=9 不成立”开始观察 R4C8=9。在第1行、第7列、第6宫、第8列、第3行、第6列、第5行、第4列、第6行、第9列、第4行中,实线表示两端至少一端成立,虚线表示两端不能同时成立;每页只推进一条高亮关系。
步骤 2 · 假设:开始交替链

分支 1:假设 R1C8=9 不成立。

分支 1:假设 R1C8=9 不成立。
分支 1:假设 R1C8=9 不成立。
步骤 3 · 强关系:另一端被迫成立

R1C8=9 不成立。这两端合起来包含第1行中的全部剩余选项,因此 R1C7=9 被迫成立。

R1C8=9 不成立。这两端合起来包含第1行中的全部剩余选项,因此 R1C7=9 被迫成立。
R1C8=9 不成立。这两端合起来包含第1行中的全部剩余选项,因此 R1C7=9 被迫成立。
步骤 4 · 弱关系:相连候选互斥

R1C7=9 已经成立,排除 R5C7=9。

R1C7=9 已经成立,排除 R5C7=9。
R1C7=9 已经成立,排除 R5C7=9。
步骤 5 · 同格切换:另一候选被迫成立

R5C7=9 不成立。在同一格 R5C7 内,同格另一候选 R5C7=2 在当前假设下被迫成立。

R5C7=9 不成立。在同一格 R5C7 内,同格另一候选 R5C7=2 在当前假设下被迫成立。
R5C7=9 不成立。在同一格 R5C7 内,同格另一候选 R5C7=2 在当前假设下被迫成立。
步骤 6 · 弱关系:相连候选互斥

R5C7=2 已经成立,排除 R6C8=2。

R5C7=2 已经成立,排除 R6C8=2。
R5C7=2 已经成立,排除 R6C8=2。
步骤 7 · 同格切换:另一候选被迫成立

R6C8=2 不成立。在同一格 R6C8 内,同格另一候选 R6C8=1 在当前假设下被迫成立。

R6C8=2 不成立。在同一格 R6C8 内,同格另一候选 R6C8=1 在当前假设下被迫成立。
R6C8=2 不成立。在同一格 R6C8 内,同格另一候选 R6C8=1 在当前假设下被迫成立。
步骤 8 · 弱关系:相连候选互斥

R6C8=1 已经成立,排除 R3C8=1。

R6C8=1 已经成立,排除 R3C8=1。
R6C8=1 已经成立,排除 R3C8=1。
步骤 9 · 同格切换:另一候选被迫成立

R3C8=1 不成立。在同一格 R3C8 内,同格另一候选 R3C8=6 在当前假设下被迫成立。

R3C8=1 不成立。在同一格 R3C8 内,同格另一候选 R3C8=6 在当前假设下被迫成立。
R3C8=1 不成立。在同一格 R3C8 内,同格另一候选 R3C8=6 在当前假设下被迫成立。
步骤 10 · 弱关系:相连候选互斥

R3C8=6 已经成立,排除 R3C6=6。

R3C8=6 已经成立,排除 R3C6=6。
R3C8=6 已经成立,排除 R3C6=6。
步骤 11 · 同格切换:另一候选被迫成立

R3C6=6 不成立。在同一格 R3C6 内,同格另一候选 R3C6=4 在当前假设下被迫成立。

R3C6=6 不成立。在同一格 R3C6 内,同格另一候选 R3C6=4 在当前假设下被迫成立。
R3C6=6 不成立。在同一格 R3C6 内,同格另一候选 R3C6=4 在当前假设下被迫成立。
步骤 12 · 弱关系:相连候选互斥

R3C6=4 已经成立,排除 R5C6=4。

R3C6=4 已经成立,排除 R5C6=4。
R3C6=4 已经成立,排除 R5C6=4。
步骤 13 · 强关系:另一端被迫成立

R5C6=4 不成立。这两端合起来包含第5行中的全部剩余选项,因此 R5C4=4 被迫成立。

R5C6=4 不成立。这两端合起来包含第5行中的全部剩余选项,因此 R5C4=4 被迫成立。
R5C6=4 不成立。这两端合起来包含第5行中的全部剩余选项,因此 R5C4=4 被迫成立。
步骤 14 · 弱关系:相连候选互斥

R5C4=4 已经成立,排除 R5C4=3。

R5C4=4 已经成立,排除 R5C4=3。
R5C4=4 已经成立,排除 R5C4=3。
步骤 15 · 强关系:另一端被迫成立

R5C4=3 不成立。这两端合起来包含第4列中的全部剩余选项,因此 R6C4=3 被迫成立。

R5C4=3 不成立。这两端合起来包含第4列中的全部剩余选项,因此 R6C4=3 被迫成立。
R5C4=3 不成立。这两端合起来包含第4列中的全部剩余选项,因此 R6C4=3 被迫成立。
步骤 16 · 弱关系:相连候选互斥

R6C4=3 已经成立,排除 R6C9=3。

R6C4=3 已经成立,排除 R6C9=3。
R6C4=3 已经成立,排除 R6C9=3。
步骤 17 · 强关系:另一端被迫成立

R6C9=3 不成立。这两端合起来包含第9列中的全部剩余选项,因此 R4C9=3 被迫成立。

R6C9=3 不成立。这两端合起来包含第9列中的全部剩余选项,因此 R4C9=3 被迫成立。
R6C9=3 不成立。这两端合起来包含第9列中的全部剩余选项,因此 R4C9=3 被迫成立。
步骤 18 · 弱关系:相连候选互斥

R4C9=3 已经成立,排除 R4C9=7。

R4C9=3 已经成立,排除 R4C9=7。
R4C9=3 已经成立,排除 R4C9=7。
步骤 19 · 强关系:另一端被迫成立

R4C9=7 不成立。这两端合起来包含第4行中的全部剩余选项,因此 R4C8=7 被迫成立。

R4C9=7 不成立。这两端合起来包含第4行中的全部剩余选项,因此 R4C8=7 被迫成立。
R4C9=7 不成立。这两端合起来包含第4行中的全部剩余选项,因此 R4C8=7 被迫成立。
步骤 20 · AIC 首尾摘要

互相可见的端点 R1C8=9 与 R4C8=7 数字不同。每个交叉候选 R4C8=9 都会让两个端点同时不成立,因此必须删除。

互相可见的端点 R1C8=9 与 R4C8=7 数字不同。每个交叉候选 R4C8=9 都会让两个端点同时不成立,因此必须删除。
互相可见的端点 R1C8=9 与 R4C8=7 数字不同。每个交叉候选 R4C8=9 都会让两个端点同时不成立,因此必须删除。
步骤 21 · 撤回上一种矩形填法

撤回这个假设和由它产生的结果。恢复原候选快照,再检查下一种可能。

撤回这个假设和由它产生的结果。恢复原候选快照,再检查下一种可能。
撤回这个假设和由它产生的结果。恢复原候选快照,再检查下一种可能。
步骤 22 · AIC 首尾摘要

撤回临时端点状态。Type 2 AIC 的永久结论是删除 R1C8=9 与 R4C8=7 之间的交叉候选 R4C8=9。

撤回临时端点状态。Type 2 AIC 的永久结论是删除 R1C8=9 与 R4C8=7 之间的交叉候选 R4C8=9。
撤回临时端点状态。Type 2 AIC 的永久结论是删除 R1C8=9 与 R4C8=7 之间的交叉候选 R4C8=9。

可以得出什么

撤回临时端点状态。Type 2 AIC 的永久结论是删除 R1C8=9 与 R4C8=7 之间的交叉候选 R4C8=9。

Nice Loop / AIC(漂亮环/交替推理链) · 按已验证的结果排除候选,或在相反状态不可能时填入数字。
Nice Loop / AIC(漂亮环/交替推理链) · 按已验证的结果排除候选,或在相反状态不可能时填入数字。

分步讲解 · 连续环

本例从已保存的中途盘面开始,候选数包含此前逻辑排除的结果,并非刚刚自动生成的笔记。

蓝色:推理依据。绿色:结论。划线数字:排除的候选数。R1C1 表示第1行第1列。

步骤 1 · 先读懂 AIC 交替链

本课覆盖 HoDoKu 普通候选节点的 Nice Loop / AIC 家族:不连续环删除与落数、开放式 Type 1 与 Type 2,以及连续环。先从“R9C3=6 不成立”开始观察 R9C3=5。在第3列、第5行、第8列、第9行中,实线表示两端至少一端成立,虚线表示两端不能同时成立;每页只推进一条高亮关系。

本课覆盖 HoDoKu 普通候选节点的 Nice Loop / AIC 家族:不连续环删除与落数、开放式 Type 1 与 Type 2,以及连续环。先从“R9C3=6 不成立”开始观察 R9C3=5。在第3列、第5行、第8列、第9行中,实线表示两端至少一端成立,虚线表示两端不能同时成立;每页只推进一条高亮关系。
本课覆盖 HoDoKu 普通候选节点的 Nice Loop / AIC 家族:不连续环删除与落数、开放式 Type 1 与 Type 2,以及连续环。先从“R9C3=6 不成立”开始观察 R9C3=5。在第3列、第5行、第8列、第9行中,实线表示两端至少一端成立,虚线表示两端不能同时成立;每页只推进一条高亮关系。
步骤 2 · 假设:开始交替链

只把 R9C3=6 作为闭环的阅读起点,不是在试数;交替环最终会回到这里。

只把 R9C3=6 作为闭环的阅读起点,不是在试数;交替环最终会回到这里。
只把 R9C3=6 作为闭环的阅读起点,不是在试数;交替环最终会回到这里。
步骤 3 · 强关系:另一端被迫成立

R9C3=6 不成立。这两端合起来包含第3列中的全部剩余选项,因此 R5C3=6 被迫成立。

R9C3=6 不成立。这两端合起来包含第3列中的全部剩余选项,因此 R5C3=6 被迫成立。
R9C3=6 不成立。这两端合起来包含第3列中的全部剩余选项,因此 R5C3=6 被迫成立。
步骤 4 · 弱关系:相连候选互斥

R5C3=6 已经成立,排除 R5C8=6。

R5C3=6 已经成立,排除 R5C8=6。
R5C3=6 已经成立,排除 R5C8=6。
步骤 5 · 同格切换:另一候选被迫成立

R5C8=6 不成立。在同一格 R5C8 内,同格另一候选 R5C8=8 在当前假设下被迫成立。

R5C8=6 不成立。在同一格 R5C8 内,同格另一候选 R5C8=8 在当前假设下被迫成立。
R5C8=6 不成立。在同一格 R5C8 内,同格另一候选 R5C8=8 在当前假设下被迫成立。
步骤 6 · 弱关系:相连候选互斥

R5C8=8 已经成立,排除 R9C8=8。

R5C8=8 已经成立,排除 R9C8=8。
R5C8=8 已经成立,排除 R9C8=8。
步骤 7 · 强关系:另一端被迫成立

R9C8=8 不成立。这两端合起来包含第9行中的全部剩余选项,因此 R9C3=8 被迫成立。

R9C8=8 不成立。这两端合起来包含第9行中的全部剩余选项,因此 R9C3=8 被迫成立。
R9C8=8 不成立。这两端合起来包含第9行中的全部剩余选项,因此 R9C3=8 被迫成立。
步骤 8 · 弱关系:相连候选互斥

R9C3=8 已经成立,排除 R9C3=6。

R9C3=8 已经成立,排除 R9C3=6。
R9C3=8 已经成立,排除 R9C3=6。
步骤 9 · AIC 首尾摘要

交替链闭合为连续环,因此环上的每条弱关系都被加强为强关系;从相关格或区域删除 R9C3=5。

交替链闭合为连续环,因此环上的每条弱关系都被加强为强关系;从相关格或区域删除 R9C3=5。
交替链闭合为连续环,因此环上的每条弱关系都被加强为强关系;从相关格或区域删除 R9C3=5。
步骤 10 · 撤回上一种矩形填法

撤回这个假设和由它产生的结果。恢复原候选快照,再检查下一种可能。

撤回这个假设和由它产生的结果。恢复原候选快照,再检查下一种可能。
撤回这个假设和由它产生的结果。恢复原候选快照,再检查下一种可能。
步骤 11 · AIC 首尾摘要

闭环已走完;撤回全部临时状态,并永久删除 R9C3=5。

闭环已走完;撤回全部临时状态,并永久删除 R9C3=5。
闭环已走完;撤回全部临时状态,并永久删除 R9C3=5。

可以得出什么

闭环已走完;撤回全部临时状态,并永久删除 R9C3=5。

Nice Loop / AIC(漂亮环/交替推理链) · 按已验证的结果排除候选,或在相反状态不可能时填入数字。
Nice Loop / AIC(漂亮环/交替推理链) · 按已验证的结果排除候选,或在相反状态不可能时填入数字。

专项练习

本课程改编自 Platon Sudoku App 的教学内容。你可以在这里读完完整实例,再到应用中继续学习和练习。

在 Google Play 查看