Bottleneck and Flow Capacity Analysis¶
Why It Matters¶
Network topology alone doesn't determine throughput - capacity limits matter. Two networks with identical topology but different edge capacities have radically different performance. Bottlenecks reveal which upgrades matter (expanding bottleneck capacity helps; expanding abundant capacity wastes resources) and which nodes are critical chokepoints. Missing bottlenecks leads to adding capacity where it doesn't help while ignoring actual constraints.
The Key Move¶
Model the system as a flow network with source(s), sink(s), and edge capacities. Calculate maximum flow from source to sink using max-flow algorithms. Identify minimum cut - edges carrying flow at full capacity. These are your bottlenecks. Ask: which single edge or node removal most reduces throughput? Where should capacity be added to increase flow? What's the theoretical maximum given current topology?
Classic Application¶
Internet traffic routing. Network packets flow through routers with limited bandwidth. Bottleneck analysis identifies which links are saturated (minimum cut) and where adding capacity increases throughput. Content delivery networks use flow analysis to optimize cache placement and routing paths, minimizing bottlenecks between popular content and users.
Surprising Application¶
Learning bottlenecks in skill development. Model prerequisite skills as a network where edges represent "depends on" and capacity represents how much learning can proceed before hitting mastery requirements. Bottlenecks are skills that constrain learning many downstream skills - calculus is often a bottleneck for physics/engineering because many topics depend on it. Strategy: identify bottleneck skills and overinvest in mastery there rather than spreading effort evenly.
Failure Modes¶
Assuming static capacity - real networks have time-varying capacity (bandwidth depends on congestion, human capacity depends on attention/energy). Ignoring routing complexity - max-flow assumes optimal routing; real systems may route suboptimally. Treating bottlenecks as fixed - expanding a bottleneck shifts constraints elsewhere; new bottlenecks emerge. Confusing average and peak - bottlenecks for average load differ from bottlenecks for peak load.
Go Deeper¶
Newman, "Networks: An Introduction" Chapter 6 (Network Flows); West, "Introduction to Graph Theory" Chapter 8 (Network Flows and Connectivity)