怎样怎么快速玩魔方方?

下次自动登录
其他方式:
请选择收件人
李娜老师-8年级
数学加老师老师-
王?老师-9年级
廖延梅老师-7年级
张昊宇老师-5年级
王洋老师-6年级
马敬煜老师-4年级
王洋、马敬煜老师-5年级
杨海斌老师-中考录播高分攻略
> 让魔方还原速度更快 20步快速还原魔方
让魔方还原速度更快 20步快速还原魔方
09: 41&&&&& 浏览次数:
&&&&在美国宾夕法尼亚州Doylestown举办的“世界魔方协会(WCA)官方挑战赛”上,一位名叫Collin Burns的年轻人创下了5.25秒的新世界纪录。现在许多中小学兴趣课都会安排魔方大赛。魔方大概是现在最有影响力的智力游戏了,它是一个3&3&3的正方体,初始状态下每个面的9个方格都涂上同样颜色,6个面一共6种颜色。&
&&&&大概一年前,Google的一帮人验证了任意拧乱的魔方可以在20步内复原。但是,一般人要在20步内复原任意魔方的话,就要记住一个硕大无比的表格(大约8EB,一EB大约是一百万TB),这东西只有拥有全知全能的上帝及其类似物(比如说团长、春哥或者高斯)才能做到,所以20这个数又被称为魔方的“上帝之数”。
&&&&魔方当然不只有一种。原版的魔方是3阶的,也就是3&3&3的立方体。我们可以扩展到4阶(4&4&4),5阶,一直到7阶,甚至有人目击过11阶的魔方。魔方的阶数越大,解起来也越复杂,需要的步数也越多,它们的上帝之数也越大而且越难计算。
现在,一帮在MIT的由Erik Demaine领衔的数学家,竟然说他们找到了任意阶数魔方的上帝之数,而且还给出了一个复原的算法,需要的步数与上帝之数相差不远!我们现在就来看个究竟。
&&&&怎么转都转不出那24个陷阱
&&&&初看起来,魔方每个面可以拧得千变万化,让人无从捉摸。然而对于魔方面上涂色的小方块来说,它们可去的地方并不多(假设我们能做的操作就是将魔方的某排拧动90度).
&&&&由24个位置组成的一个位置群
无论魔方被如何拧动,图中所示的小色块一共只能到达最多24个位置。我们把这些位置称作一个位置群。一个n阶的魔方,不算边角上的色块,只有大约(n-2)?/4个位置群。这些位置群都是相互独立的。要复原魔方,就相当于要将所有位置群复原。
&&&&Demaine从玩魔方的人们那里了解到,有标准的手法可以单单将一个位置群内的小色块复原,而不影响别的位置群的色块。这就是为什么我们说这些位置群是独立的。而因为每个位置群内色块的数目都是固定的(不多于24个),所以要复原一个位置群里的所有色块,只需要固定步数的操作。这些知识,魔方社区早就一清二楚。
&&&&但是,如果单靠这种方法来解n阶魔方的话,因为至少有(n-2)²/4个位置群,所以用这种方法复原魔方需要的步数大约与n²成正比。有没有可能用更少的步数复原魔方呢?复原所有魔方的步数有没有下限呢?
&&&&上帝之数不能太小
&&&&为了方便,我们记n阶魔方的上帝之数为D(n)。他们首先证明了,对于足够大的n,D(n)不能太小,至少是c&n²/ln(n),其中c是一个常数。这个计算并不太难,我们就一起来试试看。对于足够大的n,我们大约有n²/4个位置群,它们各自有24个不同位置的小色块。在这24个色块中,6种颜色分别各有4个,这是初始状态决定的。用一点简单的组合知识就可以知道,我们一共有(24!)/(4!)?种方法打乱一个位置群中的色块。因为位置群之间是独立的,所以魔方至少有 (24!)/(4!)? (n-2)²/4 种不同的打乱方式(还没算边角排列的各种可能性)。
由上帝之数的定义,我们可以在D(n)步内将任意魔方复原。如果我们将这些复原的步骤倒过来操作,这其实就意味着我们可以用至多D(n)步将魔方打乱到所有可能的打乱方式。每一步我们有(6n+1)种操作,每次操作就是将某一排拧上90度,另外复原后举起魔方炫耀然后被打倒在地踩上一万只脚也算一次操作,可以爬起来然后多次重复这项操作。所以魔方至多有 (6n+1) D(n) 种打乱方式,因为某些系列操作会导致同样的打乱结果。
&&&&我们就有了以下的不等式:
&&& 从这个不等式我们可以得到:
&&&&当n趋向于无穷大的时候,上面那个看起来很复杂的量就跟 c&n²/ln(n) 差不多了,其中c大约是35.7164。
&&&&可能我们做不到在 c&n²/ln(n) 步内还原任意的n阶魔方,但是能不能提出一种方法,即使还原的步数稍多一点,但是起码增长速度跟 n²/ln(n) 一样呢?
&&&&互搭便车的暴力复原方法
&&&&可能是经济危机中人们的各种节俭方式(拼车之类的)启发了Demaine,他想,虽然位置群之间是相互独立的,但是也许可以将不同位置群的复原操作兼并起来,一次拧动同时解决多个位置群的问题。如果说原来的复原方法是每个位置群各自为政,各自拥有一条复原线路的话,Demaine他们的方法就相当于建起了一条公交线路,一次将多个位置群送到彼岸。
&&&&利用这个方法,他们给出了一个算法,可以在c'&n²/ln(n)步内还原任意的n阶魔方。在这里c'是另一个常数,它比c大得多。
&&&&在一些必要的预处理(比如说先解决边角问题)后,Demaine他们将魔方的所有位置群大约平均地分成n/4份,通过巧妙地应用上面的引理,使每次中***的都是固定的几个位置群。当所有其它的位置群都被复原后,剩下满身弹孔(认识QB的同学请自行脑补)的“中***专用位置群”数目也不多,可以用传统的方法一个一个解决。整个过程所需要的步数,恰好差不多正比于 n²/ln(n) ,与最优的可能性只差一个乘法常数。这种过于暴力的方法,也是使常数c'变得很大的原因之一。
&&&&这个结果在魔方界也引起了不少人的兴趣。据某些魔方高手所言,Demaine他们的“差一个常数最优”的算法过程,对他们探索解高阶魔方的快速方法相当有启发,只是观摩已经满足不了他们了。
&&& 讲了这么概念性的东西,最重要的还需要同学动手实践哦。你能在多长时间内还原魔方呢?
已有0个评价
(数学主讲名师)
数学加老师
(数学名师)
(良师益友)记忆最少最简单的魔方玩法 (详细图解+3D动画)
买好魔方?到咱自己的去看看:)
记忆最少魔方玩法
Solution With Minimum Recitaton
这页我们介绍一个新的魔方还原方法,这个方法可以说是记忆量最小的,但是不如那样直接好理解。他的特点是在第一第二层留下一个角先不对好,我们知道之所以我们的算法越到后面越复杂就是因为我们需要保持前面对好的成果不能破坏,这样我们就有了很多限制,这个方法就是巧妙在,在一开始留下一个缺陷,这样,我们后面可以不断的利用这个缺陷,限制就小了,算法自然就简单。感谢Mark Jeays让我学会了这个方法。
关于java applet动画的播放和使用请访问。
,想亲身试验一下手感?
第一步和一样,我就照抄啦。
(第一步)在第一面做一个十字,形成如下的样子:
注意啊,你对好的十字必须如上图,每个侧面的棱和中心是同色的。做成这步的方法很多,我建议你自由发挥。如果实在有困难,我这里提供一个万全的办法,就是把中间层含有蓝色的棱色块变到底面上去,然后对好侧面颜色,再翻上来。我这里就举一个例子大家就应该明白了,对于左图B位置,只需要下面3步,
把蓝***块
旋转底面,对好侧面***
我说的够清楚了吧。而对于A和C位置你可以旋转该面,让其变到B或D位置。如果某个棱色块的蓝色面已经在顶面或底面,相信大家会有办法解决的。
你要记住的是,如果遇到困难,就把蓝色变到底面,在底面上你是可以任意旋转的。
& 有时候,你会碰到这样的情况,蓝***块转到底面时影响了已经对好的红色面,这时候,你需要在最后一步之前恢复红色面的位置。具体操作见下
把蓝***块
转到底面,但这影响了对好的红色侧面
旋转底面,对好侧面***
恢复红色面
动画会自动播放,你也可以用播放条右边的按钮一步一步看。
照上面说的,你重复做4个棱,应该就可以做好十字啦。
这里我给初学者建议一种更清晰快速的方法,蓝色棱变到底面之后
,可以不急着把它翻上去,可以变成左图这个样子,注意在底面上4个棱可以是任意顺序,这会给你减少很大难度,这里是两个例子,给大家开阔下思路,
最后把他们逐一对好侧面颜色翻上去就行啦。比如:
下面我要说说标记。你没准注意到上个表格里的一些奇怪的字母,那些字母的意思很简单,
F = front face 前面
B = back face 后面
R = right face 右面
L = left face 左面
U = up face 上面
D = down face 下面
以上面的表里的标记为例,F就代表前面顺时针转90°,F'代表前面逆时针转90°,R2代表右面转180°,就这么简单,大家明白了吧。
(第二步)对好第一面,但是留下一个角,形成:
具体留下哪个角,你自己决定,做好这一步其实你只要学会一招就够了。那个蓝色的角色块,转来转去之后就6种位置,
对于A位置,只需下面3步,
此步很巧妙,同时达成两个目的:一个是让顶层的目标角位置到底层来“接应”蓝红黄角块,另一个是让蓝红黄角块也准备到了应有的位置。
让蓝红黄角块 转到目标位。
转回顶层。
注意哦,我们弄上去的那个小角块必须颜色也要对应好。比如我们的蓝红黄小角块必须上到红黄角,不能上错哦,否则T字就出不来啦。可能有的朋友已经觉得我像唐僧了,不过确实有的朋友有这个问题的,我还是要说的详细一点。
而对于B位置,其实完全一样,就是把刚才的3步对于顶面对角线做一个镜像,
如左图,对于顶面对角线做一个镜像,我们将在后面无数次的遇到,所以请大家一定注意这个镜像的意义。
上面F D F'的对角线镜像就是R' D' R,具体请看,
此动画设为不自动播
放,请按播放键开始
B位置的图就是A位置的对角线镜像,所以他的算法就是FDF'对着对角线照镜子。
F的对角线镜像就是R',大家应该很明白吧,参看一下上面镜子的图片。
D的镜像就是D'
F'的镜像就是R了
而对于C,D,E,F位置,你总可以用旋转侧面和底面将其转到A或B位置。这里是几个例子:
这样再重复做2个角,你就会得到
(第三步)放第二层的棱色块,但是还是留下一个,变成形如
留下的那个棱和角颜色是对应的。
这一步你就会看出留下一个缺口的好处了。我们放入一个第二层的棱非常的简单。首先我们把魔方要翻过来了,蓝面朝下,绿面朝上。现在,首先,你要放哪个第二层棱色块,就把我们空缺的那个角移到它底下,然后,
根据橙白色块的位置应用F'
U F或R U' R'。
你只要记住总是颜色叉开的那个面总被先“切开”,基本上你就记住了。如果你熟练了之后,根据橙白色块不同位置,第3步也可以是U2等。
会有一些情况下,你需要的棱色块不在顶面,而在第二层的错误位置或者朝向,这时咋办?首先,你要先做在顶面上的那些,
可能不听话的棱色块会自己变到顶面上,如果最后他还是不听话,如左图,你就随便用一遍上面例1或例2的算法,他就会变到顶面啦,例如,
对好剩下的5个棱色块
这一步我们分成两个阶段,
第一阶段 
我们留下空缺的右后的棱色块,在这里又要起大作用啦。我们下面要做的就是不停的把这个右后的棱色块移出来,再把我们将要操纵的棱色块填入进去,这样反复几次第一阶段就完成啦。
你要记住我们的顺序是先出后进。这个先出后进有两个方式供你选择,一个是R' Ux R,一个是B Ux B',其中Ux代表你任意旋转顶面,
用哪个方式是当前右后位置棱色块的绿色面朝向决定的,大家明白吧
,绿色出来后要朝上。每次应用R' Ux R或B Ux B'之前,你要旋转顶面把要出来的棱色块
的位置给准备好。Ux当然不是乱转,是要把下一个要摆的棱色块转到那个即将插入的位置。
说得我自己都不明白了,呵呵,看来我只能举例子了。
首先我们有这样一个形态。
拖拽动画你就可以看到背面的样子,下面三步分别对好3个顶层棱色块。
这一步就是转出右后的绿红色块,同时插入绿白色块。
第一个U是给绿白色块准备位置,
即将出来的绿白色块将出现在上后位置,并且绿白色块的位置是的绿红色块逆时针
上一个,也就是左图里的上左这个位置,所以我们要这样转,然后第三步的U2则是插入绿***块。
没啥好说的。
我想大家应该明白了吧,不明白我也没办法了,再看看就好了:)
另外出的时候,R'或者B会“藏”一个色块下去,这个“藏”也很有学问,我希望大家钻研一下,这个藏可以起到一些有意思的作用,我还没太钻研透彻。
这样第一阶段就完成啦。
下面进入第二阶段。这个阶段是唯一需要记忆一下的阶段。我们剩下的就是右后和右上这两个位置吧。他们会有这三种情况,
你的两个棱色块都在正确位置,但是朝向不对,肯定是两个朝向都不对啦,不然你的魔方就肯定还原不了了。那么你就应用 B U' B' U
你的两个棱色块在魔方右面是相同的颜色,并且和右面中心块也一样颜色,那么你就应用
U' R U' R' U' R U'
两个色块既不是正确位置右面也不同色,你就应用
B U B' U B U B'
看似这些需要记一下,其实如果想不起来你就自己试试,这些算法基本上会和你的直觉一致的。
基本的意思就是不断的R',R或者B,B',每动一次顶面就旋转90度。2,3情况是顶层是朝一个方向转,1情况是先逆后顺,1情况有点特殊,2,3情况大家观察一下,其实2,3情况是一模一样的,2情况第一步U'之后,大家看,这时候2情况就是3情况的对角线镜像了。所以他们的算法也就互为对角线镜像。说的有点笼统,不过我想有的朋友已经明白了。
下面是2,3情况整个魔方顺时针转过90度后的情形。我们只看黄橙棱和绿橙棱,两图互为对角线镜像。可能有的朋友在这里会有点迷惑,这个对角线镜像不是严格的,请观察下面图一中右面的橙黄绿相对位置关系,和图二前面的橙黄绿的相对位置关系,他们是等价的
,他们存在着某种对称性。所以图二的解法就是图一的对角线镜像。
2情况第一步U'之后
(第五步)摆好五个角块的位置,但不管朝向
这步我们要把5个剩下的角块归为到颜色正确的位置。
基本上你用一个很简单的算法就搞定了:L D2 L', 当然如果你想高效率可以再加上他的对角线镜像 F' D2 F。你应该注意到L
D2 L'和F' D2 F他们都是自己本身的逆算法。也就是说用两次L D2 L'魔方就回到原样。
我们这一步就是要不停的调换右下后和前上左两个角以达到调换5个角顺序的目的。首先观察右下后角的颜色,
然后旋转顶面让对应该颜色的正确位置到达前上左角。
请注意,这个正确位置是由顶层的绿色的棱色块决定的,比如我们要找绿白橙角色块的位置,就要把绿白和绿橙所夹的这个角转到前上左。
然后应用L D2 L',这时第一个角色块就到位了,但你的魔方会有一点乱,没关系,再次观察右下后角的颜色,旋转顶面将这次右下后颜色的正确位置转入前上左,再应用L D2 L'。你这样一次操作2个L D2 L'就对好了两个角。如果一开始右下后就是那个正确的蓝橙***块,你就把一个位置错误的色块摆在前上左,然后同样方法开始就可以了。
这样做最多3次,你的所有角色块就都会到正确位置。
F' D2 F是L D2 L'的对角线镜像,可以起到同样的作用。
但是不光这么简单,这里有一个细节可以优化我们的算法,如果你发现,右下后角的绿色朝后,你就用L D2 L',如果绿色朝右你就用F' D2 F,
这个不用背,你稍微想一下转的过程就明白了。如果绿色朝下。。。那就没办法了,你随便用哪个吧。
这样做你会发现不但角色块位置可以对好,朝向也可以对好,自然节省了我们下一步的工作。当然在一次操作里,只能用两个L D2 L'或两个F' D2 F,不能混着用。
下面这个例子用两个操作完成的。
(第六步)调整五个角块朝向,最终完成魔方
这步很简单,还是用L D2 L'和F' D2 F。首先你找到一对角色块,他们要处于同一个面上,而且一个要顺时针翻转,一个要逆时针翻转。
所谓顺时针翻转的意思是,你目光穿过一个角的顶点和魔方的体中心,你看到的那个角的三个颜色需要顺时针转一下,才能达到正确的朝向,比如左图离你眼睛最近的绿白红角,就是需要顺时针
把这两个角色块放在顶面,这时绿色面可以不一定朝上了,找到那个顺时针的放在前上左角,应用L D2 L' F' D2 F,然后你会发现你要转的那个角色块已经翻转好了,但是魔方是乱的,这时,找到那个需要逆时针转的角块,旋转顶面让他转到到前上左角,应用刚才算法的逆算法 F'D2
F L D2 L',也就是前半后半颠倒,好啦,你现在应该对好两个角了。如此重复,最多3次操作。所有的角色块都会对好了。
当然如果你想先翻转那个逆时针的,就先用F'D2
F L D2 L'再用L D2 L' F' D2 F。
也有的情况你要翻3个角,他们都是要顺时针或逆时针翻转的,如左图,你就先做两个,剩下的两个自然会一顺一逆了。
如果你发现你只需要翻转2个角色块,而他们处于魔方的体对角线上,那么你就旋转一个面,让他们处于同一面上,应用算法之后你通常需要做一个转2面的调整就可以成功还原魔方了。
,这个例子里我们
是先转的逆时针的。
另外Mark Jeays给出了一套介绍此玩法的视频,,很不错,建议大家去看看。
欢迎朋友们转载这篇文章,请注明转自就好了。 
输入您的搜索字词
提交搜索表单
如果您有问题,可以在发个帖子。&
如果您有问题,可以在发个帖子。&
或者,您也可以直接写信给我,任何的只言片语的建议感想都可以的:)我会尽量回复大家。
您的邮箱:(请填写上您的邮箱,方便我们回复您;))
如果您要粘贴照片等附件,请直接写信给,如果您的问题或建议只有文字,请输入验证码后直接点发送。
验证码看不清楚?请点击验证码图片获得一个新的。快速学玩魔方的新方法
而且很难理解,常被顺时针逆时针搞得晕头向。为了解决这个问题,我对那些公式的代码进行重新改编,用数字来做代码,发现记公式非常容易并不再会被顺时针逆时针搞晕。还有魔方的还原公式有一个规律,大多数的公式多是两个面交替转动,四步为一小节,因而不用记面的代码,只记转动代码就可以。以最长的公式为例,只要记住这四?数字就可以“1221&
&&&&&&&1803
&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
32& 21& 51& 22& 52& 312&
1:& 22& 52& 21& 52& 22& 53& 21
21& 51& 22& 51& 21& 53& 22
22& 62& 22& 53& 21& 61& 22&&
&52& 11& 52& 11& 51& 12& 51& 13
1112& 1211&
51& 22& 52& 21& 52& 21& 51& 21& 52& 22& 51& 21& 51& 23& 52& 22& 511221&&
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

参考资料

 

随机推荐