A Genetic Algorithm with Dynamic Niche Clustering for Multimodal Function Optimisation Justin Gan and Kevin Warwick Department of Cybernetics, University of Reading, Whiteknights, Reading, Berkshire (England), RG6 6AY Email :
[email protected]
Abstract Genetic algorithm’s (GA’s) have become a powerful search tool pertaining to the identification of global optima within multimodal domains. Many different methodologies and techniques have been developed to aid in this search, and facilitate the efficient location of these optima. What has become known as Goldberg’s standard fitness sharing methodology is inefficient and does not explicitly identify or provide any information about the peaks (niches) of a fitness function. In this paper, a mechanism is formulated that will identify the peaks of a multimodal fitness function in a onedimensional parameter space, using a hybrid form of clustering in the framework of a genetic algorithm. It is shown that the proposed Dynamic Niche Clustering scheme not only performs as well as standard nicheing, but works in O(nq) time, rather than O(n2) time. In addition to this, it explicitly provides statistical information about the peaks themselves. The Dynamic Niche Clustering scheme is also shown to have favourable qualities in revealing multimodal function optima when there is little or no knowledge of the fitness function itself a priori.
1 Introduction Determining the location of global optima within a fitness landscape has been the subject of much research. Many different algorithms and techniques have been developed which, to a greater or lesser degree, achieve this aim. Genetic Algorithms offer not only an efficient way of locating these global optima, but have the added ability of being able to explore much more of the problem space, and therefore run less of a risk of becoming trapped at a local optimum. With the introduction of the concept of niches and speciation, the field of multimodal function optimisation has been opened up. Now, not only can a GA provide a user with the global optimum, it can also effectively identify all the additional local maxima within the fitness landscape as well. This too, has lead to the development of a plenitude of multimodal function optimisation algorithms and techniques in GA’s, each with their own merits and shortcomings. In this paper, a new multimodal function optimisation technique employing clustering and two co-evolving populations, is described. It attempts to
address some of the deficiencies of other techniques, and truly overcome the requirement for a priori knowledge of the fitness landscape in order to function. The algorithm is shown to work on a standard test-bed function, and is compared to standard fitness sharing. In the first instance, however, some of the existing sharing techniques are reviewed.
2 Niche Methods Goldberg and Richardson [4] defined a fitness sharing mechanism, where highly similar individuals in the population are penalised by a reduction in fitness. This causes population diversity pressure that allows the population to maintain individuals at local optima. The sharing function, sh(dij), is used to derate an individual's fitness, where dij is the distance (usually phenotype distance) between two individuals, i and j, and is defined as:
d ij sh(d ij ) = 1 − σ share 0
α share
if d ij < σ share (1) otherwise
Here, σshare is defined as the maximum distance between strings required to form a predicted number of niches in the parameter space. The niche count, mi, for each individual i, is calculated by summing the sharing function values over all the individuals in the population: N (2) m i = ∑ sh(d ij ) j =1
The shared fitness of an individual i, is given by dividing the individual’s raw fitness by the niche count, mi, for that individual:
f sh,i =
fi mi
(3)
This scheme allows stable subpopulations to form around the different optima in the parameter space. However, the scheme is computationally expensive; of the order O(n2), and is restricted by a fixed choice of the value of σshare. The value of σshare determines the
maximum number of peaks that the GA can populate, and also assumes that each peak is of equal height and width. In order to select this value effectively, prior knowledge of the fitness landscape is required, and this is not always available. Yin and Germay [10] described a nicheing algorithm that used a form of adaptive clustering in order to remove some of the need for a priori knowledge of the fitness function. This was achieved by using MacQueen’s adaptive KMEAN clustering algorithm to divide the population up into k clusters of individuals, corresponding to k niches. Here, the value k is determined by the algorithm. The shared fitness of an individual, i, is determined using equation (3), as in Goldberg and Richardson’s sharing scheme, except that mi is calculated as the approximated number of individuals in the cluster to which the individual i belongs: α d (4) m i = n c − n c * ic xi ∈ Cc 2d max Where α is a constant, dic is the distance between the individual i and the cluster’s centroid G(Cc), and nc is the number of individuals in cluster c. Two further parameters are required, dmin and dmax, which define the minimum and maximum radii of a cluster. In order to choose these values effectively, the algorithm needs prior knowledge about the fitness landscape. After determining the positions of the clusters, the clusters are then compared. Two clusters are merged if the distance between their centroids is smaller than the threshold value, dmin. If an individual is further than dmax from all existing clusters, a new cluster is formed with that individual as a member. This method allows the formation of stable subpopulations, but it does require initial values of k, dmax and dmin. In addition to this, it does not provide any explicit information about the individuals in each of the clusters. Pictet et al [9] took Yin and Germay’s sharing scheme using cluster analysis a step further by modifying the sharing function, fsh,i. Here, the sharing function penalises clusters with a large variance of the individual fitness values, and it also penalises clusters with too many solutions concentrated inside too small a region: N 1 − rd *σ ( f c ) f sh,i = f c − c + ∀x i ∈ C c (5) rd N av Where Nc is the number of individuals in cluster c,fc is the average fitness value of the individuals in cluster c, and σ(fc) is the standard deviation of the fitness values of the individuals in cluster c. The term Nc/Nav is used to control the number of individuals inside each cluster. The second term containing rd is used to penalise
clusters with a concentration of individuals around their centroid that is too high. The value rd is defined as: 1 N d rd = * ∑i =c1 ic (6) Nc d max This sharing scheme shifts the selection pressure from the individual to the cluster. Thus, the GA will attempt to find subpopulations of solutions with an average high fitness, instead of the best individual solution. Unfortunately, this scheme suffers from the same requirements as Yin and Germay’s clustering scheme, with the addition of the choice of the Nav parameter. Hanagandi and Nikolaou [7] proposed a similar scheme using clustering, except that here, there is no sharing function. Törn’s clustering is applied to the population to identify the clusters, and the best member of each of these clusters is retained. The remainder of the population is then reinitialised, i.e. their chromosomes are randomised. This technique suffers from the stochastic sampling errors and genetic drift inherent in GA’s, so the local elitism that the scheme employs may not be enough to maintain a cluster from generation to generation. However, this scheme by its very nature will, potentially, explore more of the parameter space in later generations than any of the other sharing mechanisms described above. Thus this scheme will never suffer from genetic stasis, but it does require a suitably large enough population size so that any two adjacent, randomly generated individuals will not be farther than the maximum radius of a cluster’s boundary from each other. Otherwise, this means that a generation will consist of a number of isolated individuals and no clusters will be identified. All of these techniques suffer, to a greater or lesser degree, from the requirement of at least some prior knowledge of the fitness landscape in order to set the appropriate values of variables that dictate restrictions, such as the maximum and minimum sizes of a cluster, within the schemes.
3 The Proposed Dynamic Niche Method The proposed Dynamic Niche Clustering algorithm explicitly maintains a separate population of existing niches, in addition to the normal population. However, unlike Goldberg and Wang’s Adaptive Nicheing via Coevolutionary Sharing [6], the niches in this scheme are not subject to modification by genetic operators. The existence of the niches is based entirely on the position and spread of the individuals in parameter space at a given point in time. Also, unlike Yin and Germay’s Clustering [10], niches are retained from generation to generation, and not completely
recalculated from the current population. In this scheme, a niche consists of a number of variables. Each niche has a σshare value, which is the niche radius in parameter space. In addition to this, each niche has a midpoint value, which indicates where the centre of the niche is in parameter space.
mid j − σ share j ≤ v i ≤ mid j + σ share j
a finite number of niches. This is especially the case in methodologies where niches (or clusters) can be merged. Figure 2 shows the maximum number of niches that may be found by Yin and Germay’s clustering scheme [10], and the proposed schemes in Table 1. 0.16 0.14
An individual is considered to be a member of a niche if it falls within the radius defined by the midpoint and σshare values for a particular niche. So an individual i, is a member of niche j, if equation (7) is true. Here, vi is the phenotype value of individual i, and midj and σsharej are the midpoint and niche radii of niche j, respectively. A further value βshare, defines the inner niche radius that will be used to determine whether or not two niches will be merged together (see Sections 3.2 and 3.3). A niche also stores information defining the generation at which the niche was spawned, its original midpoint value, and a reference to each of the individuals that constitute its current members. This methodology allows an individual to be a member of more than one niche. In this scheme, the values of σshare and βshare are allowed to change, thus allowing the formation of nonequal hyper-volume niches. In order to prevent the unlimited growth or reduction of a niche’s radius, four values; σmax, σmin, βmax, and βmin, were introduced. The parameters σshare and βshare may not exceed these boundaries. A value of 0.15 was chosen for σmax, and a value of 0.05 chosen for βmax. The values of σmin and βmin, however, are dependent on the initial choice of σshare, which itself is dependent on the population size and size of the parameter space. In this methodology, the initial choice of value for σshare is defined by the population size. The larger the population size, the smaller the initial value of σshare, and hence the more niches may be found. A number of different schemes for the initial choice of σshare were tried and are reported in [3], but for the purposes of this paper’s conciseness, only three of these schemes will be described (See Table 1).
0.12
Table 1. Initial Choices of Niche Radii Scheme Fixed Radius Inverse Power Law Inverse Law
σshare 0.1 1/2pop0.4 4/pop
β share 0.05 1/4pop0.4 2/pop
In all schemes, σmin = βmin and βmin = βshare/2. Figure 1 shows how the initial choice of σshare varies as population size increases for each of the three schemes. Using a fixed niche radius scheme or a nicheing scheme with a minimum niche radius in a GA with fixed phenotype space, will only allow the formation of
Initial σshare
(7)
Fixed Radius Inverse Law Inverse Power Law
0.1
0.08 0.06 0.04 0.02 0 0
50
100
150
200
250
300
Population Size Fig. 1. Initial choice of σshare
Figure 2 assumes that the midpoints of each niche will be the minimum distance from one another, and that the parameter space is normalised and fixed. 100
Yin-Germay dmin=0.05 Fixed Radius σmin=0.025 Inverse Law Inverse Power Law
Max Nr of Niches
80
60
40
20
0 0
50
100
150
200
250
300
Population Size
Fig. 2. Maximum Number of Niches
In the first generation, a niche is added to the niche set for each individual within the population, with its midpoint centred on that individual. In the initial and each subsequent generation, the following process is performed replacing any fitness scaling procedures: 1) Recalculate the midpoints of each of the niches in the current niche set. Four schemes have been proposed, see [3], but only Fitness Distribution from Midpoint will be described here. The midpoint of niche j will be modified according to:
∑ (v i − mid j ) * f i = mid j + i =1 n ∑i =1 f i nj
mid j
(8)
j
Where midj is the midpoint of niche j, vi is the phenotype value of individual i, fi is the fitness of
individual i, and nj is the number of individuals within niche j. So here, the midpoint of each niche will be moved to the highest density of most fit individuals within the niche. If a niche has no members, then it is dropped from the current niche set. 2) The niche members are recalculated. If an individual is not a member of any niche, a new niche is formed, centred on that individual. 3) Each niche in the existing niche set is compared to every other niche in the niche set, twice. On the first pass: a) If the midpoint of a niche is within βshare of the midpoint of another niche, then the two niches are merged together (See section 3.2). On the second pass: b) If the midpoint of a niche is further than βshare from the midpoint of another niche, but the two niche’s radii overlap, then the two niches are separated (See section 3.3). The merge and separate rules are applied until there are no further changes within the niche set. 4) The niche members are recalculated, and then the sharing function described in Section 3.1 is applied to each of the individuals within each of the niches. 3.1
The Sharing Function
A simple sharing function was used for this methodology, with the option of adapting it at a later date. For this investigation, the niche count is simply the number of individuals within the niche. The sharing function, mcsh,i, is defined as:
n m csh,i = j 0
if individual i ∈ niche j otherwise
(9)
Where nj is the number of individuals within niche j. This is similar to the sharing function used by Miller and Shaw [8]. So now, the shared fitness of each of the individuals in niche j can be defined as: fi f csh,i = (10) m csh,i 3.2
Merging Two Niches
Two niches, i and j, will be merged together into a new niche if their midpoints are within βshare of one another, i.e. (11) mid i + β sharei ≥ mid j ≥ mid i − β sharei The new niche midpoint is given by using one of five schemes. Only the Fitness Distribution from Naïve Midpoint scheme is described in this paper, the rest may be found in [3]. In this scheme the midpoint is moved to the average weighted distance of each of the
individuals within both the niches, from the naïve midpoint of both the niches. The naïve midpoint is defined as: mid j − mid i (12) mid naive = mid i + 2 Where midj > midi. The new niche midpoint is defined as: n wi = ∑ ai=1 (v a − mid naive ) * f a ∀a ∈ i
w j = ∑ a =j 1 (v a − mid naive ) * f a n
mid new = mid naive +
∀a ∈ j
(13)
wi + w j
∑a =1 f a + ∑b =1 f b ni
nj
Where ni is the number of individuals in niche i, fa is the fitness of individual a, and va is the phenotype value of individual a. The niche radius of the new niche is determined by comparing the new niche midpoint to the midpoints of the two original niches. There are three possible cases that may occur: 1) midnew < midnaïve, i.e. the new midpoint is nearer to niche i. In this case, σsharenew is calculated as the distance to the left-most extent of niche i or j. The value of βsharenew is calculated as the old value of βshare, plus half the change in σsharenew and the old value of σshare. If midi – σsharei < midj - σsharej, then:
σ sharenew = mid new − (mid i − σ sharei ) (14) σ sharenew − σ sharei β sharenew = β sharei + 2 Otherwise: σ sharenew = mid new − (mid j − σ share j ) (15) σ sharenew − σ share j β sharenew = β share j + 2 2) midnew > midnaive, i.e. the new midpoint is nearer to niche j. In this case, σsharenew is calculated as the distance to the right-most extent of niche i or j. The value of βsharenew is calculated as the old value of βshare, plus half the change in σsharenew and the old value of σshare. If midi + σsharei > midj + σsharej, then: σ sharenew = (mid i + σ sharei ) − mid new σ sharenew − σ sharei (16) β sharenew = β sharei + 2 Otherwise: σ sharenew = (mid j + σ share j ) − mid new (17) σ sharenew − σ share j β sharenew = β share j + 2 3) The new midpoint is equal to the naïve midpoint, i.e. midnew = midnaive. In this case, σsharenew is calculated as half the distance between the outermost extents of niche's i and j.
The value of βsharenew is calculated as the largest value of βshare of niche i or j, plus half the change in σsharenew and the largest value of σshare of niche i or j.
σ shnew =
(mid right + σ shright ) − (mid left − σ shleft ) 2
(18)
In all three cases above, if σsharenew > σmax then σsharenew = σmax. Similarly for βsharenew, if βsharenew > βmax then βsharenew = βmax. σ sharenew − σ shl arg est (19) β sharenew = β shl arg est + 2 3.3
approximately O(n2). In later generations, when both populations of individuals and niches have stabilised, the number of comparisons is much less; of the order O(nq), where q is the number of peaks in the fitness landscape. The proposed scheme is greatly sped up by sorting the population in phenotype space using quicksort, prior to any niche clustering. Thus, the number of comparisons made between niches and individuals can be minimised. So now, the overall complexity of the proposed scheme is of the order O(ngq), where g is the number of generations for which the scheme is run.
Separating Two Niches
4 Test Functions Two niches, i and j, will be separated if their niche radii overlap, but the niches themselves do not merge (See Section 3.2), i.e.
mid i − σ shi < mid j − σ sh j < mid i + σ shi
(20)
Each niche’s σshare value will be reduced by an amount so as to stop the niche radii overlapping. Three schemes have been proposed, but only the Niche Fitness Separate scheme will be described here. A complete description of the other schemes may be found in [3]. In this scheme, the niche radii will be reduced proportionally in favour of the niche with highest average fitness. crossover = (mid i + σ shi ) − (mid j − σ sh j )
σ sh j = σ sh j − crossover *
fi + fj f i + fj
Complexity Issues
In the initial generations, there will be an equivalent number of niches and individuals. The number of comparisons between niches and individuals equates to
2
* sin 6 (5πx)
(23)
1 0.9 0.8 0.7
(21)
fi
x − 0.1 − 2 log( 2 )* 0.8 e
The exact positions and values of the maxima are given in Table 2.
fj
Here,fi is the average fitness of all the individuals within niche i. Thus, the niche with higher average fitness will not have its niche radius reduced by as much as the less fit niche. The values of βshare for both niches are reduced by half the change in the niche’s radius. σ share new − σ shareold i i (22) β sharei = β sharei − 2 Where σshareiold is the old niche radius of niche i, and σshareinew is the new niche radius of niche i. If σshare < σmin then σshare = σmin. Similarly for βshare, if βshare < βmin then βshare = βmin. 3.4
F1( x) =
0.6
F1(x)
σ shi = σ shi − crossover *
The Dynamic Niche Clustering algorithm has been tested on many standard test-bed functions, see [3]. In this paper, the results from tests performed on function F1, as defined in [1] and [5], are described. Function F1 has five peaks of decreasing height in the range 0≤x≤1, and is defined as:
0.5 0.4 0.3 0.2 0.1 0 0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
1
x Fig. 3. Decreasing Maxima Function F1
5 Results In order to provide a performance criterion, the chisquare like error distribution measure developed in [2] is used to compare the actual distribution of individuals in the parameter space after 50 generations, to the ideal distribution of individuals for function F1. The chisquare like measure is defined as:
Chi − square =
∑
xi − µ i σi
q +1 i =1
2
(24)
Peak 1 2 3 4 5
X 0.1 0.29942 0.49883 0.69825 0.89767
Fitness 1 0.917236 0.707822 0.459546 0.251013
In order to present a fair comparison of the proposed schemes and standard nicheing, the same genetic operators were used. Each individual consisted of one 30-bit chromosome which was mapped into the interval 0≤x≤1. The mutation rate, pm=0.0, the crossover rate pc=1.0 with 1 point crossover. There was no elitist selection, and remainder stochastic sampling was employed. Population sizes of 50, 100, 150, 200 and 300 were tested, and the overall performance of each of the schemes is the average chi-squared performance over 10 runs for each population size. In each case, the generation gap, Ggap=1.0.
16:00 14:00 Pop 50 Pop 100 Pop 150 Pop 200 Pop 300
12:00
Time (min)
Table 2. F1 peaks
18:00
10:00 08:00 06:00 04:00 02:00 00:00 Fixed Radii
Inverse Law
Inverse Standard Power Sharing Law
Fig. 5. Average Time per Run 50 40
Generation
Where xi is the actual distribution of niche i, µi is the ideal distribution, and σi is the standard deviation for niche i. An individual is considered to be a member of a peak if it has a fitness value higher than ∈=80% of the maximum fitness of the peak.
30 20 10
14
0
12
0
Performance
10
Pop 50 Pop 100 Pop 150 Pop 200 Pop 300
8 6 4 2 0
Fixed Radii
Inverse Law
Inverse Power Law
Standard Sharing
Fig. 4. Chi-Squared Performance
Figure 4 shows the average chi-squared performance of each of the four schemes (three proposed schemes and classic sharing) over the 10 runs made. As can be seen, standard sharing performs better than the proposed scheme, however, computational time is not included in this performance criterion. Figure 5 shows the average time taken for a run. It is obvious that the time taken for the standard sharing scheme is increasing exponentially as population size increases, whereas the time taken for the proposed scheme is increasing linearly as population size increases.
0.1
0.2
0.3
0.4 0.5 0.6 0.7 0.8 0.9 1 Parameter Space Fig. 6. Population and Niche Spread, Inverse Power Law, with population size of 50
Figure 6 shows the spread of individuals and niches throughout the parameter space, as it varies from generation to generation. The individuals are shown by the ◊ symbol, and the midpoint of a niche is given by the Χ symbol. Each niche has its niche radius shown by an error bar to either side of the midpoint. Niches are shown slightly above the generation to which they belong. It can be seen that there are concentrations of individuals at each of the peaks in the parameter space of the fitness function throughout the lifetime of the population. In addition to this, the midpoints of each of the niches can also be found at the positions of the peaks in parameter space. Figures 7 and 8 show closeups of the beginning and end generations. The individuals in the initial generation 0, are randomly spread about the parameter space. For every individual in the population a niche is spawned, centred on that individual. This can be seen by looking at the line of niches just above the initial generation 0, in Figure 7. The final generation for this run can be seen to
consist of five distinctly separate niches, each with a midpoint at a peak in the parameter space (See Figure 8). 5 Fitness
Generation
4 3 2 1 0
0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Parameter Space
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Parameter Space
1
50 40
50
30
Generation
51
49
0
Fig. 9. Final Population Spread, superimposed on fitness function
1
Fig. 7. Initial Population and Niche Spread, Inverse Power Law, with population size of 50
Generation
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
20
48
10 47
0
46 0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Parameter Space Fig. 8. Final Population and Niche Spread, Inverse Power Law, with population size of 50
Figure 9 shows the final population spread against fitness for the Inverse Power Law scheme with a population size of 50. If an inappropriate choice of initial σshare is made, i.e. the population size is too large, then the proposed scheme will attempt to find too many niches. This can be seen in Figure 10 with the formation of a number of striations at each of the peaks. These striations are formed when niches overlap at the peaks. Individuals are doubly penalised by the simple sharing function, mchs,i, see equation (9), for being members of more than one niche, so individuals that fall under two niches will tend not be selected for the next generation. Thus, where two or more niches overlap, the individuals will tend to be clustered around the midpoints of each of the niches and not under the overlapping area of the niches. These striations are more evident in Figure 11.
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Parameter Space
1
Fig. 10. Population and Niche Spread, Fixed Radius Scheme, with population size of 50
50 40 Generation
45
0
30 20 10 0
0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Parameter Space
1
Fig. 11. Population and Niche Spread, Inverse Law, with population size of 150
The proposed Dynamic Niche Clustering scheme will also output the fitness statistics of the niches that it has found. Table 3 is the output of the Inverse Power Law scheme with a population size of 50.
Table 3. Discovered Niches C 1 2 3 4 5
midc 0.089587 0.293458 0.493237 0.712071 0.935814
σsharec 0.052281 0.052281 0.052281 0.052281 0.052281
nc 17 13 10 8 2
fc 0.909253 0.876215 0.637813 0.343388 0.080303
σ(fc) 0.06531 0.01998 0.1518 0.12759 0.00618
6 Conclusion and Future Research A Dynamic Niche Clustering scheme utilising a hybrid form of clustering and two co-evolving populations has been presented in this paper. It has not only been shown that the proposed scheme performs almost as well as standard sharing, but it is also more efficient than Goldberg’s standard sharing scheme. This is due to the fact that the complexity of the proposed scheme is of the order O(nq). It has also been shown that the scheme is less restrictive in its requirements for a priori knowledge of the fitness landscape. Because the initial values of niche radii are dependent on the population size, and this determines the maximum number of niches that may be discovered, the only decision that needs to be made is on choice of population size. This is less restrictive than defining an explicit minimum niche radius value that is fixed, regardless of population size. However, the scheme is far from complete, and presently suffers from a number of restrictions. First, the proposed scheme requires that the phenotype space is one-dimensional, normalised and fixed. So for ndimensional fitness functions, the n-dimensions must be mapped down into one dimension. Second, if an inappropriate population size is chosen, the scheme may potentially find more niches than there are peaks. This leads to the formation of the striations seen in Section 5. Third, the scheme assumes that each of the peaks is symmetrical about its maxima, and that the radii extend the same distance either side of the niche midpoint. This could potentially be a problem if the fitness landscape consists of irregular, non-symmetrical peaks. Proposals for further work to solve some of these restrictions are described below. The striations that were seen in the population spreads in Section 5 can be eliminated by the use of a more sophisticated sharing function, mcsh,i, equation (9). Yin and Germay’s approximated number of individuals in the niche (see equation (4) in [10]) will be used. But here, instead of the dmax parameter, the proposed scheme will use the current niche’s radius value, σshare. Elitist selection in multimodal landscapes has already been implemented in Dynamic Niche
Clustering. The niche set has two additional variables; the minimum niche count, cmin, and the elitist selection, elite. Here, if a niche has at least cmin members, then the top elite members of the niche are automatically retained in the next generation. The values of cmin and elite are fixed for all niches. The preliminary results are favourable and niche losses are dramatically reduced. The proposed scheme will merge and separate two niches naïvely, without analysing the fitness statistics of the members of either niche. Work on a selective merge scheme is currently underway, where the choice to merge two niches is based on the average fitness of the members to either side of each niche’s midpoint. This can be seen to act as a form of fitness gradient analysis.
References [1] Beasley, D. & Bull, R.R. & Martin, R.R.: A Sequential Niche Technique for Multimodal Function Optimization, Evolutionary Computation 1(2), pp101-125, MIT Press 1993. [2] Deb, K. & Goldberg, D.E.: An Investigation of Niche and Species Formation in Genetic Optimization, Proc 3rd Inter. Conf. Genetic Algorithms, pp42-50, 1989. [3] Gan, J.: A Genetic Algorithm with Dynamic Niche Clustering for Multimodal Function Optimisation, (Internal Report No. 98-001) Cybernetics Dept, Reading University, 1998. [4] Goldberg, D.E. & Richardson, J.: Genetic Algorithms with Sharing for Multimodal Function Optimization, Proc. 2nd Inter. Conf. Genetic Algorithms, pp41-49, 1987. [5] Goldberg, D.E.: Genetic Algorithms in Search Optimization & Machine Learning, Addison-Wesley 1989. [6] Goldberg, D.E. & Wang, L.: Adaptive Nicheing Via Coevolutionary Sharing, Quaglianell et al (Eds) Genetic Algorithms in Engineering and Computer Science, pp2138, John Wiley and Sons, Ltd. 1997. [7] Hanagandi, V. & Nikolaou, M.: A Hybrid Approach to Global Optimization using a Clustering Algorithm in a Genetic Search Framework, Computers and Chemical Engineering 1995. [8] Miler, B.L. & Shaw, M.J.: Genetic Algorithms with Dynamic Niche Sharing for Multimodal Function Optimization, IEEE International Conference on Evolutionary Computation, pp786-791, Piscataway, NJ: IEEE Press 1995. [9] Pictet, O.V. & Dacarogna, M.M. & Davé, R.D. & Chopard, B. & Schirru, R. & Tomassini, M.: Genetic Algorithms with Collective Sharing for Robust Optimization in Financial Applications, Olsen & Associates Working Paper (OVP.1995-02-06) 1995. [10] Yin, X. & Germay, N.: A Fast Genetic Algorithm with Sharing Scheme Using Cluster Analysis Methods in Multimodal Function Optimization, Proc. Inter. Conf. Artificial Neural Nets and Genetic Algorithms, pp450457, Innsbruck, Austria 1993.