魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
查看: 4026|回复: 7
打印 上一主题 下一主题

N阶魔方的零公式复原法(JAVA版) [复制链接]

Rank: 5Rank: 5

积分
4628
帖子
388
精华
1
UID
5510
性别

八年元老

跳转到指定楼层
1#
发表于 2017-8-31 10:43:21 |只看该作者 |倒序浏览
原帖转自:魔友liujunhua的帖子http://bbs.mf8-china.com/forum.p ... %B8%B4%D4%AD%B7%A8;下面是JAVA版利于魔友们学习理解;

N阶魔方的零公式复原法
刘俊华 2008-1-12

摘要:本文介绍了一种轮换N阶魔方同簇的三个块、改变同簇的两个块的色向的一种通用方法。无论这三个块同属于哪个簇,轮换的方法是一样的;无论这两个块同属于哪个簇,改变色向的方法是一样的。而且,轮换和改变色向的方法,也是一样的。这个方法不需要死记硬背,只需要理解。本文还介绍了如何排除簇间扰动。根据魔方的相关理论,在排除簇间扰动后,只要能在同簇间进行三轮换、能改变同簇的两个块的色向,就可以复原魔方了。所以,我把这个方法称为“N阶魔方的零公式复原法”。

本方法的优点:
1、不需要记忆任何公式,就可以复原N阶魔方。

本方法的缺点:
1、步骤比经过优化的公式稍长;
2、拧起来可能不是很顺手,有时需要转动内层;

我玩魔方只有两三个月时间,琢磨出这个玩法,给我启发最大的有如下几点:
1、http://www.mf8-china.com里面介绍的魔方理论知识;
2、http://www.rubik.com.cn里面介绍的最少记忆法和三阶魔方玩法;
3、http://www.mf100.org里面介绍的四阶、五阶魔方玩法;

本方法的基本原理:假设在N阶魔方的α 平面存在三个同簇的块,分别为A、B和C(这里先假设旋转α 平面时,A可以到达B和C的位置。不能到达的情况在后面讲述)。现在要求把A、B和C进行一次三轮换而不移动其他的块。我们如下操作:
1、先找到一个和α 平面平行的平面β;
2、再找一个和α、β平面都垂直的平面γ;
3、通过旋转α平面,A、B和C都可以到达γ平面;而当它们到达γ平面后,通过旋转γ平面,它们又可以到达β平面;
4、用如下的方**换A、B和C:
(γ β2 γ') α (γ β2 γ') α (γ β2 γ') α2 (γ β2 γ')…………(式一)

下面我举几个例子。
图片1.png
【例1】上图是三阶魔方的U面。现在要进行A→B→C→A的轮换。按照上面的方法,可以设α=U,β=D,γ=L,则轮换方法为:
(L D2 L') U (L D2 L') U (L D2 L') U2 (L D2 L')

  
  

当然你也可以选择α=U,β=D,γ=R,则轮换方法为:
(R' D2 R) U (R' D2 R) U2 (R' D2 R) U (R' D2 R)

  
  

如果要进行A→C→B→A的轮换,设α=U,β=D,γ=L,则轮换方法为:
(L D2 L') U2 (L D2 L') U' (L D2 L') U' (L D2 L')

  
  

从上面的操作,可以看出:
1、对α平面的操作,在于你想移动哪个块,以及把这个块移动到哪个位置;
2、(γ β2 γ')总是被执行偶数次(因为是三轮换),这一点刚好保证了不移动无关的块。注意一下(γ β2 γ')的逆操作就是它自身。
3、γ平面的选择不唯一,但都可以达到目的。

下面再举个例子。
图片2.png
【例2】上图是三阶魔方的U面。现在要进行A→B→C→A的轮换。我们可以设α=U,β=MU(MU为U和D的夹层),γ=L,则轮换方法为:
(L MU2 L') U (L MU2 L') U (L MU2 L') U2 (L MU2 L')

  
  

可以看出,轮换角块和轮换棱块的方法没有什么不同。

下面举一个双对换的例子。
图片3.png
【例3】上图是三阶魔方的U面。现在要进行A和B的交换、C和D的交换。我们可以设α=U,β=MU,γ=L,则对换方法为:
(L MU2 L') U (L MU2 L') U' (L MU2 L')…………交换A和B

  
  

U2 (L MU2 L') U (L MU2 L') U' (L MU2 L') U2…………交换C和D

  
  
  

这个例子中,(γ β2 γ')被执行了6次。
已有 1 人评分经验 收起 理由
cube_master + 20 赞一个!

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

Rank: 5Rank: 5

积分
4628
帖子
388
精华
1
UID
5510
性别

八年元老

2#
发表于 2017-8-31 11:51:27 |只看该作者
本帖最后由 yingmu 于 2017-8-31 20:53 编辑

下面讲如何改变块的色向。假设在N阶魔方的α 平面存在两个同簇的块,分别为A和B(这里先假设旋转α 平面时,A可以到达B的位置。不能到达的情况在后面讲述)。现在要求改变A和B的色向,而不移动其他的块。我们如下操作:
1、先找到一个和α 平面平行的平面β;
2、再找一个和α、β平面都垂直的平面γ;
3、再找一个和α、γ平面都垂直的平面δ;
4、通过旋转α平面,A和B都可以到达γ平面;而当它们到达γ平面后,通过旋转γ平面,它们又可以到达β平面;
5、通过旋转α平面,A和B都可以到达δ平面;而当它们到达δ平面后,通过旋转δ平面,它们又可以到达β平面;
6、可以用如下的方法改变A和B的色向:
(γ β2 γ') (δ' β2 δ) α (δ' β2 δ) (γ β2 γ') α'…………(式二)
可以看出,它和(式一)的唯一区别在于:在中间的两步操作中,用δ平面替换了γ平面。

下面举例说明。
图片4.png
【例4】上图是三阶魔方的U面。现在要求把A旋转120°,把B旋转-120°。我们可以设α=U,β=D,γ=L,δ=F,则操作方法为:
(L D2 L') (F' D2 F) U (F' D2 F) (L D2 L') U'

  
  

如果要求把A旋转-120°,把B旋转120°,我们仍设α=U,β=D,γ=L,δ=F,则操作方法为:
(F' D2 F) (L D2 L') U (L D2 L') (F' D2 F) U'

  
  

从上面可以看出:
1、对α平面的操作,是在选择要改变色向的块;
2、操作γ平面和δ平面的先后顺序,决定了色向改变的方向;
3、在δ平面的操作一定要是偶数次,这样才能不移动无关的块。

再举一个例子。
图片5.png
【例5】上图是三阶魔方的U面。现在要求改变A和B的色向。我们可以设α=U,β=MU,γ=L,δ=F,则操作方法为:
(L MU2 L') U' (F' MU2 F) U (F' MU2 F) U (L MU2 L') U'

  
  

既然轮换和调整色向用的方法是一样的,我们就可以同时进行轮换和改变色向的操作。下面举例说明。
图片6.png
【例6】上图是三阶魔方的U面。现在要求进行A→B→C→A的轮换,同时把A旋转120°,把C旋转-120°。我们可以设α=U,β=D,γ=L,δ=F,则操作方法为:
(L D2 L') U (F' D2 F) U (F' D2 F) U2 (L D2 L')

  
  

这里要特别注意先操作哪个块。假设三个块中,不改变色向的块为X,而轮换的要求是用Y替代X,在应该先对Y进行操作。这是因为中间对δ平面的偶数次操作不改变色向。色向的改变发生在操作了γ平面后,接着操作δ平面,或者反之。

下面再举个例子。
图片7.png
【例7】上图是三阶魔方的U面。现在要求进行A→B→C→A的轮换,且改变把A和B的色向。我们可以设α=U,β=MU,γ=L,δ=F,则操作方法为:
U (L MU2 L') (F' MU2 F) U2 (F' MU2 F) U2 (L MU2 L') U'

  
  

前面我们都假设了旋转α 平面时,A可以到达B和C的位置。下面讨论不能到达的情况。
图片8.png
【例8】上图是四阶魔方的U面。现在要求进行A→B→C→A的轮换。很清楚,无论如何旋转U面,A都不可能到达B和C的。要实现这个簇内轮换,必须改变A和C的色向。我们知道,四阶魔方的棱块在某个位置的色向是唯一的。这个例子中,当A→B和C→A时,A和C必然改变色向,而B→C时,B绝不会改变色向。我们可以设α=U,β=MU,γ=L,δ=F,则操作方法为:
(L MU2 L') U' (F' MU2 F) U2 (F' MU2 F) U' (L MU2 L')

  
  

另外,这个例子还可以如下实现:通过[MF2 D2]改变B块的位置,这时A、B、C都处于MB平面,且通过旋转MB,A可以到达B和C的位置。这时,设α=MB,β=F,γ=D,可以实现A→B→C→A的轮换,轮换完毕后,再通过[MF2 D2]的逆操作[D2 MF2]来恢复。全部操作为:
[MF2 D2] (D F2 D') MB2 (D F2 D') MB' (D F2 D') MB' (D F2 D') [D2 MF2]

  
  

这个例子说明:当旋转α 平面,A不能到达B或者C时,可以:
1.用调整色向的方法,引入另一个δ平面的方式来协助完成;
2.通过某些操作[xyz]调整A、B、C的位置,使它们都落在另一个平面ε中,而旋转这个ε平面,A可以到达B和C。当在ε平面完成A、B、C的轮换后,再用[xyz]的逆操作来恢复。

使用道具 举报

Rank: 5Rank: 5

积分
4628
帖子
388
精华
1
UID
5510
性别

八年元老

3#
发表于 2017-8-31 11:54:27 |只看该作者
本帖最后由 yingmu 于 2017-8-31 18:03 编辑

再举一个例子。
   图片9.png 图片10.png
【例9】上图是四阶魔方的U面。现在要求从左图变换成右图。常常有人为四阶魔方可以互换一组对棱感到惊奇。其实,它是由两个三轮换组成的。第一个三轮换是A→D→B→A,互换后的图如下:
图片11.png
在上图的基础上,在进行第二个三轮换C→D→B→C,就得到最终结果。具体的操作方法在【例8】已经讲了,我就不重复了。

再举一个五阶魔方的例子。
图片12.png
【例10】如上图,要求完成五阶魔方中三个棱块的轮换,轮换要求如图中箭头所示。设左图中绿橙色棱块和蓝红色棱块所在的面为F面,红绿色棱块的绿色所在的面为U面。我们可以先用[U B]的操作,调整绿红色棱块的位置,然后设α=u,β=D,γ=B,来完成这三个棱块的轮换,最后用[U B]的逆操作[B' U']来恢复,全部操作为:(小写的u表示顺时针旋转第二层)
[U B] (B D2 B') u (B D2 B') u (B D2 B') u2 (B D2 B') [B' U']

  
  

最后谈谈魔方中存在簇间扰动的情况。把魔方的某个面旋转90°,就会产生簇间扰动;反之,把存在簇间扰动的面旋转90°,就会消除簇间扰动。簇间扰动消除后,就可以用簇内三轮换和改变簇内色向的方法,把魔方最终复原。

下面举例说明。
图片13.png
【例11】上图是三阶魔方的U面。现在只要把A和B互换,C和D互换,魔方就最终复原了。A和B属于角簇,C和D属于棱簇,而N阶魔方基本的置换是簇内三轮换,很明显,角簇和棱簇间存在扰动。我们执行一个U操作(U'操作也可以)后,发现只要再做一个角簇的三轮换和一个棱簇的双对换,就可以复原魔方了。具体的操作步骤我在【例1】和【例3】已经讲了,我就不写了。

再举一个四阶魔方簇间扰动的例子。
图片14.png
【例12】如上图,要求翻转蓝黄色棱块,把魔方最终还原。这其实是要把两个蓝黄色棱块互换位置,即做一个簇内对换。而簇内的基本操作是三轮换,说明这里存在簇间扰动。假设黄色面为U,红色面为F。我们可以按如下操作进行:
1.先做一个MB'操作,消除簇间扰动;
2.复原U面的三个棱块;
3.复原因为MB'操作而移动的MB面的三个棱块;
4.复原因为MB'操作而移动八个心块(两个一组,共四组)。
有人要说了,第4步复原移动的四组心块是个簇内四轮换,不可能用簇内三轮换的操作来完成。其实,它不是簇内四轮换,而是簇内四轮换加上一个簇内二轮换,是可以用簇内三轮换的操作来完成的。这里要注意四阶魔方的4个心块是同色的,把它们分成两组,可以做一个簇内二轮换,而魔方的心块看起来没有改变。(顺便说一下,你可以在4个心块中任选三个,做一个簇内三轮换,而整个魔方看起来没有改变。我这里指非数字魔方。)
全部操作如下(分别对应上面的4步):
1.MB'

  
  

2.(L MU2 L') U (F' MU2 F) U2 (F' MU2 F) U (L MU2 L')

  
  
  

3.(U F2 U') MB2 (U F2 U') MB' (U F2 U') MB' (U F2 U')

  
  
  

4.[(ML MR' F2 MR ML') MB']*4

  
  
  

其中第2步,取α=U,β=MU,γ=L,δ=F;第3步,取α=MB,β=F,γ=U; 第4步,取α=MB,β=F,γ=ML+MR(表示两个心块同步作为一组参与轮换);第4步的*4,表示对[]中的操作重复4次。

再举一个例子,是两个不同的簇中的块同步轮换。
图片15.png
【例13】如上图,要求进行A→B→C→A的轮换和1→2→3→1的轮换。取α=U,β=D+MU,γ=L,操作方法如下:
(L D2 MU2 L') U (L D2 MU2 L') U (L D2 MU2 L') U2 (L D2 MU2 L')

  
  
  

使用道具 举报

Rank: 2

积分
271
帖子
372
精华
3
UID
1329680
性别
居住地
潍坊市
兴趣爱好
破解
4#
发表于 2017-8-31 17:08:52 |只看该作者
不明觉厉,

使用道具 举报

Rank: 4

积分
2051
帖子
1372
精华
4
UID
1321618

收藏爱好者 六年元老 八年元老

5#
发表于 2017-8-31 21:42:13 |只看该作者
以前仔细研读过这个方法,感觉太繁琐,中层转动太多操作很不便。还是一般的降阶法容易点

使用道具 举报

Rank: 5Rank: 5

积分
4628
帖子
388
精华
1
UID
5510
性别

八年元老

6#
发表于 2017-9-1 09:04:24 |只看该作者
折翼蚂蝗 发表于 2017-8-31 21:42
以前仔细研读过这个方法,感觉太繁琐,中层转动太多操作很不便。还是一般的降阶法容易点

是比较繁琐,但对于公式的理解会有益处,特别是教孩子玩魔方,这个应该比较好理解。

使用道具 举报

积分
1
帖子
1
精华
0
UID
1345509
性别
保密
居住地
潍坊市
兴趣爱好
破解
7#
发表于 2017-9-1 13:59:19 |只看该作者
yingmu 发表于 2017-9-1 09:04
是比较繁琐,但对于公式的理解会有益处,特别是教孩子玩魔方,这个应该比较好理解。

我很喜欢玩魔方可是我只会拼一面

使用道具 举报

Rank: 2

积分
208
帖子
195
精华
0
UID
1354944
性别
兴趣爱好
理论
8#
发表于 2023-7-27 17:18:10 |只看该作者
虽不明,但觉厉。
先找到一个和α 平面平行的平面β;再找一个和α、β平面都垂直的平面γ;
既然平行了,只要垂直一个,一定垂直另一个啊。

使用道具 举报

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

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

GMT+8, 2024-11-22 16:16

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部