魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
楼主: aubell
打印 上一主题 下一主题

非专业分析KCube [复制链接]

Rank: 7Rank: 7Rank: 7

积分
3923
帖子
2556
精华
6
UID
15558
性别
保密
WCA ID
2008CHEN27
兴趣爱好
理论

魔方理论探索者 国家(地区)纪录(NR) 十年元老

1#
发表于 2010-4-14 22:10:27 |显示全部楼层
顶楼主,话说其实那段代码我分析是分析过了,不过没太在意细节和初始化方面,期待楼主的成果。

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
3923
帖子
2556
精华
6
UID
15558
性别
保密
WCA ID
2008CHEN27
兴趣爱好
理论

魔方理论探索者 国家(地区)纪录(NR) 十年元老

2#
发表于 2010-4-14 22:20:52 |显示全部楼层
回楼主,我手机不太方便发大篇幅的内容,有什么需要单独交流的可以发我邮箱:chens09@mails.tsinghua.edu.cn

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
3923
帖子
2556
精华
6
UID
15558
性别
保密
WCA ID
2008CHEN27
兴趣爱好
理论

魔方理论探索者 国家(地区)纪录(NR) 十年元老

3#
发表于 2010-4-15 20:59:38 |显示全部楼层
回楼主,move table是转动表,prun table是剪枝表。我先说下前者的用处。
对于魔方在计算机中的储存,楼主可以看到,在声明类的时候已经有两种方式,但如果楼主细心看会发现,在搜索的过程中为了提高效率,程序必然会舍弃用类来表达魔方,楼主应该可以看到一个递归的搜索程序,他关于魔方信息的参数只有3个。其中每个参数分别表示了魔方的部分信息,比如色向等。然后很显然在搜索的时候不能再把这些信息转换为魔方开执行转动,那怎么办呢?就使用打表的方法,把每个状态经过每种转动后的相应状态储存在内存中直接查找即可。而这表,就是move table,也就是mtb文件。这个想法在我二阶的论文中也有提到。
而关于prun table,它就涉及到了IDA*的核心,一下还很难讲清。

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
3923
帖子
2556
精华
6
UID
15558
性别
保密
WCA ID
2008CHEN27
兴趣爱好
理论

魔方理论探索者 国家(地区)纪录(NR) 十年元老

4#
发表于 2010-4-16 08:40:10 |显示全部楼层
楼上说得对,不过其实看程序也能看到一些东西,比如各种算法的具体快速实现。

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
3923
帖子
2556
精华
6
UID
15558
性别
保密
WCA ID
2008CHEN27
兴趣爱好
理论

魔方理论探索者 国家(地区)纪录(NR) 十年元老

5#
发表于 2010-4-19 00:35:19 |显示全部楼层
回楼上。。其实魔方里的奇偶性就应该用这个定义。。。

使用道具 举报

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

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

GMT+8, 2024-5-5 16:55

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部