earthengine 发表于 2008-11-23 08:57:27

奇偶校验的“一转”解决法

彳亍法 需要奇偶校验,且校验公式要记忆。我今天忽然想到一个简单方法:

如果在编码角块(一般应该先编这个,因为简单)时发现需要校验,就对顶面角块和棱块编码进行如下映射:
角块
A->J->G->D->A
B->K->H->E->B
C->L->I->F->C
棱块
A->G->E->C->A
B->H->F->D->B
原理就是把顶层一转后的位置当作原始位置复原。到这程度后加上顶层一转即可复原整个魔方。

这会稍微增加一点编码难度,但还原时可以不再担心奇偶的问题了。

gozichen 发表于 2008-11-23 09:10:59

角块是复原了,可棱块的编码全乱了;P
而且涉及到四个棱块,这样耗的时间比做奇偶还长。
一般奇偶处理只要把棱块做到固定的位置,要处理的情况就不多了。
另外先复原棱块的话可以在复原棱块之后做奇偶,这但方法影响了一对角块,在编码时要变一变。

魔女小佳佳 发表于 2008-11-23 09:31:29

怎么看不懂呢~~~~~~~~~~~~

earthengine 发表于 2008-11-23 10:51:22

原帖由 gozichen 于 2008-11-23 09:10 发表 http://bbs.mf8-china.com/images/common/back.gif
角块是复原了,可棱块的编码全乱了;P
而且涉及到四个棱块,这样耗的时间比做奇偶还长。
一般奇偶处理只要把棱块做到固定的位置,要处理的情况就不多了。
另外先复原棱块的话可以在复原棱块之后做奇偶,这但方法影 ...
你没看懂吧。我的意思是在开始复原之前,编码的时候进行处理,把棱块和角块的“复原设置“为顶层一转后的位置。这样,按照正常方法复原,最后顶层一转就OK。

gozichen 发表于 2008-11-23 18:44:26

原帖由 earthengine 于 2008-11-23 10:51 发表 http://bbs.mf8-china.com/images/common/back.gif

你没看懂吧。我的意思是在开始复原之前,编码的时候进行处理,把棱块和角块的“复原设置“为顶层一转后的位置。这样,按照正常方法复原,最后顶层一转就OK。

不是我没看懂你的意思,是你没看懂我的意思,LZ的想法没错,理论上完全可行,但试试编码过程就知道有多复杂。
这个方法我们早想过了,另外我们想的是更通用的方法,具体说来就是彳亍的处理方法。
目前彳亍所用的奇偶处理就是在编码时交换两个角块的编码,复原时做完棱块后用最简单的T字PLL处理奇偶,然后复原角块。这个两个角块编码交换对编码过程已经是很难练的了,更何况是影响了四个棱块和四个角块。做个PLL奇偶的时间也不会超过5s,LZ这种影响了4棱4角的编码,中间过程的停顿已经超过5s了。
如果四个棱块里有互换的情况或都已经归位的情况,那想起来都头痛XD

PS:另外,奇偶处理也没什么好担心的,我在回复中所说的棱块做成固定位置的处理基本上目前最为标准效率也比较高的做法。

[ 本帖最后由 gozichen 于 2008-11-23 18:50 编辑 ]

wxl5188 发表于 2008-11-23 19:34:01

顶楼的方法不合适,奇偶转换很容易的,不用费那么大劲,如果有奇偶转换,那么棱和角各少做一个公式,奇偶转换只需要2个公式,所以完全抵消,根本不用担心费时间。

xdgtzsyyj 发表于 2008-11-24 21:50:00

个人感觉还不错,比如一开始先转一个U可以解决奇偶校验,那我们就只需要把转了U过后的魔方进行编码,当最后按编码把魔方还原后,在一个U'来全部还原。不过实践是检验真理的唯一标准,先试试再说。

gozichen 发表于 2008-11-26 18:03:10

原帖由 xdgtzsyyj 于 2008-11-24 21:50 发表 http://bbs.mf8-china.com/images/common/back.gif
个人感觉还不错,比如一开始先转一个U可以解决奇偶校验,那我们就只需要把转了U过后的魔方进行编码,当最后按编码把魔方还原后,在一个U'来全部还原。不过实践是检验真理的唯一标准,先试试再说。


这样做编码过程是很花时间的,而且更容易出错,有兴趣就试试吧:P

kexin_xiao 发表于 2008-11-27 20:49:54

来学习一下,白河是理论的专家:handshake :victory:

imlei2008 发表于 2010-3-17 21:25:17

这对新手应该比较合适
页: [1] 2
查看完整版本: 奇偶校验的“一转”解决法