数独求解的优化与探索
1. 数据集构建
为了研究数独求解问题,创建了一个包含 9×9 数独谜题的数据集。该数据集按给定线索数量对谜题进行分类,同时手动添加了一些著名的数独谜题,如“复活节怪物”“2012 年 Arto Inkala 世界最难数独”和“金块”等。谜题从百万谜题数据集和超级数独库数据集中自动选取,每个类别最多选取 30 个谜题,部分类别不足 30 个,最终数据集共包含 438 个谜题。
2. 概念定义
- 谜题(SS、$S_{ESE}$、$S_{FSF}$) :给定的“空”数独谜题 $S_{ESE}$ 中,部分单元格预先填入了称为“线索”的数字。当 $S_{ESE}$ 完全被非零数字填满时,记为 $S_{FSF}$,一般填充后的谜题状态可称为 SS。
- 个体($I_i$) :每个不相交的 3×3 单元格组称为一个个体,一个数独谜题有 9 个个体,每个个体包含 1 到 9 的唯一数字。
- 团队($T_i$) :以某个“领导者”个体 $I_i$ 为中心,其左、右、上、下的个体构成一个团队,但文中提及的团队通常不包含领导者。例如,以 $I_1$ 为领导者的团队成员为 $T_1 = {I_2, I_3, I_4, I_7}$。
- 冻结单元格($F_i$) :$I_i$ 中暂时或永久固定值的单元格,谜题开始时给定线索的单元格始终保持冻结,算法在需要时也可临时冻结其他单元格。团队的冻结单元格用 $F_T$ 表示。
超级会员免费看
订阅专栏 解锁全文
504

被折叠的 条评论
为什么被折叠?



