2数独初盘生成-计算机应用与软件.docVIP

  • 47
  • 0
  • 约5.12千字
  • 约 4页
  • 2017-06-08 发布于天津
  • 举报
2数独初盘生成-计算机应用与软件

数独问题的生成与求解算法的研究 杨民峰1 王飞2 1 北京工业职业技术学院电气与信息工程学院 北京 100042 2 中国科学院电子学研究所 北京 100190 将数独问题归结为初盘的生成与求解两个独立而又关联的子问题。从数独初盘本身具有的性质出发,将生成有唯一解初盘的算法分为两步:首先基于规则生成终盘,再利用权重进行筛选确保了生成初盘的解的唯一性。采用多叉树遍历算法框架,并结合最小候选数的计算实现了初盘的求解,改良后的算法极大地减少了搜索分支,达到了修枝限界的效果。 数独 初盘规则 候选数 中图分类号 TP3    文献标识码 A DOI: 10.3969/j.issn.1000-386x.2013.01.001 Study On Generation and Solution Algorithm of Sudoku Problem Yang Minfeng1 Wang Fei2 1 School of Electrical and Information Engineering,Beijing Polytechnic College, Beijing 100043,China 2 Institute of Electronics, Chinese Academic of Sciences, Beijing 100190, China In the paper,Sudoku problem is divided into two independent and related sub-problems : generating and solving original layout. Starting with the very nature of Sudoku’s original layout, generating original layout which has a unique solution is divided into two steps:first,solvable original layout is generated based on rules and then,desired layout is selected by weight calculatioo solve original layout, multi-tree search architecture based on minimum candidate number is purposed. The improved algorithm reduces search branches vastly and reaches the effect of pruning. Sudoku Rules of Original Layout Minimum Candidate Number 引 言 数独 Sudoku ,可最早追溯到中国远古时代的“河图洛书”与“九宫格”而18世纪初瑞士著名数学家欧拉等人发明“拉丁方阵”成为现代数独的雏形,后经日本人改良并逐渐风靡全球。游戏在9×9的单元网格中进行,单元网格不仅被分为9行、9列,也被分为×3个九宫格。数独游戏规则非常简单,只需要在给定棋盘上的空白处根据已知的数字填入1-9内的数字,只需保证每行、每列、每个宫内的数字不重复即可[1]。游戏开始时包含若干数字和若干空格的单元网格状态称为初盘 图1 一个数独初盘及其终盘 相关研究 数独初盘必须有终盘解.但若一个初盘对应着多个终盘解, 可能会降低游戏的可玩性与趣味性,所以应寻求有唯一终盘解的初盘的生成与求解: (1)在初盘的生成的问题上,大家主要关注初盘难度评价与生成算法。对于难度评价,网站[2]按照Easy、Medium?、?Hard?、?Evil四个级别给出了大量的唯一解的初盘实例有文章结合2008年美国MCM赛题,讨论不同难度级别的数独初盘的生成问题[3],但其难度指标定义过于主观。而对于初盘的生成,一篇有影响力的文章基于判定树筛选算法生成了具有唯一解的初盘[4],但是该生成算法依赖于初盘的求解算法从随机初盘生成终盘后再判定。 (2)对于数独初盘的求解,人手解题是基于人的思维,寻找求解的特殊技巧,具体用到的策略包括直观法、唯一候选法、以及数对删减法等;相对于人手解题,基于计算机算法进行求解更有研究的意义与价值。然而研究其求解算法的论文不多:通过有限递推和回溯的初盘求解算法是在一定程度上模拟了人手智能解题[5],但是如果约束条件构建不好的话,其回溯算法的时间复杂度是指数级别的;很多文章从遗传算法的角度来讨论初盘求解的问题[][8][9][10],其利用了遗传算法的通用优化迭代数独初盘的生成与求解性能达到线性时间复杂度最少需要

文档评论(0)

1亿VIP精品文档

相关文档