为什么在没有完整网络视图的情况下可以使用 Bellman-Ford 算法?

问题描述

我一直在阅读 Bellman-Ford 算法的一些应用,并且遇到了这个特殊的 thread。据我所知,它表明 Bellman-Ford 算法不需要完整的网络视图才能正常运行(找到最短路径)。为什么是这样?

其次,我想问一下“分布式”Bellman Ford究竟是什么意思?具体来说,如何拆分一个庞大的网络,以便我们可以使用所说的“分布式”Bellman Ford。

如果我对本文的任何解释有误,请纠正我。提前致谢。

解决方法

您在问题中提到的线程讨论了如何使用 Bellman-Ford 算法找到在路由器之间发送数据包的最佳路由路径。一开始,每个路由器都以到所有直接连接的网络的距离矢量开始。然后,每个路由器向所有相邻路由器广播其当前距离向量。然后,每个相邻路由器将更新其距离向量的本地副本,并将其再次广播给其邻居。这样,网络的每个源路由器最终都会更新自己的距离向量 w.r.t。其他目标路由器。现在你可以想象,所有路由器最终在不知道完整网络的情况下计算出最短路由路径(来源于它)。

推荐阅读:

  1. Illustration of Distributed Bellman-Ford Algorithm

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...