The Mixing Rate of Different Crossover Operators

Adam Prügel-Bennetf [email protected]    Image, Speech and Intelligent Systems Research Group Department of Electronics and Computer Science University of Southampton Highfield, Southampton SO17 1BJ, United Kingdom

Abstract

In order to understand the mixing effect of crossover a simple shuffling problem is considered. The time taken for the strings in a population to become mixed is calculated for different crossover procedures. Uniform crossover is found to mix the population fastest, while single-point crossover causes very slow mixing. Two-point crossover extrapolates between these two limiting cases.

1 INTRODUCTION

One of the benefits of using an evolutionary algorithm is that it opens up the possibility of using a crossover operator. In early Genetic Algorithms single-point or two-point crossover were used to recombine pairs of strings [1-3]. Later multi-point crossover [4] and uniform crossover [5-7] were studied. A short controversy raged over which of these operators was best. Of course, this will depend on the problem being treated. Indeed, for many problems it is necessary to design a problem specific crossover operator [8]. Nevertheless, an important practical issue is to identify characteristics of crossover which allow for a more rational choice of crossover operator.

In this paper we study one such aspect of crossover, namely how efficiently it mixes the solutions. This is a problem independent aspect of crossover, which tells us about how quickly the population will explore the space of solutions. To study this we consider a problem which can be viewed as generalized card shuffle. We start with a pack of cards consisting of N suits with L cards in each suit. The pack is divided into N hands sorted according to their suit. The hands are then shuffled by pairing them and swapping cards using a uniform, single-point or multi-point crossover strategy. We study how the hands become shuffled over time. In the language of Genetic Algorithms the hands correspond to strings or chromosomes, the cards to genes, while the suits correspond to different alleles.

We define an order parameter to measure the degree of mixing within the population. As the strings become mixed the order parameter decays to the value of a totally mixed population. We define the mixing rate to be the asymptotic rate at which the order parameter decays. The mixing rates for single-point, two-point and uniform crossover are calculated analytically. As one might expect, uniform crossover mixes faster than multipoint crossover which mixes faster than single-point crossover, however, the difference in the rate between uniform and single-point crossover, is more dramatic than one might naively expect. This does not, of course, imply that uniform crossover is always best. Another important factor in choosing a crossover operator is its average cost due to the disruption it causes. A measure of this cost might be the average loss in fitness caused by crossover (this ‘interface energy’ was computed, for example, in [9], 10] for one particular problem). For problems where the spatial position of the loci have a meaning, uniform crossover may be too disruptive, whereas single-point crossover may produce only a small change in the fitness. However, this cost will depend on the problem being considered. In contrast, mixing of the allele between strings is problem independent.

On completing this paper, a different approach to the same problem was brought to my attention. This approach by Rabani, Rabinovich and Sinclair [11] considered crossover to be a special case of a quadratic dynamical system (QDS)—a generalization of a Markov chain to a process depending on combining two members of a population. In contrast to Markov chains there is no known procedure for solving a QDS. The authors, however, develop tight bounds on the convergence times for the probability distribution of a subclass of QDS to its equilibrium distribution. They use this result to obtain mixing rates for different crossover operators. Rabani et al.s approach is extremely powerful, but has a different character to the approach taken here. In this paper, we consider the evolution of a single statistical property of the population, namely a measure of the degree of shuffling. By concentrating on this simple quantity the problem simplifies considerably. For example, we can quite easily obtain an exact expression for the evolution of this quantity for uniform crossover in a finite population at each generation. This is a more detailed, although less general result than that obtained by Rabani et al. The two approaches have different strengths. Rabani et al. approach gives a rigorous mathematical framework. Obtaining useful results from such a framework is notoriously hard. The fact that they succeed in finding such a result is very impressive. The tack taken in this paper, which I would not pretend to be of comparable significance to Rabani et al.s general result, is to find a statistical quantity for which we can compute the dynamics. This approach, though often only approximate, allows complex systems to be modelled which are beyond the scope of a rigorous framework—modelling of more complex systems is discussed in the final section of this paper.

2 MODEL

2.1 SHUFFLING

We briefly introduce the shuffling problem together with the notation we shall be using. To denote the individual strings (hands) we use the vector

Sμ(t)=(Sμ1(t),Sμ2(t),,SμL(t))

si1_e

where the superscript μ = 1,…, N, denotes the different strings and Siμ(t) denotes the alleles (suits) at position i and generation t. We assume that there are L cards in each hand and that the order is always maintained (i.e. at every time step each hand contains cards 1 to L). We denote the allele types (suits) by a Greek letter. Initially Sμi(0)=μsi2_e, that is, the genes (cards) of the μ th member of the population are initially in allele state μ —the alleles carry information about the ancestors. To form the next generation the strings are paired at random. Each pair, (Sμ(t), Sv(t)), is shuffled to form a new pair (Sμ(t+1),Sv(t+1))si3_e according to

Sμ1(t+1)=χiSμi(t)+(1χi)Sνi(t)Sν1(t+1)=(1χi)Sμi(t)+χiSνi(t)

si4_e  (1)

where χi ∈ {0, 1} depends on the type of crossover operator. The χi’s are independently chosen for different pairs.

We consider the following types of crossover.

Uniform Crossover. The alleles are chosen randomly from either of the parents,

χi={1withprobabilitya0withprobability1a.

si5_e  (2)

The parameter a defines the degree of bias. In the unbiased case a = 1/2.

Single-Point Crossover. A locus.A (1 ≤ A ≤ L) is chosen on the string and all alleles up to and including A are taken from one string while all the other alleles are taken from the second string,

χi={1ifiA0ifi>A.

si6_e  (3)

Two-Point Crossover. The strings are treated as loops, along which we choose two crossing points, A and B. The strings are swapped between these two points,

χi={1ifiAori>B0ifA<iB.

si7_e  (4)

Note that we can either choose A and B independently or we can choose A at random and choose B to be a fixed distance from A. In particular we can choose 0 < A ≤ N/2 and B = A + N/2 to ensure that a maximum number of alleles are swapped at each ‘generation’.

2.2 MIXING RATE

We need to define a measure of shuffling. To do so we first define the ‘overlaps’, between the strings at time t and the initial strings, to be the number of alleles of type α in (t) — that is, the number of alleles that originated in string Sα(0)

mμα(t)=1LLi=1[Sμi(t)=α]

si8_e  (5)

where we have used the notational convention for the indicator function

[PREDICATE]={1PREDICATEistrue0PREDICATEisfalse.

si9_e  (6)

Since every allele ancestor remains in the population and every allele must come from somewhere

Nμ=1mμα(t)=Nα=1mμα(t)=1

si10_e  (7)

We are now ready to define an order parameter, Q(t), measuring the degree of mixing

Q(t)=1NNα=1Nμ=1(mμα(t))2

si11_e  (8)

Although this measure is ad hoc, it is one of the simplest measures—it depends only on a count of the cards in each hand; a linear measure will not work because of equation (7). Initially mμα(0)=[α=μ]si12_e (the expression in squared brackets is just the Kronecker delta) so Q(0) = 1. When the population is totally mixed the order parameter falls to

Q()=N+L1NL.

si13_e  (9)

(the derivation of this is given in an appendix). We define the mixing rate as the (asymptotic) reduction towards the mixed state produced by a shuffle

r=limt(Q(t+1)Q()Q(t)Q()).

si14_e

3 RESULTS

3.1 UNIFORM CROSSOVER

We can compute the change in the order parameter and consequently the mixing rate exactly for uniform crossover. From equation (1) it follows that

[Sμi(t+1)=α]=χi[Sμi(t)=α]+(1χi)[Sνi(t)=α][Sνi(t+1)=α]=(1χi)[Sμi(t)=α]+χi[Sνi(t)=α]

si15_e  (10)

Since the χi’s axe chosen independently we can average over them. From equation (2) we see that χi=a,si16_e where si17_e denotes the expectation value. To calculate the change in the order parameter we consider

(mμα(t+1))2=1L2i[Sμi(t+1)=α]+1L2ij[Sμi(t+1)=α]+[Sμj(t+1)=α]

si18_e

where we have separated out the i = j term and used the property of indicator functions []2=[]si19_e. We can now substituting in equation (10) to obtain an expression in terms of variables at time t. Averaging out the χi ’s we obtain after a little algebra

(mμα(t+1))2=2a(1a)L(mμα(t)+mνα(t))+(amμα(t)+(1a)mνα(t))2

si20_e

This gives the square of the overlaps at time t + 1 in terms of the overlaps at time t. Putting this into equation (8) we obtain an equation for Q(t + 1) in terms of the overlaps at time t. But, using equations (7) and (8) we can simplify this to

Q(t+1)=rQ(t)+(1r)Q()

si21_e  (11)

Where

r=12a(1a)11/N

si22_e

and Q(∞) is given in equation (9). equation (11) is a linear recursion relation which has the well known solution

Q(t)=Q()+rt(Q(0)Q()).

si23_e  (12)

Starting from an ordered state we have Q (0) = 1. The characteristic mixing time is given by

τ=1log(r)1log(12a(1a)).

si24_e  (13)

The optimal shuffling is achieved when a = 1/2 in which case τ1/log(2)1.44si25_e. Every.τ generations the distance Q(t) − Q(∞) is decreased by 1/e — for a = 2 this distance is halved each generation.

3.2 SINGLE-POINT CROSSOVER

Single-point crossover is more complicated than uniform crossover because the loci are no longer independent of each other—nearby loci are more likely to come from the same ancestor than distant loci. To calculate the effect of single-point crossover we adopt a new approach. We consider the strings to be made up from regions or blocks of genes where the regions are bounded by the points where crossover has occurred. We denote the number of regions in a string Sμ(tby Rμ(t). We consider, below, how the number of regions grow over time.

We can express the overlaps in terms of block variables. We denote the size of the nth block of Sμ(tby xnμ(t) and the allele type of the nth block by βnμ(t). Then the overlap can be written as

mμα(t)=1LRμ(t)n=1xμn(t)[βμn(t)=α].

si26_e  (14)

From equation (8) we find the order parameter is given by

Q(t)=1NL2Nμ=1Rμ(t)n=1((xμn(t))2+Rμ(t)m=1mnxμn(t)xμm(t)[βμn(t)=βμm(t)])

si27_e  (15)

where we have used the identities

Nα=1[βμn(t)=α]=1

si28_e

and

Nα=1[βμn(t)=α][βμm(t)=α]=[βμn(t)=βμm(t)]

si29_e

The first term in equation (15) gives the contribution to the order parameter coming from the single blocks while the second term gives the contribution coming from different blocks which, by chance, come from the same ancestors. We do not know the block sizes, xnμ. However, as the crossing points are randomly chosen the block sizes will be random except for the constraint

Rμ(t)n=1xμn(t)=L.

si30_e

Given (t) blocks then on average

(xμn(t))2=L(2LRμ(t)+1)Rμ(t)(Rμ(t)+1)xμn(t)xμm(t)=L(L+1)Rμ(t)(Rμ(t)+1).

si31_e  (16)

The calculation of these average values are given in a separate appendix. We are left having to calculate the average number of blocks that come from the same ancestor

Rμ(t)n=1Rμ(t)m=1mn[βμn(t)=βμm(t)].

si32_e

If each block could come from any ancestor then the probability of two blocks being the same is 1/N. However, at the first generation the two blocks are guaranteed to come from separate ancestors. To incorporate this fact we assume that the probability of two blocks coming from the same ancestor is (1 – 1/t)/N. Using this we find

Rμ(t)n=1Rμ(t)m=1mn[βμn(t)=βμm(t)]=(Rμ(t)1)Rμ(t)(11/t)N.

si33_e  (17)

Putting equations (16) and (17) into equation (15) we obtain

Q(t)=N(2LR(t)+1)+(L+1)(R(t)1)(11/t)NL(R(t)+1)

si34_e  (18)

where R(t) is the average number of regions per string.

We now consider how the number of regions grow over time. Crossover will produce a new region provided that the cutting point occurs within a block rather than at one of the ends. Since there are L − 1 possible cutting points and (t) − 1 region boundaries, there will be a probability of (LRμ(t))/(L1)si35_e that the cutting site occurring within a block. Thus, if at time t there are R(t) regions then the expected number of regions at the next shuffle will be

R(t+1)=R(t)+LR(t)L1.

si36_e  (19)

This is again a linear recursion, with solution

R(t)=L(L1)(11L1)t.

si37_e  (20)

The derivation of 〈Q(t)〉 is not exact. In particular, we have ignored fluctuations in the number of blocks (equation (18) is not linear in R(t), so fluctuations in R(t) will give rise to systematic corrections). Nevertheless, the corrections are so small that equations (18) and (20) are in almost perfect agreement with simulation results.

The asymptotic behaviour of Q(t) is dominated by the rate of production of new regions. From equation (20) we see that the number of regions increases towards its maximum L at a rate 1 − 1/(L − 1). As a consequence the characteristic mixing time is – l/ log(l − 1/(L − 1)) ≈ L − 1.

3.3 TWO-POINT CROSSOVER

We consider the case when we choose a crossing point A uniformly between 1 and L/2 and set the second crossing point B to be at A + L/2. This ensures that exactly half the genes are swapped at each generation. As a consequence at the first generation Q(1) = 1/2. Thereafter each half of the string can be treated as a single string (of length L/2) which behaves as though they were experiencing single-point crossover. Thus for t ≥ 2 starting from R(t) regions in each half of the string the expected number after shuffling grows as

R(t+1)=R(t)+L2R(t)L.

si38_e  (21)

Using the boundary condition R(1) = 1 we find

R(t)=L2(L21)(12L)t1.

si39_e  (22)

Following a similar calculation to that for equation (18) we find

Q(t)=(N+1)(LR(t)+1)+(L+2)(R(t)1)(11/(2(t1)))NL(R(t)+1).

si40_e  (23)

Again the asymptotic decay of Q(t) is dominated by the speed at which new regions are produced. From equation (22) this gives a characteristic shuffling time of − l/log(l − 2/L)) ≈ L/2.

An alternative method for performing two-point crossover would be to choose the two crossing points independently. This complicates the calculations and we have performed simulations only. Figure 1 shows simulation results. Fixing the distance between crossing points to L/2 speeds up the initial shuffling. However, the asymptotic mixing rate is the same for both types of crossover.

f15-01-9781558607347
Figure 1 The evolution of the order parameter is shown for two different types of two- point crossover. The solid line shows the case where the separation between the crossing points is set to L/2, while the dashed line shows the case when the crossing points are chosen independently. A population size of 100 and string length of 100 was used. The simulations where averaged over 1000 runs. The errors in the mean are less than the width of the line.

4 DISCUSSION

We have obtained analytic expressions for the mixing rate for uniform, single-point and two-point crossover. In figure 2 the analytic expressions are plotted for a population size and string length of 100. The curve for uniform crossover is exact. Those for singlepoint and two-point crossover are approximate, but for these parameters the theory and simulations differ by less than 5 × 10− 4.

f15-02-9781558607347
Figure 2 The evolution of the order parameter is shown for uniform, single-point and two-point crossover. In all three cases the population size and string length was set to 100.

Although at the first step, the crossover strategies appear comparable for single-point, two-point and uniform crossover with a = 1/2, the shuffling rate continues to reduce rapidly for uniform crossover, but slows down very considerably for single-point and two-point crossover. Two-point crossover shuffles at twice the rate of single-point crossover. In fact, if we rescaled the time so that one generation of two-point crossover equals two generations of single-point crossover the two curves for Q(t) lie almost on top of each other. Multi-point crossover, in which n-points are chosen at random and where every other region is taken from the second parent, will extrapolate between the two-point and uniform crossover curves.

For uniform crossover the mixing rate is 1 – 2a (l − a) (ignoring finite population corrections). This is maximized when the bias, a, is set to 1/2. For a 1less 1/2 the mixing rate will be much reduced and the initially reduction in the order parameter will be much slower than that for single-point or two-point crossover. However, provided a greater 1/L the asymptotic mixing rate will be much faster for the biased uniform crossover than single or two-point crossover. Thus after a long enough period biased uniform crossover will achieve a better mixing than its rivals. This is illustrated in figure 2 where we have also plotted Q(t) for uniform crossover with a = 1/10.

One referee of this paper asked the pertinent question, so what? The answer to this is that modelling has both short and long term objectives. The short term objective is to find an accurate description of the system being studied. The much bolder long term objective is to obtain an understanding of the important features that determine the efficiency of the search performed by a Genetic Algorithm, with the hope of creating a principled approach to designing GAs. This is an accumulative process which can be achieved by understanding the detailed behaviour of simple systems. In this paper we identified a measure of the degree of mixing which allowed us to compute the mixing rates. The result that uniform crossover is faster than two-point crossover which in turn is faster than single-point crossover is, of course, not surprising. A result which was more unexpected (at least, for the author) was that uniform crossover even with a very strong bias towards one parent still has a much faster asymptotic mixing rate than single-point crossover. The mixing rates are important as they provide a measure for how fast crossover causes the population to decorrelate from its initial state. The shorter the decorrelation time the faster the exploration of the search space. Asymptotically single-point crossover is no faster than a mutation of one allele per generation (they both require touching each loci, which takes of order L log(L) trials), while uniform crossover is dramatically faster, taking Osi41_e(Iog(L)) steps. These results agree with Rabani et al., although we have also calculated how the degree of mixing changes for intermediate times.

To understand what crossover does in a GA, however, necessitates the modelling of the interaction of crossover with the other operators such as selection and mutation. This is part of the long term objective of modelling, of which this paper is only a small contribution. A statistical mechanics analysis of GAs has been carried out for various simple problems (e.g. [9, 10, 12-21]), which use statistical properties of the population to model the system dynamics. However, these studied did not treat the problem of spatial correlations that arise when using single or multi-point crossover. Recently the author has completed a paper treating the dynamics of a GA with two-point crossover [22]. The additional spatial correlations considerably complicate the analysis—not because of the difficulty of modelling crossover (which can be done exactly), but because of the difficulty in estimating the effect of selection on the spatial correlations produced by crossover. This paper uncovers a small part of the story of crossover. It shows how the amount of mixing caused by crossover evolves over generations. How important this is to the larger picture only time will tell.

APPENDIX: TOTALLY MIXED STATE

The overlap parameters Mμα(t)=Lmμα(t)si42_e define a partitioning of the L alleles in string μ amongst the N initial strings. Total mixing corresponds to a random partitioning so that the probability of the overlaps being (M1μM2μ, …, MNμ) is given by the multinomial distribution

1NLL!Mμ1!Mμ2!MμN![Nα=1Mμα=L].

si43_e

To find averages over a multinomial probability distribution we note that the multinomial coefficients appear in the following expansion

(Nα=1xα)L={Mα}L!(Nα=1xMααMα!)[Nα=1Mα=L]

si44_e  (24)

where the sum is over all integer values of the Mα’s. We can use equation (24) to compute averages over the multinomial distribution using the observation

Mα=1NLxα{Mα}L!(Nα=1xMααMα!)[Nα=1Mα=L]|xα=1=xα(Nα=1xα)LNL=L(Nα=11)L1NL=LN

si45_e

Similarly

Mα(Mα1)=2x2α(Nα=1xα)LNL|xα=1=L(L1)(Nα=11)L2NL=L(L1)N2.

si46_e

From the definition (8) and assuming totally shuffling

Q()=NL2(Mμα)2=N+L1NL

si47_e

APPENDIX: STATISTICS OF BLOCK SIZES

We need to calculate 〈(xnμ(t))2〉 and 〈xnμ(txmμ(t)〉. We first abstract this problem. We consider a string with L sites which is split into R regions where the position of each region boundary is independently chosen. We then ask what is the probability distribution for the sizes of the regions? For this calculation we can drop the superscript μ and the time index as these are irrelevant. Thus the length of a region we denote by xn. Our single constraint is

Rn=1xn=L.

si48_e

We can write the probability of a partitioning x = (x1, x2,…, xR) as

p(x)=1Zenxn[Rn=1xn=L],Z=Tr{x}enxn[Rn=1xn=L]

si49_e

where we have used the shorthand

Tr{x}x1=1x2=1xR=1

si50_e

(p(x) is not a multinomial distribution as there are no combinatorial factors preferring equi-paxtitioning.) In the definition of p(x) we have included the term

enXn

si51_e

which is a constant in light of the Kronecker delta, however, it will act as a regularization term in what follows.

Our aim is to find

x2n=Tr{x}x2np(x).

si52_e

We can replace the Kronecker delta with its integral representation

[Rn=1xn=L]=ππeiλ(Rn=1xnL)dλ2π.

si53_e

Giving

x2n=1ZππeiλLTr{x}x2ne(iλ+1)Rn=1xndλ2π.

si54_e

We can perform the sums (notice the regularization term ensures that sums converge) to give

x2n=1ZππeiλL(2e2iλ+2(eiλ+11)R+2eiλ+1(eiλ+11)R+1)dλ2π=1ZππeiλL(2R(R+1)(D2λ+iDλ)iRDλ)1(eiλ+11)Rdλ2π

si55_e

where Dλ=/λsi56_e. We can integrate by parts so that the remaining integral cancels with the normalization factor Z. We thus obtain

x2n=L(2LR+1)R(R+1)

si57_e

We can calculate (xn xm) in a similar way. However it is easier to observe that

L2=(nxn)2=nx2n+nmxnxm

si58_e

Thus

xnxm=Lx2nL1.

si59_e

References

[1] Holland JH. Adaptation in Natural and Artificial Systems. Ann Arbor: University of Michigan Press; 1975.

[2] De Jong KA. An Analysis of the Behaviour of a Class of Genetic Adaptive Systems. 1975.

[3] Goldberg DE. Genetic Algorithms in Search, Optimization & Machine Learning. Reading, Mass: Addison-Wesley; 1989 PhD thesis, University of Michigan.

[4] Spears WM, De Jong KA. An analysis of multi-point crossover. In: Rawlins Gregory J.E., ed. Foundations of Genetic Algorithms. San Mateo: Morgan Kaufmann; 1991:301–315.

[5] Achley DH. A connectionist machine for genetic hillclimbing. Kluwer Academic Publishing; 1987.

[6] Syswerda G. Uniform crossover in genetic algorithms. In: Proceedings of the Third International Conference on Genetic Algorithms. San Mateo: Morgan Kaufmann; 1989:2–9.

[7] Eshelman LJ, Caruana RA, Schaffer JD. Biases in the crossover landscape. In: Proceedings of the Third International Conference on Genetic Algorithms. San Mateo: Morgan Kaufmann; 1989:10–19.

[8] Galinier P, Hao JK. Hybrid evolutionary algorithms for graph coloring. Journal of Combinatorial Optimization. 1999;3(4):379–397.

[9] Prügel-Bennett A, Shapiro JL. An analysis of genetic algorithms using statistical mechanics. Physical Review Letters. 1994;72(9):1305–1309.

[10] Prügel-Bennett A, Shapiro JL. The dynamics of a genetic algorithm for simple random Ising systems. Physica D. 1997;104:75–114.

[11] Rabani Y, Rabinovich Y, Sinclair A. A computational view of population genetics. Random Structures & Algorithms. 1998;12(4):313–334.

[12] Rattray M. The dynamics of a genetic algorithm under stabilizing selection. Complex Systems. 1995;9(3):213–234.

[13] Rattray M, Shapiro JL. The dynamics of genetic algorithms for a simple learning problem. Journal of Physics: A. 1996;29:7451–7473.

[14] Prugel-Bennett A. Modelling evolving populations. Journal of Theoretical Biology. 1997;185:81–95.

[15] Shapiro JL, Prugel-Bennett A. Genetic algorithms dynamics in two-well potentials with basins and barriers. In: Belew RK, Vose MD, eds. Foundations of Genetic Algorithms 4. San Francisco: Morgan Kaufmann; 1997:101–116.

[16] Rattray M, Shapiro JL. Noisy fitness evaluations in genetic algorithms and the dynamics of learning. In: Belew RK, Vose MD, eds. Foundations of Genetic Algorithms 4. San Francisco: Morgan Kaufmann; 1997:117–139.

[17] Bomholdt S. Probing genetic algorithm performance of fitness landscapes. In: Belew RK, Vose MD, eds. Foundation of Genetic Algorithms 4. San Francisco: Morgan Kaufmann; 1997:141–154.

[18] van Nimwegen E, Crutchfield JP, Mitchell M. Finite populations induce metastability in evolutionary search. Physics Letters A. 1997;229:144–150.

[19] Rogers A, Prugel-Bennett A. Genetic drift in genetic algorithm selection schemes. IEEE Transactions on Evolutionary Computation. 1999;3(4):298–303.

[20] Prugel-Bennett A. On the long string limit. In: Banzhaf W, Reeves C, eds. Foundations of Genetic Algorithms 5. San Francisco: Morgan Kaufmann; 1999:45–56.

[21] Rogers A, Pnigel-Bennett A. The dynamics of a genetic algorithm on a model hard optimization problem. Complex Systems. 2000;11(6):437–464.

[22] Prügel-Bennett A. Modelling crossover induced linkage in genetic algorithms. 2000 Preprint.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.216.145.175