Next Article in Journal
Coefficient Estimates for a Subclass of Bi-Univalent Functions Defined by q-Derivative Operator
Next Article in Special Issue
Competition-Independence Game and Domination Game
Previous Article in Journal
A Note on the Topological Transversality Theorem for Weakly Upper Semicontinuous, Weakly Compact Maps on Locally Convex Topological Vector Spaces
Previous Article in Special Issue
Some Results on (sq)-Graphic Contraction Mappings in b-Metric-Like Spaces
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Complexity Analysis and Stochastic Convergence of Some Well-known Evolutionary Operators for Solving Graph Coloring Problem

by
Raja Marappan
* and
Gopalakrishnan Sethumadhavan
Department of Computer Applications, School of Computing, SASTRA Deemed University, Tirumalaisamudram 613401, India
*
Author to whom correspondence should be addressed.
Mathematics 2020, 8(3), 303; https://doi.org/10.3390/math8030303
Submission received: 20 January 2020 / Revised: 22 February 2020 / Accepted: 23 February 2020 / Published: 25 February 2020
(This article belongs to the Special Issue Graph-Theoretic Problems and Their New Applications)

Abstract

:
The graph coloring problem is an NP-hard combinatorial optimization problem and can be applied to various engineering applications. The chromatic number of a graph G is defined as the minimum number of colors required to color the vertex set V(G) so that no two adjacent vertices are of the same color, and different approximations and evolutionary methods can find it. The present paper focused on the asymptotic analysis of some well-known and recent evolutionary operators for finding the chromatic number. The asymptotic analysis of different crossover and mutation operators helps in choosing the better evolutionary operator to minimize the problem search space and computational complexity. The choice of the right genetic operators facilitates an evolutionary algorithm to achieve faster convergence with lesser population size N through an adequate distribution of promising genes. The selection of an evolutionary operator plays an essential role in reducing the bounds for minimum color obtained so far for some of the benchmark graphs. This research also focuses on the necessary and sufficient conditions for the global convergence of evolutionary algorithms. The stochastic convergence of recent evolutionary operators for solving graph coloring is newly analyzed.

1. Introduction

A simple graph G = (V, E) consists of a set of vertices V = {v1, v2, v3vn} and a set of edges E = {e1, e2, e3em} such that each ei (1 ≤ im) is uniquely associated with an unordered pair of vertices (vj, vk) (1 ≤ j, kn) and jk [1,2]. Its adjacency matrix is denoted by A(G), an n × n symmetric matrix where A(j, k) = 1 (1 ≤ j, kn) if (vj, vk) ϵ E(G); and A(j, k) = 0 (1 ≤ j, kn) otherwise [2].
χ(G), the chromatic number of G, is defined as the minimum number of colors required for V(G) so that no two adjacent vertices are of the same color [2]. The graph coloring problem (GCP) finds the value for χ(G) and applies it to register allocation, channel assignment, image segmentation, resource utilization, and scheduling [3,4,5,6,7,8,9,10]. With the increasing values of n, the complexity of determining χ(G) also increases. GCP is an NP-hard combinatorial optimization problem. Hence, a fast evolutionary and approximation method is expected to reduce the problem search space by maximizing the number of successful runs [1,11,12,13,14,15,16]. Tabu search [17], backtracking [18], branch and bound [11], evolutionary algorithm [19,20,21], branch and cut [22], particle swarm optimization (PSO) [23,24,25,26], ant colony optimization (ACO) [27], local and cuckoo search [28,29] are some existing methods for finding χ(G). Some recent applications of GCP are selective graph coloring [30,31], signed graphs coloring [32,33], scheduling, and resource allocation [7,8,9,10,34,35,36,37,38]. In comparison to other methods, GA is useful for solving multi-objective optimization problems with vast search space. Hence, it is expected to design new evolutionary operators to achieve faster stochastic convergence with minimal generations. Some recent evolutionary operators have achieved near-optimal solutions for some benchmark graphs [4,39,40,41]. Moreover, some recent genetic operators have increased the number of successful runs and reduced expected generations g   ¯ , expected crossovers c ¯ , and the expected mutations m ¯ . The notations g   ¯ ,   c ¯ , and m ¯ indicate respectively the average number of generations, the average number of crossovers, and the average number of mutations performed to obtain the near-optimal solution for the specified number of total runs and generations during the execution of the program. This paper focused on the asymptotic analysis and stochastic convergence of some well-known and current evolutionary operators.
Some of the recent recombination operators are similar to mutation and are executed in place of recombination operation [2]. Some of the well-known and recent recombination operators operate on multiple parent gene sequences [2]. The order-based uniform crossover operator [42] uniformly selects genes from various parents. The penalty based crossover operator [43] generates offspring, which results in a minimum penalty. The one-point and two-point crossover operators generate random numbers and inherit genes from their parents. The graph adapted crossover generates genes based on conflicting and neighboring vertices. The union independent set (UIS) crossover [44] operator unifies the pairs of independent color sets from the selected parents. The greedy partition crossover (GPX) [45] operator divides V(G) into k-sets and generates offspring. The multi-parent crossover [46] operator is the extension of GPX, which creates offspring from multiple parents. The well-informed partition crossover (WIPX) [47] operator selects the color classes from the randomly chosen parents based on a scoring function. The penalty-based color partitioning crossover (PCPX) [48] operator generates offspring based on the partition of V(G) and its penalty. The degree based crossover (DBX) [48] operator applies the heuristics of the largest degree ordering (LDO) to order-based crossover or permutation one point crossover (POP) [40]. POP crossover performs an order-based permutation operation. The multi-point guided crossover (MPGX) [48] operator incorporates problem-specific knowledge. The merging crossover (MOX) [40] operator merges two-parent gene sequences and generates order-based offspring. The merging independent sets (MIS) [40] crossover groups the color sets of parents and generates offspring.
A recent crossover operator, the single parent conflict gene crossover (SPCGX), similar to mutation, is applied to the single parent to identify the conflicting genes and generate better offspring [49]. SPCGX is combined with the conflict gene removal (CGR) procedure to identify and remove some conflicting genes [50]. SPCGX is also connected with the advanced local guided search (ALGS) operator [2] to fine-tune the offspring further and also to reduce the computational complexity. The single parent conflict gene extended crossover (SPCGEX) operator is applied to the selected single parent for fixed iterations. Extended SPCGEX (ESPCGEX) extends SPCGEX with CGR for fixed iterations to produce better offspring. The multipoint SPCGX (MSPCGX) performs several crossovers for conflicting genes. Some of the recent genetic operators have achieved the better solution for some large DIMACS benchmark graphs in the reasonable expected generations [2].
The mutation operators operate on offspring generated by crossover operations. The random mutation operator [43] randomly swaps the color of each vertex with low mutation probability pm. The polynomial mutation operator rounds off the floating-point color values. The swap mutation is applied to offspring generated by the DBX operator [51]. Problem-specific mutation [51] operators operate on the offspring generated by the MPGX operator. The order mutation (OM) [52] operator generates a random number r and performs r interchanges between vertices. The block mutation (BM) [52] performs the translation of blocks of successive vertices. The color spread mutation (CSM) [52] randomly selects the conflicting edges and moves the genes to new positions. The bad edge stretch mutation (BESM) [52] reduces the number of conflicting edges. The conflict gene mutation (CGM) [2] assigns the conflict-free integers to the offspring and performs fixed iterations. The CGM-CGR operator further reduces the number of conflicts in the offspring. The extended CGM (ECGM) operator fine-tunes the offspring by extending CGM for finite iterations. The multipoint CGM (MCGM) performs multipoint mutations at the conflicting vertices to reduce the number of conflicts.
Section 2 explains the need for complexity analysis and stochastic convergence for evolutionary operators. Section 3 focuses on the general structure of the genetic algorithm for solving GCP. Section 4 and Section 5 explain some of the well-known and recent recombination and mutation operators. The necessary and sufficient condition for the global convergence of evolutionary algorithms and the stochastic convergence of recent genetic operators are newly analyzed in Section 6. Conclusions and future research directions are delineated in Section 7.

2. The Need for Complexity Analysis and Stochastic Convergence of Evolutionary Operators

GCP is very challenging for genetic algorithms because of its vast solution space. Hence, designing and choosing the right genetic operators in population-based methods are important for the following reasons [53,54,55,56]:
  • Solution space of GCP consists of nn candidate solutions, and nn rapidly grows with n. The computational complexity of finding χ(G) is proportional to m and n. If the solutions are represented using χ(G) < n, then the solution space contains χ(G)n assignments. Therefore, the total number of different assignments in the solution space is χ(G)!
  • The computational complexity of GCP is reduced only when the values of c ¯ , m ¯   , and g   ¯ are minimized.
  • The evolutionary operators are expected to improve the performance of the genetic algorithm by reducing the search space as well as by increasing the successful runs.
  • The evolutionary operators should improve the near-optimal solution obtained from the existing methods [11,22,25,26,27,57,58,59].
  • The evolutionary operators should avoid additional memory resources and complex computational operations.
  • The performance of operators depends on how many parent gene sequences are considered for crossover and mutation. It also depends on the update of gene sequences [4,39,40,41].
  • A smaller population size (N ≤ 15) is expected to reduce the complexity and to achieve a sufficient convergence rate. The crossover and mutation operations can be embedded with the right search operators to reduce the value of g ¯ further.
  • The evolutionary operators should effectively distribute the promising genes from one generation to the next generation in order to reduce the fitness function values.
  • The graph characteristics, graph instances such as n, m, and graph density, can be considered for choosing the right genetic operators [60].
  • The evolutionary operators should quickly converge with the reduced computational complexity.

3. The General Structure of Genetic Algorithm for Solving GCP

Notations

  • Degree, δ ( G ) and Δ ( G )
    The number of edges incident on vi ( 1 i n ) is the degree, d(vi) in G. Let   Δ ( G ) = max 1 i n { d ( v i ) | v i V ( G ) } and δ ( G ) = min 1 i n { d ( v i ) | v i V ( G ) } be the maximum and minimum degrees of G respectively.
  • Encoding of Gene Sequence
    The color values of V(G) are encoded as (g1, g2, g3gn), where gj (1 ≤ jn) is a non-zero integer.
  • Density
    The density of G is 2 m n ( n 1 ) .
  • Population Size, Crossover, Mutation Probability
    pc is the crossover probability, and the mutation probability is denoted as pm. Pg is the population, which represents the collection of gene sequences for generation g. N = |Pg| defines the population size for g.
  • Fitness Function
    f(G), the general fitness function of G, is the number of distinct genes in the gene sequence [2]. The main objective of GCP is to minimize f(G), hence, χ(G) – f(G) = 0.
  • Conflicting Genes
    When ga = gb and (va, vb) E(G), the genes ga (1 ≤ an) and gb (1 ≤ bn) corresponding to vertices va and vb conflict with the gene sequence (g1, g2, g3gn).
The general structure of the genetic algorithm for solving GCP is presented below.
Step 1: Initialization
First, initialize g = 0. The initialization of Pg randomly or heuristically generates values in [1, minimum color].
Step 2: Evaluation of Fitness Function and Selection of Individuals
The fitness of individuals in the population is evaluated, and one or more parent gene sequence(s) are selected for the generation of the subsequent gene sequences. Different selection methods can be applied to select gene sequences for crossover operation.
Step 3: Recombination or Crossover Operation
The recombination operation is performed on the selected gene sequence(s) with probability pc (high value of pc, for example, pc = 0.8) to generate offspring.
Step 4: Performing Mutation
The crossover gene sequences or offspring are mutated with the chosen mutation probability pm (low value of pm, for example, pm = 0.2) to generate new offspring.
Step 5: Termination
Find Fg (offspring) for the updated gene sequence. If Fg (offspring) = 0, the generation of offspring stops; otherwise, Pg is updated (g = g + 1). If Fg (offspring) < Fg−1 (worst), Pg is updated by replacing the worst gene with offspring. Then transfer the control to Step 2 for the next generation.
The pseudo-code of the general genetic algorithm is presented below.
// Pseudo code of the Genetic Algorithm
1: Initialization of individuals;
2: While termination conditions are not satisfied, do
3: Evaluate the fitness function and select better individuals;
4: Perform the recombination operation;
5: Perform the mutation operation;
6: Apply elitism operation;
7: Print the near-optimal results;

4. Asymptotic Analysis of Some Existing Well-known and Recent Crossover Operators

Some of the existing well-known and recent crossover or recombination operators for solving GCP are presented in this section. The asymptotic complexity of these operators is also analyzed in Table 1. The simple control constructs if and if-else statements that can be implemented in a constant complexity, Θ(c). The control constructs for, while, do-while, and repeat-until can be implemented in a linear complexity, Θ(n). The quadratic complexity is represented in Θ(n2). For example, color assignments of V(G) can be verified in Θ(n2) complexity.
1.
Order-based Uniform Crossover
The order-based uniform crossover operator uniformly selects the genes from multiple parents. The procedure can be described in the following steps.
a.
Select two parent gene sequences, say p1 and p2.
b.
Generate the offspring by selecting the first n/2 length of genes from p1 and the next n/2 length of genes from p2.
c.
Randomly select any two vertices, vi and vj in the offspring, and scramble all vertices between vi and vj.
Analysis: Steps (a), (b) and (c) take Θ(n) complexity. Thus the order-based uniform crossover takes Θ(n) complexity.
2.
Penalty Based Crossover
The penalty based crossover operator generates the offspring, which results in a minimum penalty. The procedure is described in the following steps.
a.
Select two parent gene sequences, say p1 and p2.
b.
Generate the offspring by determining the color for each vertex in every parent by assigning colors, which results in a minimum penalty.
Analysis: Step (a) takes Θ(n) complexity. Step (b) takes Θ(n2 χ(G)) complexity. The computational complexity of penalty based crossover is Θ(n2 χ(G)).
3.
One-point Crossover
The one-point crossover operator generates random numbers and inherits genes from their parents. The procedure is described in the following steps.
a.
Select two parent gene sequences, say p1 and p2.
b.
Choose a random point r in between [1, n].
c.
Generate the offspring based on r by inheriting genes from both parents.
Analysis: Step (a) takes Θ(n) complexity. Step (b) can be implemented in constant running time. Step (c) requires Θ(n) complexity. Thus the one-point crossover takes Θ(n) complexity.
4.
Two-point Crossover
The two-point crossover operator generates random numbers and inherits genes from their parents. The procedure is described in the following steps.
a.
Select two parent gene sequences, say p1 and p2.
b.
Choose two random points, r and s in between [1, n].
c.
Generate the offspring based on r and s by inheriting genes from both parents.
Analysis: Step (a) takes Θ(n) complexity. Step (b) can be implemented in constant running time. Step (c) requires Θ(n) complexity. Thus the two-point crossover takes Θ(n) complexity.
5.
Graph Adapted Crossover
The graph adapted crossover generates genes based on the conflicting and neighboring vertices. The procedure is described in the following steps.
a.
Select two parent gene sequences, say p1 and p2.
b.
Choose a random vertex v in V(G).
c.
Color the vertices with respect to the parents that have no conflicts for vertex v.
d.
If p1 and p2 have conflicts with vertex v then assign the least color to its neighboring vertices.
Analysis: Step (a) takes Θ(n) complexity. Step (b) requires constant running time. Step (c) requires Θ(n2) complexity. Step (d) requires Θ(n2) complexity. The complexity of graph adapted crossover is Θ(n2).
6.
UIS Crossover
The UIS crossover operator unifies a pair of independent color sets from the selected parents. The procedure is described in the following steps.
a.
Select two parent gene sequences, say p1 and p2.
b.
Find the largest conflict-free subset of vertices having a color c in p1.
c.
Find the largest conflict-free subset in p2 such that a common number of vertices in these subsets are maximal.
d.
Repeat the steps (b) and (c) for every color.
e.
Generate the offspring o1 and o2 by performing set union operation.
Analysis: Steps (a), (b) and (c) require Θ(n) complexity. Step (d) requires Θ(n χ(G)) complexity. Step (e) requires Θ(n) complexity. Thus the complexity of UIS crossover is Θ(n χ(G)).
7.
Multi-Parent Crossover
Multi-parent crossover is an extension of GPX, which creates offspring from multiple parents. The procedure is described in the following steps.
a.
Select the parent color classes from multiple parents.
b.
Select the largest color class c in the population.
c.
Add the color class c to the offspring.
d.
Remove all vertices in c from all parent color classes.
e.
Repeat the operation until the required number of color classes has reached.
f.
Add the remaining vertices randomly to the color class.
Analysis: Steps (a), (b), (c) require Θ(n) complexity. Steps (d) and (e) require Θ(n2) complexity. Step (f) requires Θ(n) complexity. Thus the complexity of multi-parent crossover is Θ(n2).
8.
WIPX Crossover
The WIPX operator selects the color classes from the randomly selected parents based on a scoring function. The procedure is described in the following steps.
a.
Select the color classes from the randomly chosen parents based on a scoring function.
b.
Determine the score of the color set as:
Number   of   conflicts 1 | v | ( classSize + classDegree / ( n m ) )
where classSize is the cardinality of the color set, and classDegree is the sum of the degrees of the color class vertices.
c.
Apply the multi-parent crossover operation.
Analysis: Step (a) requires Θ(n) complexity. Step (b) requires Θ(n2) complexity. Step (c) requires Θ(n2) complexity. Thus the complexity of WIPX crossover is Θ(n2).
9.
GPX Crossover
GPX operator partitions V(G) into k sets and generates the offspring. The procedure is described in the following steps.
a.
Choose two parent configurations p1 = (v11, v21, v31vk1) and p2 = (v12, v22, v32vk2) where k is the number of color classes.
b.
For each j (1 ≤ jk) do
If j is odd then s =1, else s = 2;
Select i such that vis has maximum vertices;
vj = vis;
Remove vj from both p1 and p2
c.
Choose a random color class and assign V−(v1v2v3vk).
d.
Generate an offspring o1 = (v1, v2, v3… vk).
Analysis: Step (a) requires Θ(n) complexity. Step(b) requires Θ(n2) complexity. Steps (c) and (d) require Θ(n) complexity. Thus GPX crossover takes Θ(n2) complexity.
10.
PCPX Crossover
PCPX crossover operator generates offspring based on partitions of V(G) and its penalty. The procedure is described in the following steps.
a.
Select two parent gene sequences, say p1 and p2.
b.
Consider one parent at a time.
c.
Extract a subpartition V’(G), which results in a minimum penalty among V(G) of the main partition.
d.
Color V’(G) for the selected parent.
e.
Remove V’(G) in both parents.
f.
Find the largest color partition for the next parent.
g.
Repeat the procedure until all vertices in the offspring are colored.
Analysis: Step (a) requires Θ(n) complexity. Step(b) takes constant running time. Steps (c), (d), (e), (f) and (g) take Θ(n2) complexity. Thus PCPX crossover takes Θ(n2) complexity.
11.
DBX Crossover
DBX crossover operator applies the heuristics of LDO in order based crossover or POP. The procedure is described in the following steps.
a.
Apply the heuristics of LDO in order based crossover or POP operator.
b.
Select a pair of random individuals, say P1 and P2.
c.
Select a random crossover point r in P1.
d.
Copy the vertex colors starting at an initial point to r in P1 into the offspring O1;
e.
Choose a vertex u in P2 and v in O1.
f.
If u is not assigned an order in O1 and if degree(v) < degree(u) then
Find the vertex v having minimum order in O1 with degree(v) < degree(u);
Increment the vertex orders by 1 for all vertices having order ≥ v;
Assign vertex u to the order of vertex v;
Else assign the least available order to vertex u.
Analysis: Step (a) requires Θ(n2) complexity. The selection and copy operations in steps (b), (d), and (e) require Θ(n) complexity. Step(c) takes a constant running time. Step (f) requires Θ(n2) complexity. Thus DBX takes Θ(n2) complexity.
12.
MPGX Crossover
MPGX operator incorporates problem-specific knowledge. The procedure is described in the following steps.
a.
Select a pair of random individuals, say P1 and P2;
b.
Choose a random crossover point;
c.
Assign count = Pc * n;
d.
While count ≠ 0 do
Select a random vertex i;
c1= color[i] in P1;
c2 = color[i] in P2;
If c1c2 and if penalty of P1 reduces with c2 then replace c1 by c2;
If c1c2 and if penalty of P2 reduces with c1 then replace c2 by c1;
count = count − 1
e.
Generate offspring.
Analysis: Step (a) requires Θ(n) complexity. Steps (b), (c), and (e) take a constant running time. Step (d) takes Θ(n2) complexity. Thus MPGX crossover takes Θ(n2) complexity.
13.
POP Crossover
POP crossover performs an order based permutation operation. The procedure is described in the following steps.
a.
Select two parent gene sequences, say p1 and p2.
b.
Choose a random point r in between [1, n].
c.
Apply order based crossover.
d.
Swap the first portion of strings and apply permutation on the remaining unused vertices copied in the sequence.
Analysis: Steps (a) and (c) require Θ(n) complexity. Step (b) requires a constant running time. Step (d) requires Θ(n2) complexity. Thus the complexity of POP crossover is Θ(n2).
14.
MOX Crossover
The MOX operator performs merging of two-parent gene sequences and generates the order based offspring. The procedure is described in the following steps.
a.
Select two parent gene sequences, say p1 and p2.
b.
Merge p1 and p2 randomly into a single list, which consists of 2n elements.
c.
Assign the first occurrence of each gene to offspring1.
d.
Assign the second occurrence of each gene to offspring2.
Analysis: Steps (a) and (b) require Θ(n) complexity. Steps (c) and (d) take Θ(n2) complexity. The complexity of MOX crossover is Θ(n2).
15.
MIS Crossover
The MIS crossover operator groups the color sets of parents and generates the offspring. The procedure is described in the following steps.
a.
Select two parent gene sequences, say p1 and p2.
b.
Group the color sets in both p1 and p2.
c.
Copy the whole color sets from p1 and p2 into a single merged list.
d.
Assign the first occurrence of each gene into offspring1.
e.
Assign the second occurrence of each gene into offspring2.
Analysis: Steps (a), (b) and (c) require Θ(n) complexity. Steps (d) and (e) take Θ(n2) complexity. The complexity of MIX crossover is Θ(n2).
16.
SPCGX Crossover
SPCGX operation is applied to the selected gene sequences, i and j, to generate two new gene sequences as offspring. The offspring, iʹ and jʹ are generated by a chosen crossover probability pc. SPCGX operator is defined as follows [50]:
a.
Let i = (i1, i2, i3iqirin) and j = (j1, j2, j3jsjtjn) be the two selected sequences.
b.
Generate random probability pcr.
c.
If pcr > pc go to step (d).
d.
Find all pairs of conflicting edges in i and j.
e.
Let (q, r) and (s, t) be such two pairs of conflicting edges (i.e., iq = ir and js = jt) in i and j, then generate two offspring: (i1, i2, i3iqir+1 … in) and (j1, j2, j3jsjt+1 ... jn).
f.
Repeat step (e) of crossover operation to all the identified conflicting pairs in step (d) of crossover operation and generate updated gene sequences i’ = (i1’, i2’, i3’if’ig’in’) and j’ = (j1’, j2’, j3’jk’jl’ …, jn’).
Analysis: Step (a) requires Θ(n) complexity. Steps (b), (c), and (e) take a constant running time. Steps (d) and (f) require Θ(n2) complexity. SPCGX takes Θ(n2) complexity.
17.
SPCGX-CGR Crossover
SPCGX is applied with a CGR procedure with a chosen pc. SPCGX-CGR is given in the following steps [50]:
a.
Apply the steps (a) to (e) of SPCGX crossover.
b.
Check if the new genes at r and t (i.e., ir and jt) corresponding to an edge (r, t) are in conflict with its corresponding adjacent genes. If so, generate ir = ir + 1 and jt = jt + 1 such that ir + 1 ≤ χ(G) and jt + 1 ≤ χ(G).
c.
Repeat step (f) of SPCGX with CGR procedure to all the conflicting pairs and generate updated gene sequences: i’ = (i1’, i2’, i3’in’) and j’ = (j1’, j2’, j3’jn’).
Analysis: Steps (a) and (c) require Θ(n2) complexity. Step (b) takes a constant running time. SPCGX-CGR takes Θ(n2) complexity.
18.
SPCGEX Crossover
The SPCGEX operator is applied on the selected gene sequences i = (i1, i2, i3in) and j = (j1, j2, j3jn) as follows [2]:
a.
Randomly select any two most conflicting vertices, r, and t in gene sequences i and j.
b.
Generate offspring (i1, i2, i3ir+1 … in) and (j1, j2, j3jt+1 … jn) such that ir + 1 ≤ minimum color and 1 + jt ≤ minimum color.
c.
Repeat the steps (a) and (b) for fixed iterations to obtain the updated offspring i’ and j’ as (i1’, i2’, i3’in’) and (j1’, j2′, j3’jn’).
Analysis: Steps (a) and (c) require Θ(n2) complexity. Step (b) takes a constant running time. SPCGEX takes Θ(n2) complexity.
19.
ESPCGEX Crossover
The steps in ESPCGEX crossover are defined as follows [2].
a.
Perform SPCGEX crossover steps (a) and (b).
b.
If the new genes ir and jt are conflicting, then apply SPCGEX at the conflicting edges (q, r) and (s, t).
c.
Repeat the steps (a) and (b) for fixed iterations to obtain the updated offspring i’ and j’ as (i1’, i2’, i3’in’) and (j1’, j2’, j3’jn’).
Analysis: Steps (a), (b) and (c) require Θ(n2) complexity. Hence ESPCGEX takes Θ(n2) complexity.
20.
MSPCGX Crossover
The steps in MSPCGX crossover are defined as follows [2].
a.
Find the conflicting edges that count to every vertex in gene sequences j and i.
b.
Determine the conflicting vertices in j and i.
c.
Select arbitrarily conflicting vertices, r in i and t in j.
d.
Update i and j as (i1, i2, i3ir+1 … in) and (j1, j2, j3jt+1 … jn) such that minimum colorir + 1 and minimum colorjt + 1.
e.
If the new genes ir and jt are conflicting, then generate ir = ir + 1 and jt = jt + 1 such that minimum color ≥ ir + 1 and minimum color ≥ jt + 1.
f.
Repeat the steps (d)–(e) for remaining conflicting vertices and update i’ and j’ as (i1’, i2’, i3’in’) and (j1’, j2’, j3’jn’).
Analysis: Steps (a), (b), (e) and (f) require Θ(n2) complexity. Step (c) takes Θ(n) complexity. Step (d) takes a constant running time. MSPCGX takes Θ(n2) complexity.

5. Asymptotic Analysis of Some Existing Well-known and Recent Mutation Operators

Some of the existing well-known and recent mutation operators for solving GCP are presented in this section. The asymptotic complexity of these operators is also analyzed. The asymptotic complexity of these operators is also analyzed in Table 2.
1.
Random Mutation
The random mutation operator randomly swaps the color of each vertex with a low mutation probability pm. The procedure is described in the following steps.
a.
Select crossover offspring o1.
b.
Randomly swap the color class of each vertex with a low pm.
Analysis: Step (a) requires a constant running time. Step (b) takes Θ(n) complexity. Thus the random mutation takes Θ(n) complexity.
2.
Polynomial Mutation
The polynomial mutation operator rounds off real values of colors to the nearest integer. The procedure is described in the following steps.
a.
Select crossover offspring o1.
b.
Choose the random point and round off real values of colors to the nearest integer.
Analysis: Steps (a) and (b) require a constant running time. Thus the polynomial mutation takes Θ(c) complexity.
3.
Problem-Specific Mutation 1
The problem-specific mutation operator is defined with problem-specific knowledge. It is operating on the offspring generated by MPGX operator. The procedure is described in the following steps.
a.
Select crossover offspring o1.
b.
Find the missing color c1 in the range of maximum color [1, maximum color] used.
c.
Identify all the vertices V’(G) assigned with maximum color.
d.
Replace colors of V’(G) by c1.
Analysis: Step (a) requires a constant running time. Steps (b) and (c) take Θ(n2) complexity. Step (d) takes Θ(n) complexity. This mutation takes Θ(n2) complexity.
4.
Problem-Specific Mutation 2
The problem-specific mutation operator is defined with problem-specific knowledge. It operates on the offspring generated by MPGX operator. The procedure is described in the following steps.
a.
Choose color c1 randomly within one less than [1, maximum color].
b.
Identify all the vertices V’(G) assigned to a maximum color.
c.
Replace colors of V’(G) by c1.
Analysis: Step (a) requires a constant running time. Step (b) takes Θ(n2) complexity. Step (c) takes Θ(n) complexity. This mutation takes Θ(n2) complexity.
5.
Problem-Specific Mutation 3
The problem-specific mutation operator is defined with problem-specific knowledge. It operates on the offspring generated by MPGX operator. The procedure is described in the following steps.
a.
Choose a vertex v randomly.
b.
Choose a color c randomly for v.
c.
If the penalty is reduced to v with color c, then set color[v] = c.
Analysis: Steps (a) and (b) require a constant running time. Step (c) takes Θ(n2) complexity. This mutation takes Θ(n2) complexity.
6.
OM
The OM operator generates a random number r and performs r interchanges between vertices. The procedure is described in the following steps.
a.
Let (v1, v2, v3 … vn) be the crossover offspring.
b.
Generate a random number r;
c.
Generate the offspring by performing r interchanges between vertices.
Analysis: Steps (a) and (b) require a constant running time. Performing r interchanges in Step(c) can also be done in linear time. The OM mutation takes Θ(n) complexity.
7.
BM
The BM operation performs a translation of blocks of k > 0 successive vertices. The procedure is described in the following steps.
a.
Let (v1, v2, v3 … vn) be the crossover offspring.
b.
If k = 2 and i [1, n−1], j [1, n] are randomly generated then generate the offspring (v1, .vi−1, vi+2… vj, vi, vi+1, vj+1).
Analysis: Step (a) requires a constant running time. Step (b) can take Θ(n) complexity. Thus BM operation takes Θ(n) complexity.
8.
CSM
The CSM randomly selects the conflicting edge and moves the genes to new positions. The procedure is described in the following steps.
a.
Let (v1, v2, v3vn) be the crossover offspring.
b.
Choose a randomly selected bad edge e = (vi, vj) and e’ = (vk, vl) be the next bad edge such that (i < j < k < l).
c.
Move the vertices from positions i + 1 to l − 1 to randomly chosen new positions.
Analysis: Step (a) requires a constant running time. Steps (b) and (c) need Θ(n) complexity.
9.
BESM
The BESM operation reduces the number of conflicting edges. The procedure is described in the following steps.
a.
Let (v1, v2, v3vn) be the crossover offspring.
b.
Choose a random bad edge e = (vi, vj).
c.
Choose a direction either left-to-right or right-to-left randomly.
d.
Let vk be the farthest vertex adjacent to vi so that k > j.
e.
Let e’ = (vl, vm) be the first bad edge so that l > k.
f.
If there is no vertex vk or edge e’ with the specified properties, the mutation is void. Otherwise, the vertex vi is moved to the position m + 1.
Analysis: Steps (a), (c) require a constant running time. Step (b) takes Θ(n2) complexity. Steps (d), (e) and (f) take Θ(n) complexity. Hence BESM takes Θ(n2) complexity.
10.
CGM
The CGM operates on offspring i’ and j’. The steps are given below [49]:
a.
Select any two conflicting genes i’fʹ = i’g and jk = jl in i’ and j’.
b.
Update i’ and j’ as (i1’, i, i3’if−1 … in) and (j1’, j2’, j3’ … jk−1 … jn) such that 1 ≤ if−1 and 1 ≤ jk−1.
c.
Update i” and j” as (i1”, i2”, i3” … in) and (j1”, j2”, j3” … jn) by repeating steps (a)-(b) for fixed iterations.
Analysis: Steps (a) and (c) require Θ(n2) complexity. Step (b) requires a constant running time. Hence CGM mutation takes Θ(n2) complexity.
11.
CGM-CGR Mutation
The CGM-CGR mutation is applied to the offspring i’ and j’ and its steps are given below [50]:
a.
Perform CGM steps (a)–(b).
b.
If the new genes if ʹ and jkʹ are conflicting then update if = if−1 and jk = jk−1 such that 1 ≤ if’−1 and 1 ≤ jk−1.
c.
Update i” and j” as (i1”, i2”, i3” … in) and (j1”, j2”, j3” … jn) by repeating steps (a)–(b) for fixed iterations.
Analysis: Steps (a), (b) and (c) require Θ(n2) complexity. Hence CGM-CGR mutation takes Θ(n2) complexity.
12.
ECGM
The ECGM operation is defined as follows [2]:
a.
Perform CGM steps (a) and (b).
b.
If new genes i’f and jk are conflicting, then perform CGM at f’ and k’.
c.
Update i” and j” as (i1”, i2”, i3”in) and (j1”, j2”, j3”jn) by repeating steps (a) and (b) for fixed iterations.
Analysis: Steps (a), (b) and (c) require Θ(n2) complexity. Hence ECGM takes Θ(n2) complexity.
13.
MCGM
The MCGM operation is defined as follows [2]:
a.
Find the conflict edges count to every vertex in i’ and j’.
b.
Determine the conflict vertices in i’ and j’.
c.
Select arbitrarily two conflicting vertices f’ in i’ and k’ in j’.
d.
Update i’ and j’ as (i1, i2, i3if−1 … in) and (j1’, j2’, j3’ … jk’−1 … jn’) such that 1 ≤ if’−1 and 1 ≤ jk’−1.
e.
If new genes i’f’ and jʹk are conflicting then perform CGM at f’ and k’.
f.
Update i” and j” as (i1”, i2”, i3”in) and (j1”, j2”, j3”jn) by repeating steps (d) and (e) for fixed iterations.
Analysis: Steps (a), (b), (e) and (f) require Θ(n2) complexity. Steps (c) and (d) take Θ(c) complexity. Hence MCGM takes Θ(n2) complexity.

6. Global Convergence of Evolutionary Algorithms and Stochastic Convergence of Recent Genetic Operators

The necessary and sufficient condition for the global convergence of evolutionary algorithms is proved in this section [61,62]. The stochastic convergence of some recent genetic operators for solving GCP is also proved in the present section [2].

6.1. Markov Chain Model of Evolutionary Algorithms

Consider the following optimization problem:
Optimize {f(x); x S} where S is a measurable space, f(x) is the objective or fitness function where the absolute value of (f(x)) is < +∞.
Represent the optimal solution set by S* = {x* such that f(x*) = optimize f(x), x S}.
Let μ(S) be a measure to space S with μ(S*) > 0.
Consider the set S*δ = {x such that f(x*) − f(x) < δ} where δ > 0 is a small number.
Choose an appropriate δ to satisfy μ(S*δ) > 0.
The space S is called an individual space where each state s in S is called an individual.
N represents population size.
X = SN is the population space.
Denote the elements in x as x = {x1, x2, x3xN}.
Denote the optimal solution set X* = {x* such that xi x: xi S*}.
An evolutionary algorithm to solve this optimization problem is formulated as follows:
a.
Initialization: Generate initial population P0 at generation g = 0.
b.
Crossover operation: Update the new population Pt by a crossover operator PC(g).
c.
Mutation operation: Update the new population Pt by a mutation operator PM(g).
d.
Selection operation: Select a new population from PM(g) by a selection operator PS(g).
e.
Termination: If termination conditions hold, then stop; otherwise g = g + 1 and update Pg.
Since the state of Pg+1 is only dependent on the state of Pg, then {Pg: g = 0, 1, 2…} can be modeled by a Markov chain with the following transition function [61,62]:
P ( g ;   x ,   d y )   =   P ( P g + 1 = d y   such   that   P g = x ) = u X v X P C ( g ; x ,   d u ) P M ( g ; u ,   d v ) P S ( g ; v ,   d y )
Then {Pg: g = 0, 1, 2…} converges to X*, if for any initial population P0,
l i m g + μ g ( X * ) = 1   where   μ g ( X * ) = μ ( P g   X * ) .

6.2. Convergence Conditions of Evolutionary Algorithms

The necessary and sufficient condition for the convergence of evolutionary algorithms is as follows [61,62]:
Let {Pg: g = 0, 1, 2…} be the Markov chain given by (1). Define α ( g ) as the difference between flow from the non-optimal solution set to the optimal solution set and vice versa.
α ( g ) = x     X *   P ( P g + 1 X * |   P g = x )   μ g ( d x )   x     X *   P ( P g + 1 X * |   P g = x )   μ g ( d x )
Then {Pg: g = 0, 1, 2…} converges to the optimal solution set X* iff
g = 0 + α ( g ) = 1 μ 0 ( X * )
Proof: For any given generation g, we have
μ g + 1 ( X * ) = x     X *   P ( P g + 1 X * |   P g = x )   μ g ( d x ) + x     X *   P ( P g + 1 X * |   P g = x )   μ g ( d x )
μ g + 1 ( X * ) = μ g ( X * ) x   X *   P ( P g + 1 X * |   P g = x )   μ g ( d x ) + x   X *   P ( P g + 1 X * |   P g = x )   μ g ( d x )
μ g + 1 ( X * ) μ g ( X * ) = α ( g )
μ g + 1 ( X * )   μ 0 ( X * ) =   k = 0 g α ( k )
lim g + μ g + 1 ( X * ) = 1     k = 0 + α ( k ) = 1 μ 0 ( X * )    
The initial population P0 is not optimal, that is, μ 0 ( X * ) = 0. Then
g = 0 + α ( g ) = 1

6.3. Stochastic Convergence of Recent Evolutionary Operators

Some of the recent genetic operators like SPCGX, SPCGEX, ESPCGEX, ECGM, MSPCGX, and MCGM modify Pg through successive stochastic transformations, which can be analyzed by the Markovian model. The subsequent value of Pg+1 is generated stochastically, and the evolutionary algorithm converges when the reachability and monotone conditions are fulfilled [2,41,63]. Some of the recent genetic operators converge stochastically.

6.3.1. Analyzing the Reachability Condition from j’

If j and j” be any two individuals in the finite search space S, then j” is reachable from individual j. That is, j’ = (j1’, j2’, j3’jn) and j”= (j1, j2, j3jn) are the two gene sequences generated from the gene sequences j = (j1, j2, j3jn) and j = (j1’, j2’, j3’jn) respectively. If (0 < Probability {j” = (crossover (j) & mutation (j’))} < 1) then the individual jʺ is reachable from individual jʹ [2].
First, consider the effect of crossover operation. Let S be the finite search space of the problem. Consider a gene sequence j S such that j = (j1, j2, j3jn). The proposed crossover operators (incremental operators) SPCGX and SPCGEX produce a new gene as jr = jr + 1 if minimum color ≥ jr + 1. Hence the new gene takes one of the values in (jr, jr+1). The CGR operator further checks the conflict at vertex r. If there is a conflict, then the new gene at vertex r is generated as jr = jr + 1 such that minimum color ≥ jr + 1. Clearly, jr assumes the value in (jr, jr + 1, jr + 2). Thus the required probability of assigning a new gene at the conflicting vertex is 1/3 for a single crossover operation. Assume that the crossover operation is performed for k times.
⇨ Probability {j’ = crossover (j)} = 1/3k > 0 (1 ≤ j, j’ ≤ N), k > 0
Now consider the effect of mutation operation. The recent mutation operators set a value of the conflicting gene in [1, f(G)]. Thus the required probability of assigning a gene at the conflicting vertex is 1/f(G) for a single mutation operation. Assume that the mutation operation is performed for l times.
⇨ Probability {j” = mutation (j’)} = 1/f(G)l > 0, l > 0.
For the chosen crossover probability pc and mutation probability pm, the probability of generating new gene sequence j” is computed using the multiplication theorem of probability. The crossover and mutation operations are mutually independent. Hence the required probability of generating j” is computed as follows:
Probability of {j” = (crossover (j) & mutation (j’))} ≥
(Crossover probability) × (Probability of generating j’ from j) × (Mutation
probability) × (Probability of generating j” from j’)
That is
Probability of {j” = (crossover (j) & mutation (j’))} ≥ pc. Probability {j’ = Crossover
(j)}.pm. Probability {j” = Mutation (j’)}
Probability   of   ( j = ( c r o s s o v e r ( j )   &   m u t a t i o n ( j ) ) }     p c   p m 1 3 k 1 ( f ( G ) ) l > 0
Hence the gene sequence is reachable from j’.

6.3.2. Analyzing whether Pg is Monotone

During the iterations of an evolutionary algorithm, Pg is modified by successive probabilistic transformations. The proportionate fitness selection selects one worst and two better gene sequences in every generation as follows:
a.
Evaluate Fg(a) for each gene sequence a (1 ≤ aN) in Pg.
b.
Determine p(a) using
p ( a ) = F g ( a ) /   a = 1 N F g ( a )
c.
Compute E(a) = N p(a) for all a (1 ≤ aN).
d.
Select the better gene sequences i and j and the worst gene sequence w.
The probability of selection of i and j is always greater than zero. Pg is then updated by performing the elitism operation.
The recombination and mutation operations are performed based on the values of pcr and pmr. For small graphs, some of the recent operators monotonically reduce Fg (i) and Fg(j) during the modification of population by a finite number of probabilistic transformations [2]:
1.
The values of Fg (i) and Fg (j) monotonically decreases in subsequent generations and converge to a better near-optimal solution.
That is, either F0(i) ≥ F1(i) ≥ F2(i) ≥ … ≥ (Fq(i) = 0) or F0(j) ≥ F1(j) ≥ F2(j) ≥ … ≥ (Fq(j) = 0).
2.
Fg (i) and Fg (j) monotonically decrease for a finite number of generations (say t).
i.e., F0(i) ≥ F1(i) ≥ F2(i) ≥ … ≥ Ft(i) and F0(j) ≥ F1(j) ≥ F2(j) ≥ … ≥ Ft(j).
Then, based on the values of pcr and pmr, the fitness-function values again increase for a finite number of generations (say s).
i.e., Ft(i) ≤ Ft+1(i) ≤ …≤ Fs(i) and Ft(j) ≤ Ft+1(j) ≤…≤ Fs(j).
For complex graphs, the successive probabilistic transformations find a better near-optimal solution after a finite number of generations. Hence, the successive probabilistic changes utilize Pg as a monotone in some of the subsequent generations to achieve a better near-optimal solution. These successive probabilistic changes, applying for over a large number of generations, for example, 1000 runs each with 5,000,000 generations of the genetic algorithm, achieve a better near-optimal solution [2].

7. Conclusions and Future Work

GCP is an NP-hard combinatorial optimization problem and can be applied to innumerable engineering problems. χ(G) can be obtained using different approximations and evolutionary methods. In comparison to other methods, genetic algorithms are useful in solving multi-objective optimization problems with vast search space [2]. Hence, it is expected to design new evolutionary operators to achieve faster stochastic convergence with a minimal number of generations.
This paper explored the asymptotic analysis of some well-known and recent evolutionary operators for finding chromatic numbers. The asymptotic analysis of different crossover and mutation operators helps in minimizing problem search space and computational complexity. The choice of the right genetic operators facilitates an evolutionary algorithm to achieve faster convergence with lesser population size (N) through an effective distribution of promising genes. The selection of evolutionary operators also plays an essential role in reducing the bounds for minimum color obtained for the benchmark graphs [2]. The necessary and sufficient condition for global convergence of the evolutionary algorithm and the stochastic convergence of some recent evolutionary operators for solving GCP are analyzed in this paper.
Our current work enlightens some new research directions [64,65,66].
i.
The recent genetic operators can be combined with better local search strategies in order to further reduce the computational complexity of GCP.
ii.
The self-adaptive evolutionary operators with heuristics can be designed to find chromatic numbers as well as can be applied to channel allocation problem (CAP) and scheduling problems. CAP is an extension of GCP, which assigns channels to mobile stations.
iii.
The performances of some recent operators can be evaluated under different parameter values, such as graph density, N, pc, and pm.
iv.
Some of the recent operators can be combined to reduce g ¯ .
v.
The stochastic convergence of genetic algorithms can be extended to multi-objective optimization problems, and the necessary conditions for the global convergence of multi-objective optimization problems can be analyzed mathematically.
vi.
An algebraic framework that may lead to a unification of different evolutionary operators for combinatorial problems can be designed and analyzed [64,65,66].

Author Contributions

Methodology, Software, Writing-original draft and formal analysis, R.M.; formal analysis, writing-review and editing, G.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Acknowledgments

The authors would like to acknowledge the support rendered by the management of SASTRA Deemed University for providing the financial support and BRNS, India for providing the workstation, which was procured for the project No. 2013/36/40-BRNS/2305 for execution [2]. The authors would like to thank Gary Lewandowski and Michael Trick for uploading the graph repository in W3C [2,60].

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Balakrishnan, R.; Ranganathan, K. A Textbook of Graph Theory, 1st ed.; Springer-Verlag Publisher: New York, NY, USA, 2000. [Google Scholar]
  2. Marappan, R.; Sethumadhavan, G. Solution to Graph Coloring using Genetic and Tabu Search Procedures. Arab. J. Sci. Eng. 2018, 43, 525–542. [Google Scholar] [CrossRef]
  3. Garey, M.R.; Johnson, D.S. Computers and Intractability: A Guide to the Theory of NP-Completeness; Freeman and Company: San Francisco, CA, USA, 1979. [Google Scholar]
  4. Maitra, T.; Pal, A.J.; Bhattacharyya, D.; Kim, T.H. Noise Reduction in VLSI Circuits using Modified GA Based Graph Coloring. Int. J. Control Autom. 2010, 3, 37–44. [Google Scholar]
  5. Yoshino, J.; Ohtomo, I. Study on efficient channel assignment method using the genetic algorithm for mobile communication systems. Soft Comput. 2005, 9, 143–148. [Google Scholar] [CrossRef]
  6. Chen, X.; Zu, Y.; Xu, J.; Wang, Z.; Yao, B. Vertex-Distinguishing E-Total Colorings of Graphs. Arab. J. Sci. Eng. 2011, 36, 1485–1500. [Google Scholar] [CrossRef]
  7. Abdelfattah, M.; Shawish, A. Automated Academic Schedule Builder for University’s Faculties. In Proceedings of the World Congress on Engineering 2016, London, UK, 29 June–1 July 2016. [Google Scholar]
  8. Saharan, S.; Kumar, R. Graph Coloring based Optimized Algorithm for Resource Utilization in Examination Scheduling. Appl. Math. Inf. Sci. 2016, 10, 1193–1201. [Google Scholar] [CrossRef]
  9. Tawfiq, F.M.O.; Al-qahtani, K.K.S. Graph Coloring Applied to Medical Doctors Schedule. In Proceedings of the 10th International Conference on Advanced Engineering Computing and Applications in Sciences, Venice, Italy, 9–13 October 2016. [Google Scholar]
  10. Thevenin, S.; Zufferey, N.; Potvin, J.Y. Graph multi-coloring for a job scheduling application. CIRRELT 2016. [CrossRef]
  11. Mehrotra, A.; Trick, M.A. A Column Generation Approach for Graph Coloring. Inf. J. Comput. 1995, 8, 344–354. [Google Scholar] [CrossRef]
  12. Szép, T.; Mann, Z.Á. Graph coloring: The more colors, the better? In Proceedings of the 11th International Symposium on Computational Intelligence and Informatics (CINTI), Budapest, Hungary, 18–20 November 2010. [Google Scholar]
  13. Galinier, P.; Hertz, A. A survey of local search methods for graph coloring. Comput. Oper. Res. 2006, 33, 2547–2562. [Google Scholar] [CrossRef]
  14. Johnson, D.S.; Aragon, C.R.; McGeoch, L.A.; Schevon, C. An Experimental Evaluation; Part II, Graph Coloring and Number Partitioning. Oper. Res. 1991, 39, 378–406. [Google Scholar] [CrossRef]
  15. Johnson, D.S.; Trick, M.A. Cliques, Coloring, and Satisfiability; American Mathematical Society: Providence, RI, USA, 1993; Volume 26. [Google Scholar]
  16. Mizuno, K.; Nishihara, S. Constructive generation of very hard 3-colorability instances. Discret. Appl. Math. 2008, 156, 218–229. [Google Scholar] [CrossRef] [Green Version]
  17. Hertz, A.; de Werra, D. Using tabu search techniques for graph coloring. Computing 1987, 39, 345–351. [Google Scholar] [CrossRef]
  18. Monasson, R. On the Analysis of Backtrack Procedures for the Coloring of Random Graphs. Lect. Notes Phys. 2004, 650, 235–254. [Google Scholar]
  19. Eiben, A.E.; Van Der Hauw, J.K.; Van Hemert, J.I. Graph Coloring with Adaptive Evolutionary Algorithms. J. Heuristics 1998, 4, 25–46. [Google Scholar] [CrossRef]
  20. Kumar, R.; Tolay, P.; Tiwary, S. Enhancing solution quality of the biobjective graph coloring problem using hybridization of EA: Biobjective graph coloring problem. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO), Atlanta, GA, USA, 12–16 July 2008; ACM Press: New York, NY, USA, 2008; pp. 547–554. [Google Scholar]
  21. Deb, K. Multi-Objective Optimization Using Evolutionary Algorithms; John Wiley & Sons: Hoboken, NJ, USA, 2001. [Google Scholar]
  22. Méndez-Díaz, I.; Zabala, P. A Branch and Cut algorithm for graph coloring. Discret. Appl. Math. 2006, 154, 826–847. [Google Scholar] [CrossRef] [Green Version]
  23. Cases, B.; Hernandez, C.; Grana, M.; D’Anjou, A. On the ability of Swarms to compute the 3-coloring of graphs. In Artificial Life; MIT Press: Cambridge, MA, USA, 2008. [Google Scholar]
  24. Graña, M.; Cases, B.; Hernandez, C.; D’Anjou, A. Further Results on Swarms Solving Graph Coloring. In Proceedings of the ICCSA 2010: Computational Science and Its Applications, Fukuoka, Japan, 23–26 March 2010; pp. 541–551. [Google Scholar]
  25. Hsu, L.Y.; Horng, S.J.; Fan, P.; Khan, M.K.; Wang, Y.R.; Run, R.S.; Lai, J.L.; Chen, R.J. MTPSO algorithm for solving planar graph coloring problem. Expert Syst. Appl. 2011, 38, 5525–5531. [Google Scholar] [CrossRef]
  26. Cui, G.; Qin, L.; Liu, S.; Wang, Y.; Zhang, X.; Cao, X. Modified PSO algorithm for solving planar graph coloring problem. Prog. Nat. Sci. 2008, 18, 353–357. [Google Scholar] [CrossRef]
  27. Bui, T.N.; Nguyen, T.H.; Patel, C.M.; Phan, K.A.T. An ant-based algorithm for coloring graphs. Discret. Appl. Math. 2008, 156, 190–200. [Google Scholar] [CrossRef] [Green Version]
  28. Zhou, Y.; Zheng, H.; Luo, Q.; Wu, J. An improved Cuckoo Search Algorithm for Solving Planar Graph Coloring Problem. Appl. Math. Inf. Sci. 2013, 7, 785–792. [Google Scholar] [CrossRef]
  29. Prestwich, S. Generalised graph colouring by a hybrid of local search and constraint programming. Discret. Appl. Math. 2008, 156, 148–158. [Google Scholar] [CrossRef] [Green Version]
  30. Demange, M.; Ekim, T.; Ries, B.; Tanasescu, C. On some applications of the selective graph coloring problem. Eur. J. Oper. Res. 2015, 240, 307–314. [Google Scholar] [CrossRef]
  31. Demange, M.; Ekim, T.; Ries, B. On the minimum and maximum selective graph coloring problems in some graph classes. Discret. Appl. Math. 2016, 204, 77–89. [Google Scholar] [CrossRef] [Green Version]
  32. Takeshita, L. Coloring Signed Graphs. 2016, pp. 1–7. Available online: https://math.mit.edu/~apost/courses/18.204-2016/18.204_Lynn_Takeshita_final_paper.pdf (accessed on 20 January 2020).
  33. Macajov, E.; Raspaud, A.; Skoviera, M. The Chromatic Number of a Signed Graph. Cornell University Library. arXiv 2016, arXiv:1412.6349. [Google Scholar]
  34. Zhou, B. On the Maximum Number of Dominating Classes in Graph Coloring. Open J. Discret. Math. 2016, 6, 70–73. [Google Scholar] [CrossRef] [Green Version]
  35. Gaspers, S.; Lee, E.J. Faster Graph Coloring in Polynomial Space. Cornell University Library. arXiv 2016, arXiv:1607.06201. [Google Scholar]
  36. Angelini, P.; Bekos, M.A.; De Luca, F.; Didimo, W.; Kaufmann, M.; Kobourov, S.; Montecchiani, F.; Raftopoulou, C.N.; Roselli, V.; Symvonis, A. Vertex-Coloring with Defects. J. Graph Algorithms Appl. 2017, 21, 313–340. [Google Scholar] [CrossRef]
  37. Galán, S.F. Simple decentralized graph coloring. Comput. Optim. Appl. 2017, 66, 163–185. [Google Scholar] [CrossRef]
  38. Aslan, M.; Baykan, N.A. A Performance Comparison of Graph Coloring Algorithms. Int. J. Intell. Syst. Appl. Eng. 2016, 1–7. [Google Scholar] [CrossRef]
  39. Fleurent, C.; Jacques, A. Ferland: Genetic and hybrid algorithms for graph coloring. Ann. Oper. Res. 1996, 63, 437–461. [Google Scholar] [CrossRef]
  40. Mumford, C.L. New Order Based Crossovers for the Graph Coloring Problem. In Parallel Problem Solving from Nature; Springer: Berlin/Heidelberg, Germany, 2006; Volume 4193, pp. 880–889. [Google Scholar]
  41. Han, L.; Han, Z. A Novel Bi-objective Genetic Algorithm for the Graph Coloring Problem. In Proceedings of the 2nd International Conference on Computer Modeling and Simulation, Sanya, China, 22–24 January 2010. [Google Scholar]
  42. Hajduk, J.O. An Analysis of Tabu Search for the Graph Coloring Problem. Master’s Thesis, Utrecht University, Utrecht, The Netherlands, 2010. Available online: www.cs.uu.nl/education/scripties/pdf.php?SID=INF/SCR-2009-095 (accessed on 20 January 2020).
  43. Costa, D.; Hertz, A.; Dubuis, C. Embedding a sequential procedure within an evolutionary algorithm for coloring problems in graphs. J. Heuristics 1995, 1, 105–128. [Google Scholar] [CrossRef]
  44. Dorne, R.; Hao, J.K. A new genetic local search algorithm for graph coloring. In Proceedings of the International Conference on Parallel Problem Solving from Nature, Amsterdam, The Netherlands, 27–30 September 1998; Springer: Berlin/Heidelberg, Germany, 1998; pp. 745–754. [Google Scholar]
  45. Galinier, P.; Hao, J.K. Hybrid Evolutionary Algorithms for Graph Coloring. J. Comb. Optim. 1999, 3, 379–397. [Google Scholar] [CrossRef] [Green Version]
  46. Lu, Z.; Hao, J.K. A memetic algorithm for graph coloring. Eur. J. Oper. Res. 2010, 203, 241–250. [Google Scholar] [CrossRef] [Green Version]
  47. Porumbel, D.C.; Hao, J.K.; Kuntz, P. An evolutionary approach with diversity guarantee and well-informed grouping recombination for graph coloring. Comput. Oper. Res. 2010, 37, 1822–1832. [Google Scholar] [CrossRef] [Green Version]
  48. Saha, S.; Kumar, R.; Baboo, G. Characterization of graph properties for improved Pareto fronts using heuristics and EA for bi-objective graph coloring problem. Appl. Soft Comput. 2013, 13, 2812–2822. [Google Scholar] [CrossRef]
  49. Marappan, Raja.; Sethumadhavan, Gopalakrishnan. A new genetic algorithm for graph coloring. In Proceedings of the 5th International Conference on Computational Intelligence, Modelling and Simulation, Seoul, Korea, 24–26 September 2013; pp. 49–54. [Google Scholar]
  50. Sethumadhavan, G.; Marappan, R. A Genetic Algorithm for Graph Coloring using Single Parent Conflict Gene Crossover and Mutation with Conflict Gene Removal Procedure. In Proceedings of the IEEE International Conference on Computational Intelligence and Computing Research 2013, Madurai, India, 26–28 December 2013; pp. 350–355. [Google Scholar]
  51. Ryan, E.; Azad, R.M.A.; Ryan, C. On the performance of genetic operators and the random key representation. In Proceedings of the European Conference on Genetic Programming, Coimbra, Portugal, 5–7 April 2004; Springer: Berlin/Heidelberg, Germany, 2004; pp. 162–173. [Google Scholar]
  52. Croitoru, C.; Luchian, H.; Gheorghie, O.; Apetrei, A. A New Genetic Graph Coloring Heuristic. 2002. Available online: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.14.1961 2002 (accessed on 20 January 2020).
  53. Lewis, R.M.R. A Guide to Graph Coloring, Algorithms and Applications; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar]
  54. Mann, Z.Á. Complexity of Coloring Random Graphs: An Experimental Study of the Hardest Region. J. Exp. Algorithmics 2018, 23, 1–19. [Google Scholar] [CrossRef]
  55. Mostafaie, T.; Khiyabani, F.M.; Navimipour, N.J. A systematic study on meta-heuristic approaches for solving the graph coloring problem. Comput. Oper. Res. 2019. [Google Scholar] [CrossRef]
  56. Srivastava, S.; Sundararaghavan, V. Graph Coloring Approach to Mesh Generation in Multiphase Media with Smooth Boundaries. AIAA J. 2020, 58, 198–205. [Google Scholar] [CrossRef]
  57. Dukanovic, I.; Rendl, F. A semidefinite programming-based heuristic for graph coloring. Discret. Appl. Math. 2008, 156, 180–189. [Google Scholar] [CrossRef] [Green Version]
  58. Hernández, H.; FrogSim, B.C. Distributed graph coloring in wireless ad hoc networks. Telecommun. Syst. 2014, 55, 211–223. [Google Scholar] [CrossRef]
  59. Segundo, P.S. A new DSATUR-based algorithm for exact vertex coloring. Comput. Oper. Res. 2012, 39, 1724–1733. [Google Scholar] [CrossRef] [Green Version]
  60. The Graph Coloring Instances. Available online: http://mat.gsia.cmu.edu/COLOR/instances.html (accessed on 20 January 2020).
  61. Back, T. Evolutionary Algorithms in Theory and Practice; Oxford University Press: New York, NY, USA, 1996; pp. 21–28. [Google Scholar]
  62. He, J.; Yu, X. Conditions for the Convergence of Evolutionary Algorithms. J. Syst. Archit. 2001, 47, 601–612. [Google Scholar] [CrossRef] [Green Version]
  63. Rudolph, G. Finite Markov Chain Results in Evolutionary Computation: A Tour d’Horizon. Fundam. Inform. 1998, 35, 67–89. [Google Scholar] [CrossRef]
  64. Marco, B.; Alfredo, M. Automatic algebraic evolutionary algorithms. In Italian Workshop on Artificial Life and Evolutionary Computation; Springer: Berlin/Heidelberg, Germany, 2017; pp. 271–283. [Google Scholar]
  65. Marco, B.; Alfredo, M. Learning bayesian networks with algebraic differential evolution. In International Conference on Parallel Problem Solving from Nature; Springer: Berlin/Heidelberg, Germany, 2018; pp. 436–448. [Google Scholar]
  66. Marco, B.; Alfredo, M. MOEA/DEP: An algebraic decomposition-based evolutionary algorithm for the multiobjective permutation flow shop scheduling problem. In European Conference on Evolutionary Computation in Combinatorial Optimization; Springer: Berlin/Heidelberg, Germany, 2018; pp. 132–145. [Google Scholar]
Table 1. Asymptotic Complexity of Well-known and Recent Crossover Operators.
Table 1. Asymptotic Complexity of Well-known and Recent Crossover Operators.
SNoCrossover OperatorAsymptotic Complexity
1Order-based Uniform CrossoverΘ(n)
2Penalty Based CrossoverΘ(n2 χ(G))
3One-point CrossoverΘ(n)
4Two-point CrossoverΘ(n)
5Graph Adapted CrossoverΘ(n2)
6UIS CrossoverΘ(n χ(G))
7Multi-Parent CrossoverΘ(n2)
8WIPX CrossoverΘ(n2)
9GPX CrossoverΘ(n2)
10PCPX CrossoverΘ(n2)
11DBX CrossoverΘ(n2)
12MPGX CrossoverΘ(n2)
13POP CrossoverΘ(n2)
14MOX CrossoverΘ(n2)
15MIS CrossoverΘ(n2)
16SPCGX CrossoverΘ(n2)
17SPCGX-CGR CrossoverΘ(n2)
18SPCGEX CrossoverΘ(n2)
19ESPCGEX CrossoverΘ(n2)
20MSPCGX CrossoverΘ(n2)
Table 2. Asymptotic Complexity of Well-known and Recent Mutation Operators.
Table 2. Asymptotic Complexity of Well-known and Recent Mutation Operators.
SNoMutation OperatorAsymptotic Complexity
1Random MutationΘ(n)
2Polynomial MutationΘ(c)
3Problem-Specific Mutation 1Θ(n2)
4Problem-Specific Mutation 2Θ(n2)
5Problem-Specific Mutation 3Θ(n2)
6OMΘ(n)
7BMΘ(n)
8CSMΘ(n)
9BESMΘ(n2)
10CGMΘ(n2)
11CGM-CGRΘ(n2)
12ECGMΘ(n2)
13MCGMΘ(n2)

Share and Cite

MDPI and ACS Style

Marappan, R.; Sethumadhavan, G. Complexity Analysis and Stochastic Convergence of Some Well-known Evolutionary Operators for Solving Graph Coloring Problem. Mathematics 2020, 8, 303. https://doi.org/10.3390/math8030303

AMA Style

Marappan R, Sethumadhavan G. Complexity Analysis and Stochastic Convergence of Some Well-known Evolutionary Operators for Solving Graph Coloring Problem. Mathematics. 2020; 8(3):303. https://doi.org/10.3390/math8030303

Chicago/Turabian Style

Marappan, Raja, and Gopalakrishnan Sethumadhavan. 2020. "Complexity Analysis and Stochastic Convergence of Some Well-known Evolutionary Operators for Solving Graph Coloring Problem" Mathematics 8, no. 3: 303. https://doi.org/10.3390/math8030303

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop