graph algorithms
play

Graph Algorithms Maximum Flow Applications Algorithm Theory WS - PowerPoint PPT Presentation

Chapter 5 Graph Algorithms Maximum Flow Applications Algorithm Theory WS 2012/13 Fabian Kuhn Maximum Flow Applications Maximum flow has many applications Reducing a problem to a max flow problem can even be seen as an important algorithmic


  1. Chapter 5 Graph Algorithms Maximum Flow Applications Algorithm Theory WS 2012/13 Fabian Kuhn

  2. Maximum Flow Applications • Maximum flow has many applications • Reducing a problem to a max flow problem can even be seen as an important algorithmic technique • Examples: – related network flow problems – computation of small cuts – computation of matchings – computing disjoint paths – scheduling problems – assignment problems with some side constraints – … Algorithm Theory, WS 2012/13 Fabian Kuhn 2

  3. Undirected Edges and Vertex Capacities Undirected Edges: • Undirected edge ��, �� : add edges �, � and ��, �� to network Vertex Capacities: • Not only edge, but also (or only) nodes have capacities • Capacity � � of node � ∉ ��, �� : � �� � � � ��� � � � � • Replace node � by edge � � � �� �� , � ��� � : � �� �� ��� ��� Algorithm Theory, WS 2012/13 Fabian Kuhn 3

  4. Minimum ‐ Cut Given: undirected graph � � ��, �� , nodes �, � ∈ � � ‐ � cut: Partition ��, �� of � such that � ∈ � , � ∈ � Size of cut ��, �� : number of edges crossing the cut Objective: find � ‐ � cut of minimum size Algorithm Theory, WS 2012/13 Fabian Kuhn 4

  5. Edge Connectivity Definition: A graph � � �, � is � ‐ edge connected for an integer � � 1 if the graph � � � ��, � ∖ �� is connected for every edge set � ⊆ �, � � � � 1. Goal: Compute edge connectivity ���� of � (and edge set � of size ���� that divides � into � 2 parts) • minimum set � is a minimum � ‐ � cut for some �, � ∈ � – Actually for all �, � in different components of � � � ��, � ∖ �� • Possible algorithm: fix � and find min � ‐ � cut for all � � � Algorithm Theory, WS 2012/13 Fabian Kuhn 5

  6. Minimum ‐ Vertex ‐ Cut Given: undirected graph � � ��, �� , nodes �, � ∈ � � ‐ � vertex cut: Set � ⊂ � such that �, � ∉ � and � and � are in different components of the sub ‐ graph ��� ∖ �� induced by � ∖ � Size of vertex cut: |�| Objective: find � ‐ � vertex ‐ cut of minimum size • Replace undirected edge ��, �� by ��, �� and ��, �� • Compute max � ‐ � flow for edge capacities ∞ and node capacities � � � 1 for � � �, � • Replace each node � by � �� and � ��� : • Min edge cut corresponds to min vertex cut in � Algorithm Theory, WS 2012/13 Fabian Kuhn 6

  7. Vertex Connectivity Definition: A graph � � �, � is � ‐ vertex connected for an integer � � 1 if the sub ‐ graph ��� ∖ �� induced by � ∖ � is connected for every edge set � ⊆ �, � � � � 1. Goal: Compute vertex connectivity ���� of � (and node set � of size ���� that divides � into � 2 parts) • Compute minimum � ‐ � vertex cut for fixed � and all � � � Algorithm Theory, WS 2012/13 Fabian Kuhn 7

  8. Edge ‐ Disjoint Paths Given: Graph � � ��, �� with nodes �, � ∈ � Goal: Find as many edge ‐ disjoint � ‐ � paths as possible Solution: • Find max � ‐ � flow in � with edge capacities � � � 1 for all � ∈ � Flow � induces � edge ‐ disjoint paths: • Integral capacities  can compute integral max flow � • Get � edge ‐ disjoint paths by greedily picking them • Correctness follows from flow conservation � �� � � � ��� ��� Algorithm Theory, WS 2012/13 Fabian Kuhn 8

  9. Edge ‐ Disjoint Paths Flow � induces � edge ‐ disjoint paths: • Get � edge ‐ disjoint paths by greedily picking them 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Algorithm Theory, WS 2012/13 Fabian Kuhn 9

  10. Edge ‐ Disjoint Paths Flow � induces � edge ‐ disjoint paths: • Get � edge ‐ disjoint paths by greedily picking them � � � � 1 � 1 1 1 � 1 1 � � � � � Algorithm Theory, WS 2012/13 Fabian Kuhn 10

  11. Edge ‐ Disjoint Paths Flow � induces � edge ‐ disjoint paths: • Decompose � into one � ‐ � path and a flow of value � � 1 � � 1 � 1 1 1 1 1 � � � � Algorithm Theory, WS 2012/13 Fabian Kuhn 11

  12. Vertex ‐ Disjoint Paths Given: Graph � � ��, �� with nodes �, � ∈ � Goal: Find as many internally vertex ‐ disjoint � ‐ � paths as possible Solution: • Find max � ‐ � flow in � with node capacities � � � 1 for all � ∈ � Flow � induces � vertex ‐ disjoint paths: • Integral capacities  can compute integral max flow � • Get � vertex ‐ disjoint paths by greedily picking them • Correctness follows from flow conservation � �� � � � ��� ��� Algorithm Theory, WS 2012/13 Fabian Kuhn 12

  13. Menger’s Theorem Theorem: (Menger’s theorem, edge version) For every graph � � ��, �� with nodes �, � ∈ � , the minimum number of edges that need to be removed to disconnect � and � equals the maximum number of pairwise edge ‐ disjoint paths from � to � . Theorem: (Menger’s theorem, node version) For every graph � � ��, �� with nodes �, � ∈ � , the minimum number of nodes � � �, � that need to be removed to disconnect � and � equals the maximum number of pairwise internally vertex ‐ disjoint paths from � to � • Both versions can be seen as a special case of the max flow min cut theorem Algorithm Theory, WS 2012/13 Fabian Kuhn 13

  14. Baseball Elimination Against = � �� Team Wins Losses To Play � � � ℓ � � � NY Balt. T. Bay Tor. Bost. New York 81 70 11 ‐ 2 4 2 3 Baltimore 79 77 6 2 ‐ 2 1 1 Tampa Bay 78 76 8 4 2 ‐ 1 1 Toronto 76 80 6 2 1 1 ‐ 2 Boston 72 83 7 3 1 1 2 ‐ • Only wins/losses possible (no ties), winner: team with most wins • Which teams can still win (as least as many wins as top team)? • Boston is eliminated (cannot win): – Boston can get at most 79 wins, New York already has 81 wins • If for some �, � : � � � � � � � �  team � is eliminated • Sufficient condition, but not a necessary one! Algorithm Theory, WS 2012/13 Fabian Kuhn 14

  15. Baseball Elimination Against = � �� Team Wins Losses To Play � � � ℓ � � � NY Balt. T. Bay Tor. Bost. New York 81 70 11 ‐ 2 4 2 3 Baltimore 79 77 6 2 ‐ 2 1 1 Tampa Bay 78 76 8 4 2 ‐ 1 1 Toronto 76 80 6 2 1 1 ‐ 2 Boston 72 83 7 3 1 1 2 ‐ • Can Toronto still finish first? • Toronto can get 82 � 81 wins, but: NY and Tampa have to play 4 more times against each other  if NY wins one, it gets 82 wins, otherwise, Tampa has 82 wins • Hence: Toronto cannot finish first • How about the others? How can we solve this in general? Algorithm Theory, WS 2012/13 Fabian Kuhn 15

  16. Max Flow Formulation • Can team 3 finish with most wins? 1 2 1 ‐ 2 1 1 ‐ 4 1 4 2 1 5 1 ‐ 5 2 4 2 ‐ 4 4 2 5 2 ‐ 5 5 4 5 4 ‐ 5 Remaining number team Number of wins team � can of games between have to not beat team � nodes game the 2 teams nodes • Team 3 can finish first iff all source ‐ game edges are saturated Algorithm Theory, WS 2012/13 Fabian Kuhn 16

  17. Reason for Elimination AL East: Aug 30, 1996 Against = � �� Team Wins Losses To Play � � � ℓ � � � NY Balt. Bost. Tor. Detr. New York 75 59 28 ‐ 3 8 7 3 Baltimore 71 63 28 3 ‐ 2 7 4 Boston 69 66 27 8 2 ‐ 0 0 Toronto 63 72 27 7 7 0 ‐ 0 Detroit 49 86 27 3 4 0 0 ‐ • Detroit could finish with 49 � 27 � 76 wins • Consider � � �NY, Bal, Bos, Tor� – Have together already won � � � 278 games – Must together win at least � � � 27 more games ������ • On average, teams in � win � 76.25 games � Algorithm Theory, WS 2012/13 Fabian Kuhn 17

  18. Reason for Elimination Certificate of elimination: � ⊆ �, � � ≔ � � � , � � ≔ � � �,� �∈� �,�∈� #wins of #remaining games nodes in � among nodes in � Team � ∈ � is eliminated by � if � � � ���� � � � � � � . |�| Algorithm Theory, WS 2012/13 Fabian Kuhn 18

  19. Reason for Elimination Theorem: Team � is eliminated if and only if there exists a subset � ⊆ � of the teams � such that � is eliminated by � . Proof Idea: • Minimum cut gives a certificate… • If � is eliminated, max flow solution does not saturate all outgoing edges of the source. • Team nodes of unsaturated source ‐ game edges are saturated • Source side of min cut contains all teams of saturated team ‐ dest. edges of unsaturated source ‐ game edges • Set of team nodes in source ‐ side of min cut give a certificate � Algorithm Theory, WS 2012/13 Fabian Kuhn 19

  20. Circulations with Demands Given: Directed network with positive edge capacities Sources & Sinks: Instead of one source and one destination, several sources that generate flow and several sinks that absorb flow. Supply & Demand: sources have supply values, sinks demand values Goal: Compute a flow such that source supplies and sink demands are exactly satisfied • The circulation problem is a feasibility rather than a maximization problem Algorithm Theory, WS 2012/13 Fabian Kuhn 20

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend