Computing Maximum Non-Crossing Matching in Convex Bipartite Graphs

Slides:



Advertisements
Similar presentations
Introduction to Algorithms NP-Complete
Advertisements

1 Constructing Splits Graphs Author: Andreas W.M. Dress Daniel H. Huson Presented by: Bakhtiyar Uddin.
IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
 Graph Graph  Types of Graphs Types of Graphs  Data Structures to Store Graphs Data Structures to Store Graphs  Graph Definitions Graph Definitions.
Computational Geometry -- Voronoi Diagram
6/2/ :35 AMIncremental Convex Hull1 q w u e zt.
Lists A list is a finite, ordered sequence of data items. Two Implementations –Arrays –Linked Lists.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Voronoi Diagrams.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 11 Instructor: Paul Beame.
Geometric Matching on Sequential Data Veli Mäkinen AG Genominformatik Technical Fakultät Bielefeld Universität.
1 12/2/2015 MATH 224 – Discrete Mathematics Formally a graph is just a collection of unordered or ordered pairs, where for example, if {a,b} G if a, b.
Speeding Up Enumeration Algorithms with Amortized Analysis Takeaki Uno (National Institute of Informatics, JAPAN)
Graphs Basic properties.
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Strongly Connected Components for Directed Graphs Kelley Louie Credits: graphs by /demo/graphwin/graphwin.
Lecture 5 Graph Theory prepped by Lecturer ahmed AL tememe 1.
Section10.1: Introduction to Trees
CMPS 3130/6130 Computational Geometry Spring 2017
Set Collection A Bag is a general collection class that implements the Collection interface. A Set is a collection that resembles a Bag with the provision.
AA Trees.
Chapter 5 : Trees.
Lecture 22 Complexity and Reductions
Lectures on Network Flows
Dynamic Coverage In Wireless Ed-Hoc Sensor Networks
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
Introduction to Trees IT12112 Lecture 05.
Trees 1: Theory, Models, Generic Heap Algorithms, Priority Queues
CSE 421: Introduction to Algorithms
On Efficient Graph Substructure Selection
i206: Lecture 14: Heaps, Graphs intro.
Balanced-Trees This presentation shows you the potential problem of unbalanced tree and show two way to fix it This lecture introduces heaps, which are.
Segment Trees Basic data structure in computational geometry.
Lectures on Graph Algorithms: searching, testing and sorting
Computing Shortest Path amid Pseudodisks
Subtree Isomorphism in O(n2.5)
Balanced-Trees This presentation shows you the potential problem of unbalanced tree and show two way to fix it This lecture introduces heaps, which are.
Efficient Algorithms for the Weighted k-Center Problem on a Real Line
Vertex Covers, Matchings, and Independent Sets
Danny Z. Chen and Haitao Wang University of Notre Dame Indiana, USA
Dynamic Data Structures for Simplicial Thickness Queries
Locating an Obnoxious Line among Planar Objects
Computing the Visibility Polygon of an Island in a Polygonal Domain
Richard Anderson Autumn 2016 Lecture 5
Minimizing the Aggregate Movements for Interval Coverage
Approximating Points by A Piecewise Linear Function: I
Haitao Wang Utah State University WADS 2017, St. John’s, Canada
Discrete Math 2 Shortest Path Using Matrix
Processing an Offline Insertion-Query Sequence with Applications
An O(n log n)-Time Algorithm for the k-Center Problem in Trees
Optimal Point Movement for Covering Circular Regions
Range Queries on Uncertain Data
Danny Z. Chen1, Yan Gu2, Jian Li2, and Haitao Wang1
Richard Anderson Winter 2009 Lecture 6
Aggregate-Max Nearest Neighbor Searching in the Plane
Danny Z. Chen and Haitao Wang University of Notre Dame Indiana, USA
Danny Z. Chen and Haitao Wang University of Notre Dame Indiana, USA
Computing Shortest Paths among Curved Obstacles in the Plane
Outlier Respecting Points Approximation
Approximating Points by A Piecewise Linear Function: II
Weak Visibility Queries of Line Segments in Simple Polygons
L1 Shortest Path Queries among Polygonal Obstacles in the Plane
Planarity.
Graph Algorithms: Shortest Path
On the Graph Decomposition
Fibonacci Heaps.
Important Problem Types and Fundamental Data Structures
Lecture 14 Minimum Spanning Tree (cont’d)
Analysis and design of algorithm
Richard Anderson Winter 2019 Lecture 5
Presentation transcript:

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

Bipartite Graphs

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

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

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

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

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

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

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

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

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

An intuition

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

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

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]

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

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)

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!

An example

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?

Thank you