糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > Alex Fung魔方解法学习记

Alex Fung魔方解法学习记

时间:2019-07-07 20:05:19

相关推荐

Alex Fung魔方解法学习记

我学了Alex Fung魔方解法(见Solving the Rubik's Cube Systematically),这是一种精确的数学法,且是一种思路,一个系统解决方案,一种原理,不用死记硬背公式。

这是一篇学习记,所有用到的算法动画演示见原文Java Applet。整个过程我录了视频演示(详见附录一)。 魔方基础的术语(如图示,见Background and Naming of the Parts):前Front后Back左Left右Right上Up下Down面,顺(Clockwise,即我看着魔方的这一面顺时针转)逆(逆时针),本解法还用到中间层C,即左中右之中(C的方向随R);还用到腰层M,上下之间的夹层(M的方向随U)。固定三面朝我,三面看不见的式样,左手转前面Front(F面,我Fancy的左手),右手转右面Right(R面,我Right的右手)。Fung解法像个全集,本文的过程是一个子集:先底面再顶四角,顶三棱后棱对齐,中间层的棱和中间层的心。

Fung解法的整体思路是:先角后棱再中心,先转位置再转面。具体来说,(1)先底4角,再顶4角;(2)然后底三棱,顶三棱,最后顶和底两棱,得到两面正确;(3)中间层的棱;(4)最后中心。每一步骤都是先把那一块转到那个位置去(动作是move),先不管方向(orientation),然后再转方向:角拧转(twist),楞翻转(flip)。
1)先底面 以黄底面为例,四条黄棱先转到对面(我的魔方是紫色),再任意旋转,使得棱的侧面正确,例如黄蓝块,旋转至蓝色面,再转回黄底。四角最后一招均使用CM1转法(见Moving Corners),这CM1操作是角操作的基础。不能因为我太会转齐一面了,就不用CM1,Fung解法是一个精确的数学乐高,CM1是基础块。

X•Y•X-1 是一个conjugate(参考Design Theory),X,Y为魔方的转动操作,可以是单个操作或复合操作,但数学集合术语完全适用,例如X为F(左手顺时针转90度),X-1表示F-1(左手逆时针转90度);•表示动作相连,可省略,写在这里仅仅为了当动作为复合操作时,看起来清晰。

conjugate的特点是逆为中间的动作的逆:(X•Y•X-1)-1=X•Y-1•X-1。

X•Y•X-1•Y-1是一个commutator,记为[X, Y],其特点是逆为两个转动操作相同但先后次序反之:(X•Y•X-1•Y-1)-1=(Y•X•Y-1•X-1) = [Y, X]。

CM1包括左手和右手的操作,有CM1R,CM1R-1,CM1F,CM1F-1。

CM1R = R-1•D-1•R 目标角在FRD,面朝右,右手操作。直觉:右手合,如图示。

CM1F = F•D•F-1 与CM1R左右镜像,左手合

CM1R-1= (CM1R)-1=R-1•D•R 目标角在FRU,面朝左,右手操作,将其转到FRD,面朝左。直觉:右手开。

CM1F-1 = F•D-1•F-1 与CM1R-1左右镜像,左手开

转完是常见的底面白色,侧面T字。 2)再顶四角 先转位置转面。转位置用CM3R,转面用CT2(CM3R和CT2见Moving Corners)。

CM3R = [CM1R, U] = CM1R•U•CM1R-1•U-1 三角顺时针轮换,仅改变三个角的位置,直觉:三角轮换

转位置,有两种情况: (i)一边两角对换。顶面用R逆,先将一角转正,剩下三角再对换,另两角的正确没意义,换句话说,三角轮换中包含有两角相对位置正确。有时候,我一看就是一个天然的三角对换,其实我得承认,那是凑巧,我不用亲自做“R逆”这一步了。 (ii)顶角对换,先用一次CM3R,将情况变成(i),再用一次CM3R。 关于转面,例如转黄面,有三种情况: (i)两角的黄色面一个朝前,一个朝后,那就按示例做CT2,先右手再左手。 (ii)如果两角的黄色面同边都朝右,也是CT2,但镜像,先左手再右手。 (iii)如果对角黄色面朝上,另两角不对,也是一个CT2,但是要转180度。 重点是当操作成对时,后一个操作可以将前一个操作对其他块的伤害复原。 有时,一个角朝向正确,剩下三个角朝向不对,拆作两组CT2,但中间的那一块在第一个CT2中要假装它的朝向是配对的。
CT1 = CM1R-1•CM1F 目标角在FRU,面朝左,先右手CM1R-1将其转到FRD,面朝左,再左手CM1F,转到FRU,面朝上。直觉:右手开左手合。

CT1-1=CM1F-1•CM1R 与CT1左右镜像

CT2 = [CT1, U] = CT1•U•CT1-1•U-1 目标角位置正确,面朝向不对。成对的镜像操作。仅改变两个角的面朝向。直觉:两角翻面

CM3R和CT2是成功的秘诀,因为其他块都不动。如果把魔方转齐了,在一面尝试CM3R和CT2,转完了,发现除了目标块(CM3R三块、CT2两块)有变动,其他块毫发无伤。 3)顶三棱后棱对齐 这一步转对位置的同时,方向也是对的。 EM1BR和EM1BL是将侧边棱转到顶的两个基础操作(见Moving Edges Part I)。 当顶的一条棱调整时,直下的底的棱也变了(EM1BR变成顶棱,EM1BL是背后看不见的那条棱),于是变成底三棱。每转一条棱,确保下面的棱是那个不对的棱,是个buffer,是我们不关注的buffer。

EM1BR = [F, M] = F•M•F-1•M-1直觉:前腰回回

EM1BR-1 = [M, F] = M•F•M-1•F-1直觉:腰前回回

EM1BL = [F-1, M2] = F-1•M2•F•M2直觉:后腰腰回回

EM1BL-1 = [M2, F-1] =M2•F-1•M2•F直觉:腰腰后回回

最后一步“上下两条棱同时拧正”(见Moving Edges Part II),这一步是所有步骤中的最难的,是个关卡。(我一开始偷偷用过左手镜像操作。) 写我的方法:目标底棱在顶面(底面朝左),目标顶棱在侧面,用EM1BR。 F面的竖着的两条棱在操作中不变,可在一开始找到符合EM1BR的那个棱,暂存于此处。若最后不幸下棱正确、上棱位置对朝向不对,三步纠正:1)将上棱用EM1BL拧下来,存于FR棱,2)再将下棱EM1BL拧到上棱,3)再用EM1BR。 若已经能转齐六面,观察EM1BR和EM1BL,观察上下两条棱在这两个操作下去哪儿了,可有更多技巧。 这样两面整齐,将魔方像是三明治那样立起来,我们来调整混乱的夹层。 4)中间层的棱和中间层的心 转位置,有两种情况: (i)一棱位置正确,三棱轮换:三棱轮换EM3(见Moving Edges Part II),当发现两棱需对换的情况,先顺转90度(C),铆定一个,剩下三棱轮换,原理同顶四角。 (ii)两棱对角交换:两次EM3。
EM3 = [U2, C-1] = U2C-1U2C
此时看一下,如果中心不对,可以先转中心。我遇到的情况都是两对中心直线对换,NM4(见Completing the Cube)。有一次我看到所有块都好了,只有中心不对,Wow,但是NM4这个转法,四两拨千斤,too good to be true。
NM4 = [C, M2] = C•M2•C-1•M2
棱转面用EF2B(见Moving Edges Part I):将两个棱成对翻转,用的是EM1BR和EM1BL两个操作的正逆组合。 有两种情况: (i) 两棱在同一面,显然是直线相对的,不是像演示的,转90度,而是转180度。这种情况用一次EF2B。 (ii) 两棱在对角线上,用两次EF2B,第一次EF2B时,过渡的中间块反而要拧反。 这个操作显然是“王牌”了,如同穿过桃花岛。我到了这最后一步重头再来的情况不计其数,真是气炸了。后来我口中念念有词:一二三四五六七八(EF1B),一二三四五六七八(EF1B-1)。刚才先转中心也只是为了不添迷惑,第一个八拍走完,乱相是每一面两块或三块。

EF1B = EM1BR-1•EM1BL =[M, F]•[F-1, M2] = (M•F•M-1•F-1)•(F-1•M2•F•M2) 直觉:腰前回回 前腰回回(一二三四五六七八)

EF1B-1 = EM1BL-1•EM1BR = [M2,F-1]•[F, M]= (M2•F-1•M2•F)•(F•M•F-1•M-1) 直觉:腰腰后回回 后腰腰回回(一二三四五六七八,“腰腰”算一步)

EF2B = [EF1B, U2] = EF1B•U2•EF1B-1•U2第二个操作是:一个次序相反的EM1BL,接一个正常的EM1BR

Alex Fung说这个算法是他二十多年前写成博客,文中说他十多年不转魔方,一旦转起来,照样能转好,不像记公式,一段时间不转,就不会转了。这句话直接说中我的痛处。经过了这些月,我深感这个方法的迷人实用。关于Fung解法有反馈的话,请写邮件给他。 后来,我转异形魔方,意识到Fung解法需要与经典解法结合(详见附录二)。附录一:Alex Fung魔方解法视频

1)三阶魔方视频

Alex Fung魔方解法整体介绍、第一层十字架:0~2:10秒

第一层的角、基础动作左手合、左手开、右手合、右手开:2:10~7:10秒

顶层三角轮换:7:10~11:50秒

顶层两角换面:11:50~16:17秒

顶层四棱、前腰回回、后腰腰回回:16:17~22:26秒

中间层三棱轮换:另一个视频

中间层中心对换:22:26~24:35秒

中间层两棱换面:24:35~末尾

2)两阶魔方视频

附录二:Fung解法与经典解法的结合

Fung解法适用于其他异形魔方,例如二阶、四阶、镜面等,但在五魔方中,中间层不能转,若用上下层相对旋转的方法,我还没能尝试。

经典的“先第一层、后第二层、再第三层”魔方解法中,关于第二层棱如何拧对,“魔方小站站长”使用“远切回回、接孩子回家”算法,但新浪博主“震我一下魔方宅”将其拆解为两个“上钩下回”动作。

左手上钩下回=(魔方上下颠倒后)右手合+底回即,(经典)F-1•U-1•F•U=(Fung解法魔方上下颠倒后)R-1•D-1•R•D=[R-1,D-1]

右手上钩下回=(魔方上下颠倒后)左手合+底回即,(经典)R•U•R-1•U-1=(Fung解法魔方上下颠倒后)F•D•F-1F•D-1=[F,D]

故,第二层棱拧对的解法“远切回回、接孩子回家”=(Fung解法中魔方上下颠倒后)远+右手合+底回+左手合+底回。或,镜面动作。

三阶魔方“震我一下魔方宅”君调整顶层棱十字架以及位置也使用上钩下回的动作组合。但五魔方的顶层调整棱的位置依然用到魔方小站站长教的“小鱼一”和“小鱼二”。

再有,三阶粽子魔方很难。难点在于: (1)乱且歪,其三阶魔方的架构要齐平视野,看出横平竖直的井字格。井字格的对准很费眼力,固有手势的手感难以使出来,过程中扭曲尖锐丑陋的外观让人很不自信。 (2)双色中心块对应三阶魔方的中心,其位置有方位性,比三阶魔方严格,每走一步要加格外步骤校准。对齐第一层门槛很高。第一层先棱后角,需要逐块谨慎处理。 (3)顶层十字架难以识别面向。 为了直觉上更好理解,以及解决五魔方、三阶粽子魔方,我将Fung解法与经典解法结合,新的解决方案为: 1)第一层:Fung解法 2)第二层:棱用上钩下回 3)第三层:先十字架,用上钩下回;后十字架位置,用小鱼;再角,用Fung解法。

魔方解决方案系列:

SQ1魔方解决方案

4阶魔方解决方案

如果觉得《Alex Fung魔方解法学习记》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。