1、 基于 SAT 的数独游戏实现 1 中文摘要中文摘要 本文通过结合数独游戏和 SAT 求解器,对 SAT 求解器的作用进行了探讨. SAT 的计算 复杂性很高, 但实际中又有需求, 目前很多公司已经开发了许多 SAT 解算器, 本文采用 The SAT Group at Princeton University 开发完成的 SAT 求解器。SAT 求解器的运用范围广 泛,适合许多领域。本文通过调用 SAT 求解器,来实现数独游戏的功能问题。通过本文, 我们将进一步了解 SAT 求解器的相关工作方式。 关键字关键字:数独,sat 求解器,C+,vector 容器 基于 SAT 的数独游戏实现 2
2、 Abstract This paper combines Sudoku and the SAT solver,and discuss the role of the SAT solver. SATs computational complexity is high, and its needed in much fields in practice. At present, many companies have developed a number of SAT solvers, this paper, we use the SAT solver developed by The SAT
3、Group at Princeton University. SAT solvers are used in a wide range, suitable for many areas. In this paper, we call SAT solver to achieve the functioning of Sudoku. In this article, we will learn more about SAT solver related work Key words: Sudoku,sat Solver,C+,vector 基于 SAT 的数独游戏实现 3 目录目录 中文摘要中文摘
4、要 1 AbstractAbstract 2 第一章第一章 绪论绪论 . 5 1.11.1 数独介绍数独介绍 . 5 1.1.11.1.1 数独历史数独历史 . 5 1.1.21.1.2 数独游戏元素构成数独游戏元素构成 6 1.1.31.1.3 数独游戏规则数独游戏规则 7 1.21.2 SATSAT 介绍介绍 7 编译编译 SATSAT 求解器求解器 . 9 1.31.3 SATSAT 求解器的移植以及安装步骤:求解器的移植以及安装步骤: 9 1.41.4 修改修改 SATSAT 求解器求解器 9 第二章第二章 SATSAT 算法思想算法思想 . 13 SATSAT 在数独中的应用在数独中的应用 . 13 第三章第三章 SATSAT 求解器在数独游戏的实现求解器在数独游戏的实现 15 3.13.1 SATSAT 求解器原有函数介绍求解器原有函数介绍 15 3.23.2 SATSAT 求解器求解器 . 15 3.33.3 调用调用 SATSAT 求解器过程求解器过程 . 16 3.3.1