【问题标题】:Finding Admissible Heuristics for Martian Rover using A*使用 A* 为火星探测器寻找可接受的启发式方法
【发布时间】:2017-02-15 02:28:56
【问题描述】:

我正在尝试解决有关 AI 的问题。我有一个“机器人”,它应该尽可能快速且便宜地从 A 点到达 B 点。这辆 Rover 不能爬升超过 10 个单位的高度,而且他的路线成本受地形类型的影响。我需要你的帮助,因为我需要找到一个可接受的启发式方法来解决我的问题。我已经尝试了欧几里得距离,但这还不够。你能帮帮我吗?

【问题讨论】:

  • A* 已经是一种启发式方法。它在地图中找到最短路径。仅当游戏规范具有额外功能(例如使用正确的车道、以隐身模式驾驶或避开一定半径的障碍物)时,才需要额外的运动原语。(对不起,但我不能投票,分数保持不变.)
  • “我已经尝试了欧几里得距离,但还不够。”是什么意思?您的意思是说,使用该启发式函数,算法会返回不正确的解决方案吗?还是说它太慢了?还是根本找不到解决方案? @ManuelRodriguez A* 还不是启发式算法,它是一种使用启发式函数的搜索算法
  • 您好,谢谢您的回复!这还不够,因为我需要更多的启发式方法!这项工作需要两个或更多启发式方法,因为我比较了检查哪个是最佳启发式方法的解决方案。是的,A* 它不是启发式的。启发式是帮助算法搜索更好的节点进行探索的功能。欧几里得工作正常,但我需要更多!最好的问候@Dennis Soemers

标签: java artificial-intelligence a-star heuristics


【解决方案1】:

我建议您查看this page,了解一些启发式方法。它们并不都适用于您的情况,因为我不相信您有网格图?但你至少可以看看。

此外,我建议您尝试考虑在不同类型的地形中可能产生的各种成本。例如,如果您知道每种可能的地形类型的最小成本为 2,您可以安全地将欧几里得距离乘以 2。如果最常见的地形类型的成本为 2,但也有一些类型成本较低的地形,如果开始乘以 2,您将失去找到最佳解决方案的保证,但在实践中您仍然可以更快地找到解决方案。

对我来说,这个问题听起来像是一项家庭作业(如果我错了,请纠正我),因此很难给出一个单一的答案。我想家庭作业的重点甚至是研究一下并尝试一些不同的东西,看看它们是如何工作的(或不工作),这可以提高你对算法工作原理的理解。所以,真的,只是尝试一些事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-02
    • 2013-01-03
    • 1970-01-01
    • 2017-09-03
    • 2012-02-26
    • 2013-05-09
    • 2022-07-29
    • 2011-08-06
    相关资源
    最近更新 更多