Download presentation
Presentation is loading. Please wait.
Published byBennett Price Modified over 9 years ago
1
Algorithmic Game Theory and Internet Computing Vijay V. Vazirani Georgia Tech Dispelling an Old Myth about an Ancient Algorithm
2
Central to the Theory of Algorithms Kuhn, 1955: Primal-dual paradigm Edmonds, 1965: Definition of P Valiant, 1979: Definition of #P Jerrum, Valiant & Vazirani, 1986: Equivalance of random generation and approximate counting
3
Matching in game theory and economics Gale & Shapley, 1962: Stable marriage Shapley & Shubik, 1971: Matching markets
4
Matching in game theory and economics Gale & Shapley, 1962: Stable marriage Shapley & Shubik, 1971: Matching markets Mehta, Saberi, Vazirani & Vazirani, 2005: Adwords market
5
U V
6
U V
8
U V
9
U V
10
U V
11
U V
12
U V
17
Maximum matching algorithm
18
O(n) iterations, O(m)/iteration, so O(mn) algorithm.
19
Shortest augmenting paths
21
Disjoint. Therefore aug paths w.r.t. M. Maximal set. M
22
Shortest augmenting paths phase
23
Hopcroft & Karp, 1973:
24
Micali & Vazirani, 1980:
26
In G =(U, V, E) w.r.t. current matching M define level(v): length of shortest alternating path from an unmatched U vertex to v. Find, via an alternating BFS, starting from all unmatched vertices in U. At search level i: level i vertices find level i+1 vertices.
27
U V
28
0 U
29
0 1 U V
30
0 2 1 U U V
31
0 3 2 1 U U V V Set of predecessors
32
0 4 3 2 1 U U U V V
33
0 4 3 2 1 U U U V V
34
0 4 3 2 1 U U U V V
35
0 4 3 2 1 U U U V V V 5
36
0 4 3 2 1 U U U V V V 5
37
0 4 3 2 1 U U U V V V 5
38
0 4 3 2 1 U U U V V V 5
39
0 4 3 2 1 U U U V V V 5
40
0 4 3 2 1 U U U V V V 5
41
0 4 3 2 1 U U U V V V 5
42
General Graphs
44
G =(V, E). W.r.t. matching M define: evenlevel(v): length of min even alternating path from an unmatched vertex to v. oddlevel(v): length of min odd alternating path from an unmatched vertex to v. minlevel(v): smaller of e(v) and o(v) maxlevel(v): larger of e(v) and o(v)
45
Qualitative difference BFS honesty: Minimum length alternating paths in bipartite graphs are BFS honest.
46
Qualitative difference BFS honesty: Minimum length alternating paths in bipartite graphs are BFS honest. Not so in non-bipartite graphs!
47
Qualitative difference BFS honesty: Not so in non-bipartite graphs! Because shortest f to u path has v on it at opposite parity.
52
Central issue Need to find longer and longer alternating paths to v in order to find min alternating paths to other vertices.
53
Central issue Need to find longer and longer alternating paths to v in order to find min alternating paths to other vertices. Should require exponential time!
54
Saving grace Incredible structure of minimum length alternating paths. Will give a purely graph-theoretic definition of blossoms from this perspective.
58
Will mark predecessors
63
bridge base
67
WANT Find “blossom” by identifying “base” i.e., highest bottleneck w.r.t. predecessors.
69
WANT Find “blossom” by identifying “base” i.e., highest bottleneck w.r.t. predecessors. If a nested blossom is encountered on the way, should skip to its base.
70
New algorithmic procedure: Double Depth First Search
71
In a layered graph, assume bridge (a,b) a and b: special vertices on highest layer (layers correspond to minlevels) Edges can skip layers (nested blossoms) Accomplish WANT. In time: O(no. of edges above “base”)
90
WANT Find “blossom” by identifying “base” i.e., highest bottleneck w.r.t. predecessors. If a nested blossom is encountered on the way, should skip to its base. If no bottleneck, then reach 2 unmatched vertices – min aug path found!
96
GOT MORE …
100
WANT Find “blossom” by identifying “base” i.e., highest bottleneck w.r.t. predecessors. If a nested blossom encountered on the way, should skip to its base. If no bottleneck, then reach 2 unmatched vertices – min aug path found!
101
WANT Find “blossom” by identifying “base” i.e., highest bottleneck w.r.t. predecessors. If a nested blossom encountered on the way, should skip to its base – mark blossom so this can be done efficiently. If no bottleneck, then reach 2 unmatched vertices – min aug path found!
107
Let tenacity(v) = t. Consider the highest vertex of tenacity > t on each minlevel(v) and maxlevel(v) path.
108
Let tenacity(v) = t. Consider the highest vertex of tenacity > t on each minlevel(v) and maxlevel(v) path.
109
Let tenacity(v) = t. Consider the highest vertex of tenacity > t on each minlevel(v) and maxlevel(v) path.
110
The base of a vertex Theorem: Let v be a vertex of tenacity t. Consider the highest vertex of tenacity > t on each minlevel(v) and maxlevel(v) path. There is a ! such vertex. Denoted: base(v)
111
Blossom Let tenacity(b) > t.
118
Support of a bridge Let (u, v) = bridge of tenacity t support(u, v) = vertices of tenacity t found in DDFS from (u, v). Bridge (u, v) is responsible for assigning maxlevels to these vertices.
120
Main ideas in algorithm DDFS Precise synchronization of events
121
At search level i: MIN: level i vertices reach, via alternating BFS, all vertices having minlevel of i+1. MAX: Run DDFS on each bridge of tenacity 2i+1 to find maxlevels of all vertices of tenacity 2i+1. Algorithm: intertwined BSF & DDFS
124
At search level i: MIN: level i vertices reach, via alternating BFS, all vertices having minlevel of i+1. MAX: Run DDFS on each bridge of tenacity 2i+1 to find maxlevels of all vertices of tenacity 2i+1. Algorithm: intertwined BSF & DDFS
127
tenacity(bridge) = 13 Will do DDFS at search level 6.
128
After DDFS at search level 6.
129
At search level i: MIN: level i vertices reach, via alternating BFS, all vertices having minlevel of i+1. MAX: Run DDFS on each bridge of tenacity 2i+1 to find maxlevels of all vertices of tenacity 2i+1. Algorithm: intertwined BSF & DDFS
130
Are we done?
131
Must show: Every vertex having tenacity 2i+1 lies in the support of a bridge of tenacity 2i+1
133
The agents that assign levels minlevel: props maxlevel: bridges
134
WANT Find “blossom” by identifying “base” i.e., highest bottleneck w.r.t. predecessors. If a nested blossom encountered on the way, should skip to its base – mark blossom so this can be done efficiently. If no bottleneck, then reach 2 unmatched vertices – min aug path found!
136
Computing base*(v) Using set-union algorithm of Tarjan, 1975. Gabow & Tarjan, 1985: Linear time on RAM. Open: Path compression suffices (by charging edges of blossoms)
140
GOT MORE …
143
Q: How will next path be found in “half-eaten” blossom?
145
Q: How will next path be found in “half-eaten” blossom? A: Since base*(v) is removed, no part of “half-eaten” blossom lies on a disjoint min augmenting path!
146
Single thought?!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.