Rahnuma Islam Nishat Debajyoti Mondal Md. Saidur Rahman Graph Drawing and Information Visualization Laboratory Department of Computer Science and Engineering.

Slides:



Advertisements
Similar presentations
An Introduction to Calculus. Calculus Study of how things change Allows us to model real-life situations very accurately.
Advertisements

Maximal Independent Subsets of Linear Spaces. Whats a linear space? Given a set of points V a set of lines where a line is a k-set of points each pair.
Two Segments Intersect?
Octagonal Drawing Johan van Rooij. Overview What is an octagonal drawing Good slicing graphs Octagonal drawing algorithm for good slicing graphs Correctness.
2 x0 0 12/13/2014 Know Your Facts!. 2 x1 2 12/13/2014 Know Your Facts!
Map-making as Graph Drawing Alan Saalfeld Mathematical Cartographer.
5 x4. 10 x2 9 x3 10 x9 10 x4 10 x8 9 x2 9 x4.
Parallel algorithms for expression evaluation Part1. Simultaneous substitution method (SimSub) Part2. A parallel pebble game.
Linear Programming – Simplex Method: Computational Problems Breaking Ties in Selection of Non-Basic Variable – if tie for non-basic variable with largest.
The Problem of K Maximum Sums and its VLSI Implementation Sung Eun Bae, Tadao Takaoka University of Canterbury Christchurch New Zealand.
0 x x2 0 0 x1 0 0 x3 0 1 x7 7 2 x0 0 9 x0 0.
22nd International Symposium on Graph Drawing
Orthogonal Drawing Kees Visser. Overview  Introduction  Orthogonal representation  Flow network  Bend optimal drawing.
7x7=.
Comments We consider in this topic a large class of related problems that deal with proximity of points in the plane. We will: 1.Define some proximity.
Divide and Conquer. Subject Series-Parallel Digraphs Planarity testing.
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Planar Orientations Chapter 4 ( ) in the book Written By: Tomer Heber.
Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
Convex drawing chapter 5 Ingeborg Groeneweg. Summery What is convex drawing What is convex drawing Some definitions Some definitions Testing convexity.
Advanced Topics in Algorithms and Data Structures Lecture 7.2, page 1 Merging two upper hulls Suppose, UH ( S 2 ) has s points given in an array according.
Lecture 3: Parallel Algorithm Design
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Applications of Euler’s Formula for Graphs Hannah Stevens.
GD 2011September 21, 2011 Stephane Durocher Debajyoti Mondal Md. Saidur Rahman Sue Whitesides Rahnuma Islam Nishat Dept. of Computer Science and Engg.
1/13/15CMPS 3130/6130: Computational Geometry1 CMPS 3130/6130: Computational Geometry Spring 2015 Convex Hulls Carola Wenk.
One of the most important problems is Computational Geometry is to find an efficient way to decide, given a subdivision of E n and a point P, in which.
The Divide-and-Conquer Strategy
Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull 
Advanced Topics in Algorithms and Data Structures Lecture 7.1, page 1 An overview of lecture 7 An optimal parallel algorithm for the 2D convex hull problem,
8/29/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Spring 2006 Convex Hulls Carola Wenk.
Incidences and Many Faces via cuttings Sivanne Goldfarb
Intersections. Intersection Problem 3 Intersection Detection: Given two geometric objects, do they intersect? Intersection detection (test) is frequently.
Query Processing in Databases Dr. M. Gavrilova.  Introduction  I/O algorithms for large databases  Complex geometric operations in graphical querying.
Debajyoti Mondal, Rahnuma Islam Nishat, Md. Saidur Rahman and Md. Jawaherul Alam Graph Drawing and Information Visualization Laboratory Department of Computer.
Stephane Durocher 1 Debajyoti Mondal 1 Rahnuma Islam Nishat 2 Sue Whitesides 2 1 Department of Computer Science, University of Manitoba 2 Department of.
Graph Drawing and Information Visualization Laboratory Department of Computer Science and Engineering Bangladesh University of Engineering and Technology.
Minimum-Segment Convex Drawings of 3-Connected Cubic Plane Graphs Sudip Biswas Debajyoti Mondal Rahnuma Islam Nishat Md. Saidur Rahman Graph Drawing and.
1 Debajyoti Mondal 2 Rahnuma Islam Nishat 2 Sue Whitesides 3 Md. Saidur Rahman 1 University of Manitoba, Canada 2 University of Victoria, Canada 3 Bangladesh.
Lecture 10 : Delaunay Triangulation Computational Geometry Prof. Dr. Th. Ottmann 1 Overview Motivation. Triangulation of Planar Point Sets. Definition.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Unit 11a 1 Unit 11: Data Structures & Complexity H We discuss in this unit Graphs and trees Binary search trees Hashing functions Recursive sorting: quicksort,
Chapter 4: Straight Line Drawing Ronald Kieft. Contents Introduction Algorithm 1: Shift Method Algorithm 2: Realizer Method Other parts of chapter 4 Questions?
CSE53111 Computational Geometry TOPICS q Preliminaries q Point in a Polygon q Polygon Construction q Convex Hulls Further Reading.
Convex Grid Drawings of Plane Graphs
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
Department of Computer Science and Engineering Bangladesh University of Engineering and Technology Md. Emran Chowdhury Department of CSE Northern University.
Straight line drawings of planar graphs – part II Roeland Luitwieler.
1 Orthogonal Drawing (continued)  Sections 8.3 – 8.5 from the book  Bert Spaan.
Stephane Durocher 1 Debajyoti Mondal 1 Md. Saidur Rahman 2 1 Department of Computer Science, University of Manitoba 2 Department of Computer Science &
On Graphs Supporting Greedy Forwarding for Directional Wireless Networks W. Si, B. Scholz, G. Mao, R. Boreli, et al. University of Western Sydney National.
CAP4730: Computational Structures in Computer Graphics
WADS 2013 August 12, 2013 Department of Computer Science University of Manitoba Stephane Durocher Debajyoti Mondal.
Sudip Biswas 1, Stephane Durocher 2, Debajyoti Mondal 2 and Rahnuma Islam Nishat 3 Hamiltonian Paths and Cycles in Planar Graphs 1 Department of Computer.
LIMITATIONS OF ALGORITHM POWER
Department of Computer Science and Engineering Bangladesh University of Engineering and Technology M. Sc. Engg. Thesis Md. Emran Chowdhury ( P)
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
Final Review Chris and Virginia. Overview One big multi-part question. (Likely to be on data structures) Many small questions. (Similar to those in midterm.
Various Orders and Drawings of Plane Graphs Takao Nishizeki Tohoku University.
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
CCCG 2014 August 11, 2014 Department of Computer Science University of Manitoba Stephane Durocher Debajyoti Mondal.
Polygon Triangulation
CMPS 3130/6130 Computational Geometry Spring 2017
Computational Geometry
Graph Drawing.
Relating Graph Thickness to Planar Layers and Bend Complexity
Drawing Plane Triangulations with Few Segments
Minimum-Segment Convex Drawings of 3-Connected Cubic Plane Graphs
Query Processing in Databases Dr. M. Gavrilova
Computational Geometry Capter:1-2.1
Presentation transcript:

Rahnuma Islam Nishat Debajyoti Mondal Md. Saidur Rahman Graph Drawing and Information Visualization Laboratory Department of Computer Science and Engineering Bangladesh University of Engineering and Technology (BUET) Dhaka-1000, Bangladesh Point-Set Embeddings of Plane 3-Trees

a b i h f e d c g g a c b i h e f d Point-Set Embedding A Plane Graph G A Point-Set S Point-Set Embedding of G GD 2010, Konstanz, GermanySeptember 24, 2010 Vertices are mapped to points, edges are drawn as straight-line segments

a b c d e f Point-Set Embedding A triangle with 2 points No triangle with 2 points a bc d a b c d d a b c There exists no embedding of this graph on this point set GD 2010, Konstanz, GermanySeptember 24, 2010

Previous Results Graph ClassResults Bose et al. [1995] Trees Gritzmann et. al. [1991] Outerplanar Graphs O(n 2 ) O(n log n) P. Bose [2002] Outerplanar Graphs O(n log 3 n) S. Cabello [2006] General Planar Graphs, 2-Outerplanar Graphs NP-Complete Garcia et al. [2009] 3-connected cubic plane graphs Ikebe et al. [1994] Necessary and Sufficient Condition Trees O(n 2 ) GD 2010, Konstanz, GermanySeptember 24, 2010

Our Results ProblemsResults Plane 3-Tree of n vertices, point set of n points Balanced Plane 3-Tree O(n log 2 n) O(n 2 log n) Lower bound O(n log n) Plane 3-Tree of n vertices, point set of more than n points nk 8 GD 2010, Konstanz, GermanySeptember 24, 2010

Our Results ProblemsResults Plane 3-Tree of n vertices, point set of n points O(n 2 log n) Lower bound O(n log n) Plane 3-Tree of n vertices, point set of k points where k > n. nk 8 GD 2010, Konstanz, GermanySeptember 24, 2010

a b c d e f A triangulated plane graph Plane 3-Trees a b c Base case : a triangle d a b c Insert vertex d a b c d e Insert vertex e Insert vertex f GD 2010, Konstanz, GermanySeptember 24, 2010

Representative Vertex of a Plane 3-Tree Plane 3-Tree Representative Vertex a b c d e f In a Plane 3-Tree there is an unique inner vertex which is the neighbor of all the three outer vertices b c e d a d b f d c a GD 2010, Konstanz, GermanySeptember 24, 2010

Outline of Algorithm a b c d e If G has a point-set embedding on S then the convex hull of S has exactly 3 points of S Convex Hull f g h A Plane 3-Tree G A Point-Set S GD 2010, Konstanz, GermanySeptember 24, 2010

Outline of Algorithm b c d e A Plane 3-Tree G A Point-Set S a f g h c a b GD 2010, Konstanz, GermanySeptember 24, 2010

Outline of Algorithm b c d e a c b a 3 C 2 = 6 ways to map the outer vertices of G to the 3 points on the convex hull of S f g h A Plane 3-Tree G A Point-Set S GD 2010, Konstanz, GermanySeptember 24, 2010

d Outline of Algorithm b c d e a a c b n 1 =1 n 2 =1 n 3 = The number of points in each of the three regions can be counted in O(n) time. f g h Map the Representative Vertex Valid mapping?? GD 2010, Konstanz, GermanySeptember 24, 2010

Outline of Algorithm b c d e a a c b d The mapping of the representative vertex is unique Finding a valid mapping of the representative vertex takes O(n 2 ) time. f g h Map the Representative Vertex n 1 =1 n 2 =1 n 3 =2 GD 2010, Konstanz, GermanySeptember 24, 2010

Outline of Algorithm b c d e a a c b d f g h e h f g The mapping of the other vertices are obtained recursively The algorithm computes the embedding of G in O(n 3 ) time. Map the other vertices Recursively GD 2010, Konstanz, GermanySeptember 24, 2010

Outline of Algorithm b c d e a a c b d f g h e h f g The mapping of the other vertices are obtained recursively The algorithm computes the embedding of G in O(n 3 ) time. Map the other vertices Recursively How to reduce the time complexity ?? GD 2010, Konstanz, GermanySeptember 24, 2010

Mapping of the representative vertex takes O(n 2 ) time O(n log n) time O(n 3 ) O(n 2 log n) GD 2010, Konstanz, GermanySeptember 24, 2010

Our Idea We formulate a set of linear equations to obtain the unique mapping of the representative vertex in O(n log n) time GD 2010, Konstanz, GermanySeptember 24, 2010

Our Idea u1u1 a b u2u2 u3u3 u4u4 u5u5 u1u1 u2u2 u5u5 u3u3 u4u4 u5u5 u2u2 u4u4 u3u3 u1u AbAb c Sort the points according to their slopes We use this array A b to find the number of points above or below the slope of a point GD 2010, Konstanz, GermanySeptember 24, 2010

Our Idea Sort the points according to their slopes u1u1 a c b u2u2 u3u3 u4u4 u5u5 u1u1 u2u2 u3u3 u 4, u 5 u4u4 u5u5 u2u2 u1u1 u3u3 1(1)2345 AaAa We use this array A a to find the number of points on the left or on the right of the slope of a point GD 2010, Konstanz, GermanySeptember 24, 2010

Our Idea u1u1 a b u2u2 u3u3 u4u4 u5u5 u1u1 u5u5 u3u3 u 2,u 4 u3u3 u1u1 u2u2 u4u4 u5u5 123(1)45 AcAc c Sort the points according to their slopes We use this array A c to find the number of points above or below the slope of a point GD 2010, Konstanz, GermanySeptember 24, 2010

Counting Number of Points u1u1 a b u2u2 u3u3 u4u4 u5u5 c GD 2010, Konstanz, GermanySeptember 24, 2010

Counting Number of Points u1u1 a b u2u2 u3u3 u4u4 u5u5 c The interior of the convex hull is divided into 9 disjoint regions Identify the disjoint regions x5x5 x3x3 x4x4 x6x6 x2x2 x9x9 x7x7 x8x8 x1x1 GD 2010, Konstanz, GermanySeptember 24, 2010

Counting Number of Points x5x5 a b x3x3 x4x4 x6x6 x2x2 c x 1 +x 7 +x 6 = n 1 x 2 +x 8 +x 3 = n 2 x 4 +x 9 +x 5 = n 3 x9x9 x7x7 x8x8 x1x1 u 2 = d b c d e a f g h n 1 =1 n 2 =1 n 3 =2 Formulate 3 constraints GD 2010, Konstanz, GermanySeptember 24, 2010

Counting Number of Points Formulate 9 linear equations x5x5 a x3x3 x4x4 x6x6 x2x2 c x9x9 x7x7 x8x8 x1x1 u 2 = d x 2 +x 1 +x 7 +x 6 = 2 x 5 +x 9 +x 4 +x 3 = 2 x 8 = 0 u4u4 u5u5 u2u2 u1u1 u3u3 1(1)2345 AaAa b GD 2010, Konstanz, GermanySeptember 24, 2010

u5u5 u2u2 u4u4 u3u3 u1u AbAb Set of Linear Equations Formulate 9 linear equations x5x5 a x3x3 x4x4 x6x6 x2x2 c x9x9 x7x7 x8x8 x1x1 u 2 = d x 2 +x 8 +x 3 +x 4 = 1 x 1 +x 7 +x 6 +x 5 = 3 x 9 = 0 b GD 2010, Konstanz, GermanySeptember 24, 2010

AcAc Set of Linear Equations Formulate 9 linear equations x5x5 a x3x3 x4x4 x6x6 x2x2 c x9x9 x7x7 x8x8 x1x1 u 2 = d x 6 +x 5 +x 9 +x 4 = 2 x 1 +x 2 +x 8 +x 3 = 1 x 7 = 1 b u3u3 u1u1 u2u2 u4u4 u5u5 123(1)45 GD 2010, Konstanz, GermanySeptember 24, 2010

Set of Linear Equations All the linear equations are given below Linear Equations : x 2 +x 1 +x 7 +x 6 = 2x 2 +x 8 +x 3 +x 4 = 1x 6 +x 5 +x 9 +x 4 = 2 x 5 +x 9 +x 4 +x 3 = 2x 1 +x 7 +x 6 +x 5 = 3x 1 +x 2 +x 8 +x 3 = 1 x 8 = 0x 9 = 0x 7 = 1 Constraints : x 1 +x 7 +x 6 = n 1 x 2 +x 8 +x 3 = n 2 x 4 +x 9 +x 5 = n 3 Solving these linear equations we find whether this is a valid mapping in O(1) time GD 2010, Konstanz, GermanySeptember 24, 2010

Complexity Analysis Given the slope lists, a representative vertex can be found in O(n) time Slope lists can be constructed for each representative vertex in O(n log n) time, which we use recursively to find subsequent representative vertices Complexity at each step is O(n log n+ n) =O(n log n) Total complexity for n steps is = O(n) x O(n log n) =O(n 2 log n) This time complexity can be further improved to O(n 2 ) if the points are in general position GD 2010, Konstanz, GermanySeptember 24, 2010

Lower Bound SORTING: A list of unsorted integers X={x 1, x 2, x 3, …, x n }, |X| = n A set of n+2 points S = {(x 1, x 1 2 ), (x 2, x 2 2 ), (x 3, x 3 2 ),…, (x n, x n 2 ), (0,0), (x max,0)} POINT-SET EMBEDDING A plane 3-tree G with exactly one inner vertex of degree three such that deletion of the outer vertices gives a path of n-1 vertices GD 2010, Konstanz, GermanySeptember 24, 2010

Lower Bound : Example A set of 4+2=6 points S = {(5, 5 2 ), (2, 2 2 ), (3, 3 2 ),(9, 9 2 ), (0,0), (x max =9,0)} Let the list of unsorted integers be {5, 2, 3, 9} where n = 4 (2, 2 2 ) (3, 3 2 ) (5, 5 2 ) (0,0) (9,0) (9, 9 2 ) GD 2010, Konstanz, GermanySeptember 24, 2010

Lower Bound : Example G Exactly one inner vertex of degree three a b c d e f S (2, 2 2 ) (3, 3 2 ) (5, 5 2 ) (0,0) (9,0) (9, 9 2 ) A plane 3-tree G with exactly one inner vertex of degree three GD 2010, Konstanz, GermanySeptember 24, 2010

Lower Bound : Example A path of n-1=3 vertices a c d e f b G S (2, 2 2 ) (3, 3 2 ) (5, 5 2 ) (0,0) (9,0) (9, 9 2 ) A plane 3-tree G with exactly one inner vertex of degree three Deletion of the outer vertices gives a path of n-1 = 3 vertices GD 2010, Konstanz, GermanySeptember 24, 2010

Lower Bound : Example G a b c d e f S (2, 2 2 ) (3, 3 2 ) (5, 5 2 ) (0,0) (9,0) (9, 9 2 ) We can show that from the point-set embedding of G we can find a sorted order of the points G always has an embedding on S GD 2010, Konstanz, GermanySeptember 24, 2010

Lower Bound : Example G a b c d e f S (2, 2 2 ) (3, 3 2 ) (5, 5 2 ) (0,0) (9,0) (9, 9 2 ) convex-hull of S contains {(x max =9, 9 2 ), (x max =9,0), (0,0)} Find the convex hull of S GD 2010, Konstanz, GermanySeptember 24, 2010

c a b Lower Bound : Example a b c d e f We show two mapping of the outer vertices a, b, c Map the outer vertices of G a b c GD 2010, Konstanz, GermanySeptember 24, 2010

c a b Lower Bound : Example a b c d e f Map the representative vertex d a b c a a b b c c d d GD 2010, Konstanz, GermanySeptember 24, 2010

c a b Lower Bound : Example a b c d e f Map the representative vertex d a b c a a b b c c d d Representative vertex d can be mapped to the point with second smallest x-coordinate or second largest x-coordinate GD 2010, Konstanz, GermanySeptember 24, 2010

c a b Lower Bound : Example a b c d e f Map the other vertices recursively a b c a a b b c c d d ee f f GD 2010, Konstanz, GermanySeptember 24, 2010

c a b Lower Bound : Example a b c d e f a b c a a b b c c d d ee f f The order in which the inner vertices are mapped gives the sorted order of the numbers ascending descending GD 2010, Konstanz, GermanySeptember 24, 2010

Lower Bound Since the lower bound of Sorting Problem is Ω(n log n) The Lower Bound of Point-Set Embedding = Ω(n log n) GD 2010, Konstanz, GermanySeptember 24, 2010

What if |S| > n ? b c d e a f g h A Plane 3-Tree G A Point-Set S n = 8 |S| = k = 20 The number of points in S is greater than the number of vertices of G GD 2010, Konstanz, GermanySeptember 24, 2010

Representative Tree b c a A Plane 3-Tree G If n=3 in G then T is a null tree Representative Tree T Base Case : n=3 GD 2010, Konstanz, GermanySeptember 24, 2010

Representative Tree b a A Plane 3-Tree G If n=4 in G then T has only one node with three dummy vertices Representative Tree T n=4 d c d b c a GD 2010, Konstanz, GermanySeptember 24, 2010

b a d c b d e Representative Tree a A Plane 3-Tree G Representative Tree T Add other nodes to T recursively c d e GD 2010, Konstanz, GermanySeptember 24, 2010

b d e a c b d e Representative Tree a A Plane 3-Tree G Representative Tree T Add other nodes to T recursively c d e f f GD 2010, Konstanz, GermanySeptember 24, 2010

d e a c f b d e Representative Tree a A Plane 3-Tree G Representative Tree T Add other nodes to T recursively c d e f g f g GD 2010, Konstanz, GermanySeptember 24, 2010

b d e a c f g b d e Representative Tree a A Plane 3-Tree G Representative Tree T Add other nodes to T recursively c d e f g f g h h T is an unique ternary tree whose internal nodes are the n-3 inner vertices of G and leaves are dummy nodes GD 2010, Konstanz, GermanySeptember 24, 2010

Our Algorithm b c d e a f g h A Plane 3-Tree G A Point-Set S Take projection of the points of S on X and Y axis GD 2010, Konstanz, GermanySeptember 24, 2010

Our Algorithm b c d e a f g h A Plane 3-Tree G A Point-Set S Map the outer vertices to any 3 points of S a c b GD 2010, Konstanz, GermanySeptember 24, 2010

Our Algorithm Representative tree T of G A Point-Set S Map the root d of T to a point inside abc a c b d(5) e(1) f(2) g(1) h(1) d GD 2010, Konstanz, GermanySeptember 24, 2010

Subproblems Representative tree T of G A Point-Set S Map the root d of T to a point inside abc a c b d(5) e(1) f(2) g(1) h(1) d The mapping of d along with the outer vertices divide the problem into three subproblems GD 2010, Konstanz, GermanySeptember 24, 2010

Recursion Solve the subproblems recursively for each mapping of d a c b d f(2) g(1) a c d GD 2010, Konstanz, GermanySeptember 24, 2010

Recursion Solve the subproblems recursively for each mapping of d a c b d f(2) g(1) a c d f No point for g GD 2010, Konstanz, GermanySeptember 24, 2010

Recursion Solve the subproblems recursively for each mapping of d a c b d f(2) g(1) a c d false GD 2010, Konstanz, GermanySeptember 24, 2010

Recursion Solve the subproblems recursively for each mapping of d a c b d a c d a b d b d c false GD 2010, Konstanz, GermanySeptember 24, 2010

Recursion Solve the subproblems recursively for each mapping of d a c b d a c d a b d b d c d(5) e(1) f(2) g(1) h(1) false GD 2010, Konstanz, GermanySeptember 24, 2010

Recursion Solve the subproblems recursively for each mapping of d a c d a b d b d c d(5) e(1) f(2) g(1) h(1) h e false GD 2010, Konstanz, GermanySeptember 24, 2010

Combine the Solutions Combine the solutions of the subproblems a c d a b d b d c false h e a c b d h e GD 2010, Konstanz, GermanySeptember 24, 2010

Overlapping Subproblems a c b d h e false Store the results of the Subproblems a c b d h e false The results of the subproblems can be reused in overlapping cases GD 2010, Konstanz, GermanySeptember 24, 2010

Complexity Analysis Total time to compute a point set embedding (if one exists) is O(nk 8 ) GD 2010, Konstanz, GermanySeptember 24, 2010