魔方cfop公式软件_魔方与群论(一)(不要被标题吓到,高中生就可以看)

8d43fe4f8144233af49c0f7ba0606e0d.png

前言:受好友邀请在专栏写一点文章,最近正好因为某些原因在看魔方与群论的数学知识,于是准备写这么一篇。本人非常喜欢群论,群论入门其实非常简单,但其本身又非常迷人。大一一年里我倒是因为机缘巧合学了不少群论 ,看了A.ZEE的<Group theory in a nutshell for physics>,《代数方程与置换群》,《对称和群》等一些小书(但其实都忘得差不多了5555)。群论与数学,理论物理,化学都密切相关,足见其重要性。

相信很多人都知道魔方与群论密切相关,但具体是怎么一回事可能就不太了解了。关于魔方的解法,据我所知很多人都是背公式,但我个人觉得如果只是看公式那么魔方就变成了一个手速游戏,个人认为这样失去了很多趣味性(很自豪地说我初中自己总结出了还原魔方的公式,后面每次忘记都能重新发明,于是至今也没有背过流行的公式,不过自己的公式比现行的公式复杂度高很多倒是真的)。

本文主要参考<Group Theory via Rubik's Cube>,链接:http://geometer.org/rubik/group.pdf

如果手边有一个魔方最好,如果没有,网上有一个魔方的模拟程序,可以走特定步数,一键还原,甚至可以统计方块的移动情况。(只不过windows 版本有些显示问题,因为软件比较老了,很可能不能正常使用)链接:Rubik Downloads


一、准备工作

我们先介绍一些有关魔方的基础信息。

魔方有三种不同的方块,分别为角块(8个,每个角块有三种颜色),棱块(12个,每个棱块有两种颜色)与中心块/面心(6个,每个中心块有一种颜色)。魔方总共有6个面,也就是6种颜色,每种颜色被分为九个小面,我们称之为facelets,也就是魔方总共有54个facelets。

我们操作魔方的时候,常常将面心的位置固定,将一个颜色的面心对准自己,同时也固定其上下左右的面心颜色,不再转动。于是魔方被分为6个方位,上(UP),下(DOWN),左(LEFT),右(RIGHT),前(FRONT),和后(BACK)。我们转动魔方时用字母代替操作,取每个面的首字母代表将该面对准自己后顺时针转动这个面90°

例如,F就是将对准自己的面瞬时针旋转90°,R就是将右边的面心对准自己后旋转90°(注意操作中的“将该面对准自己”只是个假想操作,为了方便你了解转动魔方的方向),同理,B就是从目前的视角看,逆时针旋转离你视角最远的面心所在面90°。

那么转动两次即:

,而转动三次和逆时针转动一次效果相同,即:
,我们可以把逆时针转动用相应的小写字母表示。而转动四次等于不转。

注意魔方的旋转操作是非交换(非阿贝尔)的,例如FR≠RF,因此逆操作的顺序也要特别注意,比如FR的逆为rf而非fr,自己可以尝试尝试。用字母表示则为:


二、一些基础知识

操作的阶(order):

我们容易知道,对于一个还原的魔方,做任意一个固定的操作组合(macro),重复有限次后魔方必定重新被还原。那么对于这个重复的次数,我们就叫做一个操作的“阶”。

例如,操作F的阶为4,而(FFRR)的阶为6,而操作组(FFLLBR)的阶为90。用开始给出的应用程序可以计算某操作组的阶数。

现在我们来证明任意一个操作组进行有限次后,魔方必定会被还原成原来的状态

我们把这个操作叫做P,重复P的次数用次方的记号表示。显然不进行任何操作即

,这里1是单位元(identitiy)。

由于每重复一次P魔方的状态都会被重排一次,而魔方的状态数是有限的,因此在不断重排中必定存在两个相同的状态。设操作P进行k次后达到某状态,P进行m次后再次达到该状态,即

,且m是最小的再次达到重复状态的数字。

若k=0,那么得证。如果k≠0,那么

。而若我们分别对k,m次操作的魔方进行一次逆操作,得到
,即
,与m是最小的再次达到重复状态的数字矛盾,故k=0,因此

所以任意一个操作组进行有限次后,魔方必定会被还原成原来的状态。

由此,我们可以借助程序或者手动观察任意操作组的阶数。

有趣的是,操作(FFRR)的阶数为6,而6有因子2和3,而将操作(FFRR)重复两次或三次能获得比较规整的结果,但重复别的次数,比如五次,会获得比较乱的结果。同理,阶数为90的操作(FFLLBR)有因子45,将此操作重复45次也能获得比较有趣的结果。对于阶数较高的操作可由上文提到的程序实现。这一操作和置换群的性质有关。


三、群

什么是群?

群是一个包含有特定元素的集合,且在群元素上定义了一个二元运算*(例如乘法,加法),满足以下四个条件:

1、运算*是闭合的。也就是如果g,h是群G中的两个元素,那么g*h也是群G中的元素。

2、运算*符合结合律。也就是说(f*g)*h=f*(g*h)

3、群G中有单位元e。也就是说e*g=g*e=g。

4、群G中的每一个元素,对于运算*存在逆元。也就是说,任意g∈G,存在

,使得

以下有几个注意点:

1、群元素不一定是数字或矩阵,可以是任何抽象的东西,比如三维空间中的旋转,某种抽象的置换等等。

2、二元运算*不是乘法。是某种抽象运算的意思。具体含义因群而异。

3、运算*不一定符合交换律。也就是g*h不一定等于h*g。如果这个运算对于每个元素都符合交换律,那么该群称为交换群(阿贝尔群),如果该运算对于某两个元素不符合交换律,那么该群称为非交换群(非阿贝尔群)

4、上述四条条件中,关于单位元和逆元的部分可以去掉一半。也就是说,只需要左单位元和左逆,群的定义依然不会改变。即通过e*g=g和

能够证得群的完整定义:e*g=g*e=g与
。留作习题,读者自证不难。

5、为了方便,我们可以省去*的记号。例如

6、群元素可以是有限的,也可以是无限的。比如平凡群只有一个元素,那就是单位元。有两个元素的群比如{-1,1}配上“乘法”这个二元运算。而整数在加法下也是一个群,其中有无限个群元素,其单位元是0。有理数除去0在乘法下也是一个群,其单位元是1。

四、一些群的例子

比较简单的例子上文我已经提过了。比如整数在加法下形成的群,±1在乘法下也构成群。

一些别的例子:

exampli gratia:n次单位根在乘法下形成一个有n个元素的循环群。记为

。比如{1,-1}就记为

克莱因四元群:是两个Z2群的直和:

。直和可以理解为笛卡尔积,就是将群中的元素配对。因此
。那么这个群的群乘法的运算方式为分量分别按照原来的群乘法计算。比如,
如果我们把(1,1)记为e,剩下三个元素记为a,b,c,那么这个群的乘法表如下:

3b35e0320c0e8bd6be0939147e6b70e3.png
klein group’s cayley table

四元数群Q(有八个元素):{1,-1,i,j,k,-i,-j,-k},运算法则为:

。其乘法表如下:

0d3040fd4df8be020cd5a0650c6908ea.png
Quaternion group’s Cayley table

正多边形的对称群

:考虑正n边形,我们将所有使这个正多边形保持不变的操作作为这个群的群元素。比如正三角形的
,其中就有6个元素,分别为沿正三角形的三条对称轴翻折,与沿正三角形的中心转动120°,240°和360°。可见
中有2n个元素。而
中有两个元素,即单位元和翻折,而
恰恰就是刚刚前面提过的克莱因四元群。想想四元群中的元素分别代表了什么操作?

旋转群:如果我们把空间中的旋转作为群元素,而运算则是旋转之间的叠加,那么我们可以获得旋转群。对于二维空间,我们有群:SO(2)也就是special orthogonal group,大家可以自行了解旋转矩阵。S代表矩阵的行列式为1, O代表正交,也就是群元素正交:

。同理,对于三维空间中的旋转我们有SO(3),不过要注意,SO(2)与SO(3)最大的区别就在于,SO(2)是阿贝尔群,而SO(3)是非阿贝尔群,就是三维空间中的旋转操作不是交换的。要注意,旋转群都是无限群。

然后是我们的主角:置换群!魔方群其实是一个置换群的子群。


五、置换群

我们首先得了解什么是置换:

所谓置换,就是将一系列有顺序的元素重新排列。比如数字1,2,3,4我们可以将其重新排列,例如重新排列成1,3,2,4,也就是2和3换了位置。其实质是2和3换了位置,至于名字叫什么都是无关紧要的,无论是叫1,2,3,4还是叫A,B,C,D,只要置换的实质没变,那么这个置换就是一样的。

我们可以把置换表示成以下形式:

,当然这个置换也可以等价地表示为:
,或者
等等,他们都是一样的。

为了方便起见,我们的置换可以被标记成另外一种形式,也就是所谓的cycle notation:

我们知道,上面这个置换其实就是把2和3换了位置,而1和4位置不变。

那么我们可以把这个置换表示成,(1)(4)(2 3),表示1和4位置不变,而2变成3,3变成2。

我们来看下面这个置换:

,用简便的表示方法我们可以写成:(1)(2 4 3),表示1的位置不动,2变成4, 紧接着4变成3,最后3变成2。为了简便,我们的(1)因为表示恒等置换,常常省去不写。可以看到,我们的置换部分(2 4 3)也可以写成(4 3 2)或者(3 2 4),但不可以写成(2 3 4),如果是最后的话那我们的置换则会变成:

那么两个置换的复合运算呢?比如先进行(1 4),再进行(1,3)我们会得到什么?

在有些书中,关于置换的复合是从右往左进行的,比如先进行(1 4),再进行(1,3)我们把它写成(1 3)(1 4)(比如A.ZEE的群论),而有的书中则写成(1 4)(1 3)(比如笔者写本文所参考的魔方群的文献),因为本文写的主要有关魔方,那么我们遵循从左到右的运算顺序。(1 4)(1 3)意味着1投入了4的盒子,4先投入了1的盒子然后再转移到3的盒子,最后3被投到1的盒子里。也就是(1 4)(1 3)=(1 4 3)。但是,如果把(1 4)(1 3)从右到左运算的话,我们会得到(1 3 4)。可见两个置换的运算顺序是不可以交换的。

我们把置换括号内的数字个数成为置换的阶,比如(1 4)是二阶的置换,而(1 3 4)是三阶的置换。如果我们把(1 4),也就是一个二阶的置换重复两次,我们会得到什么?我们先把1 投到4的盒子里,然后再把它投回1的盒子里。所以1没有改变位置。同理,4也没有改变位置。那么

。如果我们把一个三阶置换重复三次呢?很容易猜到,我们也会得到一个恒等置换。如果我们把一个三阶置换重复两次呢?我们把这道题留作习题,请读者自己求
。同时,读者也可以自己试着求求别的规律,比如(1 3 4)(1 4)等。做完前两题,尝试将任意一个n阶置换表示成n-1个二阶置换的复合。

也就是证明

那么我们的置换群也就新鲜出炉啦!我们可以把给定n个元素的置换当成元素构成一个群,运算法则就是置换的复合。

比如我们把三个元素的置换构成一个群

,其中有什么元素呢?(1)(恒等置换),(1 2),(1 3),(2 3)(二阶置换)(1 2 3)和(1 3 2)(三阶置换)。因此三阶置换群总共6个元素。四阶置换群呢?请读者自己用列举法证明四阶置换群有24个元素。很容易自己计算n阶置换群有多少个元素,也就是
个元素。请有兴趣的读者自己思考一下n阶置换群与上文提到的多边形对称群有什么关系。

奇置换与偶置换

由上面的习题我们可以知道,任何一个置换都可以表示成多个二阶置换的复合,即

那么因此,多个置换复合也可以表示成多个二阶置换的复合

我们把任意一个置换分解成二阶置换后,如果二阶置换有奇数个,那么我们称这个置换为奇置换,反之则为偶置换。

习题(有点点难度,且与本文关系不大,可跳过):

对于集合

的置换,如果把1变成
,把2变成
,把3变成 ,等等...且每个
都互不相同,试证明积
的正负性可用来判断该置换的奇偶性。例如,对于置换(1 2),我们有
,我们的积只有一项:
,而这个置换为奇置换。对于置换(1 3 2),我们有
,等等。

限于篇幅,本文先介绍到这里,后面会接着出新的部分。内容包括,魔方群究竟是什么,有多少个元素,如何利用交换子发明魔方公式,如何利用降群法解魔方等内容。

第二篇:

法会因由:魔方与群论(二)(交换子牛啤!)​zhuanlan.zhihu.com
654d2923768af6919c403a480bbc0682.png

第三篇:

法会因由:魔方与群论(三)(人类使用交换子,神仙减少生成元)​zhuanlan.zhihu.com
996fd47a6fecb1e49b247d9f3e1ac032.png
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值