数独中的简单着色技巧
什么是简单着色?
简单着色是一种只围绕一个候选数展开、基于强链接的技巧。选择一个数字,将它在同一行、列或宫中构成强链接的候选位置连接起来,并用两种颜色交替标记。颜色代表这条链中候选数可能成立的两种状态。
如果两个相同颜色的候选位置互相可见,则该颜色不可能成立;如果一个未着色候选位置同时看到两种颜色,也可以在该格子中删除目标候选数。
如何建立简单着色链
- 选择一个拥有多个强链接的候选数。
- 从某个单位中该数字唯一的两个候选位置开始。
- 给其中一个位置标记颜色A,另一个标记颜色B。
- 沿着强链接继续前进,每次交替颜色。
- 检查同色矛盾,或检查同时看到两种颜色的未着色候选位置。
每次只为一个候选数着色。强链接可以来自行、列或宫;单纯的弱可见关系不能自行建立交替颜色链。
简单着色的两条主要规则
同色矛盾
如果两个相同颜色的候选位置互相可见,它们不可能同时成立。因此,这种颜色在整条连接链中都应被排除,并从相关格子中删除。
同时看到两种颜色
如果一个未着色候选位置同时看到至少一个A色和一个B色候选位置,那么它不可能成立,可以从该格子中删除目标候选数。
为什么简单着色有效?
每条强链接都表示两个候选位置中至少有一个必须成立。交替颜色记录了链条延伸时的两种可能状态。同色矛盾会否定其中一种状态;同时看到两种颜色的格子无论哪种状态成立都会产生冲突,因此可以排除。
简单着色常见误区
- 只能为一个数字着色,不同数字不能共用同一条颜色链。
- 颜色应沿强链接交替,而不是沿所有可见关系交替。
- 不要把弱链接当成相反颜色必然成立的证据。
- 同色矛盾必须建立在同一行、列或宫中的真实可见关系上。
简单着色与进阶链
简单着色以视觉方式呈现两种状态,是从 摩天楼 和 W-Wing 过渡到更通用链式方法的一座桥梁。保持候选数准确,当链条不再遵循有效强链接时就应停止着色。
什么时候使用简单着色?
可以在完成单数、数组和交叉排除后尝试。当某个候选数在多个单位中形成清晰强链接时,它尤其有效。如果没有合法链条,应换一个候选数检查,不要强行指定颜色。