Upload
misha
View
47
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Label Placement and graph drawing. Imo Lieberwerth. Overview. Introduction The Edge Label Placement problem The Multiple Label Placement problem. Introduction. Automated label placement originates from the Cartography Many years of research Three types: Point labeling Line labeling - PowerPoint PPT Presentation
Citation preview
Label Placement and graph drawing
Imo Lieberwerth
Overview
Introduction
The Edge Label Placement problem
The Multiple Label Placement problem
Introduction
Automated label placement originates from the Cartography
Many years of research Three types:
Point labeling Line labeling Area labeling
Point labeling
Label features like cities nodes of a
graph
Line labeling Label features like
Rivers streets
Rules for line labeling
The label must follow the shape of the line (but not to strict)
At long lines the label must be repeated No extra white spaces between characters Vertical lines:
Left of the map: First letter towards the bottom Right of the map: First letter towards the top
Rules according Imhof(1962)
Area labeling
Label features like Countries Oceans
Rules for area labeling
Stretch label over whole the area Areal labels preferably have the
same shape Use horizontal or curved labels Evenly curved labels Repeat labels at suitable intervals
Labeling quality
Problem of assigning text labels to graphical features such that association of labels is clear
The label assignment must be unambiguous
Lot of work is done by Imhof and Yoeli
Problematic cases
Problem visibility highway 20
Problem association Thunder Bay and point
Problem readability name
Basic rules for labeling quality
Labels should be easily read and easily and quickly located
No overlap of a label with other labels or other graphical features are allowed
Each label can be easily identified with exactly one graphical feature of the layout (the assignment is unambiguous)
Each label must be placed in the best possible position
COST-function A optimal assignment can produces
labels that do not strictly follow the rules COST(i, j) is penalty for label j to edge i
Penalty with respect to the ranking of label j Penalty for violating the basic rules
Labeling space
Discrete labeling space Continuous labeling space
The ELP problem ELP: Is the problem of placing text labels
assigned to particular edges of a graph ELP problem has received little attention
Complexity is solved in 1996 and is NP-Hard by Kakoulis and Tollis
Most algorithms do not produce desired results Trapped in local optima Take exponential time
The ELP-algorithm
The optimal ELP problem
Question: Find a labeling assignment that minimizes the following function:
The ELP algorithm
Assumptions: All labels have the same size Each edge has only one label associated with
it Any acceptable solution must guarantee:
Any label must be free of overlap (except his associated edge)
Any label must be very close (touch) to its associated edge
Main idea of the algorithm Divide the input drawing into horizontal
strips of equal height Finite number of label positions
Find the set of label positions for each edge Each position must be inside a strip Each position has to touch a edge but not
intersect this edge (or other graphical feature) Each label position overlaps at most with
one other label position
Example
1 3
2
4
Example
31
2
4
Example
31
2
4
Example
31
2
4
Matching problem Transform ELP problem where each edge
is matched to one of his label positions Group label positions together:
If two positions overlap they belong to the same group
Else to a single member group Only one member of group in assignment
Guaranties labels do not overlap each other
Matching graph Define matching graph Gm(Ve ,Vg ,Em)
Each node e inVe corresponds to an edge Each node r in Vg corresponds to a group of
label positions Each edge(e, r) in Em connects a node e inVe
to a node r in Vg if and only if e has a label positioning that belongs to group r
Gm is a bipartite graph For each edge in Gm add the cost for
assigning label
Example
31
2
4
1,2 3,4
g1 g3 g4g5g2
g1
g2 g3
g4 g5
g6 g6
ELP_Algorithm
INPUT: A drawing D of the graph G(V, E)OUTPUT: A label assignment
1. Split D into horizontal strips2. Find all label positions for each edge and
construct the groups R3. Create the matching graph Gm for D
4. Match edges to label positions , by finding a matching in Gm
Finding a matching Theorem. Let A be the set of label positions
for all edges of a drawing D of graph G(V, E). If every label position in A overlaps at most one other label position in A, then a maximum cardinality minimum weight matching of the corresponding matching graph Gm produces an optimal solution to the ELP problem with no overlaps.
You can use any known algorithm to find a maximum cardinality minimum weight matching
Fast Matching Heuristic
INPUT: Matching graph Gm
OUTPUT: A maximum cardinality matching for Gm with low weight1. IF the minimum weight incident edge a node in VE connects this
node to a node in VG of degree 1THEN Assign this edge as a matched edge
update Gm
2. IF a node in VE in has degree oneTHEN Assign its incident edge as a matched edge
update Gm
3. Repeat steps 1 and 2 until no new edge can be matched4. Delete all nodes of degree 0 from Gm
FOR each node e in VE DO:Remove all but the two incidents edges of e with
the least weight5. The remaining graph consists of simple cycles and/or paths. Find
the only two maximum cardinality matchings for each component. Choose the matching of minimum weight.
Step 1
INPUT: Matching graph Gm
OUTPUT: A maximum cardinality matching for Gm with low weight
1. IF the minimum weight incident edge a node in VE
connects this node to a node in VG of degree 1THEN Assign this edge as a matched edge
update Gm
2. IF a node in VE in has degree oneTHEN Assign its incident edge as a matched edge
update Gm
3. Repeat steps 1 and 2 until no new edge can be matched4. Delete all nodes of degree 0 from Gm
FOR each node e in VE DO:Remove all but the two incidents edges of e with
the least weight5. The remaining graph consists of simple cycles and/or paths. Find
the only two maximum cardinality matchings for each component. Choose the matching of minimum weight.
Example step 1
Vg
VeVe
Vg
Step 2
INPUT: Matching graph Gm
OUTPUT: A maximum cardinality matching for Gm with low weight1. IF the minimum weight incident edge a node in VE connects this
node to a node in VG of degree 1THEN Assign this edge as a matched edge
update Gm
2. IF a node in VE in has degree oneTHEN Assign its incident edge as a matched edge
update Gm
3. Repeat steps 1 and 2 until no new edge can be matched4. Delete all nodes of degree 0 from Gm
FOR each node e in VE DO:Remove all but the two incidents edges of e with
the least weight5. The remaining graph consists of simple cycles and/or paths. Find
the only two maximum cardinality matchings for each component. Choose the matching of minimum weight.
Example step 2
VgVg
VeVe
Fast Matching Heuristic
INPUT: Matching graph Gm
OUTPUT: A maximum cardinality matching for Gm with low weight1. IF the minimum weight incident edge a node in VE connects this
node to a node in VG of degree 1THEN Assign this edge as a matched edge
update Gm
2. IF a node in VE in has degree oneTHEN Assign its incident edge as a matched edge
update Gm
3. Repeat steps 1 and 2 until no new edge can be matched4. Delete all nodes of degree 0 from Gm
FOR each node e in VE DO:Remove all but the two incidents edges of e with
the least weight5. The remaining graph consists of simple cycles and/or paths. Find
the only two maximum cardinality matchings for each component. Choose the matching of minimum weight.
Fast Matching Heuristic
INPUT: Matching graph Gm
OUTPUT: A maximum cardinality matching for Gm with low weight1. IF the minimum weight incident edge a node in VE connects this
node to a node in VG of degree 1THEN Assign this edge as a matched edge
update Gm
2. IF a node in VE in has degree oneTHEN Assign its incident edge as a matched edge
update Gm
3. Repeat steps 1 and 2 until no new edge can be matched4. Delete all nodes of degree 0 from Gm
FOR each node e in VE DO:Remove all but the two incidents edges of e with
the least weight5. The remaining graph consists of simple cycles and/or paths. Find
the only two maximum cardinality matchings for each component. Choose the matching of minimum weight.
Example step 4
Vg Vg
VeVe
Fast Matching Heuristic
INPUT: Matching graph Gm
OUTPUT: A maximum cardinality matching for Gm with low weight1. IF the minimum weight incident edge a node in VE connects this
node to a node in VG of degree 1THEN Assign this edge as a matched edge
update Gm
2. IF a node in VE in has degree oneTHEN Assign its incident edge as a matched edge
update Gm
3. Repeat steps 1 and 2 until no new edge can be matched4. Delete all nodes of degree 0 from Gm
FOR each node e in VE DO:Remove all but the two incidents edges of e with
the least weight5. The remaining graph consists of simple cycles and/or paths. Find
the only two maximum cardinality matchings for each component. Choose the matching of minimum weight.
Example step 5 Traverse cycle (or path) and pick only the even
or odd edges as part of the matching
Vg
Ve
Vg
Ve
Remark
Algorithm don’t label horizontal edges
Solution: rotate the drawing
Extension and results
Post processing step: Relaxing the restrictions by allowing
labels to overlap their associated edges The algorithm works very well for
hierarchical and other straight-line drawing
Not suitable for orthogonal drawings
Result algorithm
The MLP problem Konstantinos G. Kakoulis and Ioannis G. Tollis. On
the multiple label placement problem. In Proc. 10th Canadian Conf. Computational Geometry (CCCG’98), pages 66–67, 1998.
Each graphical feature is associated with more then one label
Constraints: example with single edge and source and target node
Proximity: Label Ls must be in close proximity with source node. Define maximum distance
Partial Order: The source node label must closer to the source node then the other label. Define a partial order
Priority: First important labels and then the other labels if there is a space
Algorithm 1 Algorithm for solving the MLP problem Iterative approach
Main loop i-th iteration of the loop, assigns the i-th
label for graphical feature This algorithm can take into account all
three constraints This algorithm can use the ELP-
algorithm
Example
An orthogonal drawing A hierarchical drawing
Algorithm 2 Non-iterative fashion and extension
of ELP-algorithm Sketch algorithm:
Find set of label positions for each graphical feature
Label positions that overlap each other are grouped in clusters
Each cluster is matched to at most one graphical feature using flow techniques
Graphs
First create bipartite graph matching graph Gm(Vf , Vc , Em) Each graphical feature is represented by a
node in Vf
Each cluster is represented by a node in Vc
Each edge in Em connect
Then transform Gm to a flow graph Gflow(s, t,Vf , Vc , Em)
Flow graph
The flow graph of algorithm 2
Flow graph Assign capacities:
Each edge of original matching graph has capacity one
Each edge (c, t) has capacity one Each edge (s, v) has capacity equal to the
number of labels associated with v Include the cost of the label positioning
for each edge Solve the maximum flow minimum cost
problem for the flow graph Gflow
Flow graph
The flow graph of algorithm 2
Example
Circular drawing with 3 labels per edge and node
Experimental Results
Both algorithms perform well and the same with respect to the success rate
The flow method produces a slightly better quality of label assignments
If labels have variable size the algorithm 1 would be the best choice
Questions?