![2720223d568e9f8aa656a16f20e4943c.png](https://img-blog.csdnimg.cn/img_convert/2720223d568e9f8aa656a16f20e4943c.png)
最近对“最短路径问题”产生了兴趣,没有买到回家的票,于是趁着这个假期,好好研究了一番。经过一通学习外加尝试,于是通过Python实现了演示效果。代码已经放到了Github账号上,供参考。当然,目前只是初期版本,后期有时间还会更新,所以如果有感兴趣的可以关注,如果有什么改进建议欢迎发起Pull Request。
先简单描述一下最短路径问题:
旅行商问题,其实讲的是一个旅行商,到了一个陌生的地方,手中只有这个地方的地图,如何找到当前位置到目标位置最短的路线的问题。看到地图我们也许一眼就能看出最佳路线,比如我们要从西站到五道口职业技术学院,我们看到地图,就可以找到一条比较靠谱的路。(如图)
![2b3314795fac784e83e0cff589c08dda.png](https://img-blog.csdnimg.cn/img_convert/2b3314795fac784e83e0cff589c08dda.png)
目标是让计算机替人完成同样的事情,而且要比人要做的更好,(毕竟很多时候并不能确定一眼得出来的路线究竟是不是最短的那条)。
首先,需要的就是一张地图了,以目前来看,计算机还是识别不了报刊亭卖的那种地图的,当然还是有信心以后计算机是能够识别的,而且对此也是很感兴趣的,有同样想法的可以课下交流。
于是为了简化,将地图的关键特征提取出来,即道路,与点。本想着一个个手工输入来着,但是,填着填着发现自己没了耐心,于是干脆写了个随机地图生成器,有了随机地图生成器,想生成多大地图都不在话下了。(具体可以参考代码:https://github.com/Loxfran/TravelingSalesmanProblem/blob/master/Joint.py)
生成的地图就长这样。。。。: