A graph drawing algorithm is presented which results in complete graphs having minimum crossings equal to that of Guy's conjecture. It is then generalized and formulated in an evolutionary algorithm (EA) to perform constrained search for the crossing numbers. The main objective of this work is to present a suitable two-dimensional scheme which can greatly reduce the complexity of finding crossing numbers by using computer. Program performance criteria are presented and discussed. It is shown that the EA implementation provides good confirmation of the predicted crossing numbers.

1. Introduction

Let be a graph. The crossing number of , denoted by , is the minimum number of pairwise intersections of its edges when is drawn in the plane. Undefined terms in this paper can be found in [1].

Problem about the crossing number of a graph is an area of active research in both applied and algorithmic graph theory. Beside being a challenging problem in itself, it also finds applications in areas of network design and circuit layout. The crossing numbers problem was proposed in early 1970s [2, 3]. It has been shown that the problem of determining the crossing number of a given graph is NP-complete [4].

There are some known results or conjectures for some families of graphs including complete graphs, bipartite graphs, and product of cycles. In particular, the following is known as Guy’s conjecture [5]:

where is the complete graph of order . Some values of (1.1) for 5, 6,, 12 are 1, 3, 9, 18, 36, 60, 100, and 150. Guy’s conjecture holds true for complete graphs of up to and provides a known upper bound for [6]. Various optimization algorithms [79] have been used in the search for the crossing numbers although none has successfully violated the conjecture. In this paper, a graph drawing algorithm is presented which results in complete graphs having the same crossing number given by Guy’s conjecture. A natural extension of this algorithm is then used as the underlying scheme in an evolutionary algorithm (EA) that performs a constrained search for the crossing numbers of complete graphs.

2. Graph Drawing Algorithm

In this section, a graph drawing algorithm is proposed, which achieves Guy’s conjecture. An article by Archdeacon [10] provided a helpful starting point for the graph drawing algorithm. The key strategy of this drawing method lies in the connection of vertices by weighing possible edge directions by their positive winding number. In other words, the direction of an edge connecting a top vertex to a bottom one is chosen according to the minimum-length criterion. It is plausible that such a method could produce a drawing with the minimum number of crossings since an edge of minimum length would seem to have lessened its chance of intersecting with other edges. A complete graph of order 5 drawn using this method is shown in Figure 1. Note also that there are two groups of vertices on the top and bottom surfaces of the cylinder connected amongst each other.

The three-dimensional visualization required by such a method is quite difficult for large . We simplify the drawing by making a vertical cut on the curved surface of the cylinder along its entire length and “unfolding” it into a rectangular plane as in Figure 2. The resulting vertical boundaries are now represented by vertical dotted lines.

In such drawings, edges corresponding to those on the top and bottom surfaces of the cylinder are not shown and their crossings will be referred to as external crossings as opposed to those on the curved surface of the cylinder which will be referred to as internal crossings. The reason for the absence of external crossings is due to the fact that their number can easily be determined by where is the number of top or bottom vertices.

It should be noted that this drawing method serves no purpose other than to verify the upper bound according to Guy’s conjecture (for it also verifies the actual crossing number). It is deterministic and hence it does not actually search for a drawing that satisfies the minimum number of crossings. Of course, if the conjecture is proven to be true, then the upper bound is equal to the minimum crossing numbers. The corresponding algorithm is presented as follows.

Algorithm 2 A (drawing the complete graph with minimum crossing). A1.Partitions the vertices of into (the set of upper vertices) and (the set of lower vertices):A1.1. = for 0 , where A1.2. = for 0 , where A2. Place the vertices of and on two parallel lines (called the upper and the lower lines) that are separated by unity distance:A2.1. place at and on the upper (lower) line,A2.2. place the remaining between and at intervals of length on the upper (lower) line,A2.3. at is joined to at A2.4. is joined to each either by a continuous line or a broken line which crosses the line or subject to the minimum length or the positive direction criteria (the direction is positive for the right going lines).

Figure 3 shows the application of this drawing algorithm on and . The total number of crossings is calculated as the sum of the internal crossings and the upper and lower external crossings.

3. The Evolutionary Algorithm (EA)

3.1. Introduction

In this section, we present an evolutionary formulation for the crossing number problem. The proposed algorithm initializes by randomly generating a population of genomes. As shown in Figure 4, initial populations of size are selected from the solution space of where each genome encodes a complete graph of order by a binary-valued adjacency matrix. Figure 5 illustrates an example of the coding convention for .

From the initial population, the evolutionary algorithm (Algorithm B) recombines, mutates, and selects genomes for the population of subsequent generations. The algorithm terminates after generations, or when the optimum solution (the conjecture upper bound) is achieved.

Algorithm 3.1 B (optimization search for minimum crossing based on EA). B1Initialization.An initial population, , of genomes is randomly drawn, Set .B2For to , make the following:B2.1Recombination.two parent genomes and are selected from the population using Roulette selection and recombined to produce an offspring genome . This process is repeated times:Initialize 0.For to , do:Pick roulette () and roulette ().Make recombine ().Update End ForUpdate B2.2Mutation.Every genome in the population is mutated at a (preset) mutation rate Initialize For every , do:Make mutate ().Update End ForB2.3Selection.The selection stage is divided into two parts, that is, Elite selection and Non-elite selection. In the elite selection, the best genomes of the population is initially selected and removed from The remaining genomes are then selected from the depleted to retain the population size at : Initialize 154015.1End For154015.2End ForEnd For

3.2. Evolutionary Functions

To evaluate the “goodness” of a genome in a population, a fitness function is required. A genome with a high fitness value is more likely to survive than one with a low fitness value. For this particular problem, the following fitness function is used to evaluate the fitness of graph

where is the crossing number of graph and is the conjectured lower bound of . As shown in Figure 6, the fitness function is a monotone function which has the widest dynamic range as compared to other functions. If Guy’s conjecture holds true, the optimum (maximum) value for is 1. A value greater than 1 will indicate a violation of the conjecture.

Roulette selection is a selection mechanism in which a genome of population is picked based on some fitness measure. To select a genome from the population a random number is drawn from the uniform distribution Genome is selected if


The function recombine () combines two parent genomes and to produce an offspring genome. The offspring inherits genetic material from with a probability otherwise, genetic material from is inherited. The recombination process is illustrated in Figure 7.

The function mutate () mutates genome with mutation rate Mutation generally involves toggling the binary value of the coded genome. The function bestof () picks the best genome from population where

4. Performance Evaluation

The EA algorithm is deemed successful when it finds the number of crossings equal to (1.1). We will examine the performance of the algorithm based on the number of functions evaluated to achieve the conjectured upper bound. Four variables are considered for such evaluation: graph order (), mating probability () defined as mutation rate (), and elite percentage () defined as In each experiment, three of the four input variables are held constant while the variable selected for evaluation takes on values of a given range. Figures 8, 9, and 10 summarizes the experiment results by varying the , and at Each experiment is conducted for 50 trials and the final result is averaged over these 50 trials. In a subsequent experiment shown in Figure 11, a set of optimum parameters (, and ) is applied to search for the conjecture upper bound. Finally, Table 1 summarizes the success rates of the proposed formulation for graph order up to 20. The success rates improve as the population size () and the number of iterations increase. However, this will increase the computational time since larger solution space is evaluated. Based on the empirical data, and Iteration = 200 are good compromise for this problem.

5. Conclusions and Future Work

In this paper a graph-drawing algorithm is proposed to represent the graphical equivalent of Guy’s conjecture. The results are then extended, generalized, and employed in an evolutionary algorithm that performed a constrained search for the crossing number.

Performance of the EA is evaluated and presented. It is demonstrated that the EA is successful in finding the upper bound as set by (1.1). The success of the EA is dependent on the actual evolutionary mechanisms of selection, recombination, mutation, and reinsertion. As expected, the number of generations required to achieve optimum solution increases as the graph order becomes larger. The algorithm performed well at lower rates of mutation, which prevents the EA from degenerating into a random search.

It is natural to ask whether a graph with fewer crossings can be found by removing adherence to the conjecture upper bound. The future work is focused on optimizing various parameters and generalizing the algorithm such that given an initial set of randomly drawn complete graphs, an optimized solution is to be found with minimum crossing numbers.