1 2 A cellular learning automata-based algorithm for solving the vertex 3 coloring problem 4 Javad Akbari Torkestani a,⇑ , Mohammad Reza Meybodi b,c 5 a Department of Computer Engineering, Islamic Azad University, Arak Branch, Arak, Iran 6 b Computer Engineering Department, Amirkabir University of Technology, Tehran, Iran 7 c Institute for Studies in Theoretical Physics and Mathematics (IPM), School of Computer Science, Tehran, Iran 8 10 article info 11 12 Keywords: 13 Vertex coloring problem 14 Learning automata 15 Cellular learning automata 16 17 abstract 18 Vertex coloring problem is a combinatorial optimization problem in which a color is assigned to each ver- 19 tex of the graph such that no two adjacent vertices have the same color. Cellular learning automata (CLA) 20 is an effective probabilistic learning model combining cellular automata and learning automata. Irregular 21 cellular learning automata (ICLA) is a generalization of cellular learning automata in which the restriction 22 of rectangular grid structure in traditional CLA is removed. In this paper, an ICLA-based algorithm is pro- 23 posed for finding a near optimal solution of the vertex coloring problem. The proposed coloring algorithm 24 is a fully distributed algorithm in which each vertex chooses its optimal color based solely on the colors 25 selected by its adjacent vertices. The time complexity of the proposed algorithm is computed for finding a 26 1 1 optimal solution of the vertex coloring problem in an arbitrary graph. To show the superiority of our 27 proposed algorithm over the existing methods, simulation experiments have been conducted. The 28 obtained results show that the proposed algorithm outperforms the others in terms of the required num- 29 ber of colors and running time of algorithm. 30 Ó 2011 Elsevier Ltd. All rights reserved. 31 32 33 1. Introduction Q1 34 Graph coloring problem is a classical combinatorial optimiza- 35 tion problem in graph theory. Graph coloring show up in an incred- 36 ible variety of forms, for example vertex coloring, multicoloring, 37 bandwidth coloring, list coloring, set coloring, T-coloring, lambda 38 coloring, alpha coloring, etc. Graph coloring is widely used in real 39 life applications such as computer register allocation (Chaitin 40 et al., 1981), air traffic flow management (Barnier & Brisset, 41 2002), timetabling (Carter, Laporte, & Lee, 1996; de Werra, 1985; 42 Lewis & Paechter, 2007; Thompson & Dowsland, 1998), scheduling 43 (Leighton, 1979), frequency assignment (Gamst, 1986), and light 44 wavelengths assignment in optical networks (Zymolka, Koster, & 45 Wessaly, 2003). Graph coloring is a promising approach for chan- 46 nel assignment in computer networks. The minimum coloring is 47 a well-known NP-hard problem for general graphs (Karp, 1972). 48 Vertex coloring problem is a well-known coloring problem in 49 which a color is assigned to each vertex of the graph. A legal vertex 50 coloring of graph G hV, Ei, where V(G) is the set of jVj = n vertices 51 and E(G) is the edge set including jEj = m edges, is to assign distinct 52 colors to each vertex of the graph in such a way that no two 53 endpoints of any edge are given the same colors. Vertex coloring 54 problem can be modeled by a quadruple hV, E, C, Fi, where V de- 55 notes the vertex-set of graph G, E denotes the edge-set of graph 56 G, C denotes the set of colors assigned to the vertices, and F:V ? 57 C is the coloring function that assigns a color to each vertex such 58 that F(v i ) – F(v j ) for every e (i, j) 2 E. Vertex coloring problem can 59 be either considered as an optimization problem or as a decision 60 problem. The optimization version of the vertex coloring problem 61 is intended to find the smallest number of colors by which the 62 graph can be legally colored, and the decision problem aims at 63 deciding for a given whether or not the graph is P-colorable, and 64 is called P-coloring problem. Graph G hV, Ei is P-colorable, if it 65 can be legally colored with at most P different colors. The chro- 66 matic number v(G) is the minimum number of colors required 67 for coloring the graph, and a graph is G said to be P-chromatic, if 68 vðGÞ¼P. A minimum coloring G of is a legal coloring in which 69 the smallest number of colors (i.e., chromatic number) to be as- 70 signed to the vertices. The minimum coloring problem is formally 71 an NP-hard problem for general graphs as determining the chro- 72 matic number is known to be NP-hard (Karp, 1972). It is shown 73 in Garey and Johnson (1979) that the decision problem of graph 74 P-colorability is an NP-complete problem for P P 3, and can be 75 solved in polynomial time otherwise. 76 In this paper, we propose an irregular cellular learning auto- 77 mata-based algorithm for solving the vertex coloring problem. In 78 this algorithm, the input graph is modeled by an ICLA in which 0957-4174/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2011.01.098 ⇑ Corresponding author. E-mail addresses: j-akbari@iau-arak.ac.ir (J. Akbari Torkestani), mmeybodi@aut. ac.ir (M.R. Meybodi). Expert Systems with Applications xxx (2011) xxx–xxx Contents lists available at ScienceDirect Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa ESWA 5842 No. of Pages 11, Model 5G 4 February 2011 Please cite this article in press as: Akbari Torkestani, J., & Meybodi, M. R. A cellular learning automata-based algorithm for solving the vertex coloring prob- lem. Expert Systems with Applications (2011), doi:10.1016/j.eswa.2011.01.098