java - 随机 map /图表和 OSM

标签 java graph dictionary openstreetmap

只是想知道您是否有任何建议。我需要大量示例 map /图表来测试我的最短路径搜索解决方案(有人告诉我应该有 >100 个)。我的代码应该在模拟器中运行,该模拟器使用城市环境的 OpenStreetMap map ,将路口总数限制为几千个。问题是,模拟器只提供了两到三张 map 。在我看来,我这里有几个选择:

  1. 编写我自己的随机图生成器。可能需要做很多工作(你认为吗?——我以前从未做过)并重新发明轮子。
  2. 使用现成的解决方案。我不知道有什么可以生成类似 map 的图表(好吧,至少我在 JUNG 中没有找到它:-))
  3. 以某种自动化方式从 OSM 获取它们。我其实并不打算自己去挑选 100 多个城市 map 来满足 <15000 个节点的要求。不过,我认为这也不容易实现自动化。

我认为 3 很难做到。对一些现成的解决方案有什么建议吗?或者关于写我自己的评论?无论如何,我都不是一个经验丰富的程序员,但给我几天时间。

最佳答案

第一个想法:

您有一个已知问题,需要测试其解决方案。生成大量测试数据,使用经过验证的算法找到正确的解决方案,然后针对生成的数据集运行算法并比较结果。 (或者只是下载经过验证的dijkstra算法实现,我相信实现这个算法是你的任务)

第二个想法:

随机生成的数据集并不是测试算法的最佳方式。您需要考虑算法可能失败的情况并创建相应的测试。例如,具有 1 个节点的图、具有循环的图、线性图(即 N1---N2---N3-...-Nn)、具有最大节点数的完整图。我认为,如果您创建这 4 个测试和 2-3 个小型随机测试,就足以确保您的算法正确实现。

关于java - 随机 map /图表和 OSM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2292692/

相关文章:

java - 自定义 JGraphX

java - 我无法删除 geofire 关键导出处 map 上的标记

java - 在java中刷新面板

algorithm - 如果我们知道图是可 3 色的,我们可以在多项式时间内对图进行 3 色吗?

python - 循环遍历 Python 字典

python - 将 np 数组的字典保存到 json 文件

java - 如何对 MAP 的项目进行排序并删除一个?

java - Tomcat 管理器部署位于服务器上的 WAR 文件

java - Android - 如何从另一个类调用 invalidate() 方法?

algorithm - 在 Neo4j 中查找通过给定节点的所有简单循环