{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $D = (V, E)$ be a finite [[directed graph|0R5HTV7REV]] with distinct vertices $s$ (the source) and $t$ (the sink), and let $c \\colon E \\to [0, \\infty)$ be a capacity function.\nA flow is a function $f \\colon E \\to \\R$ such that:\n\n1. $0 \\le f(e) \\le c(e)$ for every edge $e$.\n2. For every vertex $w \\ne s, t$, the total of $f$ on edges entering $w$ equals the total of $f$ on edges leaving $w$.\n\nThe value of $f$ is the total of $f$ on edges leaving $s$ minus the total of $f$ on edges entering $s$.\nAn $s$–$t$ cut is a partition $V = S \\cup T$ with $s \\in S$ and $t \\in T$.\nIts capacity is the sum of $c(e)$ over the edges $e$ from a vertex of $S$ to a vertex of $T$.\nThen the maximum value of a flow exists and equals the minimum capacity of an $s$–$t$ cut.\n\n## Remarks\n\nLet $f$ be a flow and $(S, T)$ a cut.\nThe value of $f$ equals the flow from $S$ to $T$ minus the flow back, so it is at most the capacity of the cut.\nFor the reverse inequality, take a flow of maximum value and let $S$ be the set of vertices reachable from $s$ by an augmenting path.\nThen $t \\notin S$, every edge out of $S$ is full and every edge into $S$ carries no flow, so the cut $(S, V \\setminus S)$ has capacity equal to the value.\nThe Ford–Fulkerson method pushes flow along augmenting paths, one at a time.\nWhen all capacities are integers, it stops after finitely many steps with a maximum flow.\nIf all capacities are integers, there is a maximum flow with integer values on all edges.\nThis integrality gives [[Menger's theorem|E6GYGZDBS7]] and [[Kőnig's theorem|0JP0ZF57PN]] as special cases.\nThe theorem is also an instance of linear programming duality.\n\n## Explanations\n\n### L1 human\n\nThink of pipes from a source to a sink, each with a maximum rate.\nThe most water you can send through equals the smallest total rate of a set of pipes whose removal cuts the sink off from the source.\nThe bottleneck of the network decides the throughput.\n\n### L2 human\n\nThe theorem is the central result about flow networks.\nIts proof gives an algorithm and a certificate: a maximum flow and a minimum cut prove each other optimal.\nMany combinatorial min-max theorems, such as Menger's theorem, Kőnig's theorem and [[Hall's marriage theorem|08WCB90WND]], follow by building a suitable network with capacities $0$ and $1$.\n",
  "commit": "547b6eddb8f2feb8d579f2d633d22a27b7e132fc",
  "front": {
    "kind": "statement",
    "msc": [
      "05C21",
      "90B10",
      "90C35"
    ],
    "name": "Max-flow min-cut theorem",
    "role": "theorem",
    "same_as": {
      "wikidata": "Q608294",
      "wikipedia": "Max-flow min-cut theorem"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Max-flow_min-cut_theorem"
      }
    ],
    "tag": "4HMR4KQ01T",
    "uses": [
      "0R5HTV7REV"
    ]
  },
  "kind": "statement",
  "link": "https://math2.tamnd.com/node/4HMR4KQ01T/",
  "links": [
    {
      "field": "uses",
      "target": "0R5HTV7REV"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/4HMR4KQ01T.md",
  "msc": [
    "05C21",
    "90B10",
    "90C35"
  ],
  "name": "Max-flow min-cut theorem",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/4HM/4HMR4KQ01T.md",
  "status": null,
  "tag": "4HMR4KQ01T",
  "uri": "m2://4HMR4KQ01T",
  "url": "https://math2.tamnd.com/wiki/max-flow-min-cut-theorem/",
  "writing": {
    "tag": "4HMR4KQ01T",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
