- 最后登录
- 2023-8-16
- 在线时间
- 3007 小时
- 阅读权限
- 100
- 注册时间
- 2007-12-3
- 积分
- 3923
- 帖子
- 2556
- 精华
- 6
- UID
- 15558
- 性别
- 保密
- WCA ID
- 2008CHEN27
- 兴趣爱好
- 理论
- 积分
- 3923
- 帖子
- 2556
- 精华
- 6
- UID
- 15558
- 性别
- 保密
- WCA ID
- 2008CHEN27
- 兴趣爱好
- 理论
|
先声明这个东西不是我原创,CE的算法里就有。主要是因为先前和GGGLGQ讨论他那个48同态的算法效率的时候发现其实大部分人对计算机解魔方的一些认识还只是片面的。这里只是稍微引出一个关于状态快速转换的想法。
先说魔方的表示层次:
1、色片层:即记录魔方的每个位置块的颜色。总共54个数字。
2、色块层:类似盲拧的记录方法,即记录每一个块(角块或棱块)的方向与位置。总共40个数字
3、编码层:这个比较难解释,我举个例子吧:比如说三阶的角块方向,每个角块一共有3个方向,考虑角块方向的特殊性只需要记录7个角块。每个角块有3个方向,那么在计算机中每个角块方向的表示就是7个数字,每个数字都在0~2,那我们不妨将它们看作3进制,最后可以算到一个介于0~2186数,与角块方向一一对应。这个用很大的数字表示魔方的方法就是编码层。每个魔方只需要4~5个数字表示。
为什么要讨论魔方由多少数字表示呢?因为魔方转换其实就是对数字的循环赋值过程。比如对于色片层,每次转动都会涉及20个数字,而色块层呢?大约也有16个数字。但是对于编码层,每次只有5个数字在变化,效率自然不用我解释了。层次低这正是为什么我说G大师效率低的原因。
[ 本帖最后由 铯_猪哥恐鸣 于 2010-4-13 17:22 编辑 ] |
|