A Greedy Heuristic for Crossing Angle Maximization

07/25/2018 ∙ by Almut Demel, et al. ∙ Uniklinik RWTH Aachen KIT 0

The crossing angle of a straight-line drawing Γ of a graph G=(V, E) is the smallest angle between two crossing edges in Γ. Deciding whether a graph G has a straight-line drawing with a crossing angle of 90^∘ is NP-hard. We propose a simple heuristic to compute a drawing with a large crossing angle. The heuristic greedily selects the best position for a single vertex in a random set of points. The algorithm is accompanied by a speed-up technique to compute the crossing angle of a straight-line drawing. We show the effectiveness of the heuristic in an extensive empirical evaluation. Our heuristic was clearly the winning algorithm (CoffeeVM) in the Graph Drawing Challenge 2017.



There are no comments yet.


page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

The crossing angle of a straight-line drawing is defined to be the minimum over all angles created by two crossing edges in . The 24th edition of the annual Graph Drawing Challenge, held during the Graph Drawing Symposium, posed the following problem: Given a graph , compute a straight-line drawing on an integer grid that has a large crossing angle. In this paper we present a greedy heuristic that starts with a carefully chosen initial drawing and repeatedly moves a vertex to a random point if this increases the crossing angle of . This heuristic was the winning algorithm of the GD Challenge ’17 [6].

1.0.1 Related Works

A drawing of a graph is called RAC if its minimum crossing angle is . Deciding whether a graph has a straight-line RAC drawing is an -hard problem [1]. Giacomo et al.[13] proved that every straight-line drawing of a complete graph with at least 12 vertices has a crossing angle of . Didimo et al. [7] have shown that every -vertex graph that admits a straight-line RAC drawing has at most edges. This bound is tight, since there is an infinite family of graphs with edges that have straight-line RAC drawings. Moreover they proved that every graph has a RAC drawing with three bends per edge. Arikishu et al. [3] showed that any -vertex graph that admits a RAC drawing with one bend or two bends per edge has at most and edges, respectively. For an overview over further results on RAC drawings we refer to [8]. Dujmović et al.[9] introduced the concept of AC graphs. A graph is AC if it admits a drawing with crossing angle of at least . For , AC graphs are quasiplanar graphs, i.e., graphs that admit a drawing without three mutually crossing edges, and thus have at most edges. Moreover, every -vertex AC graph with has at most edges. Besides the theoretical work on this topic, there are a few force-directed approaches that optimize the crossing angle in drawings of arbitrary graphs [14, 2], see Sec. 2.1.

1.0.2 Contribution

We introduce a heuristic to increase the crossing angle in a given straight-line drawing (Sec. 3). The heuristic is accompanied by a speed-up technique to compute the pair of crossing edges in that create the smallest crossing angle. In Sec. 4 we give an extensive evaluation of our heuristic. The evaluation is driven by three main research questions: i) What is a good parametrization of our heuristic? ii) Does our heuristic improve the crossing angle of a given initial drawing? iii) What is a good choice for an initial drawing?

2 Preliminaries

Let be a straight-line drawing of a graph . Denote by and the number of vertices and edges of , respectively. Let and be two distinct edges of . If and have an interior intersection in , the function denotes the smallest angle formed by and in . In case that and do not intersect, we define to be . The local crossing angle of a vertex is defined as the minimum angle of the edges incident to , i.e., . The crossing angle of a drawing is defined as . Let and be the difference of the x-coordinates and the y-coordinates of the endpoints of in a drawing . The slope of is the angle between and the -axis, i.e. if and otherwise.

2.1 Force-directed Approaches

Figure 1: Sketches of the force (a) , (b) and (c) .

In general, force-directed algorithms [11, 10] compute for each vertex of a graph a force . A new drawing is obtained from a drawing by displacing every vertex according to the force . Classically, the force is a linear combination of repelling and attracting forces, i.e., all pairs of vertices repel each other, and incident vertices attract each other. It is easy to integrate new forces into this generic system, e.g., in order to increase the crossing angle. For this purpose, Huang et al. [14] introduced the cosine force . The force-directed approach considered by Argyriou et al. [2] uses two forces, and , to increase the crossing angle. In the following we will describe each force.


denote the unit length vector from

to . Let be two crossing edges in and let be the angle as depicted in Fig. 1(a) and let denote the intersection point of and , see Fig 1. The cosine force for is defined as , where is a positive constant.

The force is a compound of two forces and . Let denote the distance between two points and . Let be the length of the edge in a triangle with side length and , and a right angle at the point . Then, , where is positive constant. The force is defined symmetrically.

Again the force is a compound of the forces and . Consider the unit vector that is perpendicular to the bisector of and , refer Fig. 1c. Further, let be the angle between the and . Then the force is defined as where is a positive constant. The force is defined correspondingly.

3 Multilevel Random Sampling

Input : Initial drawing , number of levels , number of samples , scaling factor , side length
Output : Drawing
1 while stopping criteria do
2       crossing edges with smallest crossing angle in
3       random vertex in
4       for  to  do
5             square centered at with side length
6             for  to  do
7                   uniform random position in
8                   if  then
Algorithm 1 Random Sampling

Our algorithm starts with a drawing of a graph and iteratively improves the crossing angle of by moving a vertex to a better position, i.e., we locally optimize the crossing angle of the drawing; for pseudocode refer to Alg. 1. For this purpose we greedily select a vertex  with a minimal crossing angle . More precisely, let and be two edges with a minimal crossing angle in . We set randomly to be an endpoint of and . We iteratively improve the crossing angle of by sampling a set of points within a square and by moving to the position that induces a maximal local crossing angle. We repeat this process times and decrease the size of in each iteration.

More formally, denote by the drawing obtained from by moving to the point . Let be a square centered at the point with a scaling factor and initial side length . Let be the position of in and let be a set of points in chosen uniformly at random. Let be a point in that maximizes . We obtain a new sample by randomly selecting points within the square . Since , the function can be evaluated in time.

3.1 Fast Minimum Angle Computation

The running time of the random sampling approach relies on computing in each iteration a pair of edges creating the minimum crossing angle . More formally, we are looking for a pair of distinct edges that have a minimal crossing angle in a straight-line drawing , i.e., . The well known sweep-line algorithm [4] requires time to report all intersecting edges in . In general the number of intersecting edges can be , but we are only interested in a single pair that forms the minimal crossing angle. Therefore, we propose an algorithm, which uses the slopes of the edges in to rule out pairs of edges, which cannot form the minimum angle.

Assume that we already found two intersecting edges forming a small angle of size . We set and distribute the edges into buckets such that bucket contains exactly the edges with . Then each bucket covers an interval of size . Thus, if there exist edges with , they belong to the same or to the adjacent buckets (modulo ). Overall, we consider all pairs of edges in , , and find the pair forming the smallest crossing angle. To find this pair we could apply a sweep-line algorithm to the set . In general this set can contain edges. Thus, in worst case we would not gain a speed up in comparison to a sweep-line algorithm applied to . On the other hand, in practice we expect the number of edges in a bucket to be small. If we assume this number to be a constant, the overall running time of the exhaustive check is linear in and does not depend on the number of crossings.

Implementation Details In the case that the slopes in

are uniformly distributed, we expect the number of edges in a bucket to decrease with an decreasing estimate

. We set the value to be the minimal crossing angle of the longest edges in . In our implementation we set to be if the graph contains at most edges, otherwise it is .

4 Experimental Evaluation

The Random Sampling heuristic has several parameters which allow for many different configurations. In Sec. 4.4, we investigate the influence of the configuration on the crossing angle of the drawing computed by the random sampling approach. We investigate the question of whether the Random Sampling approach improves the crossing angle of a given drawing. Our evaluation in Sec. 4.5 answers the question affirmatively. Moreover, we expect that the crossing angle of the drawing computed by the random sampling approach depends on the choice of the initial drawing. We show that this is indeed the case (Sec. 4.6). We close the evaluation with a short running time analysis in Sec. 4.7. Our evaluation is based on a selection of artificial and real world graphs (Sec. 4.1), several choices of the initial drawing, see Sec. 4.2, and a specific way to compare two drawing algorithms (Sec 4.3).

Setup All experiments were conducted on a single core of an AMD Opteron Processor 6172 clocked at 2.1 GHz. The server is equipped with 256GB RAM. All algorithms were compiled with g++-4.8.5 with optimization mode -O3.

4.1 Benchmark Graphs

(a) North
(b) Rome
(c) Community
(d) 1-Planar
(e) Tri.+X
Figure 7: The distribution of the sum of number of vertices and edges per graph class. The plot is scaled such that a bar of full height would contain 40 graphs.

We evaluate the heuristic on the following graph classes, either purely synthetic or with a structure resembling real-world data. Fig. 7 shows the size distribution of these graphs. The color of each class is used consistently throughout the paper.

Real World The classes Rome and North (AT&T)111http://graphdrawing.org/data.html are the non-planar subsets of the corresponding well known benchmark sets, respectively. From each graph class we picked 100 graphs uniformly at random. The Community graphs are generated with the LFR-Generator [17] implemented in NetworKit [19]. These graphs resemble social networks with a community structure.

Artificial For each artificial graph we picked the number of vertices uniformly at random between 100 and 1000. The Triangulation+X class contains randomly generated -vertex triangulations with an additional set of edges. The number is picked uniformly at random between and . The endpoints of the additional edge are picked uniformly at random, as well.

The class 1-Planar consists of graphs that admit drawings where every edge has at most one crossing. We used a geometric and topological procedure to generate these graphs. For the former consider a random point set of points. Let be a random permutation of all pairs of points in . Let . If the drawing induced by is simple and -planar, we define to be this graph, otherwise we set . We construct the topological 1-Planar graphs based on a random planar triangulation generated with OGDF [5]. Let be a random vertex of and let be an arbitrary -cycle. We add to if is 1-planar. The process is repeated times, for a random number . In contrast to the experimental work on crossing minimization in book embeddings [16], we did not observe that our heuristic performs differently on the topological and geometric 1-Planar graphs, see Appendix 0.A . Hence, we merge the two classes into a single class. Thus, in total the 1-Planar graphs contain 200 graphs compared to 100 in the other graph classes.

4.2 Initial Drawings

Figure 8: Crossing angles of the initial drawings.

In our evaluation we consider four initial drawings of each benchmark graph; refer to Tab. (a)a. A random point set of size induces a Random drawing of an -vertex graph. The Fr+Cos drawings are generated by applying our implementation of the force-directed method of Fruchtermann and Reingold [11] to the Random drawings with the additional force (Sec. 2.1). We applied the stress majorization [5, 12] implementation of the Open Graph Drawing Framework (OGDF) to Random in order to obtain the Stress drawings. The Cr-small drawings are computed with the heuristic introduced by Radermacher et al. [18] in order to decrease the number of crossings in straight-line drawings. They showed that the heuristic computes drawings with significantly less crossings than drawings computed by stress majorization. Unfortunately, within a feasible amount of time we were not able to compute Cr-small drawing for the classes 1-Planar and Triangulation+X.

A point in Fig. 8 corresponds to the crossing angle of an initial drawing. The plot is categorized by graph class. The Random drawings have the smallest crossing angles. The Stress drawings have a larger crossing angle than Cr-small and overall, Fr+Cos drawings tend to have the largest crossing angle.

We point out that in contrast to the evaluation of Argyriou et al. [2], our implementation of the force-directed method with and produces drawings with smaller crossing angles than with . Thus, we do not consider these drawings in our evaluation. For the further details refer to Appendix 0.B.

Identifier Algorithm
Random uni. rand. vertex placement
Fr+Cos FR + Cosine Forces (Sec. 2.1)
Stress Stress Majorization [12]
Cr-small Crossing Minimization [18]
Levels Sample Size
Sloppy 3 50
Medium 4 175
Precise 5 400
Table 3: (a) Initial drawings with their identifiers used throughout the paper. (b) Configurations of the Random Sampling approach. The scaling factor is and the initial side length is .

4.3 Differences between Paired Drawings

In order to compare the performance of two algorithms on multiple graphs and to investigate by how much one of the algorithms outperforms the other, we employ the following machinery. We denote by the set of all drawings of . Let be a family of (non-planar) graphs. We refer to a set as a family of drawings of where . Let and be two families of drawings of . Let be a subset of . We say outperforms on if and only if for all the inequality holds. If outperforms on then has an advantage of on if for all the inequality holds. For a finite set , we say has relative size at least if .

In order to compare two families of drawings we plot the advantage as a function of ; refer to Fig. 12. For each value the plot contains 5 five bars, each corresponding to a graph class. The height of the bars correspond to advantages for a set of relative size . A caption of a figure in the form of A vs B indicates that if is positive, has advantage over A. Correspondingly, if is negative, has an advantage of over . Thus, Fig. 12 shows that for , for each graph class there is a subset of relative size , i.e., contains at least 10 graphs, such that the set Sloppy has an advantage of over Precise on . In greater detail, Sloppy has an advantage of over Precise on the North graphs, on the Rome graphs, on the Community graphs, on the 1-Planar graphs and on the Triangulation+X graphs. On the other side, Precise has an advantage of over Sloppy on at least 10 North graphs, on the Rome graphs, on the Community graphs, on the 1-Planar graphs and on the Triangulation+X graphs. Note that only for there can be two disjoint subsets of a graph class of relative size such that Precise has an advantage over Sloppy on and Sloppy has an advantage over Precise on .

4.4 Parametrization of the Random Sampling Approach

The Random Sampling approach introduced in Section 3 has four different parameters, the number of levels , the size of the sample , the initial side length and the scaling factor , that allows for many different configurations. With an increasing number of samples, we expect to obtain a larger crossing angle in each iteration to the cost of an increasing running time. If we allow each configuration the same running time, it is unclear whether it is beneficial to increase the number of iterations or to increase the number of samples () and levels () per iteration. This motivates the following question: does the crossing angle of a drawing of an -vertex graph computed by the random sampling approach within a given time limit increase with an increasing number of samples and levels?

Figure 9: Performance of different configurations

We choose to set the time limit to seconds. This allows for at least iterations on our benchmark instances. For further details see Appendix 0.D. Since the parametrization space is infeasibly large, we evaluate three exemplary configurations, Sloppy, Medium and Precise; see Tab. (b)b.

(a) Precise vs Sloppy
(b) Precise vs Medium
Figure 12: Comparison of the Sloppy configuration to the Medium and Precise configuration. The colors indicate the graph as indicated by Fig. 7.

The plot in Fig. 9 does not indicate that the distributions of the crossing angle differ across different configurations significantly ; further characteristics are listed in Tab. 4 in the appendix . With the plot in Fig. 12 we can confirm this observation. For each configuration there is only a small subset of each class such that the configuration has an advantage over the other configurations. For example, for the Rome graphs there exist at least 10 graphs such that Sloppy has an advantage of over Precise. On the other hand, there are at least 10 different graphs such Precise has also an advantage of over Sloppy. For no configuration has an advantage over the other, or it negligibly small. Thus, we conclude that given a common time limit, increasing the levels and the sample size does not necessarily increase the crossing angle.

4.5 Improvement of the Crossing Angles

In this section we investigate whether the Random Sampling approach is able to improve the crossing angle of a given drawing within iterations. Given the same number of iterations, it is most-likely that we obtain a larger crossing angle of a drawing if we increase the number of samples. Thus, we use the Precise configuration for the evaluation of the above question. We refer to the drawings after the application of the Random Sampling approach as Random, Fr+Cos, Stress and Cr-small, respectively. For characteristics of the crossing angles refer to Tab. 5 in the appendix.

Figure 13: Crossing angles of the initial drawings after optimization with the Random Sampling approach.
(a) Random
(b) Cr-small
(c) Stress
(d) Fr+Cos
Figure 18: Initial crossing angle vs the final crossing angle. The plots show the crossing angles of the classes North, Community and 1-Planar.

The plots in Fig. 8 and Fig. 13 indicate that the Random Sampling approach indeed improves the crossing angle of the initial drawings. Fig. 18 shows the relationship between the crossing angle of the initial drawing and the final drawing. For the purpose of clarity, the plot only shows drawings of the classes North, Community and 1-Planar ; for the remaining classes refer to Appendix 0.E . The plots shows that the Random Sampling approach considerably improves the crossing angle of the initial drawing. In case of the North graphs there are a few graphs that have an improvement of at least . There are at least 10 drawings in Random whose crossing angle is improved by at least ; refer to Fig. 44 in Appendix 0.E. For all real world graph classes and all initial layouts there are graphs in each class, such that the final drawing has an advantage of over .

For Triangulation+X, Fr+Cos has an advantage of at least over Fr+Cos on at least 90 Triangulation+X. For the remaining initial layouts the corresponding advantage is at most . Considering the 1-Planar graphs the corresponding advantages are and . This indicates that within iterations a large initial crossing angle helps to further improve the crossing angle of 1-Planar and Triangulation+X graphs. Overall we observe that the 1-Planar and Triangulation+X classes are rather difficult to optimize. This can either be a limitation of our heuristic or the crossing angle of these graphs are indeed small. Unfortunately, we are not aware of meaningful upper and lower bounds on the crossing angle of straight-line drawing of these graphs. Nevertheless, we can conclude that our heuristic indeed improves the initial crossing angle. To which extend our heuristic is able to increase crossing angle of a drawing depends on the graph class and on the initial drawing itself.

4.6 Effect of the Initial Drawing

The Random Sampling approach iteratively improves the crossing angle of a given drawing. Given a different drawing of the same graph the heuristic might be able to compute a drawing with a larger crossing angle. Hence, we investigate whether the choice of the initial drawing influences the crossing angle of a drawing obtained by the Random Sampling approach with iterations.

For all graph classes, except from North, it is apparent from Fig. 13 that the drawings in the set Random have noticeably smaller crossing angles compared to the remaining drawings. This meets our expectations, since the initial Random drawings presumably has many crossings [15] and thus is likely to have many small crossing angles; compare the initial crossing angles plotted in Fig. 8.

(a) Random
(b) Cr-small
(c) Stress
Figure 22: Comparison of the initial layout.

The plot in Fig. 13 and the characteristics in Tab. 5 in the Appendix suggest that the set Fr+Cos contains drawings with the largest crossing angles. In order to corroborate this claim, Fig. 22 shows crossing angles obtained by different algorithms. It shows that except for one graph, each drawing in Fr+Cos has a larger crossing angle than the corresponding drawing in Random. Fig (b)b and Fig. (c)c suggest that Fr+Cos overall contains more drawings with a larger crossing angle compared to Stress and Cr-small.

(a) Stress vs Fr+Cos
(b) Cr-small vs Fr+Cos
(c) Random vs Fr+Cos
(d) Stress vs Cr-small
Figure 27: Comparison of the crossing angle of the final drawings.

With the help of Fig. 27 we are able to quantify the number of graphs above the diagonal and the difference of the crossing angles. Fig. (a)a shows that for the graph classes 1-Planar and Triangulation+X, there are each at least 90 of 100 graphs whose drawings in Fr+Cos have a crossing angle larger then the corresponding drawing in Stress, i.e., Fr+Cos has an advantage of degrees over Stress.

There are at least 50 1-Planar graphs such that the Fr+Cos has an advantage of over Stress. At least 50 Community graphs have drawings in Fr+Cos with an advantage of over the corresponding drawings in Stress. There are 10 North graphs such that Fr+Cos has an advantage of at least over Stress. Vice versa there are 10 different North graph such that Stress has an advantage of at least degrees over Fr+Cos. Considering subsets of size , Fr+Cos has an advantage of over Stress.

Recall that Cr-small does neither contain drawings of the class 1-Planar nor of the class Triangulation+X. The drawings of Fr+Cos has an advantage of over over Cr-small on over 70 Community graphs. For a subset with at least 10 Community graphs, the advantage rises to almost . The comparison on Stress and Cr-small shows that drawings with a few crossings do not necessarily yield larger crossing angles. Overall, we conclude that the Random Sampling approach computes the largest crossing angle when applied to the Fr+Cos drawings. This is plausible, since the crossing angles of the initial crossing angles are already good. As shown in the previous section, depending on the graph class, there is a large improvement in the crossing angle, if we start with such an initial drawing. In Appendix 0.F we show that the advantages of Fr+Cos decreases comparably to Stress with iterations. However, doubling the iterations does not entirely cover the gap between the crossing angles of the initial drawings.

4.7 Note on the Running Time

Figure 28: Average Running time per iteration vs the number of vertices.

In this section we shortly evaluate the running time of our algorithm on all our graphs. For this purpose, we applied two implementations of the Random Sampling heuristic to the Random drawings. The Sweep implementation uses a sweep-line algorithm to compute the pair of crossing edges that create the smallest crossing. Bucket uses the algorithm described in Sec. 3.1. We employ the speed-up technique only for graphs with at least 1000 edges, we refer to these graphs as large. Fig 28 plots the running time per iteration for

-vertex graphs. The median and the second 3-quantile of the running time on the large graphs are highlighted.

Bucket has an average running time of 391ms per iteration on the large graphs and Sweep has an average running time of 500ms. On all graph Bucket requires on average 328ms per iteration. In Appendix 0.G, we compare the number of crossings with the number of tested edge-pairs.

5 Conclusion

Figure 31: (a) Stress drawing of a Rome graph. (b) Drawing after optimizing the crossing angle. The ratio between the longest and shortest edges is large.

We designed and evaluated a simple heuristic to increase the crossing angle in a straight-line drawing of a graph. On real world networks our heuristic is able to compute larger crossing angles than on artificial networks. This can either be a limitation of our heuristic or the crossing angle of our artificial graph classes are small. We are not aware of lower and upper bounds of the crossing angle of these graphs. Thus, investigating such bounds of the 1-Planar and Triangulation+X graphs is an interesting theoretical question.

Fig. 31 shows that our heuristic does not necessarily compute readable drawings. Nevertheless, parts of the Random Sampling heuristic are easily exchangeable. For example, the objective function can be replaced by a linear combination of number of crossing and the crossing angle. Thus, future work can be concerned with adapting the Random Sampling approach with the aim to compute readable drawings.


  • [1] Argyriou, E.N., Bekos, M.A., Symvonis, A.: The Straight-Line RAC Drawing Problem is NP-Hard. Journal of Graph Algorithms and Applications 16(2), 569–597 (2012). https://doi.org/10.7155/jgaa.00274
  • [2] Argyriou, E.N., Bekos, M.A., Symvonis, A.: Maximizing the Total Resolution of Graphs. The Computer Journal 56(7), 887–900 (2013). https://doi.org/10.1093/comjnl/bxs088
  • [3] Arikushi, K., Fulek, R., Keszegh, B., Morić, F., Tóth, C.D.: Graphs that admit Right Angle Crossing Drawings. Computational Geometry: Theory and Applications 45(4), 169 – 177 (2012). https://doi.org/10.1016/j.comgeo.2011.11.008
  • [4] Bentley, J.L., Ottmann, T.A.: Algorithms for Reporting and Counting Geometric Intersections. IEEE Transactions on Computers C-28(9), 643–647 (1979)
  • [5] Chimani, M., Gutwenger, C., Jünger, M., Klau, G.W., Klein, K., Mutzel, P.: Handbook of Graph Drawing and Visualization, chap. The Open Graph Drawing Framework (OGDF), pp. 543–569. Chapman and Hall/CRC (2013)
  • [6] Devanny, W., Kindermann, P., Löffler, M., Rutter, I.: Graph Drawing Contest Report. In: Frati, F., Ma, K.L. (eds.) Proceedings of the 25 International Symposium on Graph Drawing and Network Visualization (GD’17). pp. 575–582. Springer-Verlag Springer International Publishing (2018)
  • [7] Didimo, W., Eades, P., Liotta, G.: Drawing Graphs with Right Angle Crossings. Theoretical Computer Science 412(39), 5156–5166 (2011). https://doi.org/10.1016/j.tcs.2011.05.025
  • [8] Didimo, W., Liotta, G.: The Crossing-Angle Resolution in Graph Drawing, pp. 167–184. Springer New York (2013). https://doi.org/10.1007/978-1-4614-0110-0_10
  • [9] Dujmović, V., Gudmundsson, J., Morin, P., Wolle, T.: Notes on Large Angle Crossing Graphs. In: Viglas, T., Potanin, A. (eds.) Proceedings of the 16th Symposium on Computing: The Australasian Theory (CATS’10). pp. 19–24. Australian Computer Society (2010)
  • [10] Eades, P.: A heuristic for graph drawing. Congressus Numerantium 42, 149–160 (1984)
  • [11] Fruchterman, T.M.J., Reingold, E.M.: Graph Drawing by Force-Directed Placement. Software: Practice and Experience 21(11), 1129–1164 (1991). https://doi.org/10.1002/spe.4380211102
  • [12] Gansner, E.R., Koren, Y., North, S.: Graph Drawing by Stress Majorization. In: Pach, J. (ed.) Proceedings of the 12th International Symposium on Graph Drawing and Network Visualization (GD’04). pp. 239–250. Springer-Verlag (2005). https://doi.org/10.1007/978-3-540-31843-9_25
  • [13] Giacomo, E.D., Didimo, W., Eades, P., Hong, S.H., Liotta, G.: Bounds on the Crossing Resolution of Complete Geometric Graphs. Discrete Applied Mathematics 160(1), 132 – 139 (2012). https://doi.org/10.1016/j.dam.2011.09.016
  • [14] Huang, W., Eades, P., Hong, S.H., Lin, C.C.: Improving Force-Directed Graph Drawings by Making Compromises Between Aesthetics. In: Hundhausen, C.D., Pietriga, E., Díaz, P., Rosson, M.B. (eds.) Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC2010). pp. 176–183. IEEE Computer Society (2010). https://doi.org/10.1109/VLHCC.2010.32
  • [15] Huang, W., Huang, M.: Exploring the Relative Importance of Crossing Number and Crossing Angle. In: Proceedings of the 3rd International Symposium on Visual Information Communication (VINCI ’10). pp. 10:1–10:8. ACM (2010). https://doi.org/10.1145/1865841.1865854
  • [16] Jonathan Klawitter and Tamara Mchedlidze and Martin Nöllenburg: Experimental Evaluation of Book Drawing Algorithms. In: Proceedings of the 25 International Symposium on Graph Drawing and Network Visualization (GD’16). pp. 224–238 (2017). https://doi.org/10.1007/978-3-319-73915-1_19
  • [17] Lancichinetti, A., Fortunato, S., Radicchi, F.: Benchmark graphs for testing community detection algorithms. Physical Review E 78, 046110 (2008). https://doi.org/10.1103/PhysRevE.78.046110
  • [18] Radermacher, M., Reichard, K., Rutter, I., Wagner, D.: A Geometric Heuristic for Rectilinear Crossing Minimization. In: Proceedings of the 20th Workshop on Algorithm Engineering and Experiments (ALENEX’18). pp. 129–138 (2018). https://doi.org/10.1137/1.9781611975055.12
  • [19] Staudt, C.L., Sazonovs, A., Meyerhenke, H.: NetworKit: A tool suite for large-scale complex network analysis. Network Science 4(4), 508–530 (2016). https://doi.org/10.1017/nws.2016.20

Appendix 0.A 1-Planar Graphs

Fig. 32

shows the crossing angle for the geometric and topological 1-planar graphs computed with the random sampling approach. The plot already suggest that the distributions do not differ to much. Indeed, a t-test confirms that there is no significant difference between the median of the two distributions.

Figure 32: Results for the two 1-planar graph classes

Appendix 0.B Cage and Angular Force

In this section, we evaluate the crossing angle of drawings computed by force-directed methods applied to a random initial drawing. Stress and FMMM are implementations provided by the OGDF library. The cage drawings are obtained by the force-directed method of Fruchtermann and Reingold [11] with the additional forces and . The drawings in Fr+Cos use the force instead of and . We use our own implementation of the of the force-directed method of Fruchtermann and Reingold.

The plot in Fig. 33 shows the final crossing angles. It indicates that the cage force produces drawings with the smallest crossing angles. This is not in accord with the claim of Argyriou et al. [2] that they obtained drawings with the largest crossing angle using their implementation of the forces and . Our results are not necessarily comparable, since we may have used different constants to scale the forces. Moreover, we start from different initial drawings. We always start with a random drawing where Argyriou et al. use an organic layout (SmartOrganic) provided by yEd (www.yworks.com).

Figure 33: Comparing Force Directed Methods

Appendix 0.C Characteristics

Tab. 4 shows several characteristics of crossing angles computed with the Sloppy, Medium and Precise configuration of the random sampling approach. Tab. 5 shows characteristics of the crossing angle after the application of the Precise configuration to different initial drawings.

graph class algorithm crossing resolution
min mean median max
Comm. Medium 29.13 51.14 52.23 81.27
Comm. Precise 32.63 52.01 52.07 78.70
Comm. Sloppy 28.90 51.12 51.66 75.61
North Medium 20.63 67.12 63.87 90.00
North Precise 22.06 67.82 68.69 90.00
North Sloppy 22.49 65.84 60.00 90.00
Rome Medium 36.58 67.85 60.00 90.00
Rome Precise 37.97 66.43 60.00 90.00
Rome Sloppy 32.52 64.86 59.98 90.00
1-planar Medium 4.33 9.02 7.36 25.79
1-planar Precise 3.92 8.60 6.97 26.84
1-planar Sloppy 4.58 8.71 7.23 22.50
Tri. Medium 5.27 8.94 7.66 22.03
Tri. Precise 4.90 8.55 7.58 20.88
Tri. Sloppy 5.13 8.90 7.55 23.71
Table 4: Characteristics computed by different configurations.
graph class layout crossing resolution
min mean median max
Comm. Fr+Cos 49.16 70.63 71.10 88.25
Comm. Random 27.18 37.09 37.24 45.68
Comm. Cr-small 44.09 58.54 58.03 84.61
Comm. Stress 42.89 65.91 63.75 89.09
North Fr+Cos 23.82 71.29 78.83 90.00
North Random 17.81 55.87 54.51 90.00
North Cr-small 18.77 70.55 87.87 90.00
North Stress 24.46 70.84 84.68 90.00
Rome Fr+Cos 44.52 77.16 81.28 90.00
Rome Random 28.14 49.94 47.25 88.43
Rome Cr-small 44.19 76.32 84.28 90.00
Rome Stress 44.55 77.09 82.70 90.00
1-planar Fr+Cos 13.76 26.55 25.25 53.26
1-planar Random 4.55 6.91 6.02 16.67
1-planar Stress 9.38 15.81 13.85 35.50
Tri. Fr+Cos 7.43 18.77 17.24 36.13
Tri. Random 4.92 6.79 6.20 15.94
Tri. Stress 6.14 11.95 10.41 26.89
Table 5: Characteristics

Appendix 0.D Number of Iterations

Fig. 34 compares the number of vertices of a graph with the number of iterations done in the given time limit. The color indicate the configuration; green is Sloppy, orange is Medium, purple is Precise. It shows that independent of the configuration, on each -vertex graph at least iterations have been performed. The actual number of iterations depend on the configuration. Especially, the Sloppy configuration is able to do at least iterations on most graphs. On the other hand, Precise moves considerably less vertices.

Figure 34: Number of vertices vs. number of iterations.

Appendix 0.E Improvement of the Crossing Angle

Fig. 39 shows the missing data of the plot in Fig. 18, i.e., the crossing angles of the graph classes Rome and Triangulation+X. Fig. 44 shows the corresponding advantages. The plots confirm that our approach significantly increases the crossing angles of the in the initial drawings.

(a) Random
(b) Cr-small
(c) Stress
(d) Fr+Cos
Figure 39: Initial crossing angle vs the final crossing angle. The plots show the crossing angles of the classes Rome and Triangulation+X.
(a) Random vs Random
(b) Fr+Cos vs Fr+Cos
(c) Stress vs Stress
(d) Cr-small vs Cr-small
Figure 44: Drawings of the initial sets vs drawings after the application of the random sampling approach.

Appendix 0.F Increasing the Number of Iterations

In this section we compare the following two drawings. We start with Stress drawings and apply iterations with the Random Sampling approach with the Precise configuration (Stress). Second, we apply iterations to the Fr+Cos drawings. The plots in Fig. 48 show that drawings of graphs in North and Rome have indeed a slightly larger crossing angle when they are obtained from Stress. For the remaining graph classes the drawings obtained Fr+Cos still have an advantage over Stress.

(c) Fr+Cos vs Stress
Figure 48: Comparison

Appendix 0.G Number of Crossings vs Number of Operations

In this section, we further evaluate our speed-up heuristic introduced in Section 3.1. We compare the number of crossings in a drawing with the number of edge-pairs that the speed-up heuristics tests for intersections. Ideally, is significantly smaller than .

One data point in Fig. 49 corresponds to a single graph. We applied the Sloppy heuristic to the random drawings of all our benchmark graphs. We counted in each iteration the number of crossings of the current drawing and the number of tested pairs. The values in the figure correspond to the average of these values over iterations. Note that the plot uses a double log-scale.

We observe that for small instances, the heuristics tests more edge-pairs than the drawing has crossings. With an increasing number of crossings, the heuristic indeed tests less edge-pairs than crossings.

Figure 49: Number of crossings vs number of tested edge-pairs.