1 Introduction
The minimization of crossings in geometric drawings of graphs is a fundamental graph drawing problem. In general the problem is hard [13, 5] and has been studied from numerous theoretical perspectives; see Vrt’o [26]. Until recently only the topological setting, where edges are drawn as topological curves, has been considered in practice [14, 6, 8]. In our previous paper [21] we describe geometric heuristics that compute straightline drawings of graphs with significantly fewer crossings compared to common energybased layouts. One of the heuristics is the vertexmovement approach that iteratively moves a single vertex to its crossingminimal position, i.e., a position so that crossings of edges incident to are minimized. Unfortunately, the worstcase running time to compute this position is superquadratic in the size of the graph as the following theorem states.
[Radermacher et al. [21]] The crossingminimal position of a degree vertex with respect to a straightline drawing of a graph can be computed in time, where .
This is not only a theoretical upper bound on the running time but is also a limitation that has been observed in practice. The implementation we used previously requires considerable time to compute drawings with few crossings. For this reason we were only able evaluate our approach on graphs with at most edges. For example, on a class of graphs that have vertices and edges our implementation already required on average about 35 seconds to compute a drawing with few crossings.
Energybased methods are common and well engineered tools to draw graphs [16]. For example, the aim of Stress Majorization (or simply Stress) is to compute a drawing such that the Euclidean distance of each two vertices corresponds to their graphtheoretical distance [12]. The algorithm has been engineered to handle graphs with up to vertices and edges [19]. Kobourov [16] claimed that Stress tends to minimize the number of crossings. In our previous experimental evaluation [21] we demonstrated that the statement is not true for a varied set of graph classes.
FabilaMonroy and López [11] introduced a randomized algorithm to compute a drawing of with a small number of crossings. Many best known upper bounds on the rectilinear crossing number of , for , are due to this approach [1]. The algorithm iteratively updates a set of points, by replacing a random point by a random point that is close to , if improves the number of crossings. Since the number of crossings of is in , the bottleneck of their approach is the running time for counting the number of crossings induced by . A similar randomized approach has been used to maximize the smallest crossing angle in a straightline drawing [3, 10]. The approach iteratively moves vertices to the best position within a random point set.
Contribution.
The main contribution of this paper is to engineer the vertexmovement approach for the minimization of crossings in geometric drawings described in [21] to be applicable on graphs with a few thousands vertices and edges.

In Section 3 we introduce socalled bloated duals of line arrangements, a combinatorial technique to construct a dual representation of general line arrangements. In our application this results in an overall speedup of about a factor of in comparison to the recent implementation. This speedup is necessary but not sufficient to handle graphs with a few thousands vertices and edges.

Based on the insights of the evaluation in Section 4.2, we introduce a weighted sampling approach. A comparison to a restrictive approach of sampling points suggests that the degreedistribution of the graph is a good indicator to decide which approach results in fewer crossings.

Overall, our experimental evaluation shows that we are now able to handle graphs with edges, which are times more than the graphs that have been considered in the evaluation in [21].
2 Preliminaries
We repeat some notation from [21]. Let be a straightline drawing of a . Denote by the set of neighbors of and by the set of edges incident to . For a vertex , denote by the drawing that is obtained from by moving the vertex to the point . We denote the number of crossings in a drawing by , the number of crossings on edges incident to by , and we refer with to the number of crossings on two edges and in , i.e., if . For a point and a segment , denote by the visibility region of and , i.e., the set of points such that the segment and do not intersect. Moreover, let be the boundary of . Let be the arrangement over all boundaries for each neighbor of and each edge ; see Figure 1. The arrangement has the property that two points and in a common cell of induce the same number of crossings for , i.e., [21]. Thus, the computation of a crossing minimal position reduces to finding a crossingminimal region in .
For our experiments, we used two different compute servers. Both systems ran with an openSUSE Leap 15.0 operating system. All algorithms were compiled with g++ version 7.3.1 with optimization mode O3. System 1 was used for running time experiments, i.e., for the experiments evaluated in Section 3.1 and in Section 4.2. System 2 is used for the experiments evaluated in Section 4.3.
 System 1

Intel Xeon(tm) E51630v3 processor clocked at 3.7 GHz, 128 GB RAM.
 System 2

Two Intel Xeon(tm) E52670 CPU processors clocked at 2.6 GHz, 64 GB RAM.
3 Efficient Implementation of the CrossingMinimal Position
The vertexmovement approach iteratively moves a single vertex to its crossingminimal position. The running time of the overall algorithm crucially depends on an efficient computation of this operation. Therefore the aim of this section is to provide an efficient implementation of the crossingminimal position of a vertex. Our previous implementation [21] heavily relies on CGAL [24], which follows an exact computations paradigm and uses exact number types to, e.g., represent coordinates and intermediate results. This helps to ensure correctness but considerably increases the running time of the algorithms. We introduce an approach to compute the crossingminimal position that drastically reduces the usage of exact computations.
Computing a crossingminimal position of a vertex is equivalent to computing a crossingminimal region in the arrangement . The region of a vertex can be computed by a breadthfirst search in the dual graph . Thus, the timeconsuming steps to compute are to construct the arrangement and then to build the dual . Instead of computing the dual we construct a socalled bloated dual . The advantage of this approach is that it suffices to compute the set of intersecting segments in to construct and it is not necessary to compute the arrangement itself, i.e., the exact coordinates of each intersection.
Let be a set of line segments and let be the arrangement of . A bloated dual of is a graph that has the following properties (compare Figure 1(a)):

each edge incident to a face corresponds to a vertex in ,

if two distinct segments of have a common intersection on the boundary of , then , and

for two distinct faces sharing a common segment , there is an edge .
Note that given a crossingminimal face and , the geometric representation of has to be computed in order to compute a crossingminimal position . Further a vertex belongs to a cycle . Then, the geometric representation of the boundary of can be computed by intersecting the segments and , where we set . In the following, we will show that it is sufficient to know the order in which the segments in intersect to construct the bloated dual. Thus, exact number types only have to be used to determine the order of two segments whose intersections with a third segment have a small distance on .
We construct the bloated dual of in two steps. First, we insert all vertices and the corresponding edge . In the second step, we insert the remaining edges within a face . For a compact description we assume that no intersection point of two segments is an endpoint of a segment. We define the source of and target of to be the lexicographically smallest and largest point on , respectively. We direct each segment from its source to its target.
Let be the intersection points on a segment in lexicographical order. These intersection points correspond to a set of left faces and to a set of right faces , such that and share parts of their boundary; see Figure 1(b). Thus, we can associate a set of vertices , with , and add the edges to . Note that only the order and not the actual coordinates of the points has to be known to insert the edges. Thus, given the set of segments that intersect , an exact number type is only necessary to determine the order of two segments and whose intersection points and on have a small distance.
We now add the remaining edges within a face . Let be the set of segments that intersect in ; see Figure 1(c). The two segments that lie on the boundary of and can be determined as follows. To find the segment , we distinguish two cases. First, assume that there exists a segment whose source is left of . Observe that if there is a segment whose target is left of , the segment cannot be the segment . Thus, we assume without loss of generality that all sources of segments in are left of . Then a segment is the segment if and only if the segment and each segment form a right turn. Now consider the case that there is no segment whose source is left of . Then a segment is if and only if the segment and each segment form a left turn. The segment can be determined analogously.
Implementation Details.
We give some implementation details which allow us to efficiently implement the construction of the bloated dual. We use the index of a vertex to decide whether it is left or right of
, i.e., vertices with an odd index are left of
and vertices with an even index are right of . The fact that each vertex of has degree at most 3 allows us to represent as a single array of size , where is the number of vertices of . The vertices incident to a vertex occupy the cells and . Moreover, each pair of segments in can be handled independently to construct the bloated dual. This enables a parallelization over the segments in .3.1 Evaluation of the Running Time
In this section, we compare the running time of the two approaches to compute the crossingminimal region of a vertex. We refer with Precise to the approach that uses CGAL to compute the crossing minimal region and with Bd to the approach based on the bloated dual. In order to compute all intersecting segments, we use a naive implementation of a sweepline algorithm [4]. In this approach all segments within a specific interval are pairwise checked for an intersection. This has the advantage that the computation is independent of the coordinates of the intersection.
The experimental setup is as follows. Given a drawing of a graph , we are interested in the running time of moving all vertices of a graph to their crossingminimal positions. Therefore, we measure the running time of computing the crossingminimal regions of all vertices. In order to guarantee the comparability of the two approaches, we use the same vertex order and only compute the crossingminimal region but do not update the positions of the vertices. We use the same set of benchmark graphs used in [21]: North^{1}^{1}1http://graphdrawing.org/data.html, Rome^{1}, graphs that have Community structure, and Triangulations on 64 vertices with an additional random edges. For each graph class, 100 graphs were selected uniformly at random. We use the implementation of Stress [12] provided by Ogdf [7] (snapshot 20170723) to compute an initial layout of the graphs.
The plots in Figure 3 shows the results of the experiments. Each point in the plot corresponds to the running time of computing all crossingminimal region of a single graph. The plot shows that the Bd implementation is considerably faster than the Precise implementation. For each graph class, we achieve on average a speedup of at least . The minimum speedup on the North graphs is . For each graph class, the speedup is at least 18 for at least 75 out of 100 instances.
4 Random Sampling
The worstcase running time of computing the crossingminimal region of a vertex is superquadratic in the size of the graph, see Section 1. Figure 4 shows the number of intersecting segment in the arrangement compared to the vertexdegree of , for vertices of three selected graphs with at most 2 133 edges, compare Table 1. For these graphs the arrangement already contains up to intersecting segments. Indeed, we were not able to compute the number of intersections for all vertices of the graph c.metabolic, since the algorithm ran out of memory first. Due to the high number of intersections in graphs with a high number of edges or a large maximum vertexdegree, it is for these graphs infeasible to compute a crossingminimal position of a vertex. This motivates the following question: Is a small subgraph of sufficient to considerably reduce the number of crossings in a given drawing?
To address this question, we follow the vertexmovement approach. Let be a drawing of and let be an ordered set of the vertices of . For each vertex we obtain a new drawing from the drawing by moving to a new position . To compute the new position we consider a primal sampling approach, i.e., a sampling of points in the solution space , and a dual sampling approach, i.e., a sampling of edges that induce constraints to the solution space.
More formally, we consider the following approach to compute a new position of a single vertex . Let be a uniform random subset of the edges of and let be the vertices that are incident to an edge in . The graph induces a drawing in . Let be the crossingminimal region of with respect to the drawing . Recall that for the region has the property that for any two points , compare Section 2. If is a strict subset of , then does not necessarily have this property anymore. For this reason, let be a set of uniform random points and let be the point that minimizes , where is the position of in .
This remainder of this section is organized as follows. First, we analyze the dual sampling from a theoretical perspective (Section 4.1), followed by an experimental evaluation that compares the primal to the dual sampling (Section 4.2). Finally, based on the insights from this evaluation, we introduce in Section 4.3 a weighted sampling approach that is less restrictive than the dual sampling.
4.1 Approximating the CoCrossing Number of a Vertex
In this section we study the dual sampling approach, i.e., the sampling of edges, with tools introduced in the context of the theory of VCdimension. A thorough introduction into the theory of VCdimension can be found in Matoušek’s Lectures on Discrete Geometry [18]. For a fixed vertex , a drawing is well behaved if for each point and each vertex , the edge crosses at most edges in the drawing . The cocrossing number of a vertex is the number of edge pairs and that do not cross. We show that given an wellbehaved drawing of a graph and a degree vertex , a random sample of size enables us to compute a position whose cocrossing number is a approximation of the cocrossing number of a vertex . Note that we are not able to guarantee that a large cocrossing number of a vertex implies a small crossing number of . On the other hand, the cocrossing number is of interest for a variety of (sparse) graph. For example, drawings that contain many triangles are wellbehaved, since every line intersects at most two segments of a triangle.
A set system is a tuple with a base set and . In the following, we assume to be finite. For some parameters , a set is a relative approximation for the set system if for each the following inequality holds.
(1) 
The proof of the following proposition and of proofs of statements that are marked with () can be found in Appendix C.
[] For , let be an approximation of the set system . If every has size at least then Equation 1 can be rewritten as follows:
Let be the restriction of to a set . A set is shattered by if every subset of can be obtained by an intersection of with a set , i.e., . The VCdimension of a set system is the size of the largest subset such that is shattered by [25].
[HarPeled and Sharir [15], Li et al. [17]] Let be a finite set system with VCdimension , and let . A uniform random sample of size
is a relative approximation for with probability .
For a vertex , let denote the set of edges that are not crossed by the edge in . Then we have . Moreover, let . Then the set contains for each drawing the set of edges that are not crossed by the edges , i.e, . In particular is a set system and we will prove that it has bounded VCdimension. This allows us to approximate the number of edges that are not crossed by the edge . We facilitate this to approximate the cocrossing number of a vertex for well behaved drawings.
The VCdimension of the set system is at most 8.
Proof.
Recall that that vertex has a fixed position. Let be the boundary of the visibility region of and the edge . Let denote the arrangement of all boundaries . Let be the set of faces in . Note that by Lemma 3.1 in [21] for every two points the sets and of edges that have a nonempty intersection with the edge when is moved to and , respectively, coincide. Hence, the set of edges that cross the edge , in the drawing obtained from where is moved to an arbitrary position in , is well defined. Thus, the number of faces is an upper bound for for every . Note that there may be subsets of that are represented by more than one face. Moreover, observe that the visibility region is the intersection of three halfplanes. Let be the supporting lines of these halfplanes and let be the arrangement of lines . Hence, the number of faces in the arrangement of lines is an upper bound for , with . The number of faces of is bounded by [20]. Thus, it is not possible to shatter a set if the number of faces is smaller than the number of subsets of . The largest number for which the equality holds is between and . Since grows faster than , the largest set that can possibly be shattered has size at most . ∎
Due to Section 4.1 and Section 4.1 a relative approximation of allows us to approximate the number of edges that are not crossed by the edge . In the following we show that we can approximate the cocrossing number of a vertex in any drawing if we are given a relative approximation for each vertex that is adjacent to . The number corresponds to the relative number of edges in that are not crossed by the edge . Hence, the function
can be seen as an estimation of
.[] Let be two parameters and let be an well behaved drawing of . For every , let be a relative approximation of the set system . Then holds for all .
Assume that are constants. Section 4.1 shows that independent samples of constant size approximate the cocrossing number of . By slightly increasing the number of samples, we can use a single set for all neighbors . This reduces the running time from to .
[] Let be a degree vertex and let with . A uniformly random sample of size is a relative approximation the set system with probability , for each .
With Section 4.1 and Section 4.1 at hand, we have all the necessary tools to prove the main theorem.
Let be three constants and let be a graph with a well behaved drawing and let be a degree vertex. Let be the position that maximizes . A approximation of can be computed in time with probability .
Proof.
Let and . Let be a uniformly random sample of size . According to Section 4.1, for each , the sample is a approximation of the with probability .
According to Section 4.1 the expected number of crossingfree edges is a approximation of , i.e., . Let be the position that maximizes and let be the position that maximizes . Hence, we have . Observe that over the inequality holds. We use this to prove that .
Plugging in the value for yields that is a approximation of . Since the three parameters are constants, the size of the sample is in . Recall that the running time to compute the crossingminimal position of in a drawing is (Section 1). Thus the position can be computed in time, since and . The following estimation concludes the proof.
∎
Note that the previous techniques can be used to design a approximation algorithm for the crossing number of a vertex. But this requires drawings of graphs where at least edges, i.e., , are crossed. This restriction is not too surprising, since sampling the set of edges can result in an arbitrarily bad approximation for a vertex whose crossingminimal position induces no crossings.
4.2 Experimental Evaluation
In this section we complement the theoretical analyses of the random sampling of edges with an experimental evaluation. We first introduce our benchmark instances, followed by a description of a preprocessing step to reduce trivial cases and a set of configurations that we evaluate.
Benchmark Instances.
We evaluate our algorithm on graphs from three different sources.
Preprocessing.
Some of the benchmark graphs contain multiple connected components. Moreover, we observed that the Stress layout introduces crossings with edges that are incident to a degree1 vertex. In both cases, these crossings can be removed. Therefore, we reduce the benchmark instances so that they do not contain these trivial cases as follows. First, we evaluate only the connected component of each graph that has the highest number of vertices. Further, we iteratively remove all vertices of degree from .
The vertexmovement approach takes an initial drawing of a graph as input. Note that the experimental results in [21] showed that drawings obtained with Stress have the smallest number of crossings compared to other energybased methods implemented in Ogdf. In order to avoid side effects, we first computed a random drawing for each graph where each coordinate is chosen uniformly at random on a grid of size . Afterwards we applied the Stress method implemented in Ogdf [7] (snapshot 20170723) to this drawing.
Configurations.
The previously described approach moves the vertices in a certain order. We use the order proposed in [21], i.e, in descending order with respect to the function , where is the initial drawing. The computation of the new position of a vertex depends on three parameters . The parameter is a threshold on the degree of , since we observed in our preliminary experiments, that in case that is large, of memory are not sufficient to compute the crossingminimal region. Note that in case that is constant the running time to compute is , where . We handle vertices of degree larger than , as follows. Let be a partition of the neighborhood of with . Further, let be a random order of , then contains the vertices with . For each , we compute a random sample and a crossingminimal position of vertex with neighborhood with respect to . The new position of is the position that minimizes .
We select the same parameters for each vertex and thus denote the triple by . We expect that with an increasing number the number of crossings decreases. The sample size , was the largest number of samples such that we are able to compute a final drawing of our benchmark instances in reasonable time. As a baseline we sample points in the plane. Thus, we evaluate the following two configuration, and . Finally, we restrict the movement of a single vertex to be within an axisaligned square that is twice the size of the smallest axisaligned squares that entirely contains .
n  m  crossings  time [min]  
Stress  
Dimacs  
adjnoun  102  415  8.14  6 576  3 775  4 468  0.11  0.09 
football  115  613  10.66  6 865  3 568  4 030  0.14  0.17 
netscience  352  887  5.04  1 724  583  814  0.53  0.31 
c.metabolic  445  2 017  9.07  113 117  55 714  63 028  11.29  2.29 
c.neural  282  2 133  15.13  128 068  86 641  90 920  5.23  2.07 
jazz  193  2 737  28.36  223 990  143 647  153 040  5.22  3.31 
power  3 353  5 006  2.99  7 622  6 854  6 293  4.56  10.74 
978  5 296  10.83  504 144  342 020  357 272  37.12  12.48  
hepth  4 786  12 766  5.33  836 809  546 780  638 069  72.86  78.24 
Sparse MC  
1138_bus  671  991  2.95  657  402  467  0.41  0.33 
ch76b1  630  1 243  3.95  64 055  24 928  26 055  6.54  0.79 
mk9b2  1 260  3 774  5.99  412 397  248 884  252 198  20.33  7.14 
bcsstk08  1 055  5 927  11.24  455 069  342 996  344 644  67.30  18.70 
mahindas  1 258  7 513  11.94  1 463 437  933 247  1 042 787  68.17  24.09 
eris1176  892  8 405  18.85  1 682 458  1 030 881  1 087 605  77.09  27.33 
commanche_d  7 920  11 880  3.00  6 332  6 239  6 146  6.52  56.75 
Evaluation.
Table 1 lists statistics for the Dimacs and the Sparse MC graphs. In particular the number of crossings of the initial drawing (Stress) and the drawing obtained by the and configurations. Furthermore, we report the running times for the two configurations. Since we use an external library (Ogdf) to compute the initial drawing, the reported times do not include the time to compute the initial drawing. Note that Stress required at most min to complete on the Dimacs graph and min on the Sparse MC graphs. Since the size of the arrangement depends on the degree of , the overall running time varies with the number of vertices and the average degree. Compare, e.g., c.metabolic to c.neural, or mk9b2 to bcsstk08. Moreover, the commanche_d graph shows that the running time of is not necessarily smaller than the running time of . For each point the number of crossings of edges incident to in have to be counted. Since the commanche_d graph contains over edges, the configuration with is faster than the configuration, which has to count the number of crossings for points.
Now consider the number of crossings in the initial drawing (Stress) and in the drawing obtained by the configuration. Since we move a vertex only if it decreases its number of crossings, it is expected that the number of crossings decreases on all graphs. For most graphs, the configuration decreases the number of crossings by over . In case of the ch76b1 and the netscience graph the number of crossings are even decreased by over . Exceptions are the bcsstk08, power and commanche_dgraphs with , and respectively. Comparing the number crossings obtained by to the configuration , results in fewer crossings only on two graphs (power, commanche_d).
Observe that the power, 11138_bus, ch76b1 and commanche_d graphs all have an average vertexdegree of roughly . The comparison of the number of crossing obtained by and is not conclusive, since yields fewer crossings on the power and commanche_d graphs and on the remaining two. In order to be able to further study the effect of the (average) vertex degree we evaluate the number of crossings of regular graphs. We use the plots in Figure 5 for the evaluation. Each point corresponds to a regular graph . The color encodes the vertexdegree. Let and be two drawings of obtained by an algorithm and , respectively. The value corresponds to the number of crossings in in thousands, i.e., . The value is the quotient . The titles of the plots are in the form and encode the compared algorithms. For example in Figure 4(a) algorithm is Stress and is . For example, the Stress drawings of the regular graphs have on average crossings. Drawings obtained by have on average less crossings, i.e., . On the other hand, decreases the number of crossings on average by . For , and both reduce the number of crossings by . In particular, Figure 4(c) shows that for it is unclear, whether or computes drawings with fewer crossings.
4.3 Weighted Sampling
For some graphs, the previous section gives first indications that sampling a set of edges yields a small number of crossings compared to a pure sampling of points in the plane. In particular Figure 4(c) indicates that the edgesampling approach does not always have a clear advantage over sampling points in the plane. One reason for this might be that sampling within the set of points in the region is too restrictive. Observe that the region is only crossingminimal with respect to the sample and does not necessarily contain the crossingminimal position of the vertex with respect to all edges . On the other hand, sampling the set of points in does not use the structure of the graph at all. This motivates the following weighted approach of sampling points in .
For a set , let be the number of crossings of the vertex with respect to , when is moved to a cell of the arrangement . Let be the maximum of all . We select a cell with the probability . Within a given cell, we draw a point uniformly at random. Note that in case that there are exactly cells such that cell induces crossings, the probability that the cell is drawn converges to for .
Benchmark Instances, Preprocessing & Methodology.
We use the same benchmark set and the same preprocessing steps as described in Section 4. In order to obtain more reliable results, we perform 10 independent iterations for each configuration on the Dimacs and Sparse MC graphs. Since the regular graphs are uniform randomly computed, they are already representative for their class. Therefore, we perform only single runs on these graphs.
Configuration.
We compare the following three configurations. refers to the uniform random sampling of points in with the parameters , to the restricted sampling in with the parameters, , and to the weighted sampling in with the parameters . The configurations are selected such that and differ only in a single parameter, i.e., in the number of sampled edges. The only difference between and is the sampling strategy. Note that the parameters of and coincide, but not the parameters of and .
mean  std  mean  std  mean  std  
Dimacs  
adjnoun  4 445.0  39.55  3 655.7  62.96  3 951.2  19.53 
football  3 973.6  97.93  3 350.0  83.38  3 247.0  73.84 
netscience  819.0  30.73  497.1  28.78  437.8  12.87 
c.metabolic  62 170.4  760.47  56 032.3  1 227.23  62 987.9  1 907.64 
c.neural  89 744.3  1 239.22  86 500.8  1 364.5  99 426.1  1 258.98 
jazz  152 013.8  1 930.13  147 387.1  3 134.15  213 019.4  1 696.07 
power  6 301.1  33.51  4 512.8  63.09  3 912.5  30.97 
356 583.4  3 512.0  341 503.8  3 480.74  351 168.7  2 624.18  
hepth  640 515.2  3 443.22  515 109.1  3 983.23  392 189.7  1 551.53 
Sparse MC  
1138_bus  474.6  13.25  342.9  12.91  247.6  9.8 
ch76b1  25 874.7  356.58  25 172.4  582.48  28 443.5  960.3 
mk9b2  251 360.9  1 514.05  245 447.4  2 914.18  228 794.5  2 069.96 
bcsstk08  346 404.4  3 730.3  328 182.0  6 127.69  330 213.8  1 726.01 
mahindas  1 036 745.7  11 494.88  936 889.0  11 207.34  1 105 850.9  10 185.51 
eris1176  1 103 184.6  21 475.11  1 037 509.5  29 877.3  1 492 423.4  25 457.93 
commanche_d  6 135.2  13.08  5 370.3  24.75  5 979.4  14.72 
Mean and standard deviation (std) of the number of crossing categorized by configuration. For each graph the configuration with the lowest and highest number of crossings in marked.
Evaluation.
Since we executed 10 independent runs of the algorithm on each graph, Table 2 lists the mean and standard deviation of the computed number of crossings for each graph. For each graph, we marked the cell with the lowest number of crossings in green and the largest number of crossings in blue. For each graph, we used the MannWitneyU test [22]
to check the null hypothesis that the crossing numbers belong to the same distribution. The test indicates that we can reject the null hypothesis at a significance level of
, for all graphs with the exception of football, ch76b1 and bcsstk08. First, observe that the configuration never computes a drawing with fewer crossings than . Including the football, ch76b1 and the bcsstk08 graphs, of the drawings with the fewest crossing were obtained from the configurations. Only correspond to the configuration. Table 1 shows that these graphs have an average vertexdegree of at most 11. Moreover, Appendix A shows that the degreedistributions of these graphs follow the powerlaw. On the other hand, a few of the 8 graph where outperforms also have a small average vertexdegree.We use Figure 6 to compare the effect of the vertexdegree on the number of crossings. The plot follows the same convention as the plots in Figure 5. Observe that for each , the configuration computes drawings with fewer crossings than . The improvement decreases with an increasing . The same observation can be made for the comparison of to but not for the comparison for to , which indicates that sampling the set of points within the region is indeed too restrictive, at least on our regular graphs.
Overall our experimental evaluation shows that even with a naive uniform random sampling of a set of points in the plane the number of crossings in drawings of Stress can be reduced considerably. Using a random sample of a subset of the edges helps to compute drawings with even less crossings. The meanvertex degree and the degreedistributions are good indicators for whether the restrictive or the weighted sampling of the point set results in a drawing with the smallest number of crossings.
5 Conclusion
In our previous work we showed that the primitive operation of moving a single vertex to its crossingminimal position significantly reduces the number of crossings compared to drawings obtained by Stress. In this paper we introduced the concept of bloated dual of line arrangements, a combinatorial technique to compute a dual representation of line arrangements. In our applications of computing drawings with a small number of crossings, this technique resulted in a speedup of factor of . This improvement was necessary to adapt the approach for graphs with a large number of vertices and edges. On the other hand, since the worstcase running time is superquadratic, this improvement is not sufficient to cope with large graphs. In Section 4 we showed that random sampling is a promising technique to minimize crossings in geometric drawings. In Section 4.1 we proved that a random subset of edges of size approximates the cocrossing number of a vertex with a high high probability. Further, we evaluated three different strategies to sample a set of points in the plane in order to compute a new position for the vertex . First, the evaluation confirms that the number of crossings compared to Stress can be reduced considerably. Furthermore, sampling a small subset of the edges is sufficient to reduce the number of crossings compared to a naive sampling of points the plane. Our evaluation suggests that weighted sampling is a promising approach to reduce the number of crossings in graphs with a low average vertex degree. Otherwise, the evaluation indicates that restricted sampling results in fewer crossings.
The running time of the vertexmovement approach in combination with the sampling of the edges mostly depends on the number of vertices. Since a single movement of a vertex is not optimal anymore, two vertices can be moved independently. Thus, future research should be concerned with the question whether a parallelization over the vertex set is able to further reduce the running time while preserving the small number of crossings. Moreover, we ask whether it is sufficient to move a small subset of the vertices to considerably reduce the number of crossings.
References
 [1] Oswin Aichholzer. On the Rectilinear Crossing Number. (http://www.ist.tugraz.at/staff/aichholzer/research/rp/triangulations/crossing), 5 2017.
 [2] David A. Bader, Andrea Kappes, Henning Meyerhenke, Peter Sanders, Christian Schulz, and Dorothea Wagner. Benchmarking for Graph Clustering and Partitioning. In Encyclopedia of Social Network Analysis and Mining, 2nd Edition. SpringerVerlag, 2018. doi:10.1007/9781493971312_23.
 [3] Michael A. Bekos, Henry Förster, Christian Geckeler, Lukas Holländer, Michael Kaufmann, Amadäus M. Spallek, and Jan Splett. A Heuristic Approach Towards Drawings of Graphs with High Crossing Resolution. In Proceedings of the 26th International Symposium on Graph Drawing (GD’18), volume 11282 of Lecture Notes in Computer Science, pages 271–285, 2018. doi:10.1007/9783030044145_19.
 [4] John L. Bentley and Thomas A. Ottmann. Algorithms for Reporting and Counting Geometric Intersections. IEEE Transactions on Computers, C28(9):643–647, 1979.
 [5] Daniel Bienstock. Some Provably Hard Crossing Number Problems. Discrete & Computational Geometry, 6(1):443–459, 1991. doi:10.1007/BF02574701.
 [6] Christoph Buchheim, Markus Chimani, Carsten Gutwenger, Michael Jünger, and Petra Mutzel. Crossings and Planarization. In Roberto Tamassia, editor, Handbook of Graph Drawing and Visualization, chapter 2, pages 43–85. Chapman and Hall/CRC, 2013.
 [7] Markus Chimani, Carsten Gutwenger, Michael Jünger, Gunnar W. Klau, Karsten Klein, and Petra Mutzel. The Open Graph Drawing Framework (OGDF). In Roberto Tamassia, editor, Handbook of Graph Drawing and Visualization, chapter 17, pages 543–569. Chapman and Hall/CRC, 2013.
 [8] Markus Chimani and Petr Hlinený. Inserting Multiple Edges into a Planar Graph. In Sándor Fekete and Anna Lubiw, editors, Proceedings of the 32nd Annual Symposium on Computational Geometry (SoCG’16), volume 51 of Leibniz International Proceedings in Informatics (LIPIcs), pages 30:1–30:15. Schloss Dagstuhl–LeibnizZentrum fuer Informatik, 2016. doi:10.4230/LIPIcs.SoCG.2016.30.
 [9] Timothy A. Davis and Yifan Hu. The University of Florida Sparse Matrix Collection. ACM Transactions on Mathematical Software, 38(1):1:1–1:25, 2011. doi:10.1145/2049662.2049663.
 [10] Almut Demel, Dominik Dürrschnabel, Tamara Mchedlidze, Marcel Radermacher, and Lasse Wulf. A Greedy Heuristic for CrossingAngle Maximization. In Proceedings of the 26th International Symposium on Graph Drawing (GD’18), Lecture Notes in Computer Science, pages 286–299, 2018. doi:10.1007/9783030044145_20.
 [11] Ruy FabilaMonroy and Jorge López. Computational Search of Small Point Sets with Small Rectilinear Crossing Number. Journal of Graph Algorithms and Applications, 18(3):393–399, 2014. doi:10.7155/jgaa.00328.
 [12] Emden R. Gansner, Yehuda Koren, and Stephen North. Graph Drawing by Stress Majorization. In János Pach, editor, Proceedings of the 12th International Symposium on Graph Drawing (GD’04), volume 3383 of Lecture Notes in Computer Science, pages 239–250. Springer Berlin/Heidelberg, 2005. doi:10.1007/9783540318439_25.
 [13] Michael R. Garey and David S. Johnson. Crossing Number is NPComplete. SIAM Journal on Algebraic and Discrete Methods, 4(3):312–316, 1983.
 [14] Carsten Gutwenger, Petra Mutzel, and René Weiskircher. Inserting an Edge into a Planar Graph. Algorithmica, 41(4):289–308, 2005. doi:10.1007/s0045300411288.
 [15] Sariel HarPeled and Micha Sharir. Relative Approximations in Geometry. Discrete & Computational Geometry, 45(3):462–496, 2011. doi:10.1007/s0045401092481.
 [16] Stephen G. Kobourov. ForceDirected Drawing Algorithms. In Roberto Tamassia, editor, Handbook of Graph Drawing and Visualization, chapter 12. Chapman and Hall/CRC, 2013.
 [17] Yi Li, Philip M. Long, and Aravind Srinivasan. Improved Bounds on the Sample Complexity of Learning. Journal of Computer and System Sciences, 62(3):516 – 527, 2001. doi:10.1006/jcss.2000.1741.
 [18] Jiří Matoušek. Lectures on Discrete Geometry, volume 212. Springer New York, 2002.
 [19] Henning Meyerhenke, Martin Nöllenburg, and Christian Schulz. Drawing Large Graphs by Multilevel MaxentStress Optimization. IEEE Transactions on Visualization and Computer Graphics, 24(5):1814–1827, 2018. doi:10.1109/TVCG.2017.2689016.
 [20] Thomas L. Moore. Using Euler’s Formula to Solve Plane Separation Problems. The College Mathematics Journal, 22(2):125–130, 1991.
 [21] Marcel Radermacher, Klara Reichard, Ignaz Rutter, and Dorothea Wagner. A Geometric Heuristic for Rectilinear Crossing Minimization. In Proceedings of the 20th Workshop on Algorithm Engineering and Experiments (ALENEX’18), pages 129–138, 2018. doi:10.1137/1.9781611975055.12.
 [22] David J. Sheskin. Handbook of Parametric and Nonparametric Statistical Procedures. Chapman and Hall/CRC, 2003.
 [23] Angelika Steger and Nicholas C. Wormald. Generating Random Regular Graphs Quickly. Combinatorics, Probability and Computing, 8(4):377–396, 1999.
 [24] The CGAL Project. CGAL User and Reference Manual (http://doc.cgal.org/4.10/Manual/packages.html). CGAL Editorial Board, 4.10 edition, 2017.
 [25] Vladimir N. Vapnik and Alexey Y. Chervonenkis. On the Uniform Convergence of Relative Frequencies of Event to their Probabilities. Theory of Probability & Its Application, 16(2):264–280, 1971.
 [26] Imrich Vrt’o. Bibliography on Crossing Numbers of Graphs. (ftp://ftp.ifi.savba.sk/pub/imrich/crobib.pdf), 2014.
Appendix A Degree Distribution
The plots in the Figures 7 to 9 show the degree distribution of the Dimacs and Sparse MC graphs that are listed in Table 1. A graph is listed in Figure 7 if the configuration computed drawings with clearly less crossings than . In case that computes a drawing with less crossings, then the graph is listed in Figure 8. If no distinction can be made, the graph is listed in Figure 9. Observe that all graphs in Figure 7 tend to have powerlaw distribution. The plots in Figure 7 and Figure 9 contains distributions that follow the powerfollow but also distributions that tend to be normal or unstructured.
Appendix B Statistics of the regular


Appendix C Missing Proofs
See 4.1
Proof.
In order to proof the claim, we make a case distinction based on the size of . We first assume that . Thus, we immediately get that Moreover, the following holds . Starting from the fact is approximation, we can do the following transformations.
In order to complete the proof, assume that .
∎
See 4.1
Proof.
Recall that is equal to . Since the drawing is well behaved, for every and every we have that at least an fraction of edges is not crossed by the edge , i.e., . Since is a relative approximation and due to Proposition 4.1 we have that . Plugging this inequality into the sum of proves the lemma.
∎
See 4.1
Proof.
For each vertex , we denote with the event that is a relative approximation of the set system . According to Lemma 4.1 and Theorem 4.1 the probability that a uniformly random sample is a relative approximation of is . The following estimate can be proven by induction using the equalities and .
Plugging in the probability for proves that is a relative approximation with probability for a . ∎