Download presentation
Presentation is loading. Please wait.
Published byBlake Presswood Modified over 10 years ago
1
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
2
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
3
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
4
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
5
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
6
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
7
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
8
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
9
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
10
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
11
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
12
d Outline of Algorithm b c d e a a c b n 1 =1 n 2 =1 n 3 =2 0 3 1 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
13
Outline of Algorithm b c d e a a c b d 1 1 2 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
14
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
15
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
16
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
17
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
18
Our Idea u1u1 a b u2u2 u3u3 u4u4 u5u5 u1u1 u2u2 u5u5 u3u3 u4u4 u5u5 u2u2 u4u4 u3u3 u1u1 12345 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
19
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
20
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
21
Counting Number of Points u1u1 a b u2u2 u3u3 u4u4 u5u5 c GD 2010, Konstanz, GermanySeptember 24, 2010
22
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
23
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
24
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
25
u5u5 u2u2 u4u4 u3u3 u1u1 12345 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
26
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
27
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
28
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
29
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
30
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
31
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
32
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
33
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
34
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
35
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
36
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 0 0 2 d d GD 2010, Konstanz, GermanySeptember 24, 2010
37
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 0 0 2 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
38
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
39
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
40
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
41
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
42
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
43
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
44
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
45
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
46
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
47
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
48
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
49
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
50
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
51
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
52
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
53
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
54
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
55
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
56
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
57
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
58
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
59
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
60
Complexity Analysis Total time to compute a point set embedding (if one exists) is O(nk 8 ) GD 2010, Konstanz, GermanySeptember 24, 2010
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.