我有一大堆加权节点,边缘将节点簇连接在一起.该图遵循典型的小世界布局.
我希望找到一种路径寻找算法,它在处理器功率上并不昂贵,找到沿着最佳路径的路径,其中节点是最有利的加权,最快路径不是最重要的因素.该算法还考虑了承载和流量重新路由.
(旁注:可以在这里使用神经网络吗?)
谢谢
我在看ACO.对于这类问题,还有比ACO更好的东西吗?
正确的A*算法找到成本最低或最快的路由,没有负载平衡.
假设最快或最短的路线不是最重要的路线,更重要的是遵循加权节点具有特定值的路径.NO1.
NO2.如果使用A*,该路由上的流量会过载,那么突然该路径是多余的.因此,与A*一样酷,它没有ACO的某些特性,即固有的负载平衡.
- 除非我误解和误解A*
然后是什么击败了ACO?
它真的看起来像ACO和A*之间的展示,有很多关于A*的积极谈论,我一定会更深入地了解它.
首先回应大卫; 我可以在后台运行ACO模拟并提出最佳路径,所以是的,有一个初始启动成本,但幸运的是,启动并不重要.所以我可以多次运行模拟.一个真正的麻烦是找到连接的源节点和目标节点.而A*似乎很容易就能做到这一点.现在当这个网络像数百万个节点一样变得非常大时会发生什么.A*能够轻松扩展吗?
我将进一步研究A*.但是我给你留下了最后一个问题!
A*能够和Antnet(ACO)一样扩展吗?
问题:
找到英文维基百科中两篇文章之间的最短路径.如果存在文章C(i)并且文章A中存在导致文章C(1)的链接,则存在文章A和B之间的路径,在文章C(1)中链接导致文章C(2),... .在文章C(n)中是指向B条的链接
我正在使用Python.下载维基百科文章的URL:
我已经编辑了我的源代码,但是当我在代码中包含这些文章时它仍然不起作用任何人都可以告诉我在这里搞砸了什么?
这是我的代码:
import urllib2
import re
import xml.etree.ElementTree as ET
text = ET.fromstring(F_D.text.encode('UTF-8'))
text = ET.fromstring(P.text.encode('UTF-8'))
F_D=requests.get('http://en.wikipedia.org/wiki/Ant_colony_optimization_algorithms')
P=requests.get('http://en.wikipedia.org/wiki/Wikipedia:Unusual_articles')
links = text.findall('.//*[@id=”mw-content-text”]/p/a')
links=E_D
E_D = graph_dict
E_D[start] = 0
for vertex in E_D:
F_D[vertex] = E_D[vertex]
if vertex == end: break
for edge in graph[vertex]:
path_distance = F_D[vertex] + graph[vertex][edge]
if edge in F_D:
if path_distance < F_D[edge]:
#raise ValueError,
elif edge not in E_D or path_distance < E_D[edge]:
E_D[edge] = path_distance
[edge] = …Run Code Online (Sandbox Code Playgroud)