Pacman路径查找启发式

如何为吃豆人游戏实现一个可接受的启发式函数,使其能够从给定位置找到包含多个目标(所有剩余豆子)的最短路径?目前我使用的是A*搜索,启发式函数采用曼哈顿距离。我将一个节点到所有未被吃掉的豆子的曼哈顿距离之和作为H(n)。算法完成所需时间极长,我也不确定如何进行平局处理。


回答:

嗯,我猜你正在参加edX的人工智能课程。

将当前位置与每个食物颗粒之间的距离之和作为启发式函数是不合适的,因为你需要考虑到吃掉一个颗粒可能会使你更接近另一个颗粒。

根据网格的大小和其稀疏程度,你可以从吃豆人当前位置开始运行一个广度优先搜索(BFS)来找到最近的颗粒。然后,你可以使用该距离作为一个可接受的启发式函数。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注