Download presentation
Presentation is loading. Please wait.
Published byJon Wild Modified over 9 years ago
1
Orthogonal Drawing Kees Visser
2
Overview Introduction Orthogonal representation Flow network Bend optimal drawing
3
Introduction Orthogonal drawing Given embedding Only vertical or horizontal line segments Maximum degree of 4
4
Introduction Uses in VLSI circuits Minimize bends Finding an orthogonal drawing of graph G with the minimum number of bends without a fixed embedding is NP-Complete.
5
Introduction Tamassia and Garg and Tamassia found algorithms to find a minimal bend orthogonal drawing of graph G in polynomial time.
6
Orthogonal Representation Planar representation Set of circularly ordered edge list P(F) One for each face P(F 1 ) = (e8, e7, e11, e6, e3) P(F 2 ) = (e1, e2, e10, e9, e11, e7, e8) P(F 3 ) = (e6, e9, e10, e5, e4) P(F 0 ) = (e1, e2, e5, e4, e3)
7
Orthogonal representation Definitions: An edge appearing in the same list twice is a bridge An angle formed by to edges is a vertex- angle An angle formed by two line segments at a bend is a bend-angle Both vertex angles and bend angles are 90, 180, 270 or 360 degrees
8
Orthogonal representation Facts: The sum of vertex-angles around any vertex is 360 degrees The sum or the angles inside any facial polygon is (2p-4)90 degree, and the sum of the angles of the outer facial polygon is (2p+4)90 degrees, where p is the number of edges
9
Orthogonal representation Orthogonal representation 1 list for each face Each element in the list has 3 values, the edge number (E r ), a bit string and the angle formed in the face from this edge to the next edge (A r ). The bit string indicated the bends in the line. A 0 indicates a 90 degree bend, 1 means 270 and ε means a straight line
10
Orthogonal representation R(F1) = ((e8, ε, 180),(e7, ε, 90),(e11, ε, 90),(e6, ε, 180),(e3, 0, 90)) R(F2) = ((e1, 0, 90), (e2, 00, 90), (e10, ε, 180), (e9, ε, 180), (e11, ε, 270), (e7, ε, 180), (e8, ε, 90))
11
Orthogonal representation Necessary properties of a orthogonal representation: (p1) There is some planer graph whose planer representation is given by the e- fields of the list in R (p2) For each pair of elements r and r’ in R with E r =E r’, string S r’ can be obtained by applying bitwise negation to the reversion of S r’
12
Orthogonal representation (p3) For each element r in R, define the rotation p(r) as follows: p(r) = |S r |0 - |S r |1 + (2-Ar/90) (p4) For each vertex v, the sum of the vertex angles around v given by the A- fields in R is equal to 360 degrees
13
Flow network A flow network N is a directed graph with two disjoint non empty sets of sources and sinks Each arc e of N is labelled with 3 nonnegative integers A lower bound λ(e) A capacity μ(e) A cost c(e)
14
Flow network The flow Ф(e) must equal or higher then the lower bound and lower of equal then the capacity. σ(u) is the production of source u -σ(u) is the consumption of sink u
15
Bend-optimal drawing 1 unit of flow represents an angle of 90 degrees Each vertex and face is a node Each vertex Node is a source (U v ), σ(U v ) = 4 Each face Node is a sink -σ(U F ), -σ(U F ) = 2p(F)-4 (if F is an inner face), -σ(U F ) = 2p(F)+4 (if F is the outer face). p(F) is the number of vertex-angles in face F
16
Bend-optimal drawing
17
The arc set of network N consists of the vertex arcs (A v ) and face arcs (A F ) The set of Av consists of arcs from every vertex node to every face node the vertex borders. Flow Ф(U v, U F ) is the sum of vertex angles at vertex v inside face F. λ(U v, U F ) is equal to the number of vertex- angles at v inside face F. μ(U v, U F ) = 4 c(U v, U F ) = 0
18
Bend-optimal drawing
19
The set of A F consists of arcs from every face F that shares an edge with face F’ Flow Ф(U F, U F’ ) is the number of bends with an angle of 90 degrees inside face F along the edges which are common to F and F’ λ(U F, U F’ ) = 0 μ(U F, U F’ ) = +∞ c(U F, U F ) = 1
20
Bend-optimal drawing
21
Theorem: Let G be a plane graph, let N be the network constructed from G. For each integer flow Ф in network N, there is an orthogonal representation R that represents an orthogonal drawing D of G and whose number of bends is equal to the cost of the flow Ф. In particular, the minimum cost flow can be used to construct a bend-optimal orthogonal drawing of G.
22
Bend-optimal drawing Proof We construct a orthogonal representation R of G by computing the a- and s-fields from the flow values in A v and A F. L = |(R(v,F)| and R(v,F) ={r 1,r 2,…,r L }, where 1 =< L =< 4 A r1 = 90(Ф(U v, U F )- L + 1) and A ri = 90 for each i, 2 =< i =< L
23
Bend-optimal drawing S r1 = 0 Ф(U F, U F’ )1 Ф(U F’, U F ) S r’1 = 0 Ф(U F’, U F )1 Ф(U F, U F’ ) S ri = S r’i = ε for each i 2 =< i =< L Example: L = 3, Ф(U F, U F’ ) = 2 and Ф(U F’, U F ) = 1 S r1 = 001 and S r2 = S r3 = ε
24
Bend-optimized drawing R(F) needs to satisfy Properties (p1)-(p4) (p1) There is some planer graph whose planer representation is given by the e-fields of the list in R (p2) For each pair of elements r and r’ in R with E r =E r’, string S r’ can be obtained by applying bitwise negation to the reversion of S r’ (p3) For each element r in R, define the rotation p(r) as follows: p(r) = |S r |0 - |S r |1 + (2-Ar/90) (p4) For each vertex v, the sum of the vertex angles around v given by the A-fields in R is equal to 360 degrees
25
Bend-optimized drawing (p1) is automatically satisfied since we have build R from a planar representation (p2) easily follows from the assignment of the S-values. (p4) follows from the definition that every source produces 4 units. (p3) Solving the equation by replacing with the flow equations makes this satisfied. Look in the book for a more precise proof of this.
26
Conclusion Garg and Tamassia have shown that the minimum cost flow problem in this specific network can be solved in time O(n 7/4√(log n) )
27
Questions?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.