LAMBO 发表于 2012-2-13 20:09:42

把四阶当做二阶还原可行么

我的意思是说
把每四个处于边缘的块(即把四阶当做二阶时的角块)分别拼出来
成为一个大的二阶
再复原二阶
方法可行不可行
求大神级人物解答

S轨迹K 发表于 2012-2-13 20:12:32

可以,记得以前乌木老师发过四阶降二阶的实例

铯_猪哥恐鸣 发表于 2012-2-13 20:13:11

@乌木 曾经尝试过。。http://bbs.mf8-china.com/viewthread.php?tid=72357

战斗机 发表于 2012-2-13 21:19:43

可以是可以,时间等各方面不是很可观啊。

feifucong 发表于 2012-2-13 21:41:08

理论上可以,但实际操作难度相当大

BLZBOBO 发表于 2012-2-13 22:25:19

我先在连二阶都不会。。。。

乌木 发表于 2012-2-13 22:26:50

在通常的四阶魔方上,先弄成一个打乱着的“大二阶”,再复原这大二阶,只是一种“无事忙”,玩玩而已。
但是,对于四阶的变形物,比如四阶八面体魔方,恐怕反而是先弄成一个打乱着的“大二阶”来得更简捷(各块只要调动到同色的小三角形面心块即可),而且也到此就算完成了,无需再按照二阶复原下去的了,八面分别同色即可(也即复原态不是唯一的)。
如果仍按照通常的四阶方法复原四阶八面体,不是不可以,但实在是折磨自己了!
好像还没有合适的四阶八面体java助手,下面且用胡波四阶代替四阶八面体(颜色多),演示一下先做成大二阶的一个块——黄色大块(即四阶八面体的一个面同色了):

4
4
4
10
U;R;F;D;B;L;2R;2D;2B;2L;2U;U';F';D';B';L';2R';2U2;
2R';2L2;2U';2D';U';F';U;B2;2F;D;2R;D';R2;D;2R';D';R2;2F';D';2U;L;2F;L';F2;L;2F';L';F2;2U';
f3a0e2
99d658
aa55aa5533113311
3311331166226622
aa33aa33bb66bb66
55aa55aa44bb44bb
1155115522442244
66226622bb44bb44


相当于四阶八面体的一个黄面复原了:


[ 本帖最后由 乌木 于 2012-2-14 21:13 编辑 ]

pengw 发表于 2012-2-15 20:08:59

二阶只是单簇魔方,三阶是最低的多簇魔方,高于三阶的魔方,角块簇不变,棱块簇只是三阶棱簇的自然扩展,心块簇只是三阶中心块的自然扩展,四阶的心块簇性质与二阶的性质完全不同,就连状态数都不相同,很多人将二者混为一谈。


三阶以上,角簇保持不变,但所有棱簇匀为三阶棱的派生簇,所有心块簇都是三阶心的派生簇,意识到这一点,对理解N阶正方体色子阵魔方变换是极其重要的。


若想将将四阶当着二阶玩,那么任意一个转层都应该是表层加一内层构成的二层转层,若以一个复原的四阶为始态,以这样的约定转四阶,那么任意一个角及其相邻的“三心三棱”的相对位置与四阶复原态相同。


对N阶而言,通用的方法就是:

1。将所有簇转换为偶态簇
2。用奇元变换(如三元轮换)一个簇一个簇独立地进行簇复原,至到复原所有簇

这种方法极其适合电脑处理

[ 本帖最后由 pengw 于 2012-2-16 11:37 编辑 ]

铯_猪哥恐鸣 发表于 2012-2-20 12:53:14

原帖由 pengw 于 2012-2-15 20:08 发表 http://bbs.mf8-china.com/images/common/back.gif
对N阶而言,通用的方法就是:

1。将所有簇转换为偶态簇
2。用奇元变换(如三元轮换)一个簇一个簇独立地进行簇复原,至到复原所有簇

这种方法极其适合电脑处理

这点完全同意,对于高阶魔方的计算机求解基本就是类似的处理思路,暂时没有更好的想法。不过某些软件的算法是无视1,碰到parity再特别处理。
尽管这一算法带来的问题是它的步数随着阶数增长成O(n^2),与理论最优的O(n^2 / log n)不符,不过后者也许只有理论意义。
ps。前几天看到一篇论文已经证明N阶魔方的求最优解问题是NP完全的。。。

pengw 发表于 2012-2-20 14:11:49

我提出的那种方法:即先消扰动再用簇内变换遂一复原所有簇的方法,具有以下特点:
1.消扰动所需的步数几乎可以忽略不计,像三阶,任意表层90转度就消掉三个簇的扰动(即变为偶态簇)
2.用簇内变换复原每个偶态簇的难度与魔方阶数无关

因此可以近似地认为,复原魔方的步数是簇数c与某个平均单位x(即所有类型的偶态簇的平均复原步数)的积,即cn

我们知道,n阶簇数 c=int(n/2)2-int(n/2)+1+(int(n/2)+1)*mod(n/2)

因此,n阶数的复原步数应以c=x*(int(n/2)2-int(n/2)+1+(int(n/2)+1)*mod(n/2))为考量

即N阶复原步数是簇数的倍数。

从每类簇的簇数随阶数增加的情况来看,复原步数最终将由Exy簇决定

注:n>=2

[ 本帖最后由 pengw 于 2012-2-20 14:23 编辑 ]
页: [1] 2
查看完整版本: 把四阶当做二阶还原可行么