【发布时间】:2016-11-13 21:59:15
【问题描述】:
假设我有一个字节数组,我如何找到两点之间最自然的路线(人类可能会采取的路线),每个位代表一个固定大小的正方形并指示它是否可访问?例如,假设数组表示如下网格:
在灰色方块不能穿过的地方,我需要一种算法来找到橙色方块指示的路径,而不是棕色方块表示的路径。
请注意,虽然橙色路径也是最短的,但这只是一个奖励,而不是要求。我只需要找到方向变化最小的路径(在长度和变化之间取得良好的平衡)。此外,该算法必须不需要大量内存,因为它可以在嵌入式芯片上运行。
编辑: 正如 Rudy Velthuis 所指出的,我没有准确解释我所说的“自然”是什么意思。自然,我的意思是一条不太长的路径,只需要用户改变几次方向。
【问题讨论】:
-
@AndersCedronius 这难道不是最高效的路线吗?
-
请把“最自然的路线(人类可能采取的路线)”定义好一点。
-
@RandomUser (Dijkstra)取决于您用于算法的标准 - “费用”由其实现方式定义。
-
@RudyVelthuis 我已经有了:“方向变化最小的路径”
标签: c algorithm performance artificial-intelligence