问题描述
假设有一个已定义的二维正方形网格,其条件如下:
- 这个网格的宽度和高度是有限的
- 出于路径目的,每个网格位置都可以步行或不可步行
- 在网格内移动的代理可以从一个位置移动到任何可步行的相邻位置,在 8 个方向上
- 如果两个位置都可步行,则从一个位置移动到相邻位置的成本为 1
- 此网格上至少有 2 个,但通常有更多兴趣点 (POI)
- 每个 POI 都有一个保证有效的路径到网格上的每个其他 POI
当只有 2 个兴趣点时,很容易找到等距点,方法是找到一条从一个到另一个的路径,然后沿着这条路径取中间点。
我发现有效的方法是遍历网格上的每个可步行点,找到从该点到每个 POI 的路径,并评估每条路径的长度,并保存路径最相等的位置长度。这是相当繁重的操作,并且在寻路方面有优化的空间,例如从每个兴趣点进行洪水填充以使通往 POI 的路径只计算一次。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)