数独博士的可怕之处
一、数独博士5.0内有间谍软件
数独博士5.0运行后,会释放一个名为crcl.exe的文件,该文件位于临时文件夹下面的~osFA.tmp目录下,完全的路径为(假设你的系统安装在C盘,且当前登录用户名为asd):C:\Documents and Settings\asd\Local Settings\Temp\~osFA.tmp
而crcl.exe是一个实实在在的间谍软件:(以下是谷歌crcl.exe的结果信息)
crcl.exe是88圈的进程,88圈是一个用来收集并整理数百万用户的网上浏览和购买行为,以方便市场调查公司编写成市场分析报告的软件。以上行为类似间谍软件,部分杀软和杀马软件会报毒。如果楼主是在不知情的情况下安装的,可以在添加删除程序里很方便地删除88圈软件。
同时,数独博士5.0还会产生一个大小为2,207,483 字节的可执行程序,目前还不知道该程序有何作用。
二、并不是自己产生数独。
作为一个数独程序,产生一道高质量的数独题目,是基本的也是必备的功能。只可惜号称“博士”的该程序却没有自己产生数独题目的功能。
在使用该程序时,一时为其产生的数独题目速度之多、质量之高而莫名其妙。
看看该程序所产生的数独题目,很多都是17个提示数,而且是瞬间产生的。我们都知道,要产生一道高质量的17个提示数的数独题目并不是一件简单的事。所以我就一直怀疑该程序是自带数独题目库。尽管每次产生的题目都是不一样。
于是决定探个究竟。
经过努力,终于查出真相。
首先,用程序让“数独博士”产生4305道骨灰级的题目。对这4305道题目进行检测,发现了45道相同的题目。
问题能初露端倪。
接着,再利用超级数独程序gsf程序进行同构同形(Isomorphs)验证。
验证的结果让人大吃一惊,在这4305道题目里,竟然有3808道题目相同。
由此可以证明:数独博士并没有自己产生题目的功能。
相关链接一:数独题目,何谓同形同构?
所谓数独谜题的变形,是指把9*9的方阵作一些变换,产生一道新的题目。
常用的变换方法有
代数变换:数字1到9作调换,例如1换成7,6换成2,2换成1,7换成6....
矩阵变换:纵列作调换,或横行作调换,纵向三个九宫格连结成一区块作调换,横向三个九宫格连结成一区块作调换....
旋转变换:旋转90度,180度、270度....
对称变换:水平对称变换、垂直对称变换、对角线对称变换....
经过变换后的题目,从外观上很难分辨新的谜题是旧谜题的变形,一个数独谜题经由变形可以有很多变化,一个数独谜题, 总计可变化出出 362880 * 36 * 2 * 8= 209,018,880 个数独谜题来。
例如:下面一道题目:
103000000000700200089000000200600000000000910060800000000010000000070090040000500
经过变换后
005700009012000000040030000000004200000000000300002006800570000000000000000000840
000000000790000100000301000003005000000000000005020800000000054080000003900060070
000420000003010000070500800100000040000000000400003600000000091057009000000000000
005003100000047000000020080000000000000900310290000000000000000006800007070000002
020070000007010000000000509000009000000008005003000600501000000490000000000080200
000009050002005008000000000750000000040300001900020000000000000000000960006430000
005000701000350000000000000010009007300000200860000000000000000000060030002004060
002000000000009001008000050000054000000270000080000006000000025030600000040003000
000000000050004000040070020908000060000000000000506000800010900002000005000000403
007040000002000000000008060000000034070005000000000209030000010010000500000024000
604000000190000000000008300050009000003005000000000104000080001000040000070000200
000091000400000005500000080000020007030009000010000000000000904300080000000000610
001090040000000000006000100080300020000107000900006000830050000000000506000000000
000000670100002000020004000000005010047000000609000000000600000030000080000500700
000940020520000000000000000000600500000000807003090004070005000000000000001007060
000000908000000062700500000000100700000600010209000000300000040002050000000090000
这16道题目与旧题是同构同形,但人们已经难以分辨了。
相关链接二:Gsf使用方法。
Gsf功能强大,数独爱好者知道。但其使用复杂,非一朝一夕可以学透。下面的命令是验证同构同形的。
gsf -f"%#0c %4305n" 4305.txt > n4305.txt
-f"%#0c %4n" 是输出格式指定为空格以0零表示,小写C表示正规化,如果要验证的题目很多,
可以加上 %4n ,编号。10题以内可以略去!
为了让读者自行验证,本人将使用的验证工具全部上传。有兴趣的朋友可以点击链接进行下载:http://www.cppblog.com/Files/flyfeng/kepan_sd.rar
本人使用的数独博士是从网络上下载的最新版5.0,未注册版本。
压缩包里的文件
4305.txt为数独博士所产生的原来的题目,n4305.txt是gsf程序所验证后的题目。
10.txt和n10.txt是测试文件,其中10.txt是变换的题目,n10.txt是未变形的题目。