Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computing Maximum Non-Crossing Matching in Convex Bipartite Graphs

Similar presentations


Presentation on theme: "Computing Maximum Non-Crossing Matching in Convex Bipartite Graphs"— Presentation transcript:

1 Computing Maximum Non-Crossing Matching in Convex Bipartite Graphs
Danny Z. Chen, Xiaomin Liu, and Haitao Wang University of Notre Dame Indiana, USA FAW-AAIM 2012, Beijing, China

2 Bipartite Graphs

3 Convex Bipartite Graphs
Each red vertex connects to a subset of consecutive blue vertices The blue vertices have an order

4 Maximum Matching in Graphs
A matching is sub-set of graph edges such that no two edges connect to the same vertex

5 Maximum Non-Crossing Matching (MNCM)
Suppose the graph embedding is given Each edge is a line segment Any two edges in the matching do not cross each other

6 Problem Definition Given a convex bipartite graph of n vertices and m edges G Represented implicitly in O(n) space, despite m=ϴ(n2) Give the top and bottom edges of each red vertex Goal: find a maximum non-crossing matching in G top edge bottom edge

7 Motivation A sub-problem in our study of medical imaging
Applications in VLSI design

8 Previous Work Proposed by Kajitami and Takahashi, 86’ (Symp. On Circuits and Systems) O(n2) time algorithm Reduce it to the problem of finding the longest increasing subsequence in a permutation of size m O(mlog n) time, Fredman 75’, Widmayer and Wong, 82’ Malucelli, Ottamann, and Pretolani, 93’ (Discrete Applied Mathmatics) A labeling algorithm O(mloglog n) time for general bipartite graphs O(m+nlog n) time for convex bipartite graphs

9 Our Result Convex bipartite graphs The approaches O(nlog n) time
Based on the labeling algorithm New observations A new data structure

10 Notation For any two edges in a non-crossing matching
One edge is always above the other e1 e1 e2 e2 e1 is above e2 e1 is NOT above e2

11 Partial Maximum Non-Crossing Matching
Each edge e defines a sub-graph consisting of all edges of G above e as well as e An MNCM in the sub-graph is a partial MNCM for e An algorithmic scheme: Consider the red vertices incrementally from top to bottom, and determine the corresponding partial MNCM e

12 An intuition

13 The Labeling Algorithm (Previous Work)
A label for each edge e: the size of the partial MNCM of e A label for each blue vertex: the largest label of the incident edges of the blue vertex 1 1 Rule: the label value of the edge equals one plus the largest label of the blue vertices above u 2 2 u 2 3 3 2 3 O(mlog n) time: priority search tree 3

14 A Different Implementation for Storing the Labels (Previous Work)
For each label value, we only need to know the highest blue vertex with the same label value A map M: M[i] refers to the highest blue vertex with label i 1 M[1] The values in M are increasing 1 M[2] 2 2 u 3 O(mlog n) time: binary search O(mloglog n) time: integer data structure 2 M[3] 3 3 2 3 4 4 M[4] 3

15 A New Observation for Updating M on Convex Bipartite Graphs (Our Work)
M[i] i+1 top edge M[i+1] i+2 v M[i+2] i+3 M[i+3] i+4 bottom edge M[i+4]

16 A New Observation for Updating C (cont.)
M[i] M[i+1] M[i+1] Update M M[i+2]=1+M[i+1] v …… M[h] M[h-1]=1+M[h-2] M[h]=1+M[h-1] M[h+1] M[h+1]=1+M[h] a range-shift operation

17 A New Data Structure Storing the elements in M
Implementing the range-shift operations O(log n) time The segment tree does not work Because insertions and deletions are involved in the range-shift operations Overall running time of the algorithm: O(nlog n)

18 Finding an Actual MNCM Our algorithm computes the map M
With M, find an actual MNCM Previous work: O(m) time, m=ϴ(n2) Our new result: O(n) time, a greedy algorithm The key: one particular red vertex The lowest red vertex in an MNCM The map M is not needed!

19 An example

20 Conclusion A new algorithm for computing MNCM in convex bipartite graphs O(nlog n) time Previous work: O(m+nlog n), m=O(n2) Open problem: A maximum matching can be found in O(n) time Can we find an MNCM in O(n) time? Determining the particular red vertex looks easier?

21 Thank you


Download ppt "Computing Maximum Non-Crossing Matching in Convex Bipartite Graphs"

Similar presentations


Ads by Google