1

昨天我有一个有趣的想法。想象一下,你有一个魔方,每个面上已经有相同的颜色。现在,如果我扭曲它一次并且我知道如何扭曲它,我总是可以通过反转此步骤将立方体恢复到原来的状态。如果我扭转两次,我总是可以用最少的两步来恢复立方体。所以我在想,如果我随机扭曲 n 步,总有 n 步可以将立方体反转为原来的。

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

例如,如果n=100,在n=30时可能有相同的模式,所以相当于n=30。那么也许我可以使用 m 步的操作将 n 减少到 20,但 m 小于 10。

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

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

4

1 回答 1

3

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

有关问题的历史,请参见http://www.cube20.org/,以及如何演示答案的源代码。

于 2017-07-17T17:29:32.273 回答