Presentation is loading. Please wait.

Presentation is loading. Please wait.

Algorithmic Game Theory and Internet Computing Vijay V. Vazirani Georgia Tech Dispelling an Old Myth about an Ancient Algorithm.

Similar presentations


Presentation on theme: "Algorithmic Game Theory and Internet Computing Vijay V. Vazirani Georgia Tech Dispelling an Old Myth about an Ancient Algorithm."— Presentation transcript:

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

7

8 U V

9 U V

10 U V

11 U V

12 U V

13

14

15

16

17 Maximum matching algorithm

18 O(n) iterations, O(m)/iteration, so O(mn) algorithm.

19 Shortest augmenting paths

20

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:

25

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

43

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.

48

49

50

51

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.

55

56

57

58 Will mark predecessors

59

60

61

62

63 bridge base

64

65

66

67 WANT Find “blossom” by identifying “base” i.e., highest bottleneck w.r.t. predecessors.

68

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”)

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

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!

91

92

93

94

95

96 GOT MORE …

97

98

99

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!

102

103

104

105

106

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.

112

113

114

115

116

117

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.

119

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

122

123

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

125

126

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

132

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!

135

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)

137

138

139

140 GOT MORE …

141

142

143 Q: How will next path be found in “half-eaten” blossom?

144

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?!

147

148


Download ppt "Algorithmic Game Theory and Internet Computing Vijay V. Vazirani Georgia Tech Dispelling an Old Myth about an Ancient Algorithm."

Similar presentations


Ads by Google