SDCal是我在高二完成的一个数独解答程序,能提供对于某个数独问题的求解(所有解),或单步求解,显示求解的步骤。
从去年11月开始,我开始编写SDCal的改进版,SDCal绝大部分被重写。我把它称作SDCal Pro,相当于SDCal的2.0版。12月份由于期考等各种事务,工作停滞。终于,经过努力,SDCal Pro beta发布了。
SDCal有了很大的改进,主要如下:
- 有一个不错的图形界面,用Gtk+编写。数独编辑功能强大。
- 支持估计数独题难度。
- 可以显示解题步骤。
- 加入了数独生成算法,可以根据设定的难度范围,随机生成数独。但是效率还有改进的余地。
- 多操作系统支持。
前几天我完成了SDCal Pro的修改,Windows的beta版已经发布在http://sdcal.sf.net,在这个页面可以下载。很抱歉,现在还没来得及做中文包及Linux版(源文件应该可以在含libgtk2.0-dev库的Linux下编译运行,欢迎大家帮忙用gettext做一个中文包)。
关于SDCal算法
SDCal算法分为两个部分:sdcal和sdcreate。
sdcal用于数独求解。它使用一组算法来得到数独的解,其中主干部分是逻辑推理(模拟算法),此外还使用guessing(搜索算法)加以辅助。这个模块可以得到以很快的速度得到数独的多个解。目前,sdcal求得数独解的上限被设定为99。sdcal包含数独难度估计算法,它分析解题时每一步的难度,并将整个数独题难度记为每一步难度的总和。
sdcreate用于生成数独问题。它依赖于sdcal。sdcreate首先生成一个多解、很难的数独题,使用sdcal求解并估计难度,最后设法将题目变为单一解、难度适中的题目。sdcreate支持自定义题目难度范围、空格数、对称性等参数,并过滤掉不符合要求的问题;但是过滤是个漫长的过程,这降低了sdcreate的效率。
感谢
SDCal 1.0测试者:Sherry Zhou。
SDCal Pro Alpha测试者:严酷的魔王(其实这个不用感谢),时间矢,Liangent。
本博客数独事业关注者:rombalance。
本文由 最后的叶子 创作,转载或引用前请联系我们。
相关文章:
标签:SDCal, 数独
哈哈
回复
只有一个问题……你能告诉我怎么在win7下配置gtk环境吗?
回复
你是说gtk-dev?
回复
单纯的运行环境都有问题……完整安装了一个也还是提示我缺少文件……
回复
你试过我的那个SDCal with gtk版本没?
回复
用的是alpha版……
回复
你不妨试一下SDCal Pro with gtk,这个自带gtk运行库。
回复
[...] Pro为何物,你可以前往以前的博文《欢迎大家来测试 – SDCal Pro beta发布》或者看看这篇博文的缩略版: [...]
[...] Pro为何物,你可以前往以前的博文《欢迎大家来测试 – SDCal Pro beta发布》或者看看这篇博文的缩略版: [...]
叶子……能不能给点Gtk开发的资料……我暑假想试试Gtk的开发……
回复
只是gtk+ 3下半年要出了,API可能变化比较大……
gtk的文档做得相当好,这是最好的资料了:
http://library.gnome.org/devel/gtk/unstable/index.html
回复