魔方的分类

魔方有很多种,四面体魔方、镜面魔方、正方体魔方、粽子魔方等。
其中的一大类就是正多面体魔方。三维空间中的正多面体有五种:正四面体、正六面体、正八面体、正十二面体、正二十面体。那么魔方的形状只能从这五种形状里面选择吗?。答案是否定的,只要能够让立方体绕着轴转就可以,立方体也不一定是凸立方体,也不一定是正多面体。

总之,魔方就是可以改变状态的立方体。
每一个正多面体魔方都可以分为不同的阶数。例如:二阶正方体魔方、三阶正方体魔方、二阶正四面体魔方、三阶正四面体魔方等。
其中最常见的魔方就是正方体魔方,通常二阶魔方指的是二阶正六面体魔方。

魔方的状态

所有事物的状态都可以用一个向量来表达。魔方的状态也可以用向量进行表达,操作可以理解为置换。

魔方的操作集

魔方的操作组成的集合叫做魔方的操作集。
魔方的操作集常用的包括:最小操作集、完全操作集、最大操作集。
最小操作集是删除掉其中的任何一个操作都无法到达全部状态。
完全操作集指操作一步的情况下所能够执行的所有操作。
最大操作集:最小操作集中的每个元素进行扩充,达到它的全部周期。例如正方体的最大操作集是最小操作集元素个数的三倍,因为需要旋转3次才能够形成一个循环;四面体的最大操作集是最小操作集的两倍,等价于完备操作集,因为它的每个操作的周期是3。

置换

魔方的状态是一个向量,魔方的操作是一个置换。
魔方的操作如果可以作用于任何一个状态,那么它就具有很强的对称性。
正多面体魔方就是具有很强的对称性。在给定的状态下,我们可以执行完全操作集中的任何一个操作。
拼图的操作也是置换,比如N行M列的拼图,枚举空白所在的位置+可行的着法,可以得到很多个置换(大概略小于N*M*4),拼图的置换就不是随意执行的,在特定的拼图状态下,只能执行很少的几种置换操作。

解魔方的过程等价于一个数学问题:给定一个置换集S,给定一个置换A,请尝试用S中的元素表示A。也就是把A分解为置换集中元素乘积的形式。