Edmonds–Karp algorithm 2026-10-06
This maximum flow algorithm repeatedly augments along a shortest residual path found by Breadth-first search. Residual distances from the source never decrease. If the same arc becomes saturated again after being restored by a reverse augmentation, the distance to its tail has increased by at least two. Thus each arc is critical only times, yielding augmentations. Each search costs , so the total time is . Termination with no residual source-sink path supplies a max-flow min-cut theorem certificate.
Ford-Fulkerson algorithm Created 2026-09-24 Updated 2026-09-29
The Ford-Fulkerson algorithm repeatedly augments a feasible flow along an augmenting path. When no such path remains, the source-reachable vertices in the residual network define a cut of capacity equal to the flow value, proving optimality by the max-flow min-cut theorem.
Maximum flow problem Created 2026-10-05 Updated 2026-10-06
The maximum flow problem maximises the strength of a flow from a source to a sink subject to flow conservation and flow network edge capacities. The max-flow min-cut theorem identifies the optimum with the least capacity of a cut of a flow network. A feasible flow and a cut of a flow network of equal value certify optimality without requiring a particular choice of augmenting paths.
Maximum flow with vertex capacities 2026-10-06
The maximum flow problem with internal vertex capacities reduces to the usual edge-capacitated problem by splitting each constrained vertex into input and output copies. The connecting edge carries its entire through-flow. Feasible flows correspond under this construction, preserving the source-to-sink value; the Ford-Fulkerson algorithm and max-flow min-cut theorem therefore apply to the transformed network.
Measurable Hall theorem Created 2026-10-05 Updated 2026-10-06
For finitely many Lebesgue measurable sets and nonnegative demands , pairwise disjoint measurable subsets with exist exactly when for every index subset . Necessity is additivity and monotonicity of Lebesgue measure. For sufficiency, partition the set union into membership cells , send flow from a source through demand vertices to cells with , then to a sink. Source capacities are , cell capacities are , and intermediate capacities are . Every cut of a flow network has capacity at least by the assumed inequalities. The max-flow min-cut theorem provides the allocations, and divisibility of Lebesgue measure turns each cell allocation into disjoint pieces. If , all can simply be empty.
Minimum cut 2026-10-07
A cut of a flow network of minimum cut capacity among cuts separating the prescribed source and sink. The max-flow min-cut theorem identifies this capacity with the maximum possible flow value.
Outdegree orientation criterion 2026-10-07
A finite undirected graph can be oriented with outdegree at least an integer at every vertex if and only if every vertex subset is incident to at least distinct edges. The max-flow min-cut theorem and integral max-flow theorem prove sufficiency by assigning distinct edges to vertices through an incidence flow network; each assigned edge is oriented away from that vertex. Necessity follows by counting outgoing edges from .
Past exam of the mathematics course of the University of Cambridge 2002 ib Paper 4 5H Solution Created 2026-09-24 Updated 2026-09-24
Past exam of the mathematics course of the University of Cambridge 2004 ib Paper 4 10G Solution Created 2026-09-24 Updated 2026-09-24
Past exam of the mathematics course of the University of Cambridge 2005 ib Paper 4 20D Solution Created 2026-09-24 Updated 2026-09-24
Past exam of the mathematics course of the University of Cambridge 2007 ib Paper 1 8C Solution Created 2026-09-24 Updated 2026-09-24
Past exam of the mathematics course of the University of Cambridge 2013 ib Paper 2 9H Solution Created 2026-09-24 Updated 2026-10-07
An cut of a flow network partitions a flow network into , with source and sink . Its cut capacity is the sum of capacities of arcs directed from to ; a minimum cut minimizes this sum.
Use the suggested nodes. Give capacity , each capacity , and each capacity . By the max-flow min-cut theorem, a flow of value exists once every cut capacity is at least .
Consider a cut of a flow network containing no crossing arc of capacity , and let be the intersections on the sink side. Every street incident to must also be on that side, or its arc to an endpoint in would cross the cut of a flow network. Hence at least source-to-street arcs cross, as do the intersection-to-sink arcs from the other intersections. Therefore its cut capacity is at leastA cut of a flow network crossing a capacity- arc has still larger capacity. The cut of a flow network just before the sink has capacity , proving the maximum flow value is exactly .
The integral max-flow theorem supplies an integral maximum flow. Every intersection sends units to the sink; each street can supply at most one unit, assigned to one endpoint. Orient each assigned street away from its assigned endpoint. Orient unassigned streets arbitrarily. Then each vertex has at least outgoing streets. An Ford-Fulkerson algorithm with integer capacities constructs this flow and therefore the street directions. Notice that the condition also is necessary: outgoing streets from vertices in are distinct edges incident to , so . This is an outdegree orientation criterion.
Past exam of the mathematics course of the University of Cambridge 2013 iii Paper 38 4 b Solution Created 2026-10-03 Updated 2026-10-07
Let the bipartite graph have parts . Add a source , a sink , capacity-one edges for and for , and capacity on each original edge directed . Use the max-flow min-cut theorem: maximum flow value equals minimum cut capacity. Also use Integrality of the Ford-Fulkerson algorithm: integral capacities admit an integral maximum flow, found by integral augmenting paths.
An integral flow selects a matching in a graph, because each left and right vertex carries at most one unit. Conversely every matching gives a unit flow along its selected paths. Hence maximum flow value equals maximum matching cardinality.
A minimum cut has capacity at most , whereas crossing even one original edge would cost . For its source side , no edge of the original graph runs from to . Thereforeis a vertex cover, and its cardinality is exactly the cut capacity. Conversely, given any cover , use . No original edge crosses this cut, because both its endpoints would otherwise be outside the cover; its capacity is . Thus minimum cut capacity equals minimum cover size, proving König's theorem for bipartite matching:For the algorithm, repeatedly find augmenting paths in the residual network, then take to be the vertices reachable from . Each integral augmentation increases flow by at least one; the total value is at most . Each reachability search takes time, so this procedure takes time. The network uses only polynomially many edges and integer capacities, yielding the requested polynomial-time algorithm and an explicit cover.
Past exam of the mathematics course of the University of Cambridge 2014 ib Paper 4 20H Solution Created 2026-09-24 Updated 2026-10-06
On a directed flow network with capacities , choose flows satisfying inflow equals outflow at every vertex except source and sink , and maximize the net source outflow . For a cut of a flow network containing but not , its capacity is . The max-flow min-cut theorem statesEvery feasible flow is bounded above by every cut capacity; equality for a feasible flow and a cut proves optimality.
The Ford-Fulkerson algorithm starts with a feasible flow, for instance zero. A forward edge has residual capacity and its reverse edge has residual capacity . Find a source-to-sink augmenting path in this residual network, and increase the flow along it by the minimum residual capacity on the path, reducing original-edge flows when reverse edges are used. Repeat until no such path exists. The vertices reachable from the source then define a saturated minimum cut of a flow network. With integer capacities and zero initial flow, all residual capacities and augmentations are integers. Each augmentation increases by at least one, while is bounded by the finite sum of source capacities, so termination takes finitely many steps.
For the original roads, a feasible maximizing flow is given below; every table entry is flow/capacity in vehicles per minute.
| Road | Before storm | After storm |
|---|---|---|
All road capacities are respected, and direct summation verifies flow conservation at each roundabout. The original flow value is . The cut separating from every other vertex consists of its two incoming roads and has capacity . Therefore the original maximum is 90 vehicles per minute.
To impose a vertex capacity, split into and . Send its incoming roads to and its outgoing roads from , and add a directed internal edge of capacity . Every unit passing through the roundabout must traverse this internal edge. This gives the standard maximum flow with vertex capacities construction.
Starting from zero, apply the Ford-Fulkerson algorithm with the following augmenting paths in order. First use : its residual capacities are , so augment by . Next use : the residual capacities are , so augment by . Finally use : the residual capacities at this stage are , so augment by . No reverse edge is needed in this valid run. The resulting original-road flows are precisely the after-storm column above, and the internal edge carries .
For termination and optimality, take the source-side set . Its outgoing edges are , and , of capacities . They are all saturated, and no positive-flow original edge enters this set. Consequently no residual path leaves the set, and its cut capacity equals the constructed flow value. The new maximum is therefore
Past exam of the mathematics course of the University of Cambridge 2014 iii Paper 37 3 a Solution Created 2026-10-03 Updated 2026-10-06
Use safety for failure counts within the available components, equivalently tolerance of up to that many failures. An exact-count condition with more failures than components would otherwise be vacuous. Assume the client is not itself a server; that exceptional case needs no network connection.
Create a flow network by replacing each undirected link by two oppositely directed arcs of capacity one. Add a new sink and arcs from every server to , each of capacity . Find a maximum flow from to with the Edmonds–Karp algorithm. By the max-flow min-cut theorem, its value is the minimum cut capacity. A cut using a server-to-sink arc costs at least , whereas cutting all original links costs at most , so a minimum cut uses none of the added arcs.
A source-side cut therefore contains no server. Each original undirected edge crossing it contributes exactly one of its two arcs, so its capacity is the number of original links separating the client from every server. Conversely, if a set of failed links disconnects all servers, the vertices still reachable from define a cut contained in that failed set. Thus is exactly the minimum number of links whose failure can disconnect the client from all servers. This is server connectivity under component failures.
Deleting fewer than links leaves some connection, while deleting a minimum cut destroys every connection. ThereforeIf , the network is already disconnected and has no nonnegative safe failure count. The transformed graph has vertices and arcs. The Edmonds–Karp algorithm runs in steps, so both the construction and computation are polynomial in the original graph size.
Past exam of the mathematics course of the University of Cambridge 2014 iii Paper 37 3 b Solution Created 2026-10-03 Updated 2026-10-06
Use vertex splitting to encode node failures as well as link failures. Replace each vertex by and an internal arc . Give that arc capacity one for an intermediary node, and capacity for the client and servers. Replace an undirected link by arcs and , each of capacity one. Connect server outputs to a common sink with capacity and take as source.
A minimum cut avoids capacity- arcs because failure of all original links provides a cheaper separating set. We can normalize its source side so that being on that side implies is also there: moving to that side cannot increase the cut capacity, since its sole outgoing arc leads to . In such a cut, at most one direction of any original link crosses. Every unit internal arc crossing corresponds to failing its intermediary node; every unit link arc corresponds to failing that link. Their failures disconnect all servers, so the cut capacity is the cost of a real failure set.
Conversely remove the internal arcs of failed nodes and both arcs of failed links. The reachable-side cut contains only arcs corresponding to those failures, with at most one crossing orientation per failed link; its capacity is at most their number. The max-flow min-cut theorem thus identifies the minimum mixed failure count exactly. HenceThe split graph has vertices and arcs, so the same Edmonds–Karp algorithm gives a polynomial-time decision procedure.
