魔高一丈 发表于 2004-12-14 22:15:13

[原创]魔方的算子循环与计算(补充版)

<P><B>(以下是本人多年前发现的魔方的算子循环理论,现在凭回忆复述如有错漏请大家指教--湛江混世魔王)</B><FONT face="Times New Roman"> </FONT></P>
<P><FONT face="Times New Roman">      </FONT><FONT face="Times New Roman">任何算法都会循环,理由很简单,任何一个算法只能按规律移动变换某些方块,就算这些方块在涉及的层上按一定的规律地尽可能的交错组合,构成不同的图案,但是它的块、面、层是有限的,也就是说只要坚持按照一定的规律变换,就会造成循环现象。例如"双龙出海"(L'RUR'U'LURU'R'/未优化)、"独劈华山"(双的反招)的循环数为3、再任意例举一个RU的循环为105,大家可以自己验证一下。<br><B>1、算子循环的构成</B>:众所周知方块中分菱块和角块,不同的方块它的位置和轨道是不同的,菱块只能在菱位移动,角块只能角位移动,在任一位置上菱块分两种状态,角块分三种状态。算子循环数跟每步算子的效果中移动的菱块和角块的轨道有关、算子涉及的层数、层是否相交有关。类轨迹位与类状态组合形成类循环,各类(菱或角)循环组合形成算子循环。<br><B>2、算子循环的计算:</B>先计算出各类轨迹位数、状态数,然后根据排列组合原理可算出该算子的循环数来。状态数为类参考方块第几次回原位与原状态一致。类轨迹位数也就是某类方块顺着轨迹循环一次的步数。这个很容易点算。<B>算子循环公式:</B>菱块轨迹位数*菱块状态数(1-2)*角块轨迹位数*角块状态数(1-3)=算子循环数<br><B>3、条件:</B><br>    1、计算每类(菱或角)只需计算其中一个移位的方块的轨迹位数。选择点算类轨迹位数的参考方块,不能选择原路退回的特殊方块(如算子RUF和RU中的"上前右"角块)。<br>    2、每层的同类轨迹位数相加,注意:某类轨迹位在两层相叠,只能算1不能分别算入两层。当算子里相邻步的层若是平行(如:LR)则取较长的轨迹位数(另一层不是相等就是它的一半,不作计算),两类轨迹位数相等并只取其中一类的数,另类在这里作1。<br>    3、当某类菱块轨迹位数或状态数不存在那么它对应的该数为1而不能为0。<br><B>4、例子剖析:</B><br>    1)、算子RU,它的菱块轨迹位数为7,菱块状态数为1,角块轨迹位数为5,角块状态数为3,代入公式得7*5*3=105。</FONT><FONT face="Times New Roman"><B>菱类轨迹位数的点算:</B>笔者将”上前” 菱块作为菱类参考块,先后经过”上前”-”上左”-”上后”-”上右”-”后右”-”下右”-“前右”回到原位且状态跟原来一致,共7个点故菱类轨迹位数为7,状态数为1。<B>角类轨迹位数的点算:</B>角类方块中以”上前左”作为角类参考块,先后经过”上前左”-“上后左”-“上后右”-“下后右”-“下前右”回到原位且状态比原来的逆时针旋转了1/3,共5个点故角类轨迹位数为5,状态数为3(注意:大家可以任意选用其它位置发生变化的作参考块,但"上前右"的轨迹为原路退回的特殊方块,不能作为参考块)。<br>     2)、算子RUF,同理得出它的菱块轨迹位数为8,菱块状态数为2,角块轨迹位数为5,角块状态数为1,得8*2*5=80。<br><B>5、算子循环的特性:</B> <br>    1)、浓缩性:所谓的浓缩就是可以不断优化至最简。<br>    2)、方向性:分正向和逆向,如.:RUF与F’U’R’。<br>    3)、任意性:如果a、b、c、d构成循环,那么abcd=&gt;bcda=&gt;cdab=&gt;dabc。<br>    4)、折叠性:在循环里任意最远的两个点,分正逆两向对应的点成镜像。它的前提条件是最简!!!形象点讲该循环是最圆的,可以想象成圆圈。<br>    5)、逆等效性:如果A=a+b+c+d+e 即为一个循环,那么a+b+c+d=-e,c+d+e=-b-a。同样:"双龙出海"的循环数为3,"独劈华山"为"双"的反招,所以一招"双龙出海"=两招"独劈华山"、一招"独劈华山"=两招"双龙出海"。"双龙出海"+"独劈华山"=3N*"双龙出海"=3N*"独劈华山"<br></FONT>------------------------------<br>1.请系统引进相关理论</P>
<P>2.说明应用上的意义       pengw<br>------------------------------</P>
<P>几个农夫在评论一个蛋的味道,我想不需要追究它来自那一派名鸡和吃下去会得到什么营养吧?呵 在下发贴的目的只是想告诉大家怎么计算算子循环而已.</P>
<P>我也觉得有必要去完善它...本人最近很忙...完善工作就靠大家了 希望能作为魔界理论大道的一块基石..</P>
[此贴子已经被作者于2005-8-17 17:26:58编辑过]

魔高一丈 发表于 2004-12-14 22:32:42

<P>嘻嘻 忘记修改了 所谓的<FONT face="Times New Roman">"</FONT>双龙出海<FONT face="Times New Roman">"</FONT>、<FONT face="Times New Roman">"</FONT>独劈华山<FONT face="Times New Roman">"是本人常用算子的中文名称自命名的,方便记忆和讨论,其作用是移动顶层3个角块。而例子算子:RU、RUF则是在下胡乱作为示范的,意思是随便一个无特定效果的所谓算子都有循环.</FONT></P>

cube_master 发表于 2004-12-15 00:43:01

<P>呵呵 又有理论派的高手来了,欢迎你!</P>

大烟头 发表于 2004-12-15 15:41:36

<P>呵呵,先顶一下</P>
<P><FONT face="Times New Roman">"</FONT>双龙出海<FONT face="Times New Roman">"</FONT>(<FONT face="Times New Roman">L'RUR'U'LURU'R'</FONT>)、<FONT face="Times New Roman">"</FONT>独劈华山<FONT face="Times New Roman">"</FONT>(双的反招)。这招式名称起的好,我也爱对自己喜欢的公式起名字。</P>
<P>这是<FONT face="Times New Roman">"</FONT>双龙出海<FONT face="Times New Roman">"</FONT>(<FONT face="Times New Roman">L'RUR'U'LURU'R'</FONT>)循环数为<FONT face="Times New Roman">3的魔方java图示</FONT></P>
<P><FONT face="Times New Roman"></FONT></P>
<applet code="RubikPlayer.class" codebase=3 width="300" height="300"><param name="scrptLanguage" value="SupersetENG"><param name="scrpt" value="(L'RUR'U'LURU'R')3\n/循环数为3的双龙出海"></applet>
<P><FONT color=#ff0000>将帖子中的 Java 引用改到论坛,以免影响魔方吧的流量。 cube_master</FONT></P>
[此贴子已经被cube_master于2005-4-16 0:39:49编辑过]

魔高一丈 发表于 2004-12-15 17:27:33

<P>大烟头老兄 那里有你说的<FONT face="Times New Roman">魔方java图示啊?</FONT></P><P><FONT face="Times New Roman">另外,不知道大家对我所谓的循环理论有什么见解?对我的用词是否明白?</FONT></P>

郭天聪 发表于 2004-12-15 22:33:04

哦,厉害厉害,原来我不认识楼主的,搞错,不好意思,呵。

cube_master 发表于 2004-12-15 23:28:54

<DIV class=quote><B>以下是引用<I>魔高一丈</I>在2004-12-15 17:27:33的发言:</B>
<P>大烟头老兄 那里有你说的<FONT face="Times New Roman">魔方java图示啊?</FONT></P>
<P><FONT face="Times New Roman">另外,不知道大家对我所谓的循环理论有什么见解?对我的用词是否明白?</FONT></P></DIV>

看不到 Java 显示的朋友请参阅下面网址:
<a href="http://bbs.mf8-china.com/dispbbs.asp?boardID=2&amp;ID=440&amp;page=1" target="_blank" >http://bbs.mf8-china.com/dispbbs.asp?boardID=2&amp;ID=440&amp;page=1</A>
[此贴子已经被作者于2005-4-16 0:34:15编辑过]

还猪哥哥 发表于 2004-12-16 10:36:43

<P>其实“双龙出海”还有更短的公式</P><P>L' R U R' U' L U R U' R' 可以优化为 L' B' R' B L B' R B</P>

魔高一丈 发表于 2004-12-16 12:49:36

<P>谢谢还猪哥哥.请问那里能找到群理论呢 我想读....</P>

cube_master 发表于 2004-12-16 13:10:13

[原创]魔方的算子循环与计算(补充版)

<P>其他纯换角的公式:</P>
<P>这个也可以说是“双龙出海”</P>
<applet code="RubikPlayer.class" codebase=3 width="300" height="300"><param name="scrptLanguage" value="SupersetENG"><param name="scrpt" value="R U' L' U R' U' L U"><param name="initScrpt" value="U'L'URU'LUR'"></applet>
[此贴子已经被作者于2005-4-16 0:42:47编辑过]
页: [1] 2 3 4 5 6 7
查看完整版本: [原创]魔方的算子循环与计算(补充版)