- 最后登录
- 2023-8-16
- 在线时间
- 3007 小时
- 阅读权限
- 100
- 注册时间
- 2007-12-3
- 积分
- 3923
- 帖子
- 2556
- 精华
- 6
- UID
- 15558
- 性别
- 保密
- WCA ID
- 2008CHEN27
- 兴趣爱好
- 理论
- 积分
- 3923
- 帖子
- 2556
- 精华
- 6
- UID
- 15558
- 性别
- 保密
- WCA ID
- 2008CHEN27
- 兴趣爱好
- 理论
|
回楼主,move table是转动表,prun table是剪枝表。我先说下前者的用处。
对于魔方在计算机中的储存,楼主可以看到,在声明类的时候已经有两种方式,但如果楼主细心看会发现,在搜索的过程中为了提高效率,程序必然会舍弃用类来表达魔方,楼主应该可以看到一个递归的搜索程序,他关于魔方信息的参数只有3个。其中每个参数分别表示了魔方的部分信息,比如色向等。然后很显然在搜索的时候不能再把这些信息转换为魔方开执行转动,那怎么办呢?就使用打表的方法,把每个状态经过每种转动后的相应状态储存在内存中直接查找即可。而这表,就是move table,也就是mtb文件。这个想法在我二阶的论文中也有提到。
而关于prun table,它就涉及到了IDA*的核心,一下还很难讲清。 |
|