bellman-ford相关内容

查找图中没有任何负前缀的最短路径

在有正负边的有向图中找到从源到目的地的最短路径,以使路径中的任何点之前的边之和为负.如果没有这样的路径,也要报告. 我试图使用改良的Bellman Ford,但找不到正确的解决方案. 我想澄清几点: 是,体重循环可能为负数. n是边的数量. 如果问题有解决方案,则假定存在O(n)个长度路径. + 1/-1边缘权重. 解决方案 诚然,这不是一个建设性的答案,但是在评论 ..
发布时间:2021-04-02 20:29:51 其他开发

如何获得Bellman-Ford找到的实际路径

我对Bellman ford算法有疑问.我创建了这个程序,当给出一个图时,它将输出源节点和所有其他节点之间的最短距离.那部分工作得很棒,所以我有这样的输出: 费用表为:目的地:0 1 2费用:0 4 6 例如,我的源与节点2之间的最短距离为6,这很棒.但是现在我想获得实际的路线,而不仅仅是它们的费用.就像在路线上从s到v的成本不是5一样,我希望路线是s-> b-> v.使用Bellman f ..
发布时间:2021-04-02 20:26:53 其他开发

确定从s到t的所有最短路径是否都包含边e

让G =(V; E)是一个有向图,其边缘全部具有非负权重。令s,t为V中的2个顶点,令e为E中的边。 描述一种算法,该算法确定从s到t的所有最短路径是否都包含边e。 好吧,这就是实现Dijsktra时间复杂度的方法: 只需从s运行Dijkstra并计算delta(s,t)(从s到t的最短路径的权重)。 删除边e,然后从新图中的s重新运行Djikstra。 如果新图中的delta(s, ..
发布时间:2020-10-22 01:34:10 其他开发

检测图形中是否存在负周期的最快算法

我使用矩阵 d 表示图表。 d。(i)。(j)表示 i 和 j之间的距离; v 表示图中的节点数。 此图中可能存在负循环。 我想检查是否存在负循环。我从 Floyd-Warshall 的变体中写了以下内容: let dr = Matrix.copy d in (* part 1 *) for i = 0至v-1做 博士(i)。(i)完成; (*第2部分*) 尝试 ..

Bellman Ford算法可以具有边缘的任意顺序吗?

我刚刚开始学习新算法,但是当我在极客上阅读极客的贝尔曼福特算法时,我陷入了困境:- http://www.geeksforgeeks.org/dynamic-programming-set-23-bellman-ford-algorithm/ 这里写着- 该算法以自底向上的方式计算最短路径。首先, 计算最短路径的最短距离,该路径在路径中最多具有 个边。然后,它计算最短路径,其中 ..

Dijkstra的“单源最短路径”算法可以检测图中的无限循环吗?

因此,我遇到了一个漂亮的问题,要求您编写一个程序,以查找有向图中是否存在负无穷最短路径。 (也可以认为是在图中找到“负周期”)。这是问题的链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=499 我通过从图中的任何源开始两次运行Bellma ..
发布时间:2020-06-03 20:32:42 其他开发

贝尔曼·福特vs迪克斯特拉:在什么情况下贝尔曼·福特更好?

经过大量的Google搜索,我发现大多数消息人士说Dijkstra算法比Bellman-Ford算法“更有效”。但是在什么情况下Bellman-Ford算法比Dijkstra算法更好? 我知道“更好”是一个广义的说法,因此我特别指的是速度和空间(如果适用)。当然,在某些情况下,Bellman-Ford方法比Dijkstra方法更好。 解决方案 Bellman-Ford算法是一种单源最 ..
发布时间:2020-06-03 20:24:33 其他开发

Bellman-Ford并行实施

有人能给我指出一个简单的并行最短路径算法的良好伪代码吗?或任何语言都没关系.我很难找到好的例子= [ 解决方案 我最终使用OpenMP自己为比特币机器人实现了它: /*defines the chunk size as 1 contiguous iteration*/ #define CHUNKSIZE 1 /*forks off the threads*/ #pragma omp ..
发布时间:2020-05-24 21:20:53 其他开发

如何在python中创建具有负边权重的随机单源随机无环有向图

我想在大量图上做bellman ford算法的执行时间分析,为了做到这一点,我需要生成大量的随机DAGS,并有可能存在负边权重。 我在python中使用networkx。在networkx库中有很多随机图形生成器,但是将会返回带有边缘权重和源顶点的有向图形。 我正在使用networkx.generators.directed.gnc_graph(),但不能保证只返回一个源顶点。 ..
发布时间:2018-05-25 17:46:16 Python

我们可以将Bellman-Ford算法应用于无向图吗?

我知道Bellman-Ford算法适用于有向图。它会适用于无向图吗?看起来,对于无向图,它将无法检测周期,因为并行边将被视为周期。这是真的还是不?算法是否可以应用? 解决方案 事实上,任何无向图也是有向图。 b $ b 你只需要指定任何边{u,v}两次(u,v)和(v,u)。 但不要忘记,这也意味着任何具有负重量的边缘都会被视为一个循环。 由于Bellman-Ford算法仅适用 ..

具有两个权重属性的图的Dijkstra算法的变分

我试图找到一个映射到带有非负权重边的有向图的问题的启发式。然而,每条边与两个重量属性相关联,而不仅仅是一个重量(例如,其中一个是距离,另一个显示道路的4G LTE覆盖率有多好!)。是否存在 dijkstra , Bellman Ford 或其他任何追求此目标的算法的特定变体?当然,一个天真的解决方法是手动导出一个单一的重量属性作为它们的组合,但这看起来不太好。 它可以推广到如果你想同时优化两 ..
发布时间:2018-05-25 17:35:10 其他开发

最快的算法,以检测是否有在一个图中的负圆

我用的矩阵 D 来present图。 D。(我)。(J)指的的距离我和Ĵ; v 表示在图中节点的数目。 有可能存在在此图中的负循环。 我想检查是否负圈存在。我已经写了一些东西弗洛伊德 - 沃肖尔的变化如下: 让医生= Matrix.copy d在 (* 第1部分 *) 对于i = 0至V - 1做 博士(ⅰ)(一)其中; - 0 完成; (* 第2部分 *) 尝试 对于k ..
发布时间:2015-11-30 22:09:27 C/C++

Bellman-Ford算法​​的正确性,我们还可以做的更好?

我了解到,Bellman-Ford算法​​有邻运行时间(| E | * | V |),其中E是边和V顶点的数目的数量。假定图没有任何负面的加权循环 我的第一个问题是,我们如何证明内(| V | -1)迭代(每次迭代检查在电子商务逢缘),它更新的最短路径的每一个可能的节点,给予一个特定的起始节点?是否有可能,我们已经反复(| V | -1)次,但仍然没有结束与每一个节点的最短路径? 假设算法的正 ..
发布时间:2015-11-30 22:07:39 C/C++

贝尔曼 - 福特距离向量算法具有任意多个节点

我想codeA程序,模拟路由器,到目前为止,我的基本设置(“路由器”可以通过一个模拟的服务器发送和接收的数据包来连接到其他的“路由器”一类服务器)。每个数据包仅包含该路由器的距离矢量。当路由器收到一个数据包,应该更新它的相应使用Bellman-Ford算法​​自己的距离向量。我遇到的问题是,我发现自己无法实现实际的算法,不作弊,用邻接矩阵。 举例来说,假设我有3个路由器连接如下: A --- ..
发布时间:2015-11-30 21:53:11 C/C++

算法像贝尔曼 - 福特,只为多重启动,单一目的地是哪里?

像Bellman-Ford算法​​和Dijkstra算法的算法存在上找到的图中每个顶点由单一的起始顶点的最短路径。然而,在我写的程序,开始顶点往往比目标顶点确实改变了很多。有什么算法,做相反的工作 - 也就是说,给定一个目标的顶点,找到最短路径从每一个的启动的顶点 解决方案 刚刚扭转所有的边缘,并处理目的地开始节点。问题解决了。 ..
发布时间:2015-11-30 21:38:39 C/C++

我们可以将行李员Ford算法​​,以无向图

我知道,Bellman-Ford算法​​适用于有向图,但只是为信息,我想知道它是否会为联合国向图?因为与取消向图它将不能够检测周期,因为平行边缘将被认为是循环!!。请澄清。 解决方案 由于事实上任何无向图也有向图。 您只需要指定任何边缘{U,V}两次(U,V)和(V,U)。 但不要忘了,这也意味着有负重量的任何优势将计为一个循环。 由于Bellman-Ford算法​​只适用于图形不包含具有 ..
发布时间:2015-11-30 21:30:22 C/C++

贝尔曼 - 福特:所有的最短路径

我已经成功地实现贝尔曼 - 福特找到最短路径的距离时,边缘有负权重/距离。我没有能够得到它返回所有的最短路径(当有联系的最短)。我设法让所有的最短路径与Dijkstra算法(给定的对节点之间)。与贝尔曼 - 福特这可能吗? (只是想知道如果我在浪费时间尝试) 解决方案 如果你改变的 Bellman-Ford算法​​一点点就可以实现的东西非常相似: 为我从1到大小(顶点)-1: 在边缘每 ..
发布时间:2015-11-30 20:28:32 C/C++

可以Dijkstra的单源最短路径算法dectect一个无限循环的图表?

于是,我来到了这个美丽的问题,要求你写一个程序,找到负无穷大的最短路径是否有向图存在。 (也可以被认为是查找图中的一个“负周期”是否存在)。这里有一个链接的问题: 余成功运行的Bellman Ford算法​​两次通过启动图中的任何来源解决了这个问题。我第二次运行算法,我检查,如果一个节点可以放宽。如果是这样,则肯定是有负循环中的曲线图。下面是我的C ++ code: #包括<的iostre ..
发布时间:2015-11-30 20:21:31 C/C++

算法,第4版 - 贝尔曼福特队列根据来自塞奇威克和韦恩的方法

我在学习基于队列的办法为 Bellman-Ford算法​​对于单一来源的最短路径罗伯特·塞奇威克和凯文韦恩 - 算法,第4版 来源$ C ​​$ C从书的算法是present这个链接的http:// algs4.cs.princeton.edu/44sp/BellmanFordSP.java 。 我有两个点,一个是怀疑,另一个是code改进建议。 在按照上面的方法是code的放松方法,放松 ..
发布时间:2015-11-30 15:23:24 C/C++