注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

格物窮理 玄陰極地

生殺動靜 順勢擇吉

 
 
 

日志

 
 

转载:如何计算三阶魔方总变化数  

2015-02-15 11:55:20|  分类: 魔方 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

原文地址http://hi.baidu.com/simonkuang26/item/01492a0c812ea3d8dce5b013

 

如何计算三阶魔方总变化数

这两天,我暂时放下了各种高阶魔方以及异型魔方,重新拿起了最初的三阶魔方摆弄起来。收获不小,不仅彻底解决了中心块方向的问题,而且自己研究出了F2LFirst 2 Layer)的全部公式。另外,这也加深了我对魔方结构和变化的理解。

刚好前些天我和朋友在讨论魔方总变化数的算法,仔细想想这确实是一个有意思的问题,我花了一些时间自己推导了一遍,在这篇文章中我就来分析一下。

 

众所周知,魔方的总变化数非常非常多,具体来说:

转载:如何计算三阶魔方总变化数 - 壬断 - 格物窮理 玄陰極地

这个数字都已经属于quintillion的范畴了……但是这个式子的意义到底是什么呢?

 

首先,分子不难理解:

由于在魔方中,棱块和角块是不可能对调的,也就是说棱块永远在棱上,角块永远在角上,所以8个角块就有8!种排列,而每个角块又有3种朝向,所以还要乘上3^8;同理,12个棱块的所有情况就是12!*2^12

再根据乘法原理,我们就可以得到8!*3^8*12!*2^12了。为什么6个中心块的排列不考虑呢?因为在旋转魔方的过程中,中心块实际上是不动的,所以我们不能把不同的视角下的同一种情况重复考虑。

 

但是魔方的总变化数真的是8!*3^8*12!*2^12吗?是的,但是那是在你把魔方拆开再拼回去的情况下的总变化数。Pop过魔方的人都应该有这样的经验:把魔方装错是没有办法六面复原的。所以我们应该排除掉一些装错的情况——单独翻转一个棱块、单独旋转一个角块、单独交换两个同类块。为什么呢?我们来一个个分析:

 

第一个证明:我们不能单独翻转一个棱块

把魔方以一个确定好的方向摆在自己面前,我们就确立了一个坐标系。原点就是魔方的中心,左右、前后、上下方向分别对应了xyz轴。

由于三阶魔方有12个棱块,每个棱块都有一条棱(废话),所以我们不妨在每个棱块的棱上标上箭头,指向坐标系中的正方向。这样,每条坐标轴都有4个箭头与之平行,并且指向正方向。

接下来让我们想象一下,当我们把魔方的任何一个面旋转90度的时候(即魔方的原子操作)——只考虑箭头,不考虑颜色——会改变2个箭头的方向

举个例子,比如我做一个R的操作:

原来的UR块变成了BR块,箭头方向被翻转;

原来的BR块变成了DR块,箭头方向不变;

原来的DR块变成了FR块,箭头方向被翻转;

原来的FR块变成了UR块,箭头方向不变。

所以,不管我们怎么旋转魔方,每次只能改变2个箭头的方向,不可能出现只改变1个箭头的方向的情况。也就是说,我们不能单独翻转一个棱块,所以我们要在之前的结果中去掉二分之一。

 

第二个证明:我们不能单独旋转一个角块

这个证明跟上一个大同小异,首先我们要弄清楚角块的方向如何定义。因为每个角块虽然会出现8个位置,但是只有3种方向。那么我们怎么建立一个移动的坐标来研究这3种方向的变换呢?不妨让视线穿过角块的顶点和魔方的中心,这个时候角块的三条边呈现Y字形,我把视线所在的直线叫做“旋转轴”。

把一个复原好的魔方以确定的方向摆在自己面前(在这里我就以白色在上,黄色在下举例了),任意做一个原子操作,然后看一看总共需要把牵涉进原子操作中的4个角块绕着旋转轴顺时针旋转多少度才能使得白色黄色面全部回到上面或下面。答案一定是360的倍数

举个例子,比如我做一个R的操作:

原来的FUR块变成了UBR块,需要绕着旋转轴顺时针旋转240度才能使白色面回到上面;

原来的UBR块变成了BDR块,需要绕着旋转轴顺时针旋转120度才能使白色面回到下面;

原来的BDR块变成了DFR块,需要绕着旋转轴顺时针旋转240度才能使黄色面回到下面;

原来的DFR块变成了FUR块,需要绕着旋转轴顺时针旋转120度才能使黄色面回到上面。

总共是240+120+240+120=720度。由于这是原子操作,所以我们不管怎么旋转魔方,所有角块的角度变化之和应该是360n,不可能出现一个角块单独转120度或240度的情况。也就是说,我们不能单独旋转一个角块,所以我们要在之前的结果中去掉三分之一。

 

第三个证明:我们不能单独交换两个同类块

也就是说,我们不能单独交换两个棱块或者两个角块(中心块就不说了)。

我找了找资料,发现关于这个命题的证明基本都用到了群论。然而我对群论的了解仅是浮光掠影,虽然能看懂别人的证明,但是毕竟那不是我自己的方法。所以我另外想了一种不需要用到群论的方法:

首先我们要明确,任何一个变换都是由两两交换组成的

这是什么意思呢?举个例子,(2341)到(1234)的变换可以拆成三步:交换14,交换13,交换12

(说句题外话,拆分变换就是盲拧的方法之一!如果大家对拆分变换的方法感兴趣,我以后可以详细介绍,这里就不赘述了。)

注意到,(2341)到(1234)的变换拆成了三步,所以我们把这种变换叫做奇变换。

而(1423)到(1234)的变换只能拆成两步:交换34,交换23。这样的变换就是偶变换。

当我们对一个魔方做任何一个原子操作,我们都相当于是把4个角块做了一个(1234)到(2341)或者(1234)到(4123)的变换,这是奇变换;同时我们也把4个棱块做了一个(1234)到(2341)或者(1234)到(4123)的变换,也是奇变换。这样,对于所有块来说,每一次原子操作的总效果是偶变换

而单独交换两个棱块或者两个角块都是奇变换,不可能达成,命题得证,所以我们要在之前的结果中去掉二分之一。

 

到此,我们证明了魔方总变化数的公式。然而,值得研究的东西还有很多很多,比如任何一个打乱的魔方最多需要几步就可以还原?这个数字被称作是“上帝之数”,“上帝之数”到底是多少?目前科学界广泛认为是20,但是还没有人能给出严格的证明。

 

数学永无止尽。

  评论这张
 
阅读(997)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017