Compiler - Layered Graph Drawing (Sugiyama Method) Drawing...

Info iconThis preview shows pages 1–13. Sign up to view the full content.

View Full Document Right Arrow Icon
Layered Graph Drawing (Sugiyama Method)
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Drawing Conventions and Aesthetics a digraph A possible layered drawing
Background image of page 2
The Sugiyama method Layered networks are often used to represent dependency relations. Sugiyama et al. developed a simple method for drawing layered networks in 1979. Sugiyama’s aims included: few edge crossings edges as straight as possible nodes spread evenly over the page The Sugiyama method is useful for dependency diagrams flow diagrams conceptual lattices other directed graphs: acyclic or nearly acyclic.
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
The Sugiyama method
Background image of page 4
The Sugiyama method Step 2 Step 2 Layering Layering Step 1 Step 1 Cycle Removal Cycle Removal
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
The Sugiyama method Step 2 Step 2 Layering Layering Step 3 Step 3 Node ordering Node ordering Step 1 Step 1 Cycle Removal Cycle Removal
Background image of page 6
Step 2 Step 2 Layering Layering Step 3 Step 3 Node ordering Node ordering Step 4 Step 4 Coordinate  Coordinate  assignment assignment The Sugiyama method Step 1 Step 1 Cycle Removal Cycle Removal
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Layered Drawing of Digraphs Polyline drawings of digraphs with vertices arranged in horizontal layers Sugiyama, Tagawa and Toda ‘81 Eades and Sugiyama ‘91 Evolutionary algorithm approach of Branke et al. Magnetic field approach of Sugiyama and Misue. Attractive in practice: most graph drawing systemsinclude the Sugiyama method.
Background image of page 8
Step 1. Cycle Removal Input graph may contain cycles 1. make an acyclic digraph by reversing some edges 2. draw the acyclic graphs 3. render the drawing with the original edge directions Acyclic graph by reversing two edges
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Step 1. Cycle Removal Each cycle must have at least one edge against the flow We need to keep the number of edges against the flow small Main problem: how to choose the set of edges R so that it is small Feedback arc set: set of edges R whose reversing makes the digraph acyclic Feedback edge set: set of edges whose removal makes the digraph acyclic Maximum acyclic subgraph problem find a maximum set Ea such that the graph(V, Ea) contains no cycles : NP-hard Feedback arc set problem find a minimum set Ef such that the graph(V, E \ Ef) contains no cycles : NP-hard
Background image of page 10
Step 1. Cycle Removal Edges in E \ Ea will be reversed Assume no two-cycles (or delete both two edges) Heuristics 1. Fast heuristic 2. Enhanced Greedy heuristic 3. Randomized algorithm:[BS90]: O(mn) time Exact algorithm: [Grotschel et al 85, Reinelt 85]
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Maximum acyclic subgraph problem equivalent to unweighted linear ordering problem: find an ordering of the vertices, a mapping o such that the # of edges (u,v), o (u) > o (v) is minimized. Easiest heuristic
Background image of page 12
Image of page 13
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 56

Compiler - Layered Graph Drawing (Sugiyama Method) Drawing...

This preview shows document pages 1 - 13. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online