Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 贝尔曼-福特算法&x27;s的中间最优性,对吗?_Algorithm_Graph Theory_Shortest Path - Fatal编程技术网

Algorithm 贝尔曼-福特算法&x27;s的中间最优性,对吗?

Algorithm 贝尔曼-福特算法&x27;s的中间最优性,对吗?,algorithm,graph-theory,shortest-path,Algorithm,Graph Theory,Shortest Path,Bellman-Ford算法是一个著名的算法,它可以解决任意边权可加的连通图G(V,E)的单源最短路径问题(SSSPP) 例如:及其算法的基本实现版本,根据我的理解,当使用所有边的并行松弛时,意味着一个有趣的副产品,我称之为“中间最优性属性”(这可能对某些应用非常有用),如下所述: 在k次迭代后,我们用来自同一个源的最短路径来标识每个节点,在路径中的#边为的约束下,假设我们有一个简单的图a->B->C->D,所有权重都等于1 如果我们按顺序A、B、C、D访问顶点,那么在第一次迭代中,我们将放松以

Bellman-Ford算法是一个著名的算法,它可以解决任意边权可加的连通图G(V,E)的单源最短路径问题(SSSPP)

例如:及其算法的基本实现版本,根据我的理解,当使用所有边的并行松弛时,意味着一个有趣的副产品,我称之为“中间最优性属性”(这可能对某些应用非常有用),如下所述:


在k次迭代后,我们用来自同一个源的最短路径来标识每个节点,在路径中的#边为的约束下,假设我们有一个简单的图a->B->C->D,所有权重都等于1

如果我们按顺序A、B、C、D访问顶点,那么在第一次迭代中,我们将放松以下所有步骤:

A->B, finds shortest path to B is 1
B->C, finds shortest path to C is 2
C->D, finds shortest path to D is 3.
所以在第一次迭代中,我们找到了D的最短路径,尽管这条路径需要3条边

但是,如果按D、C、B、A的顺序访问顶点,则需要更多的迭代才能找到到D的最短路径


换句话说,在k次迭代之后,我们肯定会找到任何边的最短路径,假设我们有一个简单的图a->B->C->D,所有权重都等于1

如果我们按顺序A、B、C、D访问顶点,那么在第一次迭代中,我们将放松以下所有步骤:

A->B, finds shortest path to B is 1
B->C, finds shortest path to C is 2
C->D, finds shortest path to D is 3.
所以在第一次迭代中,我们找到了D的最短路径,尽管这条路径需要3条边

但是,如果按D、C、B、A的顺序访问顶点,则需要更多的迭代才能找到到D的最短路径


换句话说,在k次迭代之后,我们肯定会找到任何边的最短路径,假设我们有一个简单的图a->B->C->D,所有权重都等于1

如果我们按顺序A、B、C、D访问顶点,那么在第一次迭代中,我们将放松以下所有步骤:

A->B, finds shortest path to B is 1
B->C, finds shortest path to C is 2
C->D, finds shortest path to D is 3.
所以在第一次迭代中,我们找到了D的最短路径,尽管这条路径需要3条边

但是,如果按D、C、B、A的顺序访问顶点,则需要更多的迭代才能找到到D的最短路径


换句话说,在k次迭代之后,我们肯定会找到任何边的最短路径,假设我们有一个简单的图a->B->C->D,所有权重都等于1

如果我们按顺序A、B、C、D访问顶点,那么在第一次迭代中,我们将放松以下所有步骤:

A->B, finds shortest path to B is 1
B->C, finds shortest path to C is 2
C->D, finds shortest path to D is 3.
所以在第一次迭代中,我们找到了D的最短路径,尽管这条路径需要3条边

但是,如果按D、C、B、A的顺序访问顶点,则需要更多的迭代才能找到到D的最短路径


换句话说,在k次迭代之后,我们肯定会找到任何具有完美边的最短路径。我想对所有顶点使用并行更新。那么它正确吗?对不起,我不知道你在使用并行更新。在这种情况下,我认为你的财产是正确的。非常感谢你的最快澄清。我今天很长一段时间都在努力确认这一点……太完美了。我想对所有顶点使用并行更新。那么它正确吗?对不起,我不知道你在使用并行更新。在这种情况下,我认为你的财产是正确的。非常感谢你的最快澄清。我今天很长一段时间都在努力确认这一点……太完美了。我想对所有顶点使用并行更新。那么它正确吗?对不起,我不知道你在使用并行更新。在这种情况下,我认为你的财产是正确的。非常感谢你的最快澄清。我今天很长一段时间都在努力确认这一点……太完美了。我想对所有顶点使用并行更新。那么它正确吗?对不起,我不知道你在使用并行更新。在这种情况下,我认为你的财产是正确的。非常感谢你的最快澄清。今天很长一段时间以来,我一直在努力证实这一点。。