我正在学习公开课程CS 188,网址为edx.org。目前我需要为A*搜索开发一种启发式算法以吃掉所有的小球,如下所示:
我设计的启发式算法应该是可行且一致的,具体步骤如下:
当我在自动评分程序中使用这个算法时,它未通过可接受性测试。
不要担心,我不是在寻求解决问题的方法,只是想知道为什么我的当前解决方案不可接受?当我在脑海中浏览图片示例时,启发式算法从未高估成本。
因此,如果有人能够理解这一点,并且有任何想法,您的意见将不胜感激!
![Pacman](https://i.imgur.com/txRYGzD.png)
- 初始化启发式累加器h为0
- 将pos初始化为pacman的当前位置
- 当小球未被吃完时:
- 使用astar搜索(以曼哈顿距离作为启发式)获取最近的小球
- 将距离添加到h中
- 从小球列表中删除该小球
- 将pos设置为小球的位置
当我在自动评分程序中使用这个算法时,它未通过可接受性测试。
不要担心,我不是在寻求解决问题的方法,只是想知道为什么我的当前解决方案不可接受?当我在脑海中浏览图片示例时,启发式算法从未高估成本。
因此,如果有人能够理解这一点,并且有任何想法,您的意见将不胜感激!