是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?

知乎热榜5个月前发布 NIUC!
2,934 0 0

杂然赋流形丶的回答

省流版:

不存在这样的操作。

因为重复的操作会构成一个有限的循环群,它是一个阿贝尔群。但考虑到魔方群是一个非阿贝尔群,它不可能同构于一个阿贝尔群。因此不存在。


一、魔方群概念的引入

这其实是一个相当 trivial 的问题,用数学中群论的语言就可以轻松回答这个问题,且不需要太多数学知识也能看懂这个回答[1]

我们以常见的 3 阶魔方为例,下面这张图给出了 3 阶魔方的 6 个基本操作:

  1. 前面旋转 90°(F, front),
  2. 后面旋转 90°(B, back),
  3. 左面旋转 90°(L, left),
  4. 右面旋转 90°(R, right),
  5. 上面旋转 90°(U, up),
  6. 下面旋转 90°(D, down):

这里的 90° 都是指正面对着要操作的那个面,顺时针旋转 90°。

是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?
3 阶魔方的 6 个基本操作,以 F, B, R, D, L, U 分别代表

魔方的每个面共有 9 个色块,总共 6 个面。那么一个 3 阶魔方包含 6×9=54 个色块,除去每个面最中间保持不动的色块(因为无论怎样旋转魔方,它们始终不变),魔方总共包含 54-6=48 个可移动色块。我们可以给这 48 个色块进行进行编号,如下图所示:

是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?
对魔方的色块进行编号,右图是 3 阶魔方的平面展开图。

只要确定这 48 个数字的位置,我们就确定了一个魔方目前的状态。在这种表示下, 对魔方的一个操作可以表示成一部分数字的置换。

当我们拿到一个初始复原状态(简记为 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? )的魔方,进行随机打乱,可以得到一个混乱状态(简记为 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? )的魔方,即

是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?

上面右边这一组操作符号是我随便写的。我们把这一组操作的复合简记为 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? ,即 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 。那么,我们只要遍历对魔方所有可能的操作 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? ,就可以从复原的状态开始,得到任何一种可能的打乱状态。在数学中,这些所有可能操作 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 的集合叫做。对于魔方而言,我们把它叫做魔方群(Rubik's Cube group)。

是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 的逆操作 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? ,它表示的是如何从打乱的状态 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 开始,复原到初始状态 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 。那么我们可以得到 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?所以魔方复原问题,转化成数学语言来说就是,如何从给定状态 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? ,找到魔方群中的某个群元素 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? ,使得 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?

听上去这好像很简单,但实际玩过魔方的人都知道,魔方复原非常困难。

这是因为魔方群 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 的是一个非常庞大的群,前面我们提到可以用 48 个数字的置换来表示魔方的一个操作,排除掉某些不可能的置换(比如你不能把魔方的一个色块给拆下来再转个角度拧回去),所以魔方群是一个 48 阶置换群 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? (它表示所有 48 个数字可能的置换)的子群,而 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 总共有 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 个元素,可能大家不能直观体会这个数字的庞大,实际上

是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?

所以 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 是一个 62 位数。但魔方群 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 的子群,似乎要简单一点,但也简单不到哪里去。具体分析魔方群的元素个数是一个不轻的体力活,我们这里不去具体证明,直接上答案[2]

是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?

它是一个 20 位数,在这庞大的集合里找到使得魔方能够复原的 1 个元素,听上去就不是那么容易的事(不过它们都有固定公式可以套用,所以实际上也没这么夸张)。

二、魔方群是一个非阿贝尔群

在做了上面这些铺垫之后,让我们回到题主的问题:

是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?

这其实就是一个超级简单的数学问题。假设我们存在这样的一个操作,记为 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? ,那么对于任何一个可能的魔方状态 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? ,通过反复对它进行 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 这种操作,可以回到初始状态 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 。转化成数学语言,即存在某一个非负整数 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? ,使得

是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?

这里的操作 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 显然是可逆的,因为我们对魔方转一个角度后,可以再反过来转同样的角度,就恢复到了转之前的状态。因此,我们可以得到

是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?

这样,我们可以从魔方复原的初始状态 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 开始,通过不断的进行 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 操作的逆 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? ,可以得到任何一种可能的魔方状态。因此, 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 的集合就构成了一个群,显然它也是魔方群。即,

是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?

上式左边的 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 代表由 F, B, L, R, U, D 六个基本操作生成的群。而右边的 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 代表由 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 操作生成的群,注意它是一个循环群,因为它只有一个生成元 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 。由于这两个群都是魔方群,它们是同构的,用 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 表示。

所以到目前为止,题主的问题我们可以将其转化为:魔方群是否同构于循环群?

这个问题非常简单。注意 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 是一个阿贝尔群(即群中任意两个元素的乘积满足交换律),这是因为 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?

但另一方面 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 却是一个非阿贝尔群。这可以举一个例子就容易判断得出,见以下图片:

是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?
绿色箭头代表前面顺时针旋转90°(F),黄色箭头代表右面顺时针旋转90°(R)

我们分两种情况对魔方进行操作,

  1. 先对前面顺时针旋转90°,再对右面顺时针旋转90°,即 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?
  2. 先对右面顺时针旋转90°,再对前面顺时针旋转90°,即 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?
是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?
进行 RF 操作后的魔方
是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?
进行 FR 操作后的魔方

简单对比就可以发现, 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? ,所以作用顺序不一样得到的魔方状态是不同的。因此魔方群实际上是一个非阿贝尔群。

由于阿贝尔群和非阿贝尔群不可能同构,因此不存在这样的操作,使得任意状态的魔方,反复进行此操作便能复原。

另一个角度,我们也可以从数学上来进一步验证。设有某两个整数 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 使得 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? , 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? ,则我们可以得到:

是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?

这和我们前面通过实践得到的 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原? 相矛盾,因此假设不成立,不存在这样的操作 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?

三、补充内容

实际上魔方群的结构远比循环群复杂的多,它和以下群同构,

是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?

这里的 是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?半直积(semidirect product)的意思。

另外还有一点可以补充的是,尽管我们在一开始通过六个基本操作(F, B, L, R, U, D)生成了魔方群,但魔方群生成元的最小个数并非是 6,它的最小个数是 2 (即魔方群的秩是 2[3])。所以对于题主的问题,还可以进一步回答:

不存在一套动作,使得任意状态的魔方,只要不断重复该动作就可以复原。但可以只用两套动作,不断重复进行这两套动作,就可以使得魔方复原。

当然了,你要注意到,对于一阶魔方而言,只用一套动作显然是可以的。

我个人比较擅长复原 1 阶魔方

是否存在一套动作,使得对于任意状态的魔方,只需要重复该动作到一定次数,都一定能还原?
1 阶魔方

© 版权声明

相关文章

暂无评论

暂无评论...