任何与Rubik&Cube Cube相关的算法

时间:2017-07-17 17:20:27

标签: algorithm graph-theory rubiks-cube finite-group-theory

我昨天得到了一个有趣的想法。想象一下,你有一个Rubik的立方体,每个脸上都有相同的颜色。现在,如果我扭曲它一次并且我知道如何扭曲它,我总是可以通过颠倒这一步将立方体恢复到原来的状态。如果我扭转两次,我总能以最小的反向两步恢复立方体。所以我在想,如果我随机扭转n个步骤,总会有n个步骤将多维数据集反转为原始步骤。

但是,我认为当n变大时,执行反转的最小步骤可能小于n,因为在使用更多步骤时,会有一些特定的步骤序列可以使用更少的步骤来实现相同的效果。

例如,如果n = 100,则当n = 30时它可以具有相同的模式,因此它等于n = 30。那么也许我可以使用m步的操作将n减少到20但m小于10.

所以我在想,无论n有多大,它总会收敛到一个 小数字意味着无论Rubik的立方体最初如何,我总能将其恢复到原来的小于或等于k步,其中k是n的收敛。

我的问题是,是否存在可用于找到n的收敛的算法?我想图论或群论中的一些东西会有所帮助。

1 个答案:

答案 0 :(得分:3)

有一种算法,有一种已知的解决方案。答案是20。

请参阅http://www.cube20.org/了解问题的历史记录,以及演示答案的源代码。