三阶魔方还原的13种程序实现
文末附程序下载
src:http://tomas.rokicki.com/cubecontest/winners.html
译者:WilliamYu
Copyright © 2018 本文遵从GNU自由文档许可(Free Document License)条款,欢迎转载、散布。
翻译不足之处,万望指正,邮箱windmillyucong@163.com
冠军是来自于Ann Arbor, Michigan的Tomas Sirgedas,他提供了一种非常切实可行的并且只有874个C++字符的程序!对于我设定的魔方状态,这套程序的平均解决步数是16.03步,并且平均每种耗时仅仅64毫秒。他的总成绩是非常不可思议的7901;这套程序 是十分可信的。
第二名是来自Darmstadt, Germany的 Stefan Pochmann,他用C++实现了Thistlethwaite’s algorithm算法,他的程序总得分为15,278,总计1311个字符,平均197毫秒得出结果,每个魔方基本上在16.72步还原。即便这个程序还不够好的话他也很可能会获得第二名(?),由于所有提交者中Perl提供了只有528个字符的最短的程序,平均占用15毫秒得出结果,并且平均327,63步复原一个魔方。
三等奖给了Jaap Scherphuis,来自Delft, the Netherlands,他再次用C++实现了Thistlethwaite’s algorithm算法。他的程序总计2059个字符,平均154毫秒得出结果,并且平均执行16.04步复原魔, 总得分21,599。此外,第一名和第二名都是归功于Jaap和他的网站算法的帮助。(原句:Furthermore, both the first and second place winners credit Jaap and his site for help with the algorithms! )
第四名是来自Gennevilliers, France的Antony Boucher ,他使用了四步连续的IDA*搜索算法来复原所有的十字到特定状态,如果失败了,就 复原顶部十字,然后复原剩下的棱块儿,接着用预先设定好的算法复原角块儿。他用C语言编写的程序使用了1628个字符,获得了惊人的平均22毫秒得出结果的成绩,对于我设定的数据,平均29.49步复原模仿,并且最终得分25,061分。
我设置的实验数据包括了所有的单步转动魔方状态,18种两步转动混乱魔方,18种3步,和46种随机混乱状态。
按最终成绩排列的最高分记录如下:
Place | 名称 | 大小 | 速度 | 步骤数 | 得分 |
---|---|---|---|---|---|
1 | Tomas Sirgedas, Ann Arbor, MI, USA | 874 | 64 | 16.03 | 7901 |
2 | Stefan Pochmann, Darmstadt, Germany | 1311 | 197 | 16.72 | 15278 |
3 | Jaap Scherphuis, Delft, the Netherlands | 2059 | 154 | 16.04 | 21599 |
4 | Antony Boucher, Gennevilliers, France | 1628 | 22 | 29.49 | 25061 |
5 | David Barr, Laurel, MD, USA | 1499 | 155 | 35.03 | 34394 |
6 | Charles Tsai, Canton, MA, USA | 2213 | 10 | 78.76 | 87322 |
7 | Mikael Klasson, Linköping, Sweden | 2190 | 10 | 88.34 | 96925 |
8 | Grant Tregay, West Chicago, IL, USA | 4009 | 10 | 59.17 | 118843 |
9 | Adrian Sandor, Hong Kong, China | 1992 | 670 | 54.65 | 127423 |
10 | Yuri Pertsovski, Hazorea, Israel | 3013 | 2 | 98.82 | 149467 |
11 | Joe Lindström, Linköping, Sweden | 2054 | 1600 | 39.96 | 172363 |
12 | Justin Legakis | 3517 | 212 | 93.4 | 233883 |
* | Stefan Pochmann, Darmstadt, Germany | 528 | 15 | 327.63 | 89089 |
点击表格名称栏目下载相应程序。
转载请注明出处。
2018.02.05_WilliamYu