魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
查看: 381209|回复: 28
打印 上一主题 下一主题

盲拧可运算的编码法理论 [复制链接]

Rank: 4

积分
1002
帖子
696
精华
0
UID
1286813
性别
保密
跳转到指定楼层
1#
发表于 2011-2-7 05:25:40 |只看该作者 |正序浏览


抛砖引玉,希望能够让其他玩家们加以完善与补充.
对本帖理论有任何批评与想法欢迎指正.我将会整理各位的想法妥为编辑,因本人中文表达能力有限,
有措词不当之处请多见谅.

可计算的编码法,可以利用现有的计算机演算法加以改良将所需记忆编码压缩,降低记忆量,如果能设计出
让人脑快速运算,利用运算与记忆量可调配的机制,将可能诞生出更适合¨多个¨盲拧的方法.欢迎各位加入
讨论.

首先说四步法是必须分别处理

1.角方向2.楞方向3.角位置4.楞位置

以下只述及楞方向.

楞块共12块,如果用原先记忆错误方向楞块,运气最好的情况是没有楞块方向错误,记忆码数为0,
最差情况是12块方向全错,多数情况则是6-8个楞块方向错误,于是你必须记忆通常是6码到8码.

我将他改进成只需要记忆最多3码.

3阶有3层,每一层用1码就可以知道那层的楞方向错误状况.

首先我赋予每一层每个位置有不同的权值,如下图:
1.png

其中,绿色是顶层的平面图,蓝色代表中层剖面图,红色代表底层.
(中层比较特别,请对一下你的方块比对一下楞块位置在角落.)

如果权值标示的该楞块方向正确,则为0,如果该楞块错误,值为该权值.

我举个例子,假设顶层我标示1,2,这两个位置错,那么我的第一码就是1+2=3.也就是3.
那么如果顶层全错呢?1+2+4+8=15,那么值就是15,也就是16进位的F.
我这里列出计算机16进位与我们传统10进位对照一下:

1到9,十进位与十六进位是一致的.之后如下:
10=a,11=b,12=c,13=d,14=e,15=f.

我的一层最多是全错,因此最高值为F,
盲拧时一想到F,马上就知道是四个楞块方向错,
如果E,那就是代表该层权值为2,4,8的楞块方向错.

那么暂时我们先假定真实情况就是顶层2,4,8权值的楞块方向错,2+4+8=14=E.那我们将2与4的楞块
方向转正,剩下8的楞块还没转正,那么我们的码数将是E-2-4=8,剩下就是8权值还没转正.
我必须让我的每一码为0,代表我的所有楞块方向正确.

我的码数共三码,第一码顶层,第二码中层,第三码底层.

举个例子,一个打乱的3x3x3魔方
我记忆楞块方向例如:
7,9,D
如果用传统四步法的记忆楞块方向错误编码可能是
1,2,3,5,8,9,b,c                (1,2,3第一层5,8第二层,9,b,c第三层)

因此我的权值编码法记忆码数明显减少.

拧的时候,就是设法将7,9,D按照权值的原则减到0,0,0.

我想我的方法对盲拧速度上没有提升效果,并且除非对计算机编程没经验者,
在拧的当中与记忆当中需要马上以16进位换算成10进位,可能会降低速度.
但16进位与10进位比对很快就可以习惯.并且纪录时是很简单的加法,拧时运算是很简单减法,

如果用四步法进行多个盲拧,减少记忆量的好处会更明显.

补充内容在#11楼#24楼

[ 本帖最后由 woodd 于 2011-2-11 11:42 编辑 ]
已有 3 人评分经验 收起 理由
zxy6350479 + 10 原创内容!必须加分 呵呵
Deadrat + 20
yeees + 5 不错的理论!

总评分: 经验 + 35   查看全部评分

Rank: 4

积分
1527
帖子
1407
精华
0
UID
1261587
性别
保密
29#
发表于 2011-2-12 15:01:39 |只看该作者
很好的方法    有空实践一下
已有 1 人评分经验 收起 理由
yeees -1 20楼就是你的回复,内容也是有空实践一下,水 ...

总评分: 经验 -1   查看全部评分

使用道具 举报

Rank: 4

积分
1046
帖子
947
精华
0
UID
1263127
性别

两年元老

28#
发表于 2011-2-12 14:37:18 |只看该作者
盲拧就是要研究怎样减少临时记忆量,永久记忆量和运算量多不怕。

使用道具 举报

铜魔

非著名魔方评论家

Rank: 8Rank: 8

积分
9548
帖子
8704
精华
0
UID
104435

爱心大使 六年元老

27#
发表于 2011-2-8 18:16:29 |只看该作者
背编码总是忘。
河南省魔方学院:42752277

使用道具 举报

Rank: 4

积分
1960
帖子
1075
精华
6
UID
17579
性别
保密

魔方理论探索者 论坛建设奖 六年元老

26#
发表于 2011-2-8 17:24:13 |只看该作者
据多盲的高手讲,用的就是这种十六进制编码记忆。
支持楼主开发减小记忆量的方法!
要是能压缩编码的总长度就好了。

[ 本帖最后由 aubell 于 2011-2-8 17:25 编辑 ]
Enjoy cubing
Enjoy coding.
我喜欢的公式 U D F2 B2 U' D'

使用道具 举报

Rank: 4

积分
1002
帖子
696
精华
0
UID
1286813
性别
保密
25#
发表于 2011-2-8 01:32:50 |只看该作者
原帖由 aubell 于 2011-2-8 00:31 发表
这个方法用到是“数字脑”,也许不如“图形脑”好使。要经过先编码,然后记忆,然后还解码,尽管解码速度可以很快。
LZ可以尝试一下,记一个三角形代表上边UB,UL,UR不正确,倒三角代表UF,UL,UR三个不正确,L型代表中 ...


我认为你的方法更简单明瞭,好使,同时实用.在此向各位也推荐你提的方法.
我提出的只是多一个方法,不一定会好用或是习惯,多一个思考的课题让大家知道,以运算来减少记忆量.
但想追求实用,追求速度,大幅度的提升效率,现阶段帮不上忙.

使用道具 举报

Rank: 4

积分
1002
帖子
696
精华
0
UID
1286813
性别
保密
24#
发表于 2011-2-8 01:08:29 |只看该作者
原帖由 乌木 于 2011-2-7 22:13 发表
其实我不懂编程什么的。既然棱块色向代码只是0和1,又正好是三个四位,楼主就用计算机知识提出简略的记忆法,那么,角块色向、位置和棱块位置的编码既不是单单0和1,编码的位数又不总是四的倍数,恐怕就不能用这种简 ...




这里最开始我要向乌木先生精神致敬.许多玩了几年的玩家都已经开始潜水,厌倦反覆回覆这些新手的问题.
也别怪这些老手,他们这几年重复的问题回答一千次都有可能.
我晚上打扰乌木先生,他对我这新手都这样认真与重视,不知道过几年后我能否能有他这样的热忱.

接着谈问题,的确如乌木先生所说,另辟蹊径。

经乌木老师的提点,我将成果描述一下:

首先¨权值¨方法思路源自以下三个地方:
16进位,0与1的概念,还有一个就是结合linux作业系统指令¨chmod¨档案权限,
chmod指令参数就如同本帖描述的¨权值¨意思一样,我想这个网站的admin应该了解这意思.

有点离题,就不多说计算机部份.

以下两个探讨,角方向,与位置移动部份

16,01这个刚好符合楞方向,权值法给予权值也刚好用一个16进位码就解决,这是一个巧合.
那么说说角方向,每个角方向有3个可能,每一层有3的四次方,共两层,不符合16进位.

因此我们必须额外的去设计能符合角方向情况的进位法.我们要去习惯新的进位法是有难度的.

虽不符合16进位法,但不影响权值的方法,

我们也可以附于不同的权值让他在加加减减当中让出现的数字能够让我们知道角的方向状态.
我没去精确计算与设计,暂时估算认为记忆前必须做双位数字的运算,拧时也必须做双位数运算不符合效率,
记忆码数哪怕将数字与26字母都算进去,单一码容不下一层的角情况,更何况我们有两层,因此可能要记忆4码.
码数,还要反反覆覆做我们不熟悉的进位方法双位数运算,效率上不高.如果我们要减少到只要记忆一码,
也不是做不到,方法是必须再增加除数字外与26字母外的其他符号进来,那么就可以做到1码的情况,但
进位法已是高阶进位法,我们要习惯的不只是新型进位法,还必须习惯这个进位法每个符号的排列顺序.

现行角方向记忆与处理在四步法中,只要心中记个形状错误的图形(或说形状)不需运算,方法比较简单有效率,
所以权值方法与开发新的进位法,对这部份没有价值.

接着说位置部份,多数已经能复原方块但未学过盲拧的人,第一次看别人盲拧可能以为盲拧的人是记住方块
混乱状态,然后闭上眼睛以传统公式去拧,同时做空间运算.但瓦西里都曾说过,当时他认为不可能达到的.
直到知道盲拧是用特殊公式以后才恍然大悟.

我想位置的处理方法如果用权值法就如同用空间运算一样,必须做相当复杂的运算.同时将又必须设计出更高阶
的进位法.那么何不干脆直接用空间运算.

记忆码数可以用更高阶的进位法去降低,但越高阶的进位法会让已经习惯10进位的我们更加难以适应,
我们必须去平衡记忆量与运算,就如同设计程序,你必须衡量内存与CPU的占用情况.根据实体的计算机性能
来弹性设计.避免出现过度使用记忆装置或是过度使用运算装置.

权值方法及新的进位法未必没有开发的空间,例如他可以随更高阶的进位法去减少记忆码数,用提供运算量的
方法去降低记忆量,因此我认为如果要挑战¨多个盲拧¨,这个方法还是有价值的.

也许有个疑问,我们能习惯高阶进位的运算吗?如同10进位一样快吗?我认为不会比较快,但可以接近.
关键是时间.如果你让一个没学过数学的小孩,先学16进位,而后学10进位,那么他的16进位会算得比
10进位更快.另我们有高阶进位法还必须有这么多的符号做顺序排列,这点我想也能够适应,举个例子,国内
小孩第一次学排列符号顺序是单个阿拉伯数字的排列,接着学26个字母排列,我们设计的进位法也是必须有
足够的符号去排列,并熟练到很快反应到他的顺序,如此才能够去做运算.

以上只是进位法不同,本质上也是传统我们对数学的的加减运算.

我们受传统教育的影响,已经失去许多人类天生的本能,在强化我们数值运算能力的同时,便降低我们
对空间的运算能力,如果不背公式或者用传统睁眼复原方块的方法去盲拧二阶,这是锻炼我们恢复空间运算能力
的方法.并且相信应该有许多玩家可以达到.

我们本身其实就具备交换空间运算天性,只是没有像传统数学系统的开发,我们从小教我们数值运算,但却没有锻炼
我们空间运算,于是我们对空间运算能力还停留在很原始阶段.魔方的发明者创造魔方,当初是为了方便探讨空间置
换的理论.

我时时怀疑我们现在的教育与科学到底是不是能够释放人类潜能的方法.
曾看过discovery频道播出一个黑猩猩与世界记忆排名第二的人比记忆,比的方法是画面同时出现许多数字,
接着马上消失,消失后必须按照数字顺序去点击萤幕,我们人类输了.

我认为原因是人类看到数字会联想到文字及其本身的意义,我们是以语言的方式去联想,以语言的方式去记忆与思考,
而黑猩猩他是以他的视觉去记忆与思考,他不可能受到高等教育,他没有太多的联想.他不擅长语言,
他多数时间都是用他的视觉去感触与思索这个世界.所以这场比赛,我们要反思我们是如何输的.

语言的思考与记忆方式是线性,视觉思考与记忆是平面,空间记忆与思维是立体的,
因此我们用不同的思维与记忆方法去玩这个魔方,去考虑我们大脑该怎么用.

彳亍法已经是一个相当成功的方法,
希望诸位前辈领引玩家们¨另辟蹊径¨,探寻更多的方法,许多方法都可能实现,许多
方法最初都只是一个概念,需要有玩家们像彳亍一样的毅力,让更多的方法在国内诞生.

敝不才(白魔),诸位关爷前耍刀,别见笑.

[ 本帖最后由 woodd 于 2011-2-8 14:34 编辑 ]

使用道具 举报

Rank: 4

积分
1960
帖子
1075
精华
6
UID
17579
性别
保密

魔方理论探索者 论坛建设奖 六年元老

23#
发表于 2011-2-8 00:31:35 |只看该作者
这个方法用到是“数字脑”,也许不如“图形脑”好使。要经过先编码,然后记忆,然后还解码,尽管解码速度可以很快。
LZ可以尝试一下,记一个三角形代表上边UB,UL,UR不正确,倒三角代表UF,UL,UR三个不正确,L型代表中层的棱三个不正确,也可以用手指掐几个不正确的... ...比较一下,图形解码的速度和pack,unpack哪一个更快。
仅供参考。
Enjoy cubing
Enjoy coding.
我喜欢的公式 U D F2 B2 U' D'

使用道具 举报

Rank: 8Rank: 8

积分
18050
帖子
16478
精华
9
UID
449
性别

魔方理论探索者 论坛建设奖 爱心大使 十年元老

22#
发表于 2011-2-7 22:13:48 |只看该作者
其实我不懂编程什么的。既然棱块色向代码只是0和1,又正好是三个四位,楼主就用计算机知识提出简略的记忆法,那么,角块色向、位置和棱块位置的编码既不是单单0和1,编码的位数又不总是四的倍数,恐怕就不能用这种简略记法了吧?要简略的话,恐怕要另辟蹊径。

使用道具 举报

Rank: 4

积分
1002
帖子
696
精华
0
UID
1286813
性别
保密
21#
发表于 2011-2-7 20:32:02 |只看该作者
原帖由 2rabbits 于 2011-2-7 13:11 发表
那么对于位置是否也能用类似的方法简化呢?


这个问题我也思考过,希望将问题留给乌木老师来回答会更给力.

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2024-11-24 09:11

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部