基于遗传算法的数独生成器(和求解器)
sudokumaker的Python项目详细描述
Author: | Ralf Schlatterbeck <rsc@runtux.com> |
---|
数独制作者是数独数字拼图的生成器。它使用了一种基因 算法内部,因此它可以作为遗传 算法。生成的数独通常很难解决-很好 为了戒掉数独瘾。
它还包括一个简单的数独游戏深度优先解算器- 当产生数独谜题时,解算器是内在需要的。包括在内的 sudoku.py可以被调用并从标准输入中读取数独。 它输出解决方案(如果有的话)或者如果没有一个解决方案 给定的谜题,它将输出几个(最多到最大)。
数独游戏的表现很简单:9行9个数字 在每一行中,例如
300000500 000000260 000308000 000000091 400100000 037000000 800006000 006485700 000009002
数字1-9表示拼图的给定数字,而 零表示空平铺。一个已解决的谜题根本不包含 零。
支持两种不同的数独游戏。第一种变体 添加对角线(因此在两条对角线中,数字1-9必须 存在),可以使用^{tt2}请求此变量$ 选择。数独制造商目前不支持这些变体。 第二个变体要求在每个象限中有9个不同的 颜色,相同的颜色总是在每个象限的相同位置。 数字1-9必须出现在每种颜色上。
数独拼图可以很漂亮地打印为乳胶使用包括 sudoku_as_tex程序。当前支持打印 如果给定--diagonal选项,则对角线为黄色。颜色 尚不支持为数独游戏的第二个变体打印。
对于遗传算法库,我的python包装器pgapy 需要并行遗传算法库(pgapack)。有 当前不支持pgapy的windows,因为它需要pgapack 要安装的库。对于一个熟练的人来说 让pgapack在windows上运行,如果你这样做了,请告诉我。
0.4版:打包修复程序
再次修复包名,坚持使用sudokumaker以避免名称冲突。
- Package namespace is now sudokumaker again
- Sudokumaker depends on rsclib.sourceforge.net
版本0.3:颜色,对角线
现在支持颜色约束和对角化约束数独。
- Diagonality constrained sudokus must have the digits 1-9 in the diagonals, too. When printing, diagonals are printed in yellow.
- Color constrained sudokus have 9 additional colors which are in the same position in every quadrant. These must have the digits 1-9, too. When printing we chose 9 different light colors.
版本0.2:自述文件更新
自述文件(以及由此生成的SF主页)出错 链接到项目。另外,python包索引不接受 我的分类器。GRMPF公司。
- Fix project link in README (SF Logo)
- Remove one classifier not accepted by pypi
版本0.1:初始版本
数独制作者是数独数字拼图的生成器。它使用了一种基因 算法内部。
- First Release after a long silent development