一个公式在其它魔方上的运用(待完善)
作者:邱志红 前些时候,因为帖子过于理论化,范围又局限于立方体魔方和长方体魔方,多少让人乏味和望而生畏。其实说到底,“一式法”在立方体魔方和长方体魔方的体现是最显著且最完美的。留在最后讲。现在我就对“一式法”作一个较完整的概述和分析,并以通俗的方式展现给各位。还将介绍“一式法”在Sphere,shaped cube ,Pyraultimate ,Square one ,Puck ,TetOcta ,Xcube ,SuperX(魔方的名字来自Puzzle2.05,可能不大准确)等等魔方里面的运用。另外在大家读之前最好看看《一式解万方》里面的“相似及相似变换”一节,一定要充分理解相似及相似变换。
第一章:“一式法”的概述
现在讲的一式法是面向广义的魔方而言的,所以我就先简单地讲讲广义魔方的构造法及变换原理。
1.1魔方的构造法
魔方的构造法有一本书上提到,我的理解是:魔方的构造法的实质就是用平面切割形状极对称的几何体。切割的方式也是极对称的。N阶魔方的构造方法其实就是从三个方向切割N-1次,平均地切成N份。关于立方体的切法很多,如下图:
下面还有几种广义的魔方:
不管怎么切,它都是用平面去切的,这才是我关心的。
1.2魔方的变换原理
由于切割的对称性。一个魔方就有很多形状一样的小块。通过旋转,这些小块位置就发生变化,互相替代,一般还是保持魔方的整体形态不变(Square one等例外)。这些小块位置的更替就导致魔方表面颜色的变化,这些小块都是一簇一簇的。玩魔方的一个重要问题是复原:即通过旋转使小块位置更替,最终使魔方表面颜色复原。它的本质是:小块的位置与色向的复原。
对于三阶魔方由于构成简单,就有很多的复原方法,而高阶的或形状奇特的魔方,只有通过每一簇小块的约束循环来完成。所谓约束循环就是某一簇中某几个小块进行位置与色向的变换(参与变换的小块越少越好)。不影响其他簇的小块也尽量减少对所在簇的其他块的影响。该变换一般是三交换,这也是我找寻的。
所以魔方的复原更一般的方法是分簇复原,即一簇一簇地复原。要领是先找到一个簇内的约束循环,运用它进行簇内小块位置交换和色向的扭转。但往往直接找到的约束所进行的小块交换的位置与实际要求的位置不大符合,这就要通过相似变换把要变化的几个小块先通过一定的步骤转到该约束循环所影响的那几个位置,执行约束循环,把要变化的几个小块的位置一换,最后又通过“一定的步骤”的逆步骤还原。就这样一块一块地将一个簇内的小块复原,剩下最后的几块的时候就再做一次约束循环(可能要进行相似变换)就解决了,然后再去复原其他簇。最麻烦的就是:扰动问题是广泛存在的。如果一开始就能消除扰动剩下的就都是簇内变换了就容易多了,往往刚开始是很难判断的,但扰动可以在复原的过程中消除,不必担忧。这就是一般魔方复原的原理。
最后,注意:全篇的重点是如何找寻每一簇的约束循环。至于实际复原中具体的细碎的技巧问题等等细微末节的东西这里就不多罗嗦了。那要靠自己动手去实践,随机应变了。
1.3魔方的解析
上面提到了魔方的构造法,可以发现任何魔方都可以由不相交(可以相交为一个点)的一些平面分割为若干不相交部分,称为“层”,切割的平面不要求平行,自然允许延长到魔方外部相交。至少可以把魔方分成两“层”,这一点是可以肯定,要不就无法玩,那种切割方式就无意义了。还有一点也不可或缺,就是至少还存在一个“层”与上面不相交的若干 “层”中的至少两个“层”相交,要不就不能进行层与层之间的小块交换,那样的切割方式也是无意义的。举个例子,如下左图,我是用一个球来替代一般的魔方来说明的,红色的就是那几个不相交的平面。把魔方分成不相交的4份,绿线以下的就是存在的某一个层与前面的不相交的层相交,而且至少是两个。再次声明,这只是一个帮助大家理解的图而已,很特殊,具体情况还是要具体分析.
这里的层是与小块相区别的,小块是由切割面相交切割得到的。由切割面相交切割得到的几个块的组合也不能称为层。看上面的右图,1-5,2-6,3-7,4-8及1-2-3-4和5-6-7-8等组合才是层。而单独的1,2,3等等都不算是层,而且1-2组合也不算是层,它是两条线相交分成的四份中的一份,存在相交,不满足要求。
有了以上的两点作保证,我的方法就可以完全应用到任何魔方里面。但丑话说在前面,该方法也不是百分之百能找到很好用的约束循环。
1.4广义的“H转法”
上一节已经明确了魔方可以被不相交的平面分割成若干不相交的层(至少两层),另外至少还存在一个层与其中的若干层相交(至少两层)。这就足够了,从上面不相交的若干层里挑出两层加上一个与之相交的一个层,一共三个层。这三个层就是“H转法”里面转动的三个层,它们在空间的排布就像字母“H”的那三个笔画。有两画不相交,还有一画与这两画相交。
在实际中,它们的排布不会像字母“H”那么工整,方位也不一定对。如下图:
但都可以抽象为最后的一个:字母“H”。因为那三个层的特征与字母“H”几乎一模一样。
既然已经将那三个层的空间结构抽象成为字母“H”,那就以字母“H”的那三画代替那三个层。下面的讲述就方便多了。
现在就来看看这三个层是如何转动的。如下左图:
圆圈里面的数字代表三个层转动的顺序,箭头代表转动的方向,与以前的方向有些出入,原因是为了总能够进行元素交换。转动操作⑴⑸互逆,⑶⑺互逆,⑵⑹相同,⑷⑻也相同,且⑵⑹与⑷⑻互逆。转动的角度由具体的情况而定。每个层都是有最小转动量的,每个层都可以转动它的倍数(但一次转动一个周期就没有意义了)。但正转超过180度的时候,可能有人认为这时候把这个转动当作逆转来看会好些。但为了统一性,我一概都用正转,逆转的问题都转化为正转处理。看看上面右边的图,虽然操作⑴⑸换方向了,⑵⑹与⑷⑻等也换方向了。但实质上和上面的左图所反映的东西是一样的。以后就把上面的左图当作标准了,其他的都可以通过转动操作的正逆变换来转化成它。
它八下的分解图如下:
上面提到三个层的选取,这里补充一下,“H转法”里面的三个层都分别可以选为组合层(几个层当一个整体)。在一般的魔方里面,这种选取往往占多数,往往还被迫的。
[此贴子已经被作者于2005-11-23 10:08:52编辑过]
|