魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
查看: 23698|回复: 11

[教程] 降群法详解 [复制链接]

Rank: 2

积分
404
帖子
151
精华
2
UID
60282
性别

八年元老

发表于 2016-8-15 22:50:02 |显示全部楼层

几年前看到http://bbs.mf8-china.com/forum.php?mod=viewthread&tid=39499&highlight=%D7%B4%CC%AC%BC%AF%D7%AA%BB%BB,知道了降群法,觉得很有意思。主流的魔方解法,从入门的层先,到进阶的CFOP、桥式乃至盲拧,都是从部分到整体的思路,逐块还原魔方。但是降群法(即状态集转换法)不同,从整体出发,不断降低魔方的混乱程度,最终达到的可以轻松复原的效果。

前言:

首先试着将一个魔方随机打乱,会发现各个面颜色的分布很混乱,让人觉得很难复原。 再试一下,只用180°旋转(即只使用<L2,R2,F2,B2,U2,D2>)打乱,会发现好多颜色都连在一起,似乎很好复原的样子。

为什么会有这种感觉呢?因为不同的打乱操作对应的魔方状态数相差很多,如果魔方通过<U,D,L,R,F,B>六个基本动作打乱,那么它的状态数可以达到10^20次方种。但假如只用<U2,D2,L2,R2,F2,B2>来打乱魔方,魔方的状态数只有60万种,显然没有前一种混乱。再极端一点,假设只使用R操作,魔方只有四种状态数,任何人都能一眼看出复原路径。

对不同状态集的状态数有详细计算,可以参考http://bbs.mf8-china.com/forum.php?mod=viewthread&tid=38810&extra=page%3D1

降群法(即状态集转换法)就是从整体出发,不断降低魔方的混乱程度,最终达到的可以轻松复原效果。

降群法对各状态集的定义:

初始状态:G0<U,D,L,R,F,B>状态集--原始打乱状态

Step 1:进入G1<U,D,L2,R2,F,B> 状态集

Step 2:进入<U,D,L2,R2,F2,B2> 状态集

Step 3:进入<U2,D2,L2,R2,F2,B2> 状态集

Step 4:各块归位

下面将详细介绍进入各状态集和最后复原的详细方法。

Tips:

1、我的配色:绿顶红前白左;

2、在步骤4之前,把相对面的颜色看成等价的。180°整体旋转(x2/y2/z2)不影响魔方状态;

Step1G1<L2,R2,F,B,U,D> 状态集(group

要求:

棱块:确保所有的棱块都正确翻转。

首先,你需要找出未正确翻转的棱块(Bad edges)。一个未正确翻转的棱块是指,如果这个棱块需要R、L(非G1状态集操作)归回原位,它的朝向是错误的。

角块:无

观察:

原理:棱块归位是否有用到L/R操作?如有,则朝向错误(只用想象,不用真的把棱块转回原位去)。

棱块正确朝向的规律总结:

/底棱:

①位置在U/D层:顶/底色在U/D面;

②位置在中层:顶/底色在R/L 面;

中棱:

①位置在顶/底层:前/后色不在U/D

②位置在中层:前/后色在F/B

通过观察找出所有朝向错误的棱块,朝向错误的棱块一定是偶数,在012之间,平均6个。

方法:

翻转棱的唯一方法就是把L层或R层转动90度,这样一次会把这一边的4个棱全部翻转。为了翻转4个棱,你只需要简单把它们都放在一边(比如右边),然后把该层转动90度。

为了翻转2个棱,你可以把其中一个放到R层上,再转90度,这样2个就变成了4个(新出现的3个+原来的1个),就又可是用刚才的方法了。

Step2G2 <L2,R2,F2,B2,U,D> 状态集(group

要求:

棱块:中层的棱块都位于中层,顶/底层的棱块只能U/D层且被正确翻转了。

在Step2的末尾,你应该看到,顶面和底面只有蓝/绿色,而在中层,红橙色朝向左/右,白黄色朝向前/后。

角块:所有的角块朝向正确:所有的蓝/绿色都在U/D面上。

观察:一眼望穿

方法:

切记我们刚刚进入G1状态集,我们只能使用G1中允许的转动,不能单独进行R/L操作,除非操作之后原路返回。

还原棱块:

我们希望在顶层和底层各得到一个蓝/绿色的Cross,由于空间有限,必有至少4个已成为Cross的一部分。(PS:在Step 1中,应该注意,尽可能将蓝/绿色集中在U/D层)

通用的策略是,先在顶层和底层各放3个蓝/绿色的棱,然后调整一下U和D,使得Cross的缺口都朝前。这时,两个缺失的蓝/绿色棱块一定在中层的某处(如果不是,那一定有4个蓝/绿色棱同时在顶层或底层,而不是3个)。用180度旋转(L2,R2,F2,B2)把这剩下的两个红色棱移到中层朝前的地方,再把F层转动90度。

还原角块:

一次翻转两个角块:

把一个角块放在LUF位置上(角A),把另一个角放在FDR位置上(角B),然后做:
  R'D - 翻转角B
  L2 - 交换角B和角A
  D'R - 在返回时翻转角A

同理,整理两角翻转系列公式:

RU-L2-UR(FUR↗LDF↖)2顺5逆

RD-L2-DR(LUF↗FDR↖)1顺6逆

LU-R2-UL(LUF↗FDR↖)6顺1逆

LD-R2-DL(LDF↗FUR↖)5顺2逆

将要翻转的两个角块用U/D整理到F面相对的位置,再套用公式。

   进阶解法可以直接使用OLL翻转角块。


写到一半字数好像超了,楼下继续吧。也可以直接下载附件word,添加有大量实例,更方便理解。


降群法详解.zip

154.92 KB, 下载次数: 379

已有 1 人评分经验 收起 理由
cube_master + 20 很给力!

总评分: 经验 + 20   查看全部评分

Rank: 2

积分
404
帖子
151
精华
2
UID
60282
性别

八年元老

发表于 2016-8-15 22:54:34 |显示全部楼层

Step3G3 <L2,R2,F2,B2,U2,D2> 状态集(group

要求:

在G2的状态集中,你只是把顶面和底面都变成了相对面的颜色(绿色),在这一步骤,你要把前/后面(红色)、左/右面(白色)也做到这样子。

在G3状态集中,每个角块只能处在四个位置中的一个,称为一个“Orbit(轨道)”。其中ULB,DLF,DRB,URF四个位置是一个轨道,另外四个位置是另一个轨道。可以发现,轨道A里的只在轨道A中运动;轨道B里的只在轨道B里运动。相互不影响。

棱块也是位于几个轨道之中,魔方总共有12个棱,分为3个轨道(即M层、S层、E层的棱块)。中层的棱块在步骤2中已经做好了,而且也不会再离开它们的轨道。所以现在,我们只有UD两层的8个棱块需要处理。我们要做的是把红色的棱移到红色那一侧(前/后,这里红色泛指红、橙),把白色的棱移到白色的一侧(左/右)。处于错误位置的棱块的数目一定是偶数。

在G3状态集中,你能做的只能是180度转动,即交换一个轨道中的两个角块,同时交换另一个轨道中的两个角块。这就限制了角块可能的排列,也意味着简单的使每个面只有它本身的颜色和相对面的颜色是不足以满足G3的。

例:底层OK,顶层对角换的情况,符合每个面只有它本身的颜色和相对面的颜色,但是只交换一个轨道中的两个角块,所以不满足G3

既然角块会出一点小问题,比如上面提到的底层OK,顶层对角换的情况,还原角块的时候必然伴随着一对棱块的交换。所以我们先使角块进入G3状态集,然后再处理棱块。

方法:

现在为了判断是否满足G3,你必须要区分相对面的颜色了。在这里我用的颜色是红对橙、白对黄、绿对蓝。一个判断是否满足G3的简单方法是把所有相同颜色的(如白色)角块移到顶层,这样相对颜色的(黄色)角块必然会到底层。

这些角块分成四对,每一对可能是匹配的,也可能是不匹配的。当它们全匹配或全不匹配时,角块就进入G3状态集了。所有角块都匹配只有一种情况,所有角块都不匹配也只有一种情况(在两个层都有一对对角相交换)。做R2F2R2,就可以在全匹配和全不匹配之间转换(使顶层的一对对角交换,底层同样)。

当你手中的魔方不处于这个状态时,这有一个Orbit公式可以交换底层的一对对角(LDB-RDF),同时交换顶层的一对相邻的角块(UB):
  R'FR' - 使4个目标角块移到B层
  B2 - 交换!
  RF'R - 返回

  这个公式会交换DF、DB、UB三对角块,而不会影响到在UF处的角块对。只运用一个Orbit公式,就可以还原角块。

你会经常发现有一对与其它的不一样(另外三对都匹配了,只有一对不匹配)。当你找到这一对并把它拿在UF的位置,然后做上面那个公式,就会进入所有角块都不匹配的状态,然后就可以简单还原了。

cube1.jpg

进阶方法,针对几个比较复杂的情况,借用三阶公式:

cube 2.jpg



  接下来开始处理棱块,先思考一下,当进入G3状态集,M层、S层棱块在各自的轨道中, M层只有前/后色棱(即UF/UB/DF/DB四块),S层只有左/右色棱(即UL/UR/DL/DR四块)。观察发现M层棱块出现在S层(反过来也一样),即可认为棱块位置错误。

最简单的公式是交换不同轨道中的两对棱块,把红(前)色那一侧的两个棱与白(左)色那一侧的两个棱相交换,红色那一侧的两个棱必须放在底层(DL、DR,S轨道),而白色那一侧的两个棱必须放在顶层(UF、UB,M轨道)。然后做:
  D'
  M2(M是被L和R层夹在中间的层)- 交换!
  D

  如果你遇到了只有两个不正确的棱,那你先把它变成4个,再套用公式。

在这个步骤的末尾,你应该看到,在每个面上都只有它自身的颜色和它相对面的颜色。


Step4:还原

要求:

魔方现在只用180度旋转就可以还原了。当然,如果我们能看出一些明显的捷径来,也可以用180度旋转以外的操作。

方法:

角块:

首先,用180度旋转来还原角块。先找到一个面,把两个角块连在一起,那么这个面上的另两个角块就会自动连在一起(如果你步骤3做对了的话)。然后把两对角块移到一个面,另外4个角块自然会自动复原(如果你步骤3做对了的话)。

棱块:

棱块分为三个轨道,每个轨道上的四个棱块有几种情况:

① OK;

② 交换同一轨道中的两对棱块;

公式: F2 M2 F2 M2/U2 M2 U2 M2(水平交换M层棱块)

E M2 E M2(交叉交换E层棱块)

③ 轨道内三循环交换:

原理:将两对棱(是两 对棱,不是两对 棱)重叠在一起,做两次180°旋转:

假设正确顺序A-B-C,实际排序B-C-A:

先交换A-C,排序B-A-C;

再交换B-A,就得到了A-B-C。

这样就能交换三个棱。

依此原理,可以衍生出许多公式:

F2 M F2 M'

M F2 M' F2

U2 MU2 M

……

④ 交换同一轨道中的一对棱块,或者轨道内四循环交换。这种情况必然还伴随着另一轨道中的一对棱块交换:

F2 R2 F2 R2 F2 R2 - 交换M、S轨道中的两对棱块,其它的块不受影响。

U2 R2 U2 R2 U2 R2 - 交换M、E轨道中的两对棱块,其它的块不受影响。

运用以上公式,再加上一些简单的预备、归位动作,就能复原棱块了。


使用道具 举报

Rank: 5Rank: 5

积分
3319
帖子
1842
精华
8
UID
1330033
性别
兴趣爱好
破解
DIY
巧环
其它

魔方破解达人 两年元老 四年元老 八年元老

发表于 2016-8-16 07:07:49 |显示全部楼层
沙发,学习一下。

使用道具 举报

Rank: 1

积分
168
帖子
156
精华
0
UID
1341246
发表于 2016-8-16 20:22:20 |显示全部楼层
板凳,学习一下

使用道具 举报

Rank: 2

积分
436
帖子
402
精华
0
UID
1336703
发表于 2016-8-17 14:01:27 |显示全部楼层
不适合速拧

使用道具 举报

Rank: 1

积分
168
帖子
156
精华
0
UID
1341246
发表于 2016-8-17 19:15:35 |显示全部楼层
无名小蜜蜂 发表于 2016-8-17 14:01
不适合速拧

是吗            

使用道具 举报

Rank: 2

积分
404
帖子
151
精华
2
UID
60282
性别

八年元老

发表于 2016-8-18 16:13:07 来自手机 |显示全部楼层
mofang0 发表于 2016-8-17 19:15
是吗

降群法的平均步数比Cfop少,大约45步,http://bbs.mf8-china.com/forum.php?mod=viewthread&tid=104700&highlight=Thistlethwaite有很多实例。但是观察是个问题,需要看遍六个面,不太利于速拧。

使用道具 举报

Rank: 1

积分
168
帖子
156
精华
0
UID
1341246
发表于 2016-8-18 18:24:20 |显示全部楼层
ykk 发表于 2016-8-18 16:13
降群法的平均步数比Cfop少,大约45步,http://bbs.mf8-china.com/forum.php?mod=viewthread&tid=104700&h ...

哦哦,谢谢!

使用道具 举报

积分
4
帖子
4
精华
0
UID
1349939
发表于 2019-7-26 08:27:42 |显示全部楼层
谢谢分享,学习一下!

使用道具 举报

积分
1
帖子
1
精华
0
UID
1355041
性别
保密
兴趣爱好
速度
发表于 2023-9-1 12:20:26 |显示全部楼层
二阶段算法有没有搞?

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2024-10-5 18:25

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部