我昨天有一个有趣的想法。想象一下,你有一个魔方,每张脸上的颜色已经相同。现在,如果我扭曲它一次并且我知道我是如何扭曲它,我总是可以通过反转此步骤将立方体恢复到原来的位置。如果我扭转两次,我总是可以用最少的反转两步恢复立方体。所以我在想,如果我随机扭曲 n 步,总会有 n 个步将立方体反转为原始步。
但是,我认为当 n 变大时,进行反向的最小步骤可能小于 n,因为当使用更多步骤时,会有一些特定的步骤序列可以使用更少的步骤来实现相同的效果。
例如,如果 n=100,则在 n=30 时它可能具有相同的模式,因此它等效于 n=30。然后也许我可以使用 m 步的操作将 n 减少到 20,但 m 小于 10。
所以我认为,无论n有多大,它总是会收敛到一个小
数字,这意味着无论魔方最初如何,我总是可以在小于或等于k步的范围内将其恢复到原来的状态,其中k是n的收敛。
我的问题是是否存在可用于查找 n 收敛性的算法?我想图论或群论中的一些东西会有所帮助。
有一个算法,有一个已知的解决方案。 答案是20。
有关问题的历史,请参阅 http://www.cube20.org/,有关如何演示答案的源代码。