求助!(推箱子的自动解法算法)—— 如解答满意,给分2000

Johnny_L 2003-02-03 08:59:43
开学不久就要交了
我现在还没有好的算法可以做这个的
让电脑自动推箱子
找出解法的算法
哪位兄弟做过
希望不吝赐教,小生感激不尽啊
如果有具体解法的
欢迎发至邮箱:muguateng@vip.sina.com
给分2000,决不食言
希望包括以下方面:
1. 如何寻找小人每推一次走的最短路径
2. 如何有效的找到解法(尽量少的系统资源)!!最重要的一点!!
非常感谢!
...全文
899 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
MarkDong 2003-02-12
  • 打赏
  • 举报
回复
我是很爱玩推箱子的,当碰到很难的关时,也曾想过做一个算法实现自动搜索,有过简单思路,给大家说说

推箱子应该分为两种路线,第一是人无箱跑动的路线,第二种当然就是推箱子的路线,而第一种是由第二种决定的。

对于格子,我想可以分为如下几种,一种是目标格子,一种是普通格子,一种是死格。死格就是那种箱子只要推进去就打死也推不出来的格子。而某些死格可能是和箱子的位置相关的(我们可以称其为临时死格)。那么每当我们推了一次箱子(一次!不是一格)就应该重新计算临时死格。

普通格子我们也可以赋予它一些权值,我想可以是从这个格子移动到某个目标格子的拐弯次数(因为如果不用拐弯,那么就可以推着箱子一次到达目的)。那么相同权值的格子就形成了路线,我们的宗旨就是尽量将箱子从权值高的格子移动到权值低的格子上(当然中间可能会有利用权值高的格子过渡的情况)。

以上是我的一些思路,但是没想出来如何能实现,呜呜
IO_X 2003-02-11
  • 打赏
  • 举报
回复
用A*
正向搜索和逆向搜索一起进行会快一些吗?

还是用遗传算法或模糊逻辑更快?
ftway 2003-02-11
  • 打赏
  • 举报
回复
你们好强啊!!
aSenY 2003-02-09
  • 打赏
  • 举报
回复
Up~~BG
whoke 2003-02-09
  • 打赏
  • 举报
回复
xx
ZhangYv 2003-02-05
  • 打赏
  • 举报
回复
A*是“启发式搜索”,评价函数做不好是你自己的问题了,可以参考一下别人的评价函数
Johnny_L 2003-02-05
  • 打赏
  • 举报
回复
关键是不管你用什么优化公式来排序都无法保证那是优选啊
所以就有的时候一些很白痴的地图都解不出来
头痛啊
ZhangYv 2003-02-04
  • 打赏
  • 举报
回复
你既然知道是NP Hard那还要什么思路,除了搜你还能想怎么样?所以才用A*来搜啊,A*的效率相对要高。
为什么只用A*不行,算法不行还是效率不高?我没想过,你先说说?
Johnny_L 2003-02-04
  • 打赏
  • 举报
回复
这个是NP难问题啊
固定算法没有的啊
我想要的是大致的思路的
光用A*不行的
那个代码我有找过
可是看不透彻啊~
ZhangYv 2003-02-03
  • 打赏
  • 举报
回复
hehe...不用2000分。这种经典问题早有现成算法,建议你去看看人工智能的算法。此问题可以用A*,自己去搜索引擎找找。
http://www.vchelp.net/vchelp/type.asp?class_id=1&type_id=74
如果需要可以参考其中的代码,别忘了向原作者道个谢。

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧