Complexity Analysis and Stochastic Convergence of Some Well-known Evolutionary Operators for Solving Graph Coloring Problem
Abstract
:1. Introduction
2. The Need for Complexity Analysis and Stochastic Convergence of Evolutionary Operators
- 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 , , and 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 avoid additional memory resources and complex computational operations.
- 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 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, andThe number of edges incident on vi () is the degree, d(vi) in G. and be the maximum and minimum degrees of G respectively.
- Encoding of Gene SequenceThe color values of V(G) are encoded as (g1, g2, g3 … gn), where gj (1 ≤ j ≤ n) is a non-zero integer.
- DensityThe density of G is .
- Population Size, Crossover, Mutation Probabilitypc 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 Functionf(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 GenesWhen ga = gb and (va, vb) E(G), the genes ga (1 ≤ a ≤ n) and gb (1 ≤ b ≤ n) corresponding to vertices va and vb conflict with the gene sequence (g1, g2, g3 … gn).
// 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
- 1.
- Order-based Uniform Crossover
- 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.
- 2.
- Penalty Based Crossover
- 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.
- 3.
- One-point Crossover
- 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.
- 4.
- Two-point Crossover
- 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.
- 5.
- Graph Adapted Crossover
- 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.
- 6.
- UIS Crossover
- 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.
- 7.
- Multi-Parent Crossover
- 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.
- 8.
- WIPX Crossover
- a.
- Select the color classes from the randomly chosen parents based on a scoring function.
- b.
- Determine the score of the color set as:
- c.
- Apply the multi-parent crossover operation.
- 9.
- GPX Crossover
- a.
- Choose two parent configurations p1 = (v11, v21, v31… vk1) and p2 = (v12, v22, v32… vk2) where k is the number of color classes.
- b.
- For each j (1 ≤ j ≤ k) doIf 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−(v1 ∪ v2 ∪ v3… ∪ vk).
- d.
- Generate an offspring o1 = (v1, v2, v3… vk).
- 10.
- PCPX Crossover
- 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.
- 11.
- DBX Crossover
- 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) thenFind 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.
- 12.
- MPGX Crossover
- 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 doSelect a random vertex i;c1= color[i] in P1;c2 = color[i] in P2;If c1 ≠ c2 and if penalty of P1 reduces with c2 then replace c1 by c2;If c1 ≠ c2 and if penalty of P2 reduces with c1 then replace c2 by c1;count = count − 1
- e.
- Generate offspring.
- 13.
- POP Crossover
- 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.
- 14.
- MOX Crossover
- 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.
- 15.
- MIS Crossover
- 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.
- 16.
- SPCGX Crossover
- a.
- Let i = (i1, i2, i3 … iq … ir … in) and j = (j1, j2, j3 … js … jt … jn) 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, i3 … iq … ir+1 … in) and (j1, j2, j3 … js … jt+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’).
- 17.
- SPCGX-CGR Crossover
- 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’).
- 18.
- SPCGEX Crossover
- a.
- Randomly select any two most conflicting vertices, r, and t in gene sequences i and j.
- b.
- Generate offspring (i1, i2, i3 … ir+1 … in) and (j1, j2, j3 … jt+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’).
- 19.
- ESPCGEX Crossover
- 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’).
- 20.
- MSPCGX Crossover
- 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, i3 … ir+1 … in) and (j1, j2, j3 … jt+1 … jn) such that minimum color ≥ ir + 1 and minimum color ≥ jt + 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’).
5. Asymptotic Analysis of Some Existing Well-known and Recent Mutation Operators
- 1.
- Random Mutation
- a.
- Select crossover offspring o1.
- b.
- Randomly swap the color class of each vertex with a low pm.
- 2.
- Polynomial Mutation
- a.
- Select crossover offspring o1.
- b.
- Choose the random point and round off real values of colors to the nearest integer.
- 3.
- Problem-Specific Mutation 1
- 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.
- 4.
- Problem-Specific Mutation 2
- 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.
- 5.
- Problem-Specific Mutation 3
- 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.
- 6.
- OM
- 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.
- 7.
- BM
- 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 …).
- 8.
- CSM
- a.
- Let (v1, v2, v3 … vn) 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.
- 9.
- BESM
- a.
- Let (v1, v2, v3 … vn) 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.
- 10.
- CGM
- a.
- Select any two conflicting genes i’fʹ = i’g’ and j’k’ = j’l’ in i’ and j’.
- b.
- Update i’ and j’ as (i1’, i2ʹ, 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.
- 11.
- CGM-CGR Mutation
- 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.
- 12.
- ECGM
- a.
- Perform CGM steps (a) and (b).
- b.
- If new genes i’f’ and j’k’ 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.
- 13.
- MCGM
- 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’, i3’ … if’−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.
6. Global Convergence of Evolutionary Algorithms and Stochastic Convergence of Recent Genetic Operators
6.1. Markov Chain Model of Evolutionary Algorithms
- 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.
6.2. Convergence Conditions of Evolutionary Algorithms
6.3. Stochastic Convergence of Recent Evolutionary Operators
6.3.1. Analyzing the Reachability Condition from j’
probability) × (Probability of generating j” from j’)
(j)}.pm. Probability {j” = Mutation (j’)}
6.3.2. Analyzing whether Pg is Monotone
- a.
- Evaluate Fg(a) for each gene sequence a (1 ≤ a ≤ N) in Pg.
- b.
- Determine p(a) using
- c.
- Compute E(a) = N p(a) for all a (1 ≤ a ≤ N).
- d.
- Select the better gene sequences i and j and the worst gene sequence w.
- 1.
- The values of Fg (i) and Fg (j) monotonically decreases in subsequent generations and converge to a better near-optimal solution.
- 2.
- Fg (i) and Fg (j) monotonically decrease for a finite number of generations (say t).
7. Conclusions and Future Work
- 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 .
- 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.
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Balakrishnan, R.; Ranganathan, K. A Textbook of Graph Theory, 1st ed.; Springer-Verlag Publisher: New York, NY, USA, 2000. [Google Scholar]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Thevenin, S.; Zufferey, N.; Potvin, J.Y. Graph multi-coloring for a job scheduling application. CIRRELT 2016. [CrossRef]
- Mehrotra, A.; Trick, M.A. A Column Generation Approach for Graph Coloring. Inf. J. Comput. 1995, 8, 344–354. [Google Scholar] [CrossRef]
- 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]
- Galinier, P.; Hertz, A. A survey of local search methods for graph coloring. Comput. Oper. Res. 2006, 33, 2547–2562. [Google Scholar] [CrossRef]
- 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]
- Johnson, D.S.; Trick, M.A. Cliques, Coloring, and Satisfiability; American Mathematical Society: Providence, RI, USA, 1993; Volume 26. [Google Scholar]
- Mizuno, K.; Nishihara, S. Constructive generation of very hard 3-colorability instances. Discret. Appl. Math. 2008, 156, 218–229. [Google Scholar] [CrossRef] [Green Version]
- Hertz, A.; de Werra, D. Using tabu search techniques for graph coloring. Computing 1987, 39, 345–351. [Google Scholar] [CrossRef]
- Monasson, R. On the Analysis of Backtrack Procedures for the Coloring of Random Graphs. Lect. Notes Phys. 2004, 650, 235–254. [Google Scholar]
- 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]
- 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]
- Deb, K. Multi-Objective Optimization Using Evolutionary Algorithms; John Wiley & Sons: Hoboken, NJ, USA, 2001. [Google Scholar]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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).
- Macajov, E.; Raspaud, A.; Skoviera, M. The Chromatic Number of a Signed Graph. Cornell University Library. arXiv 2016, arXiv:1412.6349. [Google Scholar]
- 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]
- Gaspers, S.; Lee, E.J. Faster Graph Coloring in Polynomial Space. Cornell University Library. arXiv 2016, arXiv:1607.06201. [Google Scholar]
- 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]
- Galán, S.F. Simple decentralized graph coloring. Comput. Optim. Appl. 2017, 66, 163–185. [Google Scholar] [CrossRef]
- Aslan, M.; Baykan, N.A. A Performance Comparison of Graph Coloring Algorithms. Int. J. Intell. Syst. Appl. Eng. 2016, 1–7. [Google Scholar] [CrossRef]
- Fleurent, C.; Jacques, A. Ferland: Genetic and hybrid algorithms for graph coloring. Ann. Oper. Res. 1996, 63, 437–461. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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).
- 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]
- 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]
- Galinier, P.; Hao, J.K. Hybrid Evolutionary Algorithms for Graph Coloring. J. Comb. Optim. 1999, 3, 379–397. [Google Scholar] [CrossRef] [Green Version]
- Lu, Z.; Hao, J.K. A memetic algorithm for graph coloring. Eur. J. Oper. Res. 2010, 203, 241–250. [Google Scholar] [CrossRef] [Green Version]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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).
- Lewis, R.M.R. A Guide to Graph Coloring, Algorithms and Applications; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar]
- Mann, Z.Á. Complexity of Coloring Random Graphs: An Experimental Study of the Hardest Region. J. Exp. Algorithmics 2018, 23, 1–19. [Google Scholar] [CrossRef]
- 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]
- 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]
- Dukanovic, I.; Rendl, F. A semidefinite programming-based heuristic for graph coloring. Discret. Appl. Math. 2008, 156, 180–189. [Google Scholar] [CrossRef] [Green Version]
- Hernández, H.; FrogSim, B.C. Distributed graph coloring in wireless ad hoc networks. Telecommun. Syst. 2014, 55, 211–223. [Google Scholar] [CrossRef]
- Segundo, P.S. A new DSATUR-based algorithm for exact vertex coloring. Comput. Oper. Res. 2012, 39, 1724–1733. [Google Scholar] [CrossRef] [Green Version]
- The Graph Coloring Instances. Available online: http://mat.gsia.cmu.edu/COLOR/instances.html (accessed on 20 January 2020).
- Back, T. Evolutionary Algorithms in Theory and Practice; Oxford University Press: New York, NY, USA, 1996; pp. 21–28. [Google Scholar]
- He, J.; Yu, X. Conditions for the Convergence of Evolutionary Algorithms. J. Syst. Archit. 2001, 47, 601–612. [Google Scholar] [CrossRef] [Green Version]
- Rudolph, G. Finite Markov Chain Results in Evolutionary Computation: A Tour d’Horizon. Fundam. Inform. 1998, 35, 67–89. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
SNo | Crossover Operator | Asymptotic Complexity |
---|---|---|
1 | Order-based Uniform Crossover | Θ(n) |
2 | Penalty Based Crossover | Θ(n2 χ(G)) |
3 | One-point Crossover | Θ(n) |
4 | Two-point Crossover | Θ(n) |
5 | Graph Adapted Crossover | Θ(n2) |
6 | UIS Crossover | Θ(n χ(G)) |
7 | Multi-Parent Crossover | Θ(n2) |
8 | WIPX Crossover | Θ(n2) |
9 | GPX Crossover | Θ(n2) |
10 | PCPX Crossover | Θ(n2) |
11 | DBX Crossover | Θ(n2) |
12 | MPGX Crossover | Θ(n2) |
13 | POP Crossover | Θ(n2) |
14 | MOX Crossover | Θ(n2) |
15 | MIS Crossover | Θ(n2) |
16 | SPCGX Crossover | Θ(n2) |
17 | SPCGX-CGR Crossover | Θ(n2) |
18 | SPCGEX Crossover | Θ(n2) |
19 | ESPCGEX Crossover | Θ(n2) |
20 | MSPCGX Crossover | Θ(n2) |
SNo | Mutation Operator | Asymptotic Complexity |
---|---|---|
1 | Random Mutation | Θ(n) |
2 | Polynomial Mutation | Θ(c) |
3 | Problem-Specific Mutation 1 | Θ(n2) |
4 | Problem-Specific Mutation 2 | Θ(n2) |
5 | Problem-Specific Mutation 3 | Θ(n2) |
6 | OM | Θ(n) |
7 | BM | Θ(n) |
8 | CSM | Θ(n) |
9 | BESM | Θ(n2) |
10 | CGM | Θ(n2) |
11 | CGM-CGR | Θ(n2) |
12 | ECGM | Θ(n2) |
13 | MCGM | Θ(n2) |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
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
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 StyleMarappan, 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
APA StyleMarappan, R., & Sethumadhavan, G. (2020). Complexity Analysis and Stochastic Convergence of Some Well-known Evolutionary Operators for Solving Graph Coloring Problem. Mathematics, 8(3), 303. https://doi.org/10.3390/math8030303