对于算法的研究,我认为主要包含以下几个方面:(1)对于算法正确性/最优性的证明,(2)对于算法复杂度的增长趋势计算,(3)对于算法能够解决的应用建模。
算法应用和问题简介
网络最大流是一大类应用问题的高层抽象。它可以解决(或部分解决)的应用有:
- 二分图最大权匹配
- 网络连接强度
- 工作量计划分配问题
- 图片裁剪(比如:提取人脸)
假设本文的读者已经对最大流问题定义有了简单的了解:
最大流问题 – OI wiki
最大流综述文章 – 2014ACM
算法理论
Ford-Fulkerson(FF)算法
思路:从0流量图开始,不断循环,每次循环中增加流 γ \gamma γ,直到不能再找到。
朴素,简洁,有效
FF算法的思路非常朴素,但对于整数(可拓广至有理数)流,可以严格证明其最优解。
思路可参考:
- 运行时间有界: γ ≥ 0 \gamma \geq 0 γ≥0
- 结果最优:最大流-最小割定理