A Classification Tree for Speciation - CiteSeerX

7 downloads 0 Views 234KB Size Report
The speciation was used by the elitist clearing proce- dure [13] which is a niching method simple to implement and which shows a high efficiency [14].
A Classification Tree for Speciation Alain P´etrowski D´epartement Informatique, Institut National des T´el´ecommunications 9 rue Charles Fourier 91011 Evry Cedex, France [email protected]

Abstract- The most efficient speciation methods suffer from a quite high complexity from O(n c(n)) to O(n2 ), where c(n) is a factor that can be proportional to n, the population size. In this paper, a speciation method based on a classification tree is presented, having a complexity of O(n log n). The population is considered as a set of attribute vectors to train the classification tree. The splitting method of the subsets of individuals associated to the nodes is a vector quantization algorithm. The stopping criterion of the tree induction is based on a heuristic able to recognize whether the set of the individuals associated to a node of the tree is a subpopulation, or not. Experimental results for two easy and two hard multimodal optimization problems are presented. These problems are solved with a high reliability. Moreover, experiments indicate that not only an explicit speciation algorithm reduces the complexity of the used niching method, but also reduces the required number of evaluations of the fitness function.

1 Introduction Speciation is exploited by evolutionary computation for various purposes. It can be used to improve the efficiency of crossover by implementing restricted mating [1]. Speciation is also involved when niching methods are running. Niching methods allow the individuals to concentrate themselves on several peaks of the fitness function [2]. Speciation can also naturally take place when performing parallel evolutionary computation based on the island model [3]. Spears presented an explicit speciation where the subpopulation of an individual is determined by a label. Only individuals with the same label can be mated. Emerging subpopulations were stabilized on the peaks of the fitness function by the use of a sharing scheme [4]. Labels are transformed with a low mutation rate, allowing few individuals to migrate from one subpopulation to another. The computation overhead generated by this speciation method is negligible. However, several subpopulations, with different labels, can cover the same peak, while other peaks are forsaken. A reliable implicit speciation has been presented by Goldberg and Richardson for the sharing method [4]. The speciation is implicit because the membership of the individuals is not explicitly determined. However, the complexity of

Marc Girod Genet D´epartement Informatique, Institut National des T´el´ecommunications 9 rue Charles Fourier 91011 Evry Cedex, France [email protected]

the method is high : O(n2 ) for a population of n individuals. Crowding schemes are also niching methods using implicit speciation: the crowding method [5], the deterministic crowding [2], and the Restricted Tournament Selection (RTS) [6]. But the most reliable, namely the RTS, can suffer from a high complexity O(n c(n)) depending on the crowding factor c(n) that can be proportional to n. The higher the crowding factor, the more reliable the method. Yin and Germay have proposed an explicit speciation technique for a sharing scheme based on cluster analysis [7]. The algorithmic complexity is O(n q(n)), where q(n) is the number of subpopulations. But, for complex fitness functions, which have numerous peaks, q(n) can be of the order of n. It also needs relatively large population sizes in order to be able to recognize clusters of individuals and the computation overhead can be thus important. We propose in this paper a technique based on classification trees to perform explicit speciation able to work with small population sizes with a high reliability. Such a speciation method can be applied when a metric can be defined in the phenotype space. This is often the case when individuals represent numerical parameter vectors. The algorithmic complexity of the method is O(n log n). Classification trees are presented in section 2. Building a classification tree needs to define a splitting method and a stopping criterion which are problem dependent. We propose to choose a vector quantization algorithm as splitting method which is described in section 3. The stopping criterion is presented in section 4. This criterion is able to recognize whether a subset of individuals is a subpopulation, or not. Section 5 explains how classification trees can be used to perform an explicit speciation. Section 6 presents experimental results for some multimodal optimization problems, two of them being difficult. The experiments aim at showing the effect of speciation on populations, and at comparing different variants of the niching algorithm.

2 Classification Trees 2.1 Definition of a classification tree Classification trees [8] are common used for classification problems. In a classification tree, each internal node is a decision, i.e. a splitting test on data. Each node can have two or more child node and its edges are labeled according to the

different outcomes of the decision tests. All the leaves are associated to classes distinguished by a class label. Figures 1 and 2 show an example of a classification tree and its corresponding splitting tests in a 2D space : y-x>1? yes y > 1.5 ? yes

Splitting

2x+3y

0

i

where xi is the i-th attribute. But, other equivalent criteria could be used.

x

Figure 2: classes A, B, C and D associated to the above classification tree A classification tree has a hierarchical classification structure which recursively splits the attribute vector set. Indeed, we can easily find each attribute vector associated class by browsing the tree from the root, and choosing the following node according to the corresponding decision. In this way, the classification label of a vector is the label of its corresponding leaf. A classification tree is constructed using a training set which is made of attribute vectors to classify, and eventually their attached desired labels when the training is supervised. Its automatic construction from the root to the leaves is called induction. The accuracy of a classification tree is its misclassify attribute vector proportion, that is to say the number of vectors for which the label doesn’t match the class label they are combined with. A tree quality can also be defined. It is strongly dependent on the problem to solve and can also depend on misclassification cost, its generalization ability or it can be tree size dependent. 2.2 Induction tree basis The induction principle is to recursively divide all the attribute vector training set until no more split is possible or we get same classe object subsets. If all the final classes are formed by objects of identical labels, the tree is said to be pure. As it is quite impossible to obtain such trees, the number of misclassify vectors within a class is minimized.

Induction stopping criterion The simplest stopping technique which is introduced is a stop splitting rule. The principle of such rule is to fix, at the induction beginning, a splitting criterion. It can be imposed on individual node or the entire tree. Then, induction is stopped when this criterion is verified. Breiman et al. introduce another stopping method which they argue to be preferable because the previous stopping technique can sometimes leads to non-optimum trees. This method, based on pruning, is commonly used as induction stopping criterion [8] and works as follows: the tree is constructed until each node can’t be split. Then subtrees are pruned, provided that this operation doesn’t decrease the tree quality. This quality will be generally dependent on the problem to solve. Both stopping strategies can be used for the present application.

3 Classification Tree Splitting by Vector Quantization A splitting method based on Vector Quantization is adopted and implemented. Such a method is chosen because it is unsupervised and all the partitions which are achieved using a VQ have a balanced point number [9]. A VQ based splitting strategy generates a Voronoi tessellation of the attribute space where each Voronoi cell constitutes a class.

3.1 Vector Quantization Vector quantization (VQ) is common used in signal processing for data compression : data storage, speech and image data transmission, etc. . . It performs a mapping from Rn to a discrete set of k n-dimension vectors ~si ; 1  i  k, called codebook. A VQ partitions a vector set S  Rn into k subsets or cells Si, inside of which all the vectors are associated to a same codebook vector. A classical VQ algorithm is the LBG (Linde, Buzo, Gray) algorithm [10]. A vector of Rn is then represented by its closest codebook vector. This is done using an Euclidean distance for the comparison. In this way, Rn is divided into Voronoi cells. When all the Voronoi cells are constructed, their centroids are chosen as codebook final and optimum vectors. 3.2 VQ Splitting Method Let us assume that an internal node N of the tree is associated with an attribute vectors subset S. In order to determine the subsets associated to the k successors of N , a partition is performed by a VQ according to the algorithm below : Let nj be the vector number of a subset Sj of S and d the Euclidean distance. random initialization of k vectors do initialize k vectors ~vj to 0 for all points x 2 S select the integer e such that d(~ x; ~ se ) < d(~ x; ~ sj ) for all j 6= e, where ~se is the centroid of Se ~ ve ne

:= + := + 1 ~ ve

~ x

ne

end for for j = 1 to w ~j ~ sj

~ sj

:= :=

k

~ sj

~ vj =nj

end for until ~sj = w ~ j ; 8j

2 [1 ] ;k

When the convergence is achieved, the set S is partitioned into k subsets Sj which contain roughly the same number of elements. 3.3 Complexity of the VQ Algorithm For an iteration of the loop “do ... until”, the VQ algorithm needs k  n distances comparisons for n attribute vectors. It also needs n updates of vectors ~ve and k computations of vectors ~sj (k is a constant of the problem). So the algorithmic complexity of an iteration of the loop “do ... until” is O(n), where n is the number of attribute vectors in set S. The algorithm normally requires as many iterations as it is needed to stabilize the centroids ~sj . This number is not known a priori. However, if we try to split a population to perform an explicit speciation, it is not required that the centroids

are perfectly determined. For the experiments described in this paper, only two iterations are performed. In conclusion, the complexity of the VQ algorithm applied to the speciation problem is O(n). The complexity of splitting a set of ni attribute vectors associated to the node Ni of the classification tree is then O(ni ).

4 Recognizing Subpopulations 4.1 How to Recognize a Subpopulation ? Yin and Germay [7] proposed a clustering technique to implement explicit speciation for a sharing scheme. Indeed, each accumulation of individuals in a region of the search space is likely to correspond to a peak of the fitness function. This involves that each subpopulation has to be composed of a large enough number of individuals in order to recognize clusters. This can lead to large populations, and thus, requires too many fitness evaluations. Now, the presence of a peak does not only appear as an accumulation of individuals, but these individuals have also a fitness greater than others. Then, only one individual with a higher fitness value than the one of its neighbors can be enough to localize a peak. Taking into account the fitness value to classify the individuals is thus useful to perform speciation with population sizes that can be smaller than those needed for a clustering analysis. 4.2 A Criterion to Recognize Subpopulations The method presented below only works for global optimization and when the global maxima constitutes a finite set of points. Consider a given convex region X of the search space. The problem is to determine whether this region corresponds to a peak of the fitness function. Let x be a point of X, such that  f (x ) is maximal over X, where f is the fitness function. Consider the upper envelope E of the point set P obtained by plotting the points with coordinate (r(x); f (x)), where  r (x) is the distance between x and x. On the one hand, if the envelope E is not monotonically decreasing, then several maxima, eventually with a value as greater as f (x ), are present in X. Consequently, the individuals in X do not constitute a subpopulation. On the other hand, if the envelope is monotonically decreasing, it is possible to conclude that there is only one maximum of value as great as f (x ) in X: the maximum x itself. Then the individuals in such a region X can constitute a subpopulation. Actually, the fitness values are unknown for all the points of X, but only for a random sample which is the subset of the individuals of a population that are located in X. In that case, the upper envelope can be estimated by partitioning the axis r by a sequence of I intervals [dk; dk+1), where k 2 1; 2; :::; I. Then, the upper envelope of the point set P in an interval k is estimated by the value which is determined as follows: if there are individuals in interval [dk; dk+1):

E~( ) = 8 such that max ( )2[ k

i

r i

+1 )

dk ;dk

5 Speciation by Classification Tree

()

f x

where r(i) is the distance of individual i to the best individual ~ of region X. Otherwise:

x

E~( ) = E~( ? 1) k

k

Interval [d1; d2) contains individual x ~ because d1 = 0.  ~ x ). Then E (k) = f (~ The estimation E~(k) is all the more precise as intervals [dk ; dk+1) are small and the number of individuals in each interval is large. We propose to choose a geometric sequence for the values dk . In this way, these intervals [dk ; dk+1) can be chosen small when k is close to 1, and large for k close to I. Figure 3 shows a point set which can be associated to a subpopulation because function E~(k) is monotonically decreasing. On the other hand, E~(k) is not monotonous for the point set presented in figure 4. This one cannot be thus associated to a subpopulation.

~

E(r)



if the node is internal: it performs no operation. If the node is a leaf and if the criterion of section 4 indicates that its associated subset of individuals is a subpopulation: this node remains a leaf. If the node is a leaf and if the criterion of section 4 indicates that its subset of individuals is not a subpopulation: k children are created and their associated subsets are obtained by the VQ algorithms described in section 3. Thus, this node becomes internal. For the experiments described below, k is set to 2 to save computation time, and the classification tree is then binary.

5.1 Induction Complexity

(r(x), f(x))

d4

d5

d6

r(x)

Figure 3: the envelope E~ is monotically decreasing, and this subset of individuals in coordinate system (r(x); f (x)) constitutes a subpopulation.

f(x)

In previous sections, we have seen that the complexity of computations performed by a node during the tree induction, i.e. the VQ algorithm and the stopping criterion, is linear in the number of individuals of its associated subset. To add one level to the classification tree, all the individuals of the population, at the most, will be involved in the computation. So the complexity of adding one level is O(n). In the worst case, all the leaves will be associated to singleton sets. As the tree is assumed balanced, it will count O(log n) levels at the end of the induction phase. The complexity of the induction is then O(n log n).

~

E(r)

5.2 Use Procedure Complexity

(r(x), f(x)) 0 d d 2 3

 

After the induction phase, each leaf is thus associated with a subpopulation.

f(x)

0 d d 2 3

We have presented in section 4 a criterion able to determine whether a subset of individuals is a subpopulation, or not. It can be used as a induction stopping criterion of a classification tree trained with a population of individuals. During the induction phase, the nodes of the classification tree can have several status:

d4

d5

d6

r(x)

Figure 4: the envelope E~ is not monotonous. This subset of individuals cannot be a subpopulation. The complexity of this procedure is O(n), where n is the number of individuals in region X. Thus, n distance computations between individuals x and the best x ~ are performed.

The “use procedure” of a classification tree consists in finding the label of an attribute vector. A leaf associated to a given attribute vector is found by browsing the tree from the root and choosing the following node according to the corresponding decision up to a leaf is reached. So the number of decisions involved by the presentation of one attribute vector has a complexity in O(log n) in the worst case, where n is the number of training vectors. In the evolutionary computation context, the label is a subpopulation and an attribute vector is an individual.

6 Experiments Easy and hard fitness functions have been considered. The experiments described here consist in finding the maxima of four multimodal functions. The “Roots” function takes its

maxima on the sixth roots of the unity in the complex plane. The M6 function [2] exhibits 25 maxima placed as a 5  5 array and has only one global maximum. These problems are considered as quite easy. The two most difficult functions are the M7 [11, 2] and M9 [11, 2] massively multimodal deceptive functions. Several experiments have been performed in order to evaluate the accuracy of the speciation generated by classification trees. The speciation was used by the elitist clearing procedure [13] which is a niching method simple to implement and which shows a high efficiency [14]. The clearing procedure works as follows: it preserves the fitness of the best individual of each subpopulation: the dominant, while it resets the fitness of all other individuals. The sharing method has also been tested with an explicit speciation by classification tree in a similar way that the one presented by Yin and Germay. However, the sharing method was unable to find several of the global maxima of M7 and M9 [2]. Moreover, in the case of easy functions such as M6 and “Roots” the sharing method required much greater population sizes than the clearing procedure. These had to be of the order of 1000 individuals instead of 100, and the tests proved very slow. 6.1 The Test Cases

where z 2 C. This function takes its maxima at the sixth roots of unity in the complex plane.

Figure 5: the “Roots” function The function presents a large plateau at the height of 0.5, centered at (0, 0) and surrounded by six thin peaks at the height of 1.0 (figure 5). The maxima are quite easy to find but the experiments lead one to think that this problem seems to be harder than M6. Let z = x + iy. In the search space, x 2 [?2; 2], and y 2 [?2; 2]. x and y are each encoded on 20 bits. Thus, the genotype has a length of 40 bits.

The “M6” Function

M6 is derived from the F5 function used by De Jong in his dissertation [5]. It is the easiest function studied here. It shows 25 maxima located as though on a 2-dimensional array with values ranging from 476.191 to 499.002. The purpose of the present experiments was not only to find the global maximum located at (-32, -32), but also to locate all the maxima. M6 is defined as follows:

M

6(

x; y

) = 500 ?

1

P 0 002 + 24

1 i=0 1+i+(x?Xi )6 +(y ?Yi )6

:

where (Xi ; Yi ) is the location of the i-th maximum :

2f

(Xi ; Yi ) ( 32; 32); ( 16; 32); (0; 32); (16; 32); (32; 32);

? ? ? ? ? ? ?

? ?16) ? ?16) ?16) ?16) ?16)

( 32; ( 16; (0; (16; (32;

; ; ; ; ;

? ?

? ?

( 32; 0); ( 16; 0); (0; 0); (16; 0); (32; 0);

( 32; 16); ( 16; 16); (0; 16); (16; 16); (32; 16);

? ?

( 32; 32); ( 16; 32); (0; 32); (16; 32); (32; 32)

g

In the search space, x 2 [?64; 64], and y 2 [?64; 64]. x and y are each encoded on 20 bits. Thus, the genotype has a length of 40 bits. The “Roots” Function

The “M7” function

M7 is the name given by Mahfoud [2] to the massively multimodal deceptive function elaborated by Goldberg, Deb and Horn [11]. M7 is defined as follows: M7(x0 ; : : : ; x

05 4 X X u@ 29) =

Roots( ) = 1 + j 6 ? 1j z

z

j

=0

x i

j

where 8k; xk 2 f0; 1g. Function u(x) is defined for the integer values 0 to 6 (figure 6). It has two maxima of value 1 at the points x = 0 and x = 6, as well as a local maximum of value 0.640576 for x = 3. Function u was specially built to be deceptive. Function M7 has 32 global maxima of value equal to 5, and several million local maxima, the values of which are between 3.203 and 4.641. The concatenation of bits xk directly constitutes a 30-bit genotype. The “M9” function

M9 is the name given by Mahfoud [2] to the massively multimodal deceptive function elaborated by Horn and Goldberg [12]. M9 is the sum of three elementary subfunctions fmdG defined for 8-bit binary vectors:

The “Roots” function is defined as follows:

1

=0

i

1 6+ A

M9(x0 ; : : : ; x23) =

2 X =0

i

mdG (x8i; : : : ; x8i+7)

f

1,0

y = u(x)

0,9 0,8 0,7 0.640576

0,6 y 0,5 0,4 0,3 0,2 0,1 0,0 0

1

2

3x

Figure 6:

y

4

5

6

= u( ) x

where xi 2 f0; 1g. Let G be the set of the maxima of fmdG . Let s be an 8-bit binary vector.

mdG (s) =

f

 10

min8 2G H( ) g

s; g

if s 2 G otherwise

where H(s; g) is the Hamming distance between s and g . G contains three arbitrarily chosen points: 00000000, 10001100, 01001010. M9 is hard because the peaks are isolated and located at the lower points of large basins. To illustrate this, one can consider a generalization of the fmdG (s) function for real numbers, by replacing the Hamming distance by the Euclidean distance. Figure 7 illustrates of such a function in the monodimensional case. f mdG (s)

g2

      

Binary coding of the genotype; Stochastic Universal Selection [15]; One point crossover; The crossover rate is 1; Some diversity is generated in the population by replacing 10% of its individuals by random individuals at every generation; The minimal number of subpopulations obtained by the clustering algorithm is set to 16, in order to guarantee a large enough diversity; The number of individuals preserved by the clearing procedure in each subpopulation is one. The elitist clearing procedure described in [13] is used.

6.3 Results

G = {g1 , g2 , g3 }

g1

by the basic clearing procedure. They are functions of the population size. First of all, the experiments aimed at finding the minimal population sizes that satisfy the first quality criteria, i.e. a number of premature convergence equal to zero over 100 successive tests for the four considered functions. It is considered that a premature convergence occurs when all the global maxima cannot be obtained because of allele losses. A test consists in evolving a population over 100 generations. The population sizes increase from 100 to 1000 individuals, by step of 100 individuals. Secondly, once the minimal sizes of the populations were known, the computation time and the mean number of evaluations, required to find all the global maxima over 100 successive tests, were measured. The parameters of the GA are given below:

g3

s

Figure 7: fmdG (s) function in the monodimensional real case.

6.2 Experimental Conditions To ensure that the speciation by classification tree is interesting, two quality requirements have to be reached: the premature convergence rate and the mean number of evaluations of the fitness function to obtain all the global maxima. These quantities have to be lower than or equal to the results given

Figures 8 and 9 show real distributions examples of individuals among the subpopulation for the 2-dimension functions M6 and “Roots” with the classification trees at generation 100. The points represent the phenotypes expressed in a 2dimension space. The circled individuals belong to a same subpopulation. The function maxima are localized at the center of symbols “2”. The grey areas represent their associated subpopulations. For the “Roots” function, notice that the partitioning creates many more subpopulation than needed. This is not surprising because the minimum number of subpopulations was fixed near 16 to ensure a large enough diversity during the evolution of the population. The tables below give the minimal population sizes, so that all the global peaks for the “Roots”, M7, and M9 functions are discovered at every test. Concerning M6, the problem was to find the 25 maxima of the function. 100 successive tests were performed using the following versions of the GA:



the basic clearing procedure;



the clearing associated to a speciation by classification trees.

The results of the measures are given on Tables 1 and 2. 64

Basic Clearing Procedure

F5 48 32

M6 “Roots”

16

M7 M9

0 -16

Speciation by Classification Trees

-32 -48 -64 -64

-48

-32

-16

0

16

32

48

64

Figure 8: an example of partition into subpopulations at generation 100 for the M6 function

2

“Roots”

M7 M9

Duration of a generation 0.04 s 0.03 s 4s 13 s

Minimal Mean population number of size evaluations 100 1000 100 1700 800 12000 1000 14000 Table 2

Duration of a generation 0.04 s 0.04 s 2s 2s

The classification tree technique needs fewer evaluations of the fitness function than the clearing procedure, implemented with a fixed niche radius. However, this technique can require, at least for M7, slightly greater population sizes to obtain a given premature convergence rate. The complexity of the computation is O(n q(n)), where q (n) is the number of subpopulations, for the basic clearing procedure, and is O(n log n) for the clearing with a speciation by classification tree. The experiments have shown that q (n) is of the order of n for complex functions such as M7 or M9. Then, the saving of time should be important when n is large. This is confirmed by the experiments, especially for M9, where the required population size reaches 1000 individuals. However, when n is small, the computation time for the speciation by classification tree can be greater than the one of basic clearing procedure due to the training phase which takes place at every generation. The numbers of evaluations in tables 1 and 2 can be compared with those required by the sharing method or the deterministic crowding. These results, summarized in Table 3, are drawn from [2]. The population sizes were not given.

Roots

1

0

-1

-2 -2

M6

Minimal Mean population number of size evaluations 100 1700 100 2400 600 22000 1000 30000 Table 1

-1

0

1

2

Figure 9: an example of partition into subpopulations at generation 100 for the “Roots” function.

Number of evaluations

M6 M7 M9

Sharing method

> >

13000 1500000 1500000

Table 3

Deterministic crowding >

1500000 100000 1300000

7 Conclusions Speciation induces a partition of a population into subpopulations in such a way that all the individuals of a subpopulation are located to the same peak of the fitness function. This paper shows that a classification tree quickly performs an explicit speciation with the help of a heuristic able to recognize whether a set of individuals belongs to a subpopulation or not. This heuristic constitutes the stopping criterion of the classification tree training. The algorithmic complexity of the speciation is the complexity of the tree training, which is O(n log n). This complexity is lower than O(q(n)n) given by a previous speciation technique based on clustering analysis, where q(n) is the number of subpopulations. Our stopping criterion heuristic takes into account the distance of individuals to the best one in a subpopulation vs. their fitness values to isolate peaks, whereas standard clustering speciation technique only uses the distance between individuals. With this more sophisticated algorithm, less individuals per subpopulation are needed, and the method leads to save computation time. The experiments presented in this paper consist of 4 multimodal optimization problems solving, 2 of them being hard. Speciation by classification trees is used to perform niching with a clearing procedure. All the peaks were always found over all the experiments, even for both difficult test cases. Comparisons have been performed with the basic clearing procedure. They showed that population sizes are similar to obtain the same level of reliability. Of course, computation time is saved on large populations with the classification trees. Moreover, this technique required less evaluations of the objective functions than other tested speciation approaches. Finally, the speciation by a classification tree does not require to fix the value of a niche radius, which is difficult to estimate, when the basic clearing procedure needs it.

Proc. of the 2nd Int. Conf. on Genetic Algorithms, pp. 41-49. (1987) [5]

K.A. De Jong, An Analysis of the Behavior of a Class of Genetic Adaptive Systems, doctoral dissertation, University of Michigan. (1975)

[6]

G. Harik “Finding multimodal solutions using restricted tournament selection”, in Proc. 6th Int Conf. on Genetic Algorithms, L.J. Eshelman Ed. Morgan Kaufmann, pp. 24-31. (1995)

[7]

X. Yin, N. Germay, “A Fast Genetic Algorithm with Sharing Scheme using Cluster Analysis Methods in Multimodal Function Optimization”, in R.F. Albrecht, C.R. Reeves & N.C. Steele (Eds.), Proceedings of the International Conference on Artificial Neural Nets and Genetic Algorithms, pp. 450-457, Berlin, Springer Verlag. (1993)

[8]

L. Breiman, J Friedman, R. Olshen, C. Stone, Classification and Regression trees, Wadsworth international group, 1984

[9]

R. Gray, “Vector quantization”, IEEE ASSP magazine, april 1984.

[10]

Y. Linde, A. Buzo, R.M. Gray “An Algorithm for Vector Quantization Design”, IEEE Trans. Commun., Vol. 28, pp. 84-95, Jan. 1980.

[11]

D.E. Goldberg, K. Deb, J. Horn, “Massive Multimodality, Deception and Genetic Algorithms”, in R. M¨anner, B.Manderick (Eds.) Parallel Problem Solving from Nature 2, pp. 37-46, North Holland. (1992)

[12]

J. Horn, D.E. Goldberg, “Genetic Algorithms Difficulty and the Modality of Fitness Landscapes”, In L.D. Whitley & M.D. Vose (Eds.), Foundations of Genetic Algorithms 3 (FOGA 3), pp. 243-269, Morgan Kaufmann. (1995)

[13]

A. Petrowski, “A Clearing Procedure as a Niching Method for Genetic Algorithms”, Proceedings of the 1996 IEEE International Conference on Evolutionary Computation, pp. 798-803, IEEE. (1996)

[14]

B. Sareni, L. Kr¨ahenb¨uhl, “Fitness Sharing and Niching Methods revisited”, IEEE Trans. on Evolutionary Computation, Vol 2, No. 3, pp. 97-106, September 1998

[15]

J.E. Baker, “Reducing Bias and Inefficiency in the Selection Algorithm”, in Genetic Algorithms and their Applications: Proc. of the 2nd Int. Conf. on Genetic Algorithms, pp. 14-21. (1987)

Bibliography [1]

Spears, W. M. “Simple Subpopulation Schemes.” In Proceedings of the 1994 Evolutionary Programming Conference, pp. 296-307. (1994)

[2]

S.W. Mahfoud, Niching Methods for Genetic Algorithms, doctoral dissertation, University of Illinois at Urbana-Champaign. (1995).

[3]

[4]

E. Cantu-Paz, A Survey of Parallel Genetic Algorithms, IlliGAL Report 97003, Illinois Genetic Algorithms Laboratory, University of Illinois at Urbana-Champaign. (1997) D.E. Goldberg, J. Richardson, “Genetic Algorithms with Sharing for Multimodal Function Optimization”, in Genetic Algorithms and their Applications:

Suggest Documents