Download presentation
Presentation is loading. Please wait.
Published byYandi Gunawan Modified over 6 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.