数独中的 XYZ-Wing 技巧
什么是 XYZ-Wing?
XYZ-Wing 由一个轴心格和两个翼格组成。轴心格包含三个候选数 X、Y、Z;一个翼格包含 X 和 Z,另一个翼格包含 Y 和 Z。轴心格必须同时看到两个翼格,并且两个翼格共享候选数 Z。
与 XY-Wing 不同,轴心格本身也包含 Z。因此,只有同时能看到轴心格和两个翼格的格子,才能排除候选数 Z。
如何识别 XYZ-Wing
- 找出一个包含三个候选数、可以作为轴心格的格子:XYZ。
- 找出一个包含 X 和 Z、并且能看到轴心格的双值翼格。
- 找出另一个包含 Y 和 Z、同样能看到轴心格的双值翼格。
- 确认两个翼格共享候选数 Z。
- 只从同时能看到轴心格和两个翼格的格子中删除 Z。
轴心格和翼格之间的关系可以通过行、列或宫建立。两个翼格不一定互相可见,因此排除前要逐格确认可见关系。
为什么可以排除候选数?
假设轴心格包含2、5、8,一个翼格包含2和8,另一个翼格包含5和8。如果轴心格填2,第一个翼格就必须填8;如果轴心格填5,第二个翼格就必须填8;如果轴心格填8,轴心格本身已经包含8。
无论轴心格取哪一个值,轴心格或两个翼格中至少有一个一定包含8。因此,同时看到这三个格子的目标格不能包含8。
XYZ-Wing 与 XY-Wing
XY-Wing 使用包含两个候选数 XY 的轴心格,以及 XZ、YZ 两个翼格,目标格只需同时看到两个翼格。XYZ-Wing 的轴心格包含三个候选数 XYZ,因此目标格还必须能看到轴心格。两种技巧相关,但排除范围不同。
XYZ-Wing 常见误区
- 轴心格必须包含三个候选数;只有两个候选数时属于 XY-Wing。
- 两个翼格必须共享候选数 Z。
- 不能从看不到轴心格的格子中删除 Z。
- 目标格必须同时看到三个关键格,而不是只看到其中两个。
什么时候使用 XYZ-Wing?
当候选数标记已经更新,并且盘面上出现多个互相可见的双值格时,XYZ-Wing 会比较有用。它可以在简单数组或鱼形技巧无法处理的精确交集位置排除候选数。执行排除前,应确认三组可见关系。
XYZ-Wing 之后该学什么?
可以先阅读 XY-Wing 对比两种轴心结构,再学习使用强链接的 W-Wing。摩天楼 则提供了另一种围绕端点进行推理的方式。