# 魔方与抽象代数的思考

By [matphy](https://paragraph.com/@matphy) · 2025-05-31

---

如果是可以算上公式的某一步复原，是存在的。可以这样构造：魔方的打乱状态是有限的，排列这有限个n个状态，取公式：使第一个状态复原，打乱到第一个状态，使第二个状态复原，打乱到第二个状态…使第n个状态复原。对任意打乱状态，一直进行下去会不断地回到这个状态，直到某次遇到能复原这个魔方的那段公式复原。

但是不存在万能公式。如果存在一个万能公式，对任意状态，该公式重复使用正整数次能够复原任意打乱状态：

引理：不断重复任意公式总会在有限次内复原，因为如果一直无法复原，则会不断产生新的打乱状态（如果能回到出现过的打乱状态那么中间那几次就能让打乱的复原，也就能在有限次内复原），但是打乱状态有限。

对于一个已经复原的魔方，假设使用万能公式最小m次后复原。一次使用万能公式，变成了状态1，由于对于状态1，可以重复地使用公式复原，最小还需要m-1次复原。

同理还有两次万能公式打乱后的状态2，最小需要m-2次复原。因此不断使用万能公式，只会达到状态1到状态m(复原情况）m种状态。m种状态必定遍历所有状态，因为如果存在非这m种状态的打乱状态，由于可以使用万能公式，假设重复小于等于m次后能够复原，则必定又是m种状态中的一种，如果是大于m次后能够复原，则每当经历m次后又回到原状态，永远无法复原。因此要存在万能公式万能，等价于：m种状态遍历所有状态。即不断重复万能公式，能遍历魔方所有状态。同时m种状态又不能有重复，因为如果有重复又能找到比m更小的循环次数。

。。。想不出来接下来怎么证了，看了别的回答看样子只能用群论：

魔方的所有的有限个打乱的状态，都对应了一系列（能够打乱到该状态）的操作，所有这些操作又或者状态构成一个群，称为[魔方群](https://zhida.zhihu.com/search?content_id=654684132&content_type=Answer&match_order=1&q=%E9%AD%94%E6%96%B9%E7%BE%A4&zhida_source=entity)。魔方群的运算就是操作的复合。魔方群的运算显然是不可交换的，比如顺时针旋转顶层和顺时针旋转右侧。然而如果存在万能公式，万能公式重复m次遍历了所有状态，又没有重复，就会有和魔方群完全一样的元素。但是这个群是可以交换的，它告诉我们：重复万能公式p次打乱到顺时针旋转顶层和重复万能公式q次打乱到顺时针旋转右侧，相当于重复(p+q) 次万能公式，显然就矛盾了。

另外，我是真的想不明白一个语言模型是怎么知道两个不相交面的操作是交换性的。

---

*Originally published on [matphy](https://paragraph.com/@matphy/dQts6Gdz9gl2m9ezVNuZ)*
