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

Slides:



Advertisements
Similar presentations
Maximum flow Main goals of the lecture:
Advertisements

Min-Max Relations, Hall’s Theorem, and Matching-Algorithms Graphs & Algorithms Lecture 5 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Bipartite Matching, Extremal Problems, Matrix Tree Theorem.
Totally Unimodular Matrices
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 8 Network models.
Combinatorial Algorithms for Market Equilibria Vijay V. Vazirani.
Algorithms and Networks
Breadth-First Search of Graphs Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms.
Piyush Kumar (Lecture 6: MaxFlow MinCut Applications)
Midterm <  70 3.
Chapter 10: Iterative Improvement The Maximum Flow Problem The Design and Analysis of Algorithms.
Finding a Maximum Matching in Non-Bipartite Graphs Alicia Thilani Singham Goodwin /22/2013.
Yangjun Chen 1 Bipartite Graphs What is a bipartite graph? Properties of bipartite graphs Matching and maximum matching - alternative paths - augmenting.
Data Transmission and Base Station Placement for Optimizing Network Lifetime. E. Arkin, V. Polishchuk, A. Efrat, S. Ramasubramanian,V. PolishchukA. EfratS.
Matchings Lecture 3: Jan 18. Bipartite matchings revisited Greedy method doesn’t work (add an edge with both endpoints free)
1 Bipartite Matching Lecture 3: Jan Bipartite Matching A graph is bipartite if its vertex set can be partitioned into two subsets A and B so that.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
The max-flow problem Defined on a capacitated directed graph G=(V,E,c). The capacities are non-negative G st 11.
Minimum Cost Flow Lecture 5: Jan 25. Problems Recap Bipartite matchings General matchings Maximum flows Stable matchings Shortest paths Minimum spanning.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
CSE, IIT KGP Matchings and Factors. CSE, IIT KGP Matchings A matching of size k in a graph G is a set of k pairwise disjoint edges.A matching of size.
Analysis of Algorithms Uri Zwick April 2014 Maximum matching 1 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA.
Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science University of Glasgow David Abraham Computer Science Department.
Advanced Algorithms Piyush Kumar (Lecture 4: MaxFlow MinCut Applications) Welcome to COT5405.
Lecture 16 Maximum Matching. Incremental Method Transform from a feasible solution to another feasible solution to increase (or decrease) the value of.
Theory of Computing Lecture 13 MAS 714 Hartmut Klauck.
Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science University of Glasgow David Abraham Computer Science Department.
CS 473Lecture ?1 CS473-Algorithms I Lecture ? Network Flows Finding Max Flow.
All Pair Shortest Path IOI/ACM ICPC Training June 2004.
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
Matching Algorithms and Networks. Algorithms and Networks: Matching2 This lecture Matching: problem statement and applications Bipartite matching Matching.
Algorithmic Game Theory and Internet Computing Vijay V. Vazirani Georgia Tech Primal-Dual Algorithms for Rational Convex Programs II: Dealing with Infeasibility.
Bipartite Matching. Unweighted Bipartite Matching.
1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate.
2) Combinatorial Algorithms for Traditional Market Models Vijay V. Vazirani.
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
Matching Algorithms and Networks. Algorithms and Networks: Matching2 This lecture Matching: problem statement and applications Bipartite matching Matching.
Network Flows Chun-Ta, Yu Graduate Institute Information Management Dept. National Taiwan University.
Graph Algorithms Maximum Flow - Best algorithms [Adapted from R.Solis-Oba]
Algorithm Design and Analysis (ADA)
Prof. Swarat Chaudhuri COMP 382: Reasoning about Algorithms Fall 2015.
Theory of Computing Lecture 12 MAS 714 Hartmut Klauck.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
Indian Institute of Technology Kharagpur PALLAB DASGUPTA Graph Theory: Matchings and Factors Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering,
CSC317 1 At the same time: Breadth-first search tree: If node v is discovered after u then edge uv is added to the tree. We say that u is a predecessor.
IOI/ACM ICPC Training 4 June 2005.
Analysis of Algorithms
Data Structures and Algorithms (AT70. 02) Comp. Sc. and Inf. Mgmt
Maximum Matching in the Online Batch-Arrival Model
Paths, Trees and Flowers
Bipartite Graphs What is a bipartite graph?
Algorithms and Networks
Maximum Flow - Best algorithms
Max Flow min Cut.
Edmunds-Karp Algorithm: Choosing Good Augmenting Paths
Various Graph Algorithms
The Taxi Scheduling Problem
Lecture 16 Maximum Matching
Instructor: Shengyu Zhang
Edmonds-Karp Algorithm
Analysis of Algorithms
R. Johnsonbaugh Discrete Mathematics 5th edition, 2001
Problem Solving 4.
Flow Networks and Bipartite Matching
Bipartite Graph 1. A graph G is bipartite if the node set V can be partitioned into two sets V1 and V2 in such a way that no nodes from the same set are.
Piyush Kumar (Lecture 6: MaxFlow MinCut Applications)
Dinitz's algorithm for finding a maximum flow in a network.
Maximum Bipartite Matching
Presentation transcript:

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

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

Matching in game theory and economics Gale & Shapley, 1962: Stable marriage Shapley & Shubik, 1971: Matching markets

Matching in game theory and economics Gale & Shapley, 1962: Stable marriage Shapley & Shubik, 1971: Matching markets Mehta, Saberi, Vazirani & Vazirani, 2005: Adwords market

U V

U V

U V

U V

U V

U V

U V

Maximum matching algorithm

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

Shortest augmenting paths

Disjoint. Therefore aug paths w.r.t. M. Maximal set. M

Shortest augmenting paths phase

Hopcroft & Karp, 1973:

Micali & Vazirani, 1980:

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.

U V

0 U

0 1 U V

0 2 1 U U V

U U V V Set of predecessors

U U U V V

U U U V V

U U U V V

U U U V V V 5

U U U V V V 5

U U U V V V 5

U U U V V V 5

U U U V V V 5

U U U V V V 5

U U U V V V 5

General Graphs

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)

Qualitative difference BFS honesty: Minimum length alternating paths in bipartite graphs are BFS honest.

Qualitative difference BFS honesty: Minimum length alternating paths in bipartite graphs are BFS honest. Not so in non-bipartite graphs!

Qualitative difference BFS honesty: Not so in non-bipartite graphs! Because shortest f to u path has v on it at opposite parity.

Central issue Need to find longer and longer alternating paths to v in order to find min alternating paths to other vertices.

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!

Saving grace Incredible structure of minimum length alternating paths. Will give a purely graph-theoretic definition of blossoms from this perspective.

Will mark predecessors

bridge base

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

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.

New algorithmic procedure: Double Depth First Search

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

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!

GOT MORE …

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!

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!

Let tenacity(v) = t. Consider the highest vertex of tenacity > t on each minlevel(v) and maxlevel(v) path.

Let tenacity(v) = t. Consider the highest vertex of tenacity > t on each minlevel(v) and maxlevel(v) path.

Let tenacity(v) = t. Consider the highest vertex of tenacity > t on each minlevel(v) and maxlevel(v) path.

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)

Blossom Let tenacity(b) > t.

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.

Main ideas in algorithm DDFS Precise synchronization of events

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

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

tenacity(bridge) = 13 Will do DDFS at search level 6.

After DDFS at search level 6.

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

Are we done?

Must show: Every vertex having tenacity 2i+1 lies in the support of a bridge of tenacity 2i+1

The agents that assign levels minlevel: props maxlevel: bridges

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!

Computing base*(v) Using set-union algorithm of Tarjan, Gabow & Tarjan, 1985: Linear time on RAM. Open: Path compression suffices (by charging edges of blossoms)

GOT MORE …

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

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!

Single thought?!