魔方吧·中文魔方俱乐部

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

纠正错误,关于CE最少步算法 [复制链接]

Rank: 7Rank: 7Rank: 7

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

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

跳转到指定楼层
1#
发表于 2010-3-9 11:01:51 |只看该作者 |正序浏览
在之前一篇帖子中,我根据某篇国外论文对魔方求解的研究,认为CE的最短步数算法是基于BFS思路的常规A*算法。但是昨天花了半个晚上的时间一行行分析了CE的核心代码(可能是前几年的版本)后发现原来所谓的IDA*算法就是纯BFS加减枝,当然大致的思路还是正确的。基于这点发现,在现在看来,其实CE所谓的IDA*算法和A*根本没什么关系,只是常规的减枝罢了,有理由相信很快就能找到一个更优的,基于用空间换时间的思想的算法。

名词解释:
BFS:广度优先搜索,优先搜索步数短的节点,即先尝试所有步数为1的状态,然后2,然后3等等。
DFS:深度优先搜索,优先进行下一步转动(就是先一通乱转),当然在搜索魔方的时候根据上一个帖子的说明限定了转动步数上限。
剪枝:即在搜索的过程中适当的放弃一些不可行的解。(比如已经转了24步了,那这个状态显然没有继续的必要了)

另注:关于对称性的研究,我所看的CE代码里面并没有处理搜索时碰到的对称性,我认为如果加上这块,程序的效率会提高48倍左右,当然具体还在思考中。
同时提出一个很久远的问题:有没有一个合适的状态表示方法,使得诸如RUR'与F'U'F这类对称的状态有些相同表示

Rank: 1

积分
104
帖子
77
精华
0
UID
1251652
性别
保密
11#
发表于 2010-3-9 22:02:33 |只看该作者

回复 10# 的帖子

你不会看的是他网页给的简易算法实现吧,我觉得他的help写的非常好啊,实际版本应该就是照这思路做的,他没有必要瞎说啊~

你能说说help哪里说法不对吗?共同探讨。

使用道具 举报

Rank: 7Rank: 7Rank: 7

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

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

10#
发表于 2010-3-9 20:41:59 |只看该作者

回复 9# 的帖子

他那个说明书里的东西其实和代码完全不同的。。我看了好几天说明书差点被误导。。后来一行行分析算法才恍然大悟。。。

使用道具 举报

Rank: 1

积分
104
帖子
77
精华
0
UID
1251652
性别
保密
9#
发表于 2010-3-9 20:08:46 |只看该作者

回复 7# 的帖子

这么快,可否说一下大概思想。

我看了下CE的help,怎么又觉得它用table包含对称性已经足够用了,基本可以去除对重复的对称空间的搜索。

我认为做更好的table更实际些,比如:保存多个相关性小,用不同方式得到的table,以满足各种 ”判断困难“ 情况。

ps:是否把此帖转到 “最小步区“ 更合适,让那里的大牛指导一下理论。

使用道具 举报

铜魔

007

Rank: 8Rank: 8

积分
13803
帖子
13083
精华
2
UID
101677
性别

四年元老 八年元老 十年元老

8#
发表于 2010-3-9 18:25:59 |只看该作者
论坛里能看懂这个的绝对极少数。。。
我会用。。。剩下的不懂。。。
魔方收藏群 123380874

使用道具 举报

Rank: 7Rank: 7Rank: 7

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

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

7#
发表于 2010-3-9 18:19:32 |只看该作者

回复 6# 的帖子

我已经想到一个可以在扩展时候就考虑对称性的一个算法了,只不过效率不会有48倍那么多,但是5-6倍的效率应该还是有的

使用道具 举报

Rank: 1

积分
104
帖子
77
精华
0
UID
1251652
性别
保密
6#
发表于 2010-3-9 17:39:29 |只看该作者
我想我4#理解错了你的意思,是的,CE应该只是利用对称简化了table的大小,在搜索时没有利用对称性对扩展节点的动作取舍,你可以试着做,估计会很难,而且离增加48效率差很远。

使用道具 举报

Rank: 7Rank: 7Rank: 7

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

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

5#
发表于 2010-3-9 16:54:06 |只看该作者

回复 4# 的帖子

好像只是在初始化剪枝表的时候加了对称性的东西,具体搜索的时候我没看到有相关的代码。。。

使用道具 举报

Rank: 1

积分
104
帖子
77
精华
0
UID
1251652
性别
保密
4#
发表于 2010-3-9 13:27:49 |只看该作者
现在的CE版本肯定加了空间对称性,但是好像没有加inverse状态,应该还能很轻易的时间/2, 不过现在研究最小步为20步的那人已经做过了(如果我没记错)。

祝你早日找到更好的空间换时间的算法,期待~

使用道具 举报

铜魔

批发零售加团购

Rank: 8Rank: 8

积分
9635
帖子
5813
精华
10
UID
32603
性别
居住地
沈阳市
WCA ID
兴趣爱好
其它

四年元老

3#
发表于 2010-3-9 12:43:38 |只看该作者
最少步还没学习。。。 先看着
教好魔方,办好比赛,做好推广。全天,全年,全力。
飞速店:沈阳太原街中山路新华购收中4楼1330817281
魔方飞速叠杯批发零售团购;专业少儿魔方培训Q:4995657
对社会各界开展魔方相关活动合作!欢迎洽谈!

使用道具 举报

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

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

GMT+8, 2024-11-22 12:06

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部