フローネットワーク
有向グラフの一種で、各辺にフローの最大容量があり、その容量より大きなフローを流せないようなグラフ構造のこと。各ノードにおける流入フローの合計と流出フローの合計は等しい。ただし始点(source)と終点(sink)を除く。たいていはそのフローの流量を最大化する最大フロー問題を解くことが多い。 定式化するとノード$ uと$ vをつなぐ辺のフローを$ f(u, v)、容量$ c(u, v)とすれば、つねに以下が成り立つ。
$ f(u, v) = -f(v, u)
$ \sum_{v \in V}f(u, v) = 0
$ f(u, v) \le c(u, v)
ただし、フローが$ vから$ uに流れているときは$ f(u, v) = -\text{(そのフローの絶対値)}とする。
問題によってはノードごとにフローの容量があることもあるが、これらはノードを追加すれば同じように扱える。たとえばノード$ n_1に流れるフローの最大容量が$ f_1ならば、ノード$ n_1'を$ n_1と$ n_1の流出先すべてのノードを$ n_1'を経由するようにしてから$ f(n_1, n_1') = a_1とすればよい。