Code for Shiu Yin Yuen, Bernard K.S. Cheung, “Bounds for Probability of Success of Classical Genetic Algorithm Based on Hamming Distance”, IEEE Transactions on Evolutionary Computation, Vol. 10(1) (Feb.  2006) 1-18.


The code is in MATLAB.


The main function is




For the finite population model, we use pre-computation, which stores the population permutations to save computational efforts.  The pre-computed files are stored in the labelx_y.dat.  For example, label5_2.dat stores the data for (g, d) = (5,2). If the particular combination is not available, you need to generate it first by running




The user can also test their own functional landscape by running ArbitraryLandscape.m and then GAProb.m.




consists of three functions:

1.      Transforms an arbitrary landscape Fitnessfilename to the one with the global optimum at (1111...1)

2.      Saves the transformed landscape as cvtlandscape, the format of cvtlandscape is the same of Fitnessfilename

3.      Calculates and stores the lower and upper bounds of all rings as LUBound (The values [Li, Ui] at the ith row represents the lower and upper bound of Ri)


Syntax: ArbitraryLandscape(Fitnessfilename, gamma)

1.      Fitnessfilename – The filename of file the target landscape.

2.      gamma – Length of chromosome



The code is available in zip format (The winzip software is available from