魔方吧·中文魔方俱乐部

标题: 最少步还原技巧——角块三循环的构造 [打印本页]

作者: noski    时间: 2009-8-24 23:02:17     标题: 最少步还原技巧——角块三循环的构造


    首先说明,魔界前辈大烟头在05年就发表过这些理论,详情请点击进入贴子基本公式产生的原理》,不过该贴中几个Jave和链接失效了,还望大烟头看到能修复一下,方便大家学习。

    在最少步还原中,有两个重要的概念,一个是Commutator,一个是Conjugate。简而言之,Commutator是指形如XYX-1Y-1的公式,Conjugate是指形如XYX-1的公式。下面以角块的三循环为例来说明这两个概念。


1. Commutator


    如何理解形如XYX-1Y-1的公式呢?在这里,X和Y代表魔方的操作序列,X-1和Y-1是X和Y的逆操作序列。X会改变魔方中的某些块,Y会改变魔方中的另一些块。如《基本公式产生的原理》中所述,一个公式能够改变的块可以称为这个公式的“群”。

    那么,注意一个有趣的现象是,XYX-1Y-1这样的公式只会对X和Y的群中相交叠的部分产生影响。如果X和Y的群没有交叠的部分,那么显然经过XYX-1Y-1之后,一切又回复原样;如果X和Y的群交叠的部分太多,那么XYX-1Y-1又会影响到太多的块而使情况变得无法控制。因此,我们常常会寻找使两个群交叠的块数量为1的X和Y。在《基本公式产生的原理》中,称这个唯一的交叠的块为“空穴”,也有人称其为“转换子”。

    那么,不难发现,令X=RU'R',它仅会改变D层中的一个角块;此时,再令Y=D,就使得X和Y的群只有一个相交叠的块了。这时的X和Y就构成了一个Commutator,写出XYX-1Y-1的公式为:(RU'R')(D)(RUR')(D'),这便是三阶魔方中最短的角块三循环了,它需要8步。下面是这个示例的Java图,从中可以看出这个三循环的工作原理。

[java3=300,300]
  [param=scrptLanguage]SupersetENG[/param]
  [param=scrpt](RU'R')(D)(RUR')(D')[/param]
[/java3]

    通过类似这样选择恰当的X和Y,就可以自己组出大量三循环公式,在最少步还原中相当的实用。另外,这些公式往往会插入到前面已还原的步骤中,并可以消去头尾,以达到更为优化的目的。


2. Conjugate



    有些情况下,由于色向、位置等原因,并不能使用一个如上8步的Commutator公式来解决一个角块的三循环,这时,便用到了Conjugate。Conjugate表示形如XYX-1的公式,这里的X与X-1,其实与盲拧中的setup move是同一个原理。

    例如,令X=U2,令Y=(RU'R)(D)(RUR')(D'),那么,这两个公式的组合效果如下:

[java3=300,300]
  [param=scrptLanguage]SupersetENG[/param]
  [param=scrpt]U2(RU'R')(D)(RUR')(D')U2[/param]
[/java3]

    通过使用这两个技巧,可以解决三阶魔方的所有角块三循环,很明显,它比先把循环的三个角块移到同一层再使用PLL公式的步数要少。另外,不只是角块,棱块的三循环、色向扭转公式等都可以使用上述的技巧来解决,高阶魔方和异形魔方也一样可以使用以上的技巧来寻找破解之法。因此,本贴仅是抛砖引玉,希望大家多多讨论,挖掘这个技巧的奇妙之处,把它们用在最少步还原之中。




注:
这两个英文单词不太好翻译,这里稍作解释:

Commutate,英文意思为使方向转换、整流的意思,用在这里表示将两个公式的方向倒过来,从而达到恢复的效果,不会影响过多的块。在公式产生原理一贴中,这个方法被称为“空穴法”。

Conjugate,英文意思为结合、配合,用在这里表示用一个公式来配合另一个公式的使用。在公式产生原理一贴中,这个方法被称为“共轭法”。



[ 本帖最后由 noski 于 2009-8-26 09:29 编辑 ]
作者: ajlssdpskb    时间: 2009-8-24 23:06:25

学习。。。。。。。。。。。。。。。。
作者: 汪小光    时间: 2009-8-24 23:16:10

技术贴技术贴,先顶后学习。。。
作者: 123wyx    时间: 2009-8-26 16:32:00

很实用
学习了
作者: Cielo    时间: 2009-8-29 15:35:46

以前狼和奇遇给我讲过一个技巧:
如果遇到顶层三角换(允许色向不正确),可以将三角换的这个步骤插入还原过程中的任意位置,
最好能与插入的位置前后的某些步骤抵消或者合并,就可以减少步数。
三棱换也类似。
作者: 热火随寒    时间: 2009-8-29 15:42:43

比较难理解。
作者: noski    时间: 2009-8-29 16:26:24     标题: 回复 5# 的帖子

同意,在AvGalen最少步方法与技巧的贴子中也有讲过,Insertion和Cancellation的技巧。我发这个贴子的目的也是为了能在最少步还原时,在中间插入三循环公式。
不过我对构造三循环公式还不太熟,比如在最少步比赛测试贴中我就插入了一个9步的PLL三循环公式,如果改成8步的公式再适当消去,步数应该能缩减到34步以内。
Cielo有空就来多多讲讲经验吧
作者: ggglgq    时间: 2009-8-31 11:13:26

  
  
  
    记得在 2005 年底,魔方吧论坛历经“硝烟弥漫的年代”,从那时起,本人不愿
  
参与 理论区 的争论,除非别人直接询问本人问题。清楚地记得我曾与 烟头 探讨过
  
正六面体 N 阶魔方 的相关问题:
  
   
     N 阶三置换公式最远状态最少步的研究
  
     http://bbs.mf8-china.com/viewthread.php?tid=1708
  
   
    衷心希望魔方吧论坛不要再进行“无实际意义的争吵(甚至是 攻击、谩骂)”,
  
成为有良好学术氛围的论坛!
  
  
    本主题的讨论好像还是《 N 阶三置换公式最远状态最少步的研究》的问题。
  
因此感兴趣的魔友可以参与 http://bbs.mf8-china.com/viewthread.php?tid=1708
  
的讨论!
   
  
  
    
  
作者: ggglgq    时间: 2009-8-31 11:18:08

  
  
  
  
    我在这里想从“循环”的角度分析 Commutator(空穴法)、Conjugate(共轭法)。
  
Conjugate(共轭法)的“循环”分析 就不必说了,置顶帖《循环公式》中已经详细
  
阐明了!
  
  
    对于 Commutator(空穴法),我们从其公式的形式 XYX'Y' 看出,“循环公式”
  
( XYX'Y' 、 YX'Y'X 、 X'Y'XY 、 Y'XYX' ) 全部都满足 Commutator(空穴法)!
  
即: 如果 公式 XYX'Y' 满足某种性质(如 三循环 等),那么 其“循环公式”
  
                 XYX'Y' 、 YX'Y'X 、 X'Y'XY 、 Y'XYX'
  
也满足满足这种性质(如 三循环 等)。 例如:
  
    正八面体十四轴三阶魔方 三循环 最少步 演示 :
  
  
  
  
  
     请大家下载: 正八面体十四轴三阶魔方三循环最少步演示.rar (88.04 KB, 下载次数: 56)
  
  
    当然,这是最简单最直接的 Commutator(空穴法)公式分析,复杂的公式也是
  
一个道理!
  
  
  
    

附件: 正八面体十四轴三阶魔方三循环最少步演示.rar (2009-8-31 11:18:08, 88.04 KB) / 下载次数 56
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=NjY3MTd8OGM5N2YxMTd8MTczMjIxOTE5MnwwfDA%3D
作者: noski    时间: 2009-8-31 12:36:47     标题: 回复 8# 的帖子

由此可见三置换的讨论经久不衰啊,从理论,到盲拧,到最少步。。
不过在那个贴子里,三置换的最远态的最少步似乎还没个定论呢。

还有一个问题,只是针对最少步比赛来问的:
3阶魔方中,任意拿来三个需要三置换的角块或棱块,用什么法则来判断它们是否可以用8步的公式来完成?
如何快速的构造多个不同的8步公式来完成这个三置换?
作者: ggglgq    时间: 2009-8-31 13:16:23

原帖由 noski 于 2009-8-31 12:36 发表
    
还有一个问题,只是针对最少步比赛来问的:
3阶魔方中,任意拿来三个需要三置换的角块或棱块,用什么法则来判断它们是否可以用8步的公式来完成?
如何快速的构造多个不同的8步公式来完成这个三置换?
    

  
  
  
    我想,在 计算机 被广泛运用的今天,这个问题已经不是难题了!
  
    不知道 http://www.ryanheise.com/cube/commutators.html 等网站有没有现成
  
的结论呢? 即便没有,大家编个程序遍历一下,最后总结规律,应该不是难事
  
呀,呵呵!    计算机 真是个好东东!
  
  
  
  
  
  
  
作者: noski    时间: 2009-8-31 15:56:47     标题: 回复 11# 的帖子

嗯,有空把完整的Heith Method给翻译过来,很好的方法。。
05年大家就已研究过这个网站上边讲的东西了,现在还在不断更新。
作者: ggglgq    时间: 2009-9-1 19:13:48

  
  
    那就辛苦 noski 先生了。    本人的 English 水平实在太烂,看多了脑袋都大了!
  
  
  
  
作者: ggglgq    时间: 2009-9-3 13:31:43

  
  
   
    我想,需要强调一下,Commutator(空穴法)、Conjugate(共轭法)只能说
  
是构造“公式”的好方法,但并非构造“最少步”的好方法,比如这个“三循环”
  
实例:
  
    设:X = L' F L F' L' F L F'  , Y = U ,(注:X 、Y 都是最少步变换)
  
    但是 XYX'Y' = ( L' F L F' L' F L F' ) U ( F L' F' L F L' F' L ) U'
  
却不是“最少步公式”!
  
[java3=300,300]
  [param=scrptLanguage]SupersetENG[/param]
  [param=scrpt]( L' F L F' L' F L F' ) U ( F L' F' L F L' F' L ) U' [/param]
  [param=initScrpt]( L' F L F' L' F L F' ) U ( F L' F' L F L' F' L ) U' [/param]
[/java3]
  
  
  
  
  
  对比上面的实例,下面给出:
  
  其最少步的一个公式(旋转 180 度按一步计算):
  
  F2 R U' R2 D R2 U R D' R2 U F2 U'
  
[java3=300,300]
  [param=scrptLanguage]SupersetENG[/param]
  [param=scrpt]F2 R U' R2 D R2 U R D' R2 U F2 U' [/param]
  [param=initScrpt]F2 R U' R2 D R2 U R D' R2 U F2 U' [/param]
[/java3]
   
  
   
  其最少步的一个公式(旋转 180 度按两步计算):
  
  R' D R F D F' U' F D' F' R' D' R U
  
[java3=300,300]
  [param=scrptLanguage]SupersetENG[/param]
  [param=scrpt]R' D R F D F' U' F D' F' R' D' R U [/param]
  [param=initScrpt]R' D R F D F' U' F D' F' R' D' R U [/param]
[/java3]  
  
         
  
    
  
作者: noski    时间: 2009-9-3 17:39:37

这个X选的有点麻烦吧,看基本公式产生原理一贴中的两角色向扭转公式:
X = R' D R F D F'
Y = U
那么XYX'Y' 需要14步就可以翻转两个角块的色向,已经很短了。
不过,上面那个180度算一步,可以13步完成的公式,就想不出来了。。
作者: kschiew    时间: 2012-12-14 23:59:01

先顶再看,LZ加油!!
作者: geniusufo    时间: 2012-12-23 17:47:46

学习!!!!!!!!!!
作者: Vicki    时间: 2013-2-4 22:23:53

要慢慢理解才行~




欢迎光临 魔方吧·中文魔方俱乐部 (http://bbs.mf8-china.com/) Powered by Discuz! X2