弗兰肯鱼

弗兰肯鱼

高级

数独中的“Franken”是什么意思?

Franken鱼将不同的房类型(行、列和宫)混合成一种鱼形模式。基本鱼只使用行与列。Franken鱼将宫加入基集或覆盖集,极大地扩展了可用的模式。

基本鱼与Franken鱼的区别

基本鱼:基房全为同一类型,覆盖房为互补类型。Franken鱼:基集至少包含一个宫,且非宫的房全为同一类型。覆盖集取自互补类型。

广义鱼原理

鸽巢原理:N个基房放置N个某数字的实例。如果所有候选数都落在N个覆盖房内,则覆盖房中位于基房之外的额外候选数可以被删除。有效性要求:每个基单元格都必须被覆盖,且每个覆盖房都必须至少包含一个基单元格。

弗兰肯X翼(N=2)

2个基房(至少一个宫),2个覆盖房。第10级(大师)。比基本X翼明显更难,因为混合房类型在视觉上不那么明显。

弗兰肯剑鱼(N=3)和弗兰肯水母(N=4)

弗兰肯剑鱼:3个基房,3个覆盖房。第10级(大师)。弗兰肯水母:4个基房,4个覆盖房。第11级(极限)。最罕见的技巧之一。

为什么Franken鱼难以发现

搜索空间比基本鱼大得多。基集取自全部27个房。宫与线的交叉几何结构难以直观想象。很少能靠手工发现。

与其他鱼形变体的关系

基础鱼:仅限行与列。等级4-9。鳍鱼/生鱼片鱼:允许带鳍。等级7-9。弗兰肯鱼:允许在基础集/覆盖集中使用宫。等级10-11。变异鱼:允许任意单元组合。最通用但极其罕见。

总结

弗兰肯鱼允许在基础集和覆盖集中使用宫,从而解锁基础鱼无法找到的删减。鸽笼逻辑完全相同。代价是复杂度:等级10-11,现实中只有借助求解器才能找到。