当前位置:  开发笔记 > 编程语言 > 正文

最容易为Rubik的立方体编码算法?

如何解决《最容易为Rubik的立方体编码算法?》经验,为你挑选了2个好方法。

在Java中用于解码Rubik多维数据集的代码是一种相对简单的算法.效率也很重要,但是次要考虑因素.



1> Rushyo..:

执行随机操作,直到获得正确的解决方案.最简单的算法和效率最低的算法.


哈哈哈有4.33*10 ^ 19排列,这是非常有效率最低的:-)
引自维基百科:'原版(3×3×3)魔方有八个角和十二个边.有8个!(40,320)安排角落立方体的方法.七个可以独立定向,八分之一的方向取决于前七个,给出37(2,187)种可能性.有12个!/ 2(239,500,800)种方法来排列边缘,因为角的奇数排列也意味着边缘的奇数排列.11个边缘可以独立翻转,第12个翻转取决于前面的边缘,给出211(2,048)种可能性.[19]'

2> ire_and_curs..:

我发现的最简单的非平凡算法是这样的:

http://www.chessandpoker.com/rubiks-cube-solution.html

编码看起来并不太难.Yannick M.的答案中提到的链接看起来也很好,但" 十字架 "步骤的解决方案看起来可能对我来说有点复杂.

您可能希望了解一些开源求解器实现.这是一个Python实现.此Java小程序还包含一个解算器,并且源代码可用.还有一个Javascript解算器,也有可下载的源代码.

Anthony Gatlin的回答对于Prolog在这项任务中的合适性提出了一个很好的观点.这是一篇关于如何编写自己的Prolog求解器的详细文章.它使用的启发式特别有趣.


链接到JS解算器似乎被打破了.
推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有