Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.

Slides:



Advertisements
Similar presentations
Paths, Trees and Flowers
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.
C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Naveen Garg, CSE, IIT Delhi
Dynamic Graph Algorithms - I
Bipartite Matching, Extremal Problems, Matrix Tree Theorem.
Totally Unimodular Matrices
Ramsey Theory and Applications CS 594 Graph Theory Presented by: Kai Wang.
Breadth-First Search of Graphs Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms.
Graph Searching CSE 373 Data Structures Lecture 20.
Introduction to Algorithms 6.046J/18.401J/SMA5503
CS171 Introduction to Computer Science II Graphs Strike Back.
Piyush Kumar (Lecture 6: MaxFlow MinCut Applications)
1 Weighted Bipartite Matching Lecture 4: Jan Weighted Bipartite Matching Given a weighted bipartite graph, find a matching with maximum total weight.
Finding a Maximum Matching in Non-Bipartite Graphs Alicia Thilani Singham Goodwin /22/2013.
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)
Chapter 26 of CLSR Bipartite Matching By Dr. M. Sakalli, Sources: Levitin and many other CSE, Marmara Univ. May/2009.
Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints Maximal Matching: A maximal matching in a graph is a matching.
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,
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,
C&O 355 Mathematical Programming Fall 2010 Lecture 17 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A.
Algorithmic Game Theory and Internet Computing Vijay V. Vazirani Georgia Tech Dispelling an Old Myth about an Ancient Algorithm.
Hon Wai Leong, NUS (CS6234, Spring 2009) Page 1 Copyright © 2009 by Leong Hon Wai CS6234 Lecture 1 -- (14-Jan-09) “Introduction”  Combinatorial Optimization.
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.
Hungarian Algorithm Vida Movahedi Elderlab, York University June 2007.
MA/CSSE 473 Day 12 Insertion Sort quick review DFS, BFS Topological Sort.
Approximation Algorithms for NP-hard Combinatorial Problems Magnús M. Halldórsson Reykjavik University
C&O 355 Mathematical Programming Fall 2010 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A.
Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science University of Glasgow David Abraham Computer Science Department.
CSCE350 Algorithms and Data Structure Lecture 17 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
Lecture 16 Maximum Matching. Incremental Method Transform from a feasible solution to another feasible solution to increase (or decrease) the value of.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
1 Online algorithms Typically when we solve problems and design algorithms we assume that we know all the data a priori. However in many practical situations.
Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science University of Glasgow David Abraham Computer Science Department.
DATA MINING LECTURE 13 Pagerank, Absorbing Random Walks Coverage Problems.
CSCI 3160 Design and Analysis of Algorithms Chengyu Lin.
All Pair Shortest Path IOI/ACM ICPC Training June 2004.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
Billy Timlen Mentor: Imran Saleemi.  Goal: Have an optimal matching  Given: List of key-points in each image/frame, Matrix of weights between nodes.
Algorithms for Student-Project Allocation
Bipartite Matching. Unweighted Bipartite Matching.
1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate.
EMIS 8373: Integer Programming Combinatorial Relaxations and Duals Updated 8 February 2005.
1 Introduction to Algorithms L ECTURE 17 (Chap. 24) Shortest paths I 24.2 Single-source shortest paths 24.3 Dijkstra’s algorithm Edsger Wybe Dijkstra
Assignments and matchings Chapter 12 Presented by Yorai Geffen.
CS425: Algorithms for Web Scale Data Most of the slides are from the Mining of Massive Datasets book. These slides have been modified for CS425. The original.
Network Flows Chun-Ta, Yu Graduate Institute Information Management Dept. National Taiwan University.
Introduction to Graph Theory
ICS 353: Design and Analysis of Algorithms Backtracking King Fahd University of Petroleum & Minerals Information & Computer Science Department.
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
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,
Ariel Fuxman, Panayiotis Tsaparas, Kannan Achan, Rakesh Agrawal (2008) - Akanksha Saxena 1.
EMIS 8373: Integer Programming Combinatorial Optimization Problems updated 27 January 2005.
Chapter 10 Iterative Improvement
Paths, Trees and Flowers
Lecture 16 Bipartite Matching
Chapter 5. Optimal Matchings
Various Graph Algorithms
Lecture 16 Maximum Matching
Analysis of Algorithms
Problem Solving 4.
Bipartite Matching By Dr. M
Lecture 10: Graphs Graph Terminology Special Types of Graphs
Total running time is O(E lg E).
Presentation transcript:

Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex Pothen 11 JULY 2007 Graduate Student Tech Lunch ODU

Contents: Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms

A Real-life Problem National Resident Matching Program  Provides uniform date of appointment to positions in graduate medical education (GME) in the United States  Positions Offered*: 24,685 Applicants*: 34,975  Match Rate*: 91.9% (2007) *

A Stable Marriage? Residents prefer  R1: H1 > H2 > H3  R2: H2 > H3 > H4 Hospitals prefer  H1: R1 > R2 > R3  H2: R2 > R3 > R4 Ideally R1 is matched to H1 Marriage is unstable if:  Neither gets a preferred match.  Example: R1 is matched to H2 R1 R2 H1 H2

Another Real-life Problem Google Ad-Word Auction:

What is the Big Deal? Millions of Advertisers Billions of Key-words Probability of a “Click” Split-second responses (Online) Daily budgets Solution: Approximation !!

Contents: Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms

What is a Graph? A graph G=(V,E) is a triple:  A set of vertices V,  A set of edges E, and  A relationship that associates each edge with two vertices. Types: Bipartite and Nonbipartite R1 R2 H1 H2 V1 V3 V2

What is a Matching? Given a graph G=(V,E), a matching M is a subset of edges such that no two edges are incident on the same vertex. Types:  Maximum Cardinality,  Maximum Edge-weighted, and  Maximum Vertex-weighted R1 R2 H1 H2 V1 V3 V2

Classification

How to Search a Graph? Basic Data Structures:  A Pseudo-Queue No duplicates (move to the back of Q)  A Pseudo-Stack No duplicates (move to the top of S)

Breadth-first Search (Queue)

Depth-first Search (Stack)

How to Compute a Matching? Alternating (a & b) / Augmenting (c) paths: Symmetric difference:

How does this work? Lemma 1: Consider a graph G=(V,E), and a matching M. Let P be an augmenting path in G with respect to M. The symmetric difference, M’=M  P, is a matching of cardinality (|M|+1). Lemma 2: Suppose that in a graph G=(V,E) there exist no augmenting path starting from an unmatched vertex u  V with respect to a matching M. Let P be an augmenting path with endpoints two other unmatched vertices v and w, then there is no augmenting path from u with respect to M  P either. Lemma 3: A matching M in a graph G is a maximum matching if and only if there exist no M-augmenting paths in G.

How to Find Augmenting Paths? 1. Single-Source Single-Path

…Finding Augmenting Paths? 2. Multiple-Source Single-Path

…Finding Augmenting Paths? 3. Multiple-Source Multiple-Path

Nonbipartite Graphs? * Jack Edmonds * "Jack Edmonds has been one of the creators of the field of combinatorial optimization and polyhedral combinatorics. His 1965 paper 'Paths, Trees, and Flowers' was one of the first papers to suggest the possibility of establishing a mathematical theory of efficient combinatorial algorithms... " [from the award citation of the 1985 John von Neumann Theory Prize]. Reading: "A Glimpse of Heaven" taken from History of Mathematical Programming: A Collection of Personal Reminiscences.

“Eureka, you shrink!”

What is hard? BipartiteNonbipartite Cardinality Weighted

Contents: Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms

Basic Algorithm for MCM

Advanced Algorithm for MCM

A Survey of Algorithms for MCM

Contents: Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms

Primal-dual Formulation for MEM Intuition:

Primal-dual Formulation for MEM

An Algorithm for MEM

Power of Data Structures Update Variables Simple Vectors Binary Heaps Fibonacci Heaps Weighted Matching for Bipartite Graphs

A Survey of Algorithms for MEM

Contents: Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms

Why Vertex-weighted? The Sparsest-Basis Problem

How does this work?

Decomposition of MVM

Algorithm: Global-Optimal

Algorithm: Local-Optimal

Our Contributions:

Contents: Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms

Approximation Algorithms: Edge-weighted Vertex-weighted

1: Global-Max

2: LAM

3: Path-growing

A survey of Approx MEM

Approximation Algorithms: Edge-weighted Vertex-weighted

AMVM: Global-Half

AMVM: Local-Half

AMVM: Global-Two-Third

AMVM: Local-Two-Third

Our contributions:

Thank You !