Generated by GPT-5-mini| Push–relabel algorithm | |
|---|---|
| Name | Push–relabel algorithm |
| Inventors | Andrew V. Goldberg; Robert E. Tarjan |
| Year | 1988 |
| Field | Graph theory; Combinatorial optimization |
| Input | Flow network |
| Output | Maximum flow |
| Complexity | O(V^2 * sqrt(E)) (highest practical bounds vary) |
Push–relabel algorithm is a combinatorial method for computing maximum flows in capacitated network flow problems, developed to improve practical performance on large graphs and to provide alternative theoretical bounds to augmenting path methods such as Ford–Fulkerson algorithm and Edmonds–Karp algorithm. It introduced the concepts of preflow and vertex labeling that enabled local operations—push and relabel—that do not rely on augmenting paths, drawing attention from researchers working on Stanford University and Princeton University collaborations. The method influenced later developments in graph theory, computer science algorithm design, and industrial applications associated with institutions like Bell Labs and Microsoft Research.
The algorithm emerged from work by Andrew V. Goldberg and Robert E. Tarjan, who presented it in the late 1980s to address limitations seen with predecessors such as the Ford–Fulkerson algorithm, Edmonds–Karp algorithm, and the Dinic's algorithm family. Influences include research trajectories at Princeton University and Massachusetts Institute of Technology, and interactions with complexity studies exemplified by researchers at Bell Labs and IBM Research. Motivated by applications in telecommunications, transportation planning, and image segmentation, the method provided a framework reconciling theoretical worst-case bounds with efficient practical implementations adopted in software from organizations like Google and Facebook.
A flow network is a directed graph with a distinguished source and sink and nonnegative edge capacities; the algorithm operates on a preflow, which allows intermediate excess at vertices. Key definitions include residual graph, capacity, excess, and height (label). These notions relate implicitly to classical work by figures and institutions such as Leonard Euler in early graph studies, algorithmic formalism from Donald Knuth's corpus, and complexity perspectives associated with Richard Karp and Judea Pearl. The height function enforces a valid labeling that directs pushes toward the sink, echoing constraints familiar from studies at Carnegie Mellon University and University of California, Berkeley.
The algorithm initializes by saturating edges out of the source to create a preflow and assigns an initial height to the source equal to |V|. It repeatedly performs local operations: push moves send flow along admissible residual arcs from a vertex with positive excess, while relabel increases a vertex’s height when no admissible arc exists. Active vertex selection strategies—such as highest-label, FIFO, and wave—affect performance and were refined through implementations at Bellcore and AT&T Labs. Data structures like adjacency lists and gap heuristics relate to engineering choices used in projects at Microsoft Research and Google Research.
Correctness follows from maintaining flow conservation constraints except at source and sink and from invariant properties of the height function that prevent cycles of admissible edges; when no active vertex remains, the preflow is a feasible maximum flow by a cut-saturation argument reminiscent of the max-flow min-cut theorem developed in the broader corpus of John von Neumann and László Lovász. Time complexity analyses by Goldberg and Tarjan and later researchers at Stanford University and Cornell University produced bounds such as O(V^2 * sqrt(E)) for specialized implementations; practical experiments from teams at MIT and ETH Zurich demonstrated that heuristics often yield much faster runtimes on real-world instances used by Siemens and NVIDIA.
Numerous variants adapt the base method: the highest-label selection, gap relabeling, global relabeling, and dynamic trees integration. Global relabeling periodically recomputes shortest-path distances in the residual graph using a backward breadth-first search from the sink, an idea tied to techniques popularized in works from University of Illinois Urbana–Champaign and University of Washington. Dynamic tree structures from Sleator and Tarjan can reduce amortized costs in certain settings. Parallel and distributed variants were explored in collaborations linked to Lawrence Livermore National Laboratory and Argonne National Laboratory for use on high-performance computing systems.
The algorithm underpins solvers in areas including computer vision segmentation tasks used in pipelines at Adobe and Apple, bipartite matching and assignment in operations research practiced at McKinsey & Company and Bain & Company, and network optimization in routing systems developed by Cisco Systems and Huawei. Open-source implementations appear in libraries from Boost (C++ libraries), academic code repositories affiliated with University of Waterloo and EPFL, and industrial toolkits at Amazon Web Services. Benchmarks comparing implementations were presented at conferences like ACM Symposium on Theory of Computing, IEEE Symposium on Foundations of Computer Science, and International Conference on Machine Learning.
Category:Graph algorithms