Presentation is loading. Please wait.

Presentation is loading. Please wait.

Label Placement and graph drawing Imo Lieberwerth.

Similar presentations


Presentation on theme: "Label Placement and graph drawing Imo Lieberwerth."— Presentation transcript:

1 Label Placement and graph drawing Imo Lieberwerth

2 Overview Introduction The Edge Label Placement problem The Multiple Label Placement problem

3 Introduction Automated label placement originates from the Cartography Many years of research Three types: Point labeling Line labeling Area labeling

4 Point labeling Label features like cities nodes of a graph

5 Line labeling Label features like Rivers streets

6 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

7 Rules according Imhof(1962)

8 Area labeling Label features like Countries Oceans

9 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

10 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

11 Problematic cases Problem visibility highway 20 Problem association Thunder Bay and point Problem readability name

12 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

13 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

14 Labeling space Discrete labeling spaceContinuous labeling space

15 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

16 The optimal ELP problem Question: Find a labeling assignment that minimizes the following function:

17 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

18 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

19 Example

20 31 2 4

21 31 2 4

22 31 2 4

23 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

24 Matching graph Define matching graph G m (V e,V g,E m ) Each node e inV e corresponds to an edge Each node r in V g corresponds to a group of label positions Each edge(e, r) in E m connects a node e inV e to a node r in V g if and only if e has a label positioning that belongs to group r G m is a bipartite graph For each edge in G m add the cost for assigning label

25 Example ,23,4 g1g1 g3g3 g4g4 g5g5 g2g2 g1g1 g2g2 g3g3 g4g4 g5g5 g6g6 g6g6

26 ELP_Algorithm INPUT: A drawing D of the graph G(V, E) OUTPUT: A label assignment 1. Split D into horizontal strips 2. Find all label positions for each edge and construct the groups R 3. Create the matching graph G m for D 4. Match edges to label positions, by finding a matching in G m

27 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 G m 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

28 Fast Matching Heuristic INPUT: Matching graph G m OUTPUT: A maximum cardinality matching for G m with low weight 1. IF the minimum weight incident edge a node in V E connects this node to a node in V G of degree 1 THEN Assign this edge as a matched edge update G m 2. IF a node in V E in has degree one THEN Assign its incident edge as a matched edge update G m 3. Repeat steps 1 and 2 until no new edge can be matched 4. Delete all nodes of degree 0 from G m FOR each node e in V E DO: Remove all but the two incidents edges of e with the least weight 5. 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.

29 Step 1 INPUT: Matching graph G m OUTPUT: A maximum cardinality matching for G m with low weight 1. IF the minimum weight incident edge a node in V E connects this node to a node in V G of degree 1 THEN Assign this edge as a matched edge update G m 2. IF a node in V E in has degree one THEN Assign its incident edge as a matched edge update G m 3. Repeat steps 1 and 2 until no new edge can be matched 4. Delete all nodes of degree 0 from G m FOR each node e in V E DO: Remove all but the two incidents edges of e with the least weight 5. 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.

30 Example step 1 VgVg VeVe VeVe VgVg

31 Step 2 INPUT: Matching graph G m OUTPUT: A maximum cardinality matching for G m with low weight 1. IF the minimum weight incident edge a node in V E connects this node to a node in V G of degree 1 THEN Assign this edge as a matched edge update G m 2. IF a node in V E in has degree one THEN Assign its incident edge as a matched edge update G m 3. Repeat steps 1 and 2 until no new edge can be matched 4. Delete all nodes of degree 0 from G m FOR each node e in V E DO: Remove all but the two incidents edges of e with the least weight 5. 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.

32 Example step 2 VgVg VgVg VeVe VeVe

33 Fast Matching Heuristic INPUT: Matching graph G m OUTPUT: A maximum cardinality matching for G m with low weight 1. IF the minimum weight incident edge a node in V E connects this node to a node in V G of degree 1 THEN Assign this edge as a matched edge update G m 2. IF a node in V E in has degree one THEN Assign its incident edge as a matched edge update G m 3. Repeat steps 1 and 2 until no new edge can be matched 4. Delete all nodes of degree 0 from G m FOR each node e in V E DO: Remove all but the two incidents edges of e with the least weight 5. 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.

34 Fast Matching Heuristic INPUT: Matching graph G m OUTPUT: A maximum cardinality matching for G m with low weight 1. IF the minimum weight incident edge a node in V E connects this node to a node in V G of degree 1 THEN Assign this edge as a matched edge update G m 2. IF a node in V E in has degree one THEN Assign its incident edge as a matched edge update G m 3. Repeat steps 1 and 2 until no new edge can be matched 4. Delete all nodes of degree 0 from G m FOR each node e in V E DO: Remove all but the two incidents edges of e with the least weight 5. 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.

35 Example step 4 VgVg VgVg VeVe VeVe

36 Fast Matching Heuristic INPUT: Matching graph G m OUTPUT: A maximum cardinality matching for G m with low weight 1. IF the minimum weight incident edge a node in V E connects this node to a node in V G of degree 1 THEN Assign this edge as a matched edge update G m 2. IF a node in V E in has degree one THEN Assign its incident edge as a matched edge update G m 3. Repeat steps 1 and 2 until no new edge can be matched 4. Delete all nodes of degree 0 from G m FOR each node e in V E DO: Remove all but the two incidents edges of e with the least weight 5. 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.

37 Example step 5 Traverse cycle (or path) and pick only the even or odd edges as part of the matching VgVg VeVe VgVg VeVe

38 Remark Algorithm don’t label horizontal edges Solution: rotate the drawing

39 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

40 Result algorithm

41 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, Each graphical feature is associated with more then one label Constraints: example with single edge and source and target node Proximity: Label L s 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

42 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

43 Example An orthogonal drawingA hierarchical drawing

44 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

45 Graphs First create bipartite graph matching graph G m (V f, V c, E m ) Each graphical feature is represented by a node in V f Each cluster is represented by a node in V c Each edge in E m connect Then transform G m to a flow graph G flow (s, t,V f, V c, E m )

46 Flow graph The flow graph of algorithm 2

47 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 G flow

48 Flow graph The flow graph of algorithm 2

49 Example Circular drawing with 3 labels per edge and node

50 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

51 Questions?


Download ppt "Label Placement and graph drawing Imo Lieberwerth."

Similar presentations


Ads by Google