Tendencias en Ingeniería de Software e Inteligencia Artificial – volumen 2

Capitulo 17

An Evolutionary Algorithm Using a Cellular Population Scheme JONATAN GOMÉZ – GIOVANNI CANTOR Grupo de Investigación Evo-Alife, Departamento de Ingeniería de Sistemas, Facultad de Ingeniería. Universidad Nacional de Colombia, {jgomezpe, gacantorm}@unal.edu.co solution in an evaluations.

Resumen Este capitulo describe un algoritmo evolutivo que utiliza un esquema de población celular para mantener diversidad en la población y determinar automáticamente el tamaño de la población. En esencia, los individuos de la población son organizados en una grilla bidimensional donde los individuos son considerados activos o inactivos en cada iteración del algoritmo, de acuerdo con las reglas de evolución del autómata celular. Únicamente los individuos activos son expuestos al proceso de evolución, cuando múltiples padres son requeridos por los operadores genéticos, estos son obtenidos de los individuos activos en su vecindad. Después de cada iteración del proceso evolutivo, la condición de estar activo o inactivo se actualiza de acuerdo con las reglas del autómata celular. Los experimentos muestran que el esquema poblacional es capaz de mantener diversidad mientras encuentra la solución en un número apropiado de evaluaciones de la función de aptitud.

appropriated number of fitness

1. Introduction Evolutionary Algorithms (EA) are heuristic search algorithm, which are based on the principles of natural evolution (Holland, J. 1975). Although EAs have been used in solving a lot of optimization problems in a successful way, the performance of this technique depends on the appropriate selection of the EA parameters (Population size, genetic operators, Selection Mechanisms, among others)[4]. In particular, the process of setting the population size parameter is considered a difficult task since it has a high impact in the performance of the evolutionary process. If the population size is high, the EA has more possibilities to achieve optimal solutions, but spending a lot of computational resources. If the population size is low, the EA will converge quickly to sub-optimal solutions reducing the diversity of the population.

Abstract We describe, in this chapter, an evolutionary algorithm which uses a cellular automaton population scheme for maintaining diversity and automatically determines the population size. Basically, individuals of the population are organized in a two-dimensional grid, where, individuals are considered active or inactive according to the cellular automaton rules at each step (iteration) of the evolutionary process. Only active individuals are subject to evolution by applying one of the genetic operators associated to the evolutionary process and their active neighbors (when multiple parents are required). The condition of being active or inactive is updated using the rules of the cellular automaton, after an iteration of the evolutionary algorithm. Our experiments show that the proposed population scheme is able to maintain diversity while is able to find the

Several research works have tried to deal with this problem [1,3,11,12]. Parameter Adaptation techniques show better performance by eliminating the population size parameter, starting every run with some initial parameter values that will be changed during the run of the EA. The concepts of age and lifetime and competence among populations have been the most used in this process [5]. In this paper, we present a solution to the problem of setting the population size parameter using a cellular automaton population scheme for maintaining diversity and automatically determine the size of such population. In this way, we extend the Hybrid Adaptive

131

Capítulo 17: An Evolutionary Algorithm using a Cellular Population Scheme. Gómez, G. y Cantor, G

Evolutionary Algorithm (HAEA) proposed by Gomez in [8], in such a way it not only self-adapts the genetic operator rates but also adapts the population size.

2.2. Neighbourhood. The neighborhood of a cell is defined as a certain set of cells surrounding it. Such a set influence the way a cell changes its state. Two of the most known neighborhoods are Von Neumann and Moore, see figure 1.

The proposed model settles the individuals in a cellular automaton allowing them to interact with their neighbors by means of evolution rules. In each algorithm iteration the cellular automaton will determine which individuals are active and, therefore, are to be used by the EA. The suggested automaton evolution is guided by the relationship between individuals and their neighbourhood. The individuals’ fitness will play a secondary role in this process.

Figure 1: Moore and Von Neumann neighborhoods

In this way, individuals of the population are organized in a two-dimensional grid, where, individuals are considered active or inactive, in each generation of the evolutionary process, according to the cellular automaton rules. In each iteration, only active individuals are evolved using the HAEA evolutionary scheme [8], but considering just the active neighbours (when multiple parents are required). The condition of being active or inactive is updated using the rules of the cellular automaton, after each generation of the evolutionary algorithm.

2.3 State Updating Rules It is a set of rules that determines the state of each cell in the CA according to the cell neighborhood. Such set of rules is usually applied in a synchronous way, i.e., the full surface is update at ones (the same time). One of the most known rules is the Conway's game of life.

3. Cellular Automaton Population Scheme

This document is divided in five (5) sections. Section two describes the basic concepts of evolution and cellular automata required to develop the proposed model. Section three describes the cellular automaton population scheme proposed. Section four presents and analyzes the set of experiments carried on the proposed model. Section five draws some conclusions and our future research work.

Instead of considering the population of an evolutionary algorithm as a set of individuals with not relation between them (besides being solutions to an optimization problem), we considered individuals as occupying a cell in a two-dimensional cellular automaton. In this way, we are able to define a neighborhood for each of the individuals of the population. Such neighborhood concept allow us to change the notion of global parent selection (when multiple parents are required for offspring generation) to a local notion of parent selection. Moreover, it is possible to reduce the impact of the fitness value in the born and die process of individuals by considering active and inactive individuals according to the cellular automaton state updating rules. Clearly, this scheme has the advantage of reducing the premature convergence of the evolutionary algorithm.

2. Cellular Automata Cellular automata (CA´s) are mathematical models first introduced in the 50’s by John Von Neumann [13] with the aim of creating a real model of the behaviour of complex systems by means of the integration of finite cells which interact according to simple rules. These models have been successfully used at the modelling of systems in different disciplines [2]. A cellular automaton can be defined using three elements: The surface, the neighbourhood relationship and the state updating rules.

We extended the Hybrid Adaptive Evolutionary Algorithm (HAEA) proposed by Gómez [8], since it has the clear advantage of defining the evolutionary process for each individual of the population in an independent way. The proposed evolutionary algorithm is shown in Algorithm 1.

2.1. Surface. It is an n-dimensional grid, each cell of the grid having the same finite set of states. One of the most known CA surface is the two-dimensional toroidal surface of N x M cells, each one of these cells having two possible states (active or inactive).

The initPopulation method, at line 2, creates a population with the same size of the cellular automaton ca, but with some of the individuals randomly being considered active or inactive. For example, if ca contains 10 x 10 cells, the population size is 100, see figure 2.

132

Tendencias en Ingeniería de Software e Inteligencia Artificial – volumen 2 CAHAEA (CellularAutomata ca, terminationCondition cond) { 1. t = 0 2. Po = initPopulation (ca.getNumberCell ()) 3. while (terminationCondition (t, Pt) is false) do { 4. Pt+1 = {} 5. for (each ind of Pt)and(ca.getStatus(ind)==ACTIVE) do { 8. oper = Op_Select (ind, operators) 9. parents = ParentSelection (Pt, ind, ca) 10. offspring = apply (oper, parents) 11. child = Best (offspring, ind) 12. updateRates( child ) 13. Pt+1 = Pt+1 U {child} 14 } 15. ca.update_state() 16. t = t + 1 17.}

Algorithm 1. Evolutionary Algorithm with Cellular Automaton Population Scheme

Regardless the total population size is constant, the population that is evolved per iteration depends on the dynamics of the cellular automata (line 5); just the individuals that are active are exposed to evolution. In this way, the evolutionary algorithm is able to reduce the amount of computational cost per iteration (since not all the individuals are evaluated) while it is maintaining diversity (slowing down premature convergence).

Figure 2: Cellular Automaton Population Scheme. A red cell indicates an active cell, i.e., an active individual in the population.

After a child is produced (line 10), it is compared against the individual (using the fitness of each one) in order to determine which of them (the best) should be placed in the population (line 11) and to determine the productivity of the operator (line 12). The operator is rewarded if the child is better than the parent and punished if it is worst. The magnitude of reward/punishment is defined by a learning rate that is randomly generated. Finally, operator rates are recomputed, normalized, and assigned to the individual that will be copied to the next population (line 13).

As in HAEA, each individual is “independently” evolved from the other individuals of the population. In each generation, every individual selects only one operator from the set of possible operators (line 8). Such operator is selected according to the operator rates encoded into the individual, see (Gómez, J. 2004). When a non-unary operator is applied, additional parents (the individual being evolved is considered a parent) are chosen from the active individual neighborhood (individuals that are in the neighborhood of the individual that are active during the evolutionary generation), see line 9. Figure 3, shows the candidate parents for individual X when a Moore neighborhood is defined for the cellular automaton. As can be noticed, the parent selection process is defined in a local fashion in contrast to the classical global parent selection of evolutionary algorithms. After determining the set of candidate parents, any selection scheme (elitism, roulette, tournament, etc) can be applied to them in order to determine the parents of the individual. This scheme has the clear advantage of reducing the problem of crossover interaction, since individuals are not being able to interact with the full population.

Figure 3: Local parent selection in CAHAEA. Individual X can select its additional parents from the active individuals in its neighborhood (the red ones).

Finally, the state of the cellular automaton is updated, according to its rules. In this way, some individuals will be activated while others will be inactivated independently of their fitness. This scheme will allow the evolutionary algorithm to simulate some kind of life time of individuals, i.e., that are not evolved at each single generation.

133

Capítulo 17: An Evolutionary Algorithm using a Cellular Population Scheme. Gómez, G. y Cantor, G

neighborhood): The original Game of Life rules, Game of Life with Selfish Cells, and our own Game of Life variation.

4. Experimental Results The performance of the proposed evolutionary algorithm with cellular automaton population scheme was analyzed through several different experiments on well known fitness functions and compared against some results reported in the literature.

Two rules define the state updating process in the original Game of Life (GOL): i). Active cells with two or three active neighbor cells will stay active cells otherwise will become inactive cells. ii). Inactive cells with three active neighbor cells become active cells otherwise will stay inactive cells.

We conducted experiments using binary encoding in order to determine the applicability of the proposed approach. In the binary encoding, the solution part of the problem is encoded as a string of binary symbols [9].

The Game of Life with Selfish Cells (GOL-ONE) was introduced by Lauer et al in [10]. The modified state updating rules are as follows:

Test Functions

i). When an active cell has four or mores active neighbors it will not become inactive but it will inactivate as many neighbors in order to maintain just three neighbors. This process is performed in a clock wise direction starting from the top-left neighbor. When a cell performs this process, it will increase its vitality level in one unit.

We used four well known binary functions: The 100 bits MaxOnes function where the fitness of an individual is defined as the number of its bits set to 1, the ten deceptive order-3 and ten bounded deceptive order-4 functions developed by Goldberg et al [7] and the (8 x 8) royal road function developed by Forrest and Mitchell [6].

ii). When an active cell has less than two active neighbors, it will become inactive if its vitality is zero, otherwise it will stay active but its vitality will decrease in one unit.

Experimental Settings For each function, a cellular automaton of 20x20 was used, i.e., a total of 400 individuals composed the population, some of them active and others inactive. The initial state of the cellular automaton is defined as follows: Each cell has between 0.3 and 0.4 probability of being active. We fixed this probability value after analyzing the behavior of the cellular automaton to different rates and different state updating rules. When this probability value was fixed to a value outside this range, the cellular automaton tends to inactivate all the individuals.

iii). If a cell is inactive and has three or four active neighbors then it will become active. In our own variation of the Game of Life (GOL-TWO) we allow inactive cells to become active cells if they have two or three active neighbor cells. Results Figures 4 to 7 show the average performance reached by each one of the proposed approach variants and the average evolution of the population size generation by generation. The left part of these figures shows the average performance of the best individual, the worst individual and the population average after a certain number of fitness evaluations. Clearly, the proposed approach is able to maintain the population diversity while is finding good or optimal solutions.

The evolutionary algorithm was executed a maximum of 200 generations. A tournament of size 4 was applied to determine the additional parent of crossover from the neighborhood. The reported results are the average over 30 different runs. The reported results were obtained using three well known genetic operators: single point mutation, single point crossover, and a simple transposition. In the single bit mutation, one bit of the solution is randomly selected (with uniform distribution) and flipped. This operator always modifies the genome by changing only one single bit. In single point crossover, a cutting point in the solution is randomly selected. Parents are divided in two parts (left and right) using such cutting point. The left part of one parent is combined with the right part of the other. In the simple transposition operator, two points in the solution are randomly selected and the genes between such points are transposed [14].

Moreover, our own variation of the game of life (GOLTWO) is the one that has the less diversity effect across the different tested fitness function. It can be due to the fact that our rules variation maintains a higher number of active individuals per generation (around 160 active individuals), see right side of figures 4.c to 7.c. However, the diversity maintained by GOL-TWO is higher than the diversity maintained by HAEA (around the 5000 fitness evaluations the population in HAEA has converged to the optimal solution).

Three different versions of the Conway’s Game of Life were compared (all of them using Moore’s

134

Tendencias en Ingeniería de Software e Inteligencia Artificial – volumen 2

in some structural (environment) relations between individuals.

On the other side, the variation that has the higher level of diversity is the Game of Life with Selfish Cells. It can be due to the fact that selfish cells tend to stay active regardless their fitness, therefore, they are able to maintain their original genotype for longer periods of time (by inactivating neighbors and therefore reducing the crossover interaction). Clearly, this variation maintains the active population size stable between 110 and 130 individuals, see figures 4.b to 7.b.

Our future work will try to demonstrate that evolution of good individuals can be achieved almost without an imposed notion of a natural selection based on fitness adaptability but as an emergent behavior of the individuals. In this way, we will include notions of cambric explosions and massive extinctions in order to reproduce an open evolution environment.

When the Original Game of Life rules are used by the proponed approach (GOL), the diversity of the population is maintained through the evolutionary process regardless the active population size decreases to values close to 30 individuals (less than 10% of the full population size), see figures 4.a to 7.a. Moreover, GOL is able to find the optimal solution in almost all the tested functions in a very few fitness evaluations (less than 10000). Clearly, it is possible to find optimal solutions without compromising the diversity of the population.

GOL GOL-ONE GOL-TWO HAEA GGA SSGA T-GGA T-SSGA T-D-SSGA T-D-SSGA GA PL-GA

Finally, Table 1 reports the performance reached by each one of the variations, of the proposed approach, and compares these results against some results reported in the literature, especially HAEA results (Gomez, J. 2004). A value of a [b] indicates that the best individual evolved by the technique reaches, in average, a fitness value a in an average of b fitness evaluations.

MaxOnes

Royal Road

Deceptive-3

Deceptiva-4

100[8800]

62[9800]

300[7400]

40[8300]

100[13500]

64[12000]

300[8400]

40[9300]

100[17500]

64[15200]

300[11800]

40[12200]

100[3900]

64[4900]

300[4800]

40[5000]

100[4800]

49.52[10000]

293.52[10000]

37.08[2900]

100[2800]

48.24[10000]

288.56[2000]

35.00[1100]

99.96[7714]

35.52[7804]

289.68[5960]

100[2172]

40.64[3786]

289.12[3506]

99.52[8438]

31.36[60.86]

289.12[5306]

100[2791]

29.76[2428]

289.32[2555]

100[2500]

14.00[10000]

100[7400]

28.00[10000]

Table 1. Comparative performance of the proposed approach and some approaches reported in the literatures (taken from (Gomez, J. 2004).

As can be noticed, our proposed approach is just outperformed by the HAEA technique when considering the number of fitness evaluations. However, our technique has the advantage of maintaining population diversity without adding computational costs. This property is useful when searching for multiple sub-optimal solutions, or when the fitness function is non-stationary.

6. References [1] H. Beyer and K. Deb. (2001) On self adaptative features in real parameter evolutionary algorithms, Transactions on Evolutionary Computation, IEEE, 2001, 5, 250-270 [2] Chen, Q. Cellular Automata and Artificial intelligence in Ecohydraulics Modeling. Ph.D. thesis, University of Technology and of the Academic Board of the UNESCO-IHE.

5. Conclusions and Future Work The proposed approach uses a cellular automaton in order to define both the concept of active and inactive individuals and the concept of local parent selection in an evolutionary process. Such concepts allow the evolutionary process to maintain diversity while is searching for the optimal solutions. This property is especially useful when searching for multiple suboptimal solutions, or when the fitness function is nonstationary.

[3 ]Eiben, A. E. editors (2003). Introduction to Evolutionary Computation. Natural Computing Series. [4] Eiben, A.; Hinterding, R. and Michalewicz, Z. (1999) Parameter control in evolutionary algorithms, Transactions on Evolutionary Computation, IEEE, 1999, 3, 124-141 [5] Eiben, A. E. (2004) Revisiting Evolutionary Algorithms with On-the-Fly Population Size Adjustment, Parallel Problem Solving from Nature, (PPSN VIII), 2004, volume 3242 of LNCS Springer, pp. 41 – 50.

Our experiments showed that it is possible to evolve good solutions when individuals are not just maintained in the population for being good individuals (high fitness function value) but by defining a notion of activity that does not depend on the fitness function but

135

Capítulo 17: An Evolutionary Algorithm using a Cellular Population Scheme. Gómez, G. y Cantor, G

[6] Forrest, S. and Mitchell, M. (1993) Relative building blocks fitness and the building block hypothesis, Foundations of Genetic Algorithms, no. 2, 1993. [7] Goldberg, D.; Korb, B. and Deb, K. (1989) Messy genetic algorithms: motivation, analysis, and first results, Complex Systems, vol. 3, pp. 493–530, 1989. [8] Gómez, J. (2004) Self Adaptation of Operator Rates in Evolutionary Algorithms In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO), Lecture Notes in Computer Science, 2004, 3102, 1162-1173 [9] Holland, J. (1975) Adaptation in Natural and Artificial Systems. The University of Michigan Press. [10] Lauer, M. R.; Mitchem, P. A.and Gagliano, R. A. (1995). Resource optimization and self interest: variations on the game of life. Simulation Symposium, IEEE, 1995, 136-143. [11] Lobo, F and Lima, C. (2007) Adaptive population sizing schemes in genetic algorithms. In F. G. Lobo et al., editors, Parameter Setting in Evolutionary Algorithms, Studies in Computational Intelligence, pages 185-204. Springer, 2007. [12] Lobo, F. G. (2000). The parameter-less genetic algorithm: Rational and automated parameter selection for simplified genetic algorithm operation. Ph.D. thesis, Universidade Nova de Lisboa, Portugal. [13] Neumann, V. (1966). Theory of Self-reproducing Automata. University of Illinois Press Champaign, IL, USA [14] Simoes, A. and Costa, E. (1999) Transposition: a biologically inspired mechanism to use with genetic algorithms, in Fourth International Conference on Neural Networks and Genetic Algorithms, pp. 612–619, 1999.

136

Tendencias en Ingeniería de Software e Inteligencia Artificial – volumen 2 (a) GOL

(a) GOL

(b) GOL-ONE

(b) GOL-ONE

(c) GOL-TWO

(c) GOL-TWO

(d) HAEA Figure 5. Royal Road fitness and population evolution. (a) Game of Life, (b) Game of Life with Selfish cells (c) Our Game of Life variation and (d) HAEA

(d) HAEA Figure 4. MaxOnes fitness and population evolution. (a) Game of Life, (b) Game of Life with Selfish cells (c) Our Game of Life variation and (d) HAEA.

137

Capítulo 17: An Evolutionary Algorithm using a Cellular Population Scheme. Gómez, G. y Cantor, G

(a) GOL

(a) GOL

(b) GOL-ONE (c) GOL-TWO

(b) GOL-ONE

(c) GOL-TWO

(d) HAEA Figure 7. Bounded Deceptive-4 fitness and population evolution. (a) Game of Life, (b) Game of Life with Selfish cells (c) Our Game of Life variation and (d) HAEA.

(d) HAEA Figure 6. Deceptive-3 fitness and population evolution. (a) Game of Life, (b) Game of Life with Selfish cells (c) Our Game of Life variation and (d) HAEA.

138

An Evolutionary Algorithm Using a Cellular Population ...

University of Technology and of the Academic Board of ... (GECCO), Lecture Notes in Computer Science, 2004,. 3102, 1162- ... The University of Michigan Press.

893KB Sizes 1 Downloads 283 Views

Recommend Documents

TestFul: using a hybrid evolutionary algorithm for testing stateful systems
This paper introduces TestFul, a framework for testing state- ful systems and focuses on object-oriented software. TestFul employs a hybrid multi-objective evolutionary algorithm, to explore the space of feasible tests efficiently, and novel qual- it

An Evolutionary Algorithm for Homogeneous ...
fitness and the similarity between heterogeneous formed groups that is called .... the second way that is named as heterogeneous, students with different ...

An Evolutionary Algorithm for Constrained Multiobjective
MOPs as mathematical programming models, viz goal programming (Charnes and ..... Genetic algorithms + data structures = evolution programs (3rd ed.).

An Evolutionary Algorithm for Column Generation in ...
We consider the 3-stage two-dimensional bin packing prob- lem, which ..... didate solution is created by always applying recombination, and applying mu-.

A multiple-population evolutionary approach to gate ...
Jan 15, 2004 - On the hardware side, computer networks, multi- processor computers ..... dure that executes the job swap move 10.g times in each individual ...

A Population-Based Climate Strategy - An ... - Population Matters
economic solutions - taxes, regulations, renewable energy, green ... means less demand on resources which means fewer of the negative ... Page 2 ...

A Population-Based Climate Strategy - An ... - Population Matters
economic solutions - taxes, regulations, renewable energy, green ... A population-based climate change strategy has several additional advantages.

UEAS: A Novel United Evolutionary Algorithm Scheme
netic algorithms, evolution strategies, evolutionary programming, particle swarm optimization (PSO) and ..... Automation, Dalian, China, (2006) 3330–3334. 11.

Heuristiclab Evolutionary Algorithm for Finch.pdf
Figure 1: A recursive factorial function in Java (a) ... Artificial ant problem: Evolve programs to find all 89 ... Heuristiclab Evolutionary Algorithm for Finch.pdf.

Number Theoretic Evolutionary Algorithm for ...
In this paper, firstly the main concepts of differential evolution algorithm (DEA) ..... [5] Storn R. Differential evolution design of an IIR2filter. IEEE Int. Conf. on ...

Srinivasan, Seow, Particle Swarm Inspired Evolutionary Algorithm ...
Tbe fifth and last test function is Schwefel function. given by: d=l. Page 3 of 6. Srinivasan, Seow, Particle Swarm Inspired Evolutionar ... (PS-EA) for Multiobjective ...

An Evolutionary System using Development and Artificial Genetic ...
the system point of view, biological development could be viewed as a .... model systems for real time control tasks by allowing signal coupling in ... design application. Genome Layer. DNA Sequence. Cell. Diffusion Action. Protein Table. Protein Lay

An evolutionary system using development and artificial ...
arise from attractors in artificial gene regulatory networks. .... as genetic code, immune systems, neural networks and evolution ...... IEEE Computer Society, pp.

An Evolutionary System using Development and ...
implemented essential features of Genetic Regulatory Networks. (GRNs) and ... the system point of view, biological development could be ..... Computer Society.

GWAS: population stratification using IBS
Using IBS to estimate IBD from dense SNP data set can achieve the above goal. • What are IBS and IBD? ... IBS Methods in linkage analysis. Reference Gonçalo ...

Finite-model adaptive control using an LS-like algorithm
Oct 30, 2006 - squares (LS)-like algorithm to design the feedback control law. For the ... problem, this algorithm is proposed as an extension of counterpart of ...

An improved memetic algorithm using ring neighborhood ... - GitHub
4, 5, 6, 7 that the con- vergence to the known optimal result of test functions is very fast and most test functions have been converged after around. 1 × 105 FEs.

An improved memetic algorithm using ring neighborhood ... - GitHub
Nov 29, 2013 - The main motivation of using ring neighborhood topology is to provide a good ... mine the choice of solutions for local refinements, by utiliz- ...... 93,403 g08. 2,755. 2,990 g09. 13,455. 23,990 g10. 95,788. 182,112 g11. 1,862.

Population structure and evolutionary dynamics of ...
sequence data, described in the next section. A re-analysis of the electrophoretic data(6) was stimulated by a relatively small dataset for Neisseria gonorrhoeae ...

Quantifying Organismal Complexity using a Population ...
Feb 14, 2007 - ... of California San Diego, La Jolla, California, United States of America, 3 Eidgenössische Technische ..... which we list here in parentheses.

Evolutionary imitative dynamics with population-varying ...
Mar 22, 2014 - Keywords: Learning; Imitation; Multiple Populations; Aspiration level; Wright manifold. JEL Classification Numbers: ...... MIT Press. GOLMAN, R. (2009): “Essays on Population Learning Dynamics and Boundedly Ra- tional Behavior,” Ph