Java 使用遗传算法为火星漫游者寻找可接受的启发式算法*

Java 使用遗传算法为火星漫游者寻找可接受的启发式算法*,java,artificial-intelligence,a-star,heuristics,Java,Artificial Intelligence,A Star,Heuristics,我想解决一个关于人工智能的问题。我有一个“机器人”,从a点到B点应该尽可能快和便宜。这种漫游者不能攀登超过10个单位的高度,其路线的成本受地形的影响。我需要你的帮助,因为我需要找到一个可行的启发式方法来解决我的问题。我已经尝试过欧几里得距离,但还不够。你能帮我吗?我建议大家看看启发式的一些想法。它们并不都适用于你的情况,因为我不相信你有网格地图?但你至少可以看看 此外,我建议尝试考虑不同地形可能产生的各种成本。例如,如果您知道每种可能的地形类型的最小成本为2,则可以安全地将欧几里德距离乘以2。如

我想解决一个关于人工智能的问题。我有一个“机器人”,从a点到B点应该尽可能快和便宜。这种漫游者不能攀登超过10个单位的高度,其路线的成本受地形的影响。我需要你的帮助,因为我需要找到一个可行的启发式方法来解决我的问题。我已经尝试过欧几里得距离,但还不够。你能帮我吗?

我建议大家看看启发式的一些想法。它们并不都适用于你的情况,因为我不相信你有网格地图?但你至少可以看看

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


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

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