刚上大学时,曾经花了一个多月把魔方玩会了(能从任意情况变回原来的六面)。当时还没有学群论,所以只是玩。后来学了群论后,再考虑魔方,发觉还是不大理解两者之间的关系。这才体会到群论的不好理解。等再后来,群论学得深入后,才彻底理解了魔方。现在把魔方从群论的角度做一个解释,如果你不能理解的话,就说明你的群论还没有学透!
首先解释一些概念.我们称一个群G所含元素的个数叫做它的阶数,我们用|G|表示.
n阶置换群S(n):含n个元素的集合到自身的所有1-1映射按照映射的复合构成的群。该群的阶数(所含元素的个数)为n!.置换群中的元素分两类,一类是偶变换,一类是奇变换.奇偶性按照复合关系有以下性质.奇复合奇=偶,奇复合偶=奇,偶复合奇=奇,奇复合奇=偶.
两个群G和H的直和群G+H:该群元素由形如(g,h)的元素构成,其中g属于G,h属于H.(g,h) (u,v)= (gu,hv).将(g,h)映为g,和将(g,h)映为h,分别为从群G+H到G,和从群G+H到H的群同态,叫做投影同态.
我们把处在魔方顶点位置的8个块叫做顶点块,把处在魔方棱上的除了顶点块之外那12个块叫边块,把其余的处在魔方的面的中心点的6块叫面块.定义了块以后,我们就可以把魔方理解为一个变换群M了.其中M的元素为块集合到自身的1-1映射(即变换),群乘法就是1-1映射的复合(即变换的复合).
我们把魔方的六个面按空间位置分别称为前、后、左、右、上、下层.我们称处在前后两层中间的那层叫X层,称处在左右两层中间的那层叫Y层,称处在上下两层中间的那层叫Z层.我们用层加括号的方法表示对相应的层进行90度旋转其它块不动的变换,旋转的方向如图1,其中坐标轴穿过面块,原点在魔方的中心.作为群,M由以上9个变换生成(可以更少一些).
图1
定义C为由变换(X),(Y),(Z)生成的M的子群.我们把C生成的M的正规子群记为N(C).注意,C比N(C)小!N(C)是M的保持8个顶点块不动,只动边块和面块的变换所构成的子群,这样的变换可以只由(前),(上),(左)等变换复合而成.由群论知识,|M|=|N(C)||M/N(C)|,其中M/N(C)表示商群.
下面我们考虑群M/N(C)的结构.它就是将魔方除了顶点块不变外,将所有的其它块的颜色全部刷成同一种新的颜色后所对应的简化魔方的变换群(其实就是2阶魔方).而变换(见图2)
(前)(前)(前)(下)(前)(下)(下)(下)(右)(右)(右)(下)(下)(右)(右)(右)(下)
将处在前层和下层两层共同的边上的两个顶点块互换位置,将其它顶点块不动.这说明M/N(C)可以将任意两个块互换同时保持其它块不动,而这样的变换生成了整个置换群,也就是说M/N(C)与S(8)同构.所以,|M/N(C)|=8!=40320.
图2
下面考虑N(C)的结构,它只改变边块和面块的位置,而永远不改动顶点块的位置.注意到魔方在变换过程中6个面块是刚体结构,而魔方的变换也总是把边块映到边块,所以N(C)为S(12)+S(f)的一个子群,其中S(12)为将所有边块随意变换位置的12阶置换群,S(f)为六个面块作为由坐标轴连接起来的刚体到自身的旋转变换,该群很容易验证其阶数为24.那么是否有N(C)=S(12)+S(f)呢?不对.
令S(f+)为S(f) 的所有偶变换生成的子群,则|S(f+)|=12.考虑N(C)作为S(12)+S(f)的子群,所有形如(1,x),x属于S(f)的元素构成的子群U.U就是N(C)中所有保持12个顶点块不动,只动6个面块的变换.U自然也为S(f)的子群.变换
(X)(Y)(X)(X)(X)(Y)(Y)(Y),
(Y)(Z)(Y)(Y)(Y)(Z)(Z)(Z),
(Z)(X)(Z)(Z)(Z)(X)(X)(X),
(X)(Y)(Y)(X)(X)(X)(Y)(Y),
(Y)(Z) (Z) (Y)(Y)(Y)(Z)(Z),
(Z)(X) (X) (Z)(Z)(Z)(X)(X),
正好生成了群S(f+),所以,U包含S(f+).那么可不可能U比S(f+)大呢?不可能.因为如果U比S(f+)大,则U含S(f)-S(f+)中的元素,也就是说U包含奇变换.而M的9个生成元都是偶变换,也就是说M的所有变换都是偶变换,所以U不可能包含奇变换.所以U=S(f+).而变换
(前)(Y)(Y)(Y)(前)(前)(Y)(Y)(Y)(前)(前)(Y)(Y)(Y)(前)(前)(前)
将同处在前层和Z层的两个边块互换位置,将处在Y层的4个面块(不是边块!)沿变换(Y)的逆向旋转了90度,将其它块保持不动.由这个变换再经过简单的复合我们很容易得到N(C)包含所有以下的变换:(x,y),x为将任意两个边块互换位置,其它边块保持不动的变换,y为将面块沿任一坐标轴旋转90度(方向任意)的变换.这说明N(C)为S(12)+S(f)的如下形式的元素生成的子群,(u,v),u,v的奇偶性相同.所以2|N(C)|=|S(12)+S(f)|=|S(12)||S(f)|.|N(C)|=2874009600.
最后|M|=|N(C)| |M/N(C)|=115880067072000.
至于说用最少步变换到任意位置的问题是个不比阶数问题难却还要复杂的问题,而且这个问题的解决和群论关系不太大,所以就没有研究了.