Compiler

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

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

Layered Graph Drawing (Sugiyama Method)

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

View Full Document
Drawing Conventions and Aesthetics a digraph A possible layered drawing
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.

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

View Full Document
The Sugiyama method
The Sugiyama method Step 2 Step 2 Layering Layering Step 1 Step 1 Cycle Removal Cycle Removal

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

View Full Document
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
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

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

View Full Document
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.
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

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

View Full Document
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
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]

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

View Full Document
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
This is the end of the preview. Sign up to access the rest of the document.

## This note was uploaded on 04/22/2011 for the course ICS 142 taught by Professor Csp during the Spring '08 term at UC Irvine.

### 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
Ask a homework question - tutors are online