Bend minimization
In graph drawing styles that represent the edges of a graph by polylines (sequences of line segments connected at bends), it is desirable to minimize the number of bends per edge (sometimes called the curve complexity)[1] or the total number of bends in a drawing.[2] Bend minimization is the algorithmic problem of finding a drawing that minimizes these quantities.[3][4]
Eliminating all bends
The prototypical example of bend minimization is Fáry's theorem, which states that every planar graph can be drawn with no bends, that is, with all its edges drawn as straight line segments.[5]
Drawings of a graph in which the edges are both bendless and axis-aligned are sometimes called rectilinear drawings, and are one way of constructing RAC drawings in which all crossings are at right angles.[6] However, it is NP-complete to determine whether a planar graph has a planar rectilinear drawing,[7] and NP-complete to determine whether an arbitrary graph has a rectilinear drawing that allows crossings.[6]
Bend minimization
Tamassia (1987) showed that bend minimization of orthogonal drawings of planar graphs, in which the vertices are placed in an integer lattice and the edges are drawn as axis-aligned polylines, could be performed in polynomial time by translating the problem into one of minimum-cost network flow.[8][9] However, if the planar embedding of the graph may be changed, then bend minimization becomes NP-complete, and must instead be solved by techniques such as integer programming that do not guarantee both a fast runtime and an exact answer.[10]
Few bends per edge
Many graph drawing styles allow bends, but only in a limited way: the curve complexity of these drawings (the maximum number of bends per edge) is bounded by some fixed constant. Allowing this constant to grow larger can be used to improve other aspects of the drawing, such as its area.[1] Alternatively, in some cases, a drawing style may only be possible when bends are allowed; for instance, not every graph has a RAC drawing (a drawing with all crossings at right angles) with no bends, or with curve complexity two, but every graph has such a drawing with curve complexity three.[11]
References
- 1 2 Di Giacomo, Emilio; Didimo, Walter; Liotta, Giuseppe; Meijer, Henk (2011), "Area, curve complexity, and crossing resolution of non-planar graph drawings", Theory of Computing Systems, 49 (3): 565–575, doi:10.1007/s00224-010-9275-6, MR 2822838.
- ↑ Di Battista, Giuseppe; Eades, Peter; Tamassia, Roberto; Tollis, Ioannis G. (1998), Graph Drawing: Algorithms for the Visualization of Graphs (1st ed.), Prentice Hall, pp. 15–16, ISBN 0133016153.
- ↑ Di Battista et al. (1998), p. 145.
- ↑ Purchase, Helen (1997), "Which aesthetic has the greatest effect on human understanding?", Graph Drawing: 5th International Symposium, GD '97 Rome, Italy, September 18–20, 1997, Proceedings, Lecture Notes in Computer Science, 1353, pp. 248–261, doi:10.1007/3-540-63938-1_67.
- ↑ Di Battista et al. (1998), p. 140.
- 1 2 Eades, Peter; Hong, Seok-Hee; Poon, Sheung-Hung (2010), "On rectilinear drawing of graphs", Graph Drawing: 17th International Symposium, GD 2009, Chicago, IL, USA, September 22-25, 2009, Revised Papers, Lecture Notes in Computer Science, 5849, Springer, pp. 232–243, doi:10.1007/978-3-642-11805-0_23, MR 2680455.
- ↑ Garg, Ashim; Tamassia, Roberto (2001), "On the computational complexity of upward and rectilinear planarity testing", SIAM Journal on Computing, 31 (2): 601–625, doi:10.1137/S0097539794277123, MR 1861292.
- ↑ Tamassia, Roberto (1987), "On embedding a graph in the grid with the minimum number of bends", SIAM Journal on Computing, 16 (3): 421–444, doi:10.1137/0216030, MR 889400.
- ↑ Cornelsen, Sabine; Karrenbauer, Andreas (2012), "Accelerated bend minimization", Journal of Graph Algorithms and Applications, 16 (3): 635–650, doi:10.7155/jgaa.00265, MR 2983428.
- ↑ Mutzel, Petra; Weiskircher, René (2002), "Bend minimization in orthogonal drawings using integer programming", Computing and Combinatorics: 8th Annual International Conference, COCOON 2002, Singapore, August 15–17, 2002, Proceedings, Lecture Notes in Computer Science, 2387, pp. 484–493, doi:10.1007/3-540-45655-4_52.
- ↑ Didimo, Walter; Eades, Peter; Liotta, Giuseppe (2009), "Drawing graphs with right angle crossings", Algorithms and Data Structures: 11th International Symposium, WADS 2009, Banff, Canada, August 21-23, 2009. Proceedings, Lecture Notes in Computer Science, 5664, pp. 206–217, doi:10.1007/978-3-642-03367-4_19.