我自己写了一个A*,它工作得很好,现在是时候评估它的性能了(可能与其他解决方案比较,看看它的性能如何)。
为了获得视觉反馈和乐趣,我将其用作图像迷宫解决器。首先,我知道这不是A*的主要设计目的,但我认为这是一个很好的测试方法(但不是唯一的)。同意吗?我保持它非常简单:白色像素是节点,其他颜色是墙。
我想过用这个迷宫(大图)砸它,但我知道它会失败的
- 显然需要一些时间,因为它有超过300万个边(略少于墙的一半,但仍然)
- 不一定是一个好的指标,过大的环境
综上所述:什么样的环境对a *来说是一个好的压力测试?应用A*(游戏邦注:如游戏)中图形的数量级是多少?
一个好的压力测试是数字道路网络
1)一个大国的一部分(如西班牙,法国,德国),然后
2)全国。(百万节点)
OpenStreetMap提供了这样的数据,但是将这些数据导入到图表中需要做很多工作。
我在一张大约420 x 760个六边形(总共超过325,000个六边形)的地形图上实现了Parallel New Bidirectional a *的串行版本。这张地图上最困难的对角线路径,大约有1080个台阶,在一个i7核心上完成大约0.45秒的时间,完成时只有近90,000个闭集元素。
请注意,就Dijkstra和A*而言,地形地图具有迷宫般的品质,因为步骤成本的范围很广(对于该地图从0m 2到10+)确保所有可接受的启发式都是低效的。