grid_on

Sudoku Clean 素数独

技巧文档 / 基础染色

基础染色

前置知识: 链的基础

高阶

基础染色

前置知识:链的基础

描述

基础染色是一种“删候选”的单数技巧:只盯住一个数字 d,并且只在 双位数强链(某行/列/宫里 d 恰好只剩 2 个候选位置)上做推理。

做法很简单:沿着强链把候选 d 分成两种颜色(蓝 / 黄)。
这两种颜色代表两条互斥的推导路线:在同一条强链里,两端必然“一真一假”,所以颜色会交替。

在一条染色链里,你可以把蓝/黄理解成两种“互斥的假设”:

  • 假设蓝色为真 ⇒ 黄色为假
  • 假设蓝色为假 ⇒ 黄色为真

也就是说:蓝黄必有一种为真(同一条强链两端必须“二选一”)。

基础染色有两种常见结果:

  1. 陷阱(Trap):某个红色候选同时看见蓝端点和黄端点 → 红色候选可以删
  2. 同色冲突(Same-color contradiction):同一 house 里出现两个同色的 d → 这个颜色整条推导链都不成立,可以整链删除

陷阱

基础染色(陷阱)- 染色链

先看图 1:目标数字是 9。我们从 r9c6 出发沿强链染色,链的另一端是 r7c3,两端分别用蓝/黄标出。

基础染色(陷阱)- 删数

再看图 2:红色候选是要删除的 r9c2r9c3 里的候选 9。
为什么能删?抓住这层意思就够了:

  • 如果蓝色为真:蓝色端点(例如 r9c6)就会是 9。红色候选能看见它,因此与蓝色端点冲突,不能为真。
  • 如果蓝色为假:在同一条强链上,黄色就会为真(例如 r7c3 会是 9)。红色候选同样能看见它,因此仍然冲突,不能为真。

无论是哪一种情况,红色候选都不可能成立,所以可以删除。


同色冲突

基础染色(同色冲突)- 染色链

先看图 3:目标数字是 5。我们从 r9c6 出发染色,沿强链推导后,最后又推到了 r9c8 也是蓝色的 5。
注意:r9c6 和 r9c8 同在第 9 行,同一行不可能出现两个 5 —— 这就是“同色冲突”。

基础染色(同色冲突)- 整链删除

这说明:如果你假设“蓝色为真”,就会导致同一行出现两个 5 —— 矛盾。
所以蓝色这条推导路线不成立:所有蓝色的候选 5 都可以删除(图 4 已标出)。


如何寻找基础染色?

一句话:找双位数强链,把 d 染成蓝/黄两条路线,然后找“陷阱”或“同色冲突”。

在游戏里你可以按这个顺序做:

  1. 先选一个数字 d
  2. 在盘面上找 d 的双位数强链(行/列/宫里 d 恰好只剩 2 个候选)
  3. 从任意一点开始染色,沿强链交替涂成蓝/黄
  4. 优先找两类结论:
    • 红色候选能同时看见一蓝一黄端点 → 陷阱删数
    • 同一行/列/宫里出现两个同色 d → 整链删除该颜色