- A+
领500g书库,关注公众号:程叫兽的宝藏 (长按可复制!)
热门下载区==>点此链接进入<<<
目录(点击切换)
本文节选自《计算之魂吴军》电子版:
/第5章//工具与算法一一图论及应用//我们不妨分析一下上述三种操作的本质是什么。我们来看一下S一B一E一T这条路径,它三条边的流量原来是0、-4和5。为什么流量会有负数呢?因为从E到了B的流量是4,就意味着反方向从B到了的流量是-4。这条路径上各条边的流量调整后变成了2、0和9,比原来分别增加了2、4和4。因此我们可以认为,S$一B一人一T这条路径整体的流量增加了2。当然,这样无法解释为什么从B到下、从E到T的流量增加是4,不用担心,我们还有一条流量增加的路径尚未分享。我们从图$.22中可以看到S一C一B一E一T这条路径上每条边的流量也在增加,分别增加了2、2、4、4。我们可以认为这条路径的整体流量也增加了2。由于上述两条路径在B和了之间是重去的,因此从B到E的流量增加了4。由此可见,调整流量的本质就是找到一条从$到T流量尚未饱和的路径,然后增加它上面每一条边的流量(当然减少某条边上反方向的流量也等同于增加这条边的流量)。这条流量可以增加的路径,被称为增广路径(AugmentingPath)。可以证明,只要从S到T的流量还没有达到最小切割流量,就能不断找到增广路径,直到流量;到这个值为止。图5.2
计算之魂电子书
3给出了流量调整结束后,从S到T的流量达到最大流的情况。值得指出的是,B和之间的边原来流量的走向是从E到B,现在反了过来,也就是说其流量从-4变为了+4。同时我们可以看出,在最小切割线L2上的边的流量都饱和了,因此这个有向连通图的流量也不可能再增加了。图5.23从S到工的流量达到最大流的情况195//计算之魂//上述算法被称为福特-富尔克森算法(Ford-FulkersonAlgorithm),它是由莱斯特。福特(LesterRandolphFord工)和德尔伯特。富尔克森(DelbertRayFulkerson)于1956年提出来的,该算法的伪代码参见本章的附录四。福特-富尔克森算法比较直观、好理解,当网络中各条边的容量相近时,这种方法很有效,试不了几次就能达到最大流,这是它的优点。但是如果网络中各条边的容量差好几个数量级,福特-富尔克森算法收敛得很慢。最糟糕的情况是,如果容量最小的边的容量只有1,而容量最大的边的容量达到玉,那么整个算法的复杂会和环成正比,即O(引.玉,其中三是边的总数,而环需要是一个整数。如果忆是浮点数,虽然福特-富尔克森算法稍作调整也能使用,但是收敛会非常慢。为了解决这个问题
计算之魂 吴军
,叶菲姆,迪尼芒(YefitmDinitz)、埃德蒙将和卡普在20世纪70年代基于福特-富尔克森算法,提出了改进的埃德蒙兹-卡普(Edmonds-Karp)算法,其复杂度为O(玫IE门,其中和是节点总数。这个算法的复杂度和通道中各条边的容量无关,这是它的优点。不过,对于一个复杂的网络来讲,埃德蒙兹-卡普法的复杂度其实不低。现实生活中的最大流问题要比上述理论问题更为复杂。比如像Google这样的全球数据公司,世界各地的数据中心之间,网络流量应该怎么分配就是一个非常难的工程问题。2002年,我入职Google时,和我同一天入职的一名博士得到的任务,就是优化各个数据中心之间的流量分配。他本以为有个半年时间就能够完成,结果一做就是四五年,越做发现这里面的问题越多,也比想象的复杂,这个项目也从他一个人的短期任务变成了一个团队的长期工作。那里面有很多问题教科书上从来没有给过答案,甚至在云计算诞生之前也没有人知道那些问题的存在。比如下面四个问题完全是开放式的,之前不仅没有答案,甚至没有人遇到过。1,优化网络流量的多重标准。在前面的讲述中,最大流其实只有一个确定的量化标准,也就是单位时间里从1ErFE环196
计算之魂pdf资源下载
| 计算之魂吴军百度云 | 吴军 计算之魂 mobi |
| 计算之魂课堂笔记 | 计算之魂理解 |
| 如何评价吴军的计算之魂 | 计算之魂书 |

《计算之魂吴军》下载
-

[PDF电子书下载]《计算之魂吴军》 -

[epub电子书下载]《计算之魂吴军》 -

[word电子书下载]《计算之魂吴军》 -

[txt电子书下载]《计算之魂吴军》
版权提示: 本站为导购型网站,对拥有版权的书籍及内容,本站已经加入内容屏蔽,仅提供书籍介绍,并未提供资源下载地址,如需要删除书籍介绍,请联系我们删除。
综上:计算之魂怎么样值得推荐阅读。

