Performances of iECGA
4.3 Experimental Results
In all of the test functions, the second best solution has a fitness value half of that of the best solution. If the fitness value of the optimal solution is 20, the fitness value of the second best solution is 10. We present the results of experiments as the proportion to the maximum fitness, that is, we normalize the fitness to the range from 0 to 1. The scaled fitness value of the optimal solution is 1, and the scaled fitness value of the second best solution is 0.5.
The result of experiment one was shown in Figure 4.2. For function f1, three algorithms perform perfectly and all have fitness 1.0 for chromosomes of all lengths.
In Figure 4.3, we can see that ECGA has problems finding the optimal solution. For all chromosome lengths, ECGA can only find the second best solutions. The best and average fitness values are all 0.5. When the chromosome length is smaller than 60 integers (240 bits), iECGA and GA perform perfectly, but the performance of the simple GA decays quickly when the chromosome gets longer. When the chromosome length comes to 100 integers (400 bits), iECGA can find the optimal solution for most of the runs, but GA cannot.
The result of experiment four was shown in Figure 4.5. The result is almost the same as that of experiment two, except the performance of GA decays earlier. When the chromosome length is larger than 44 integers (88 bits), GA cannot find the optimal solution. The performance of ECGA is still much worse than that of the other two algorithms.
The result of experiment three was shown in Figure 4.4. The performance of iECGA is not as good as in the other three experiments but still outperform the other two algo-rithms.
The convergence analysis was shown in Figure 4.6 and Figure 4.7. The speed of con-vergence of iECGA is much faster than that of GA. In f1, iECGA converges after 700,000 function evaluations, but GA cannot converge even after 1,050,000 function evaluations.
function d BB dBB
iECGA and GA are both operate in that integer domain, but why iECGA performs better than GA? The concepts of genetic linkage and building blocks are important components for GAs to solve problems. The main difference between iECGA and GA is the capability of detecting building blocks and genetic linkage. If the linkage configuration we find is correct, we may expect “good” building blocks will be preserved and “bad” building blocks will be weeded. Hence, iECGA performing better than GA is not unexpected.
ECGA is reliable and efficient in the binary domain, but why ECGA fails in the integer domain? If ECGA wants to find the linkage between integers, it has to consider several bits as one integer, and then consider several integers as one building block. That is, ECGA has to find building blocks of different hierarchies. It is the first difficulty.
The second difficulty is the selection of coding schemes. Most of GA users employ two’s complement to represent an integer, but there are many other kinds of representation, like the gray code. If the linkage between integers can be detected at the bit level, we call that the linkage ”propagates” to the bit level. Different representations have different linkage propagations. The linkage between integers may or may not be detected at the bit level. Thus, how to choose an appropriate chromosome representation is an essential issue for GA to succeed.
Because of these difficulties, using ECGA to solve integer problems oftentimes cannot satisfy GA users. When we have to solve integer problems, we should use a specialized algorithm. Merely encoding the solutions as binary strings might not be a good choice.
The convergence speed is an interesting property of ECGA and iECGA. Because they exchange building blocks but not genes, they avoid exchanging genes blindly. They converge more quickly than the simple GA does.
to start the MPM step [14]. The population size has a direct ratio to dBB, where d is the cardinality of an integer, and BB is the order of building blocks. In Table 4.1, we can see that the required number of individuals of f3 is twice as large as that of f2 and f4. Therefore, because the population size is not enough to start MPM, the performance of iECGA in f3 suddenly goes down.
(a) The average fitness of iECGA, ECGA, and GA
(b) The best fitness of iECGA, ECGA, and GA
0 20 40 60 80 100
Figure 4.2: The average(a) and best(b) fitness of three algorithms in f . X-axis is the
(a) The average fitness of iECGA, ECGA, and GA
(b) The best fitness of iECGA, ECGA, and GA
0 20 40 60 80 100
Figure 4.3: The average(a) and best(b) fitness of three algorithms in f2. X-axis is the
(a) The average fitness of iECGA, ECGA, and GA
(b) The best fitness of iECGA, ECGA, and GA
0 10 20 30 40 50 60 70 80 90
Figure 4.4: The average(a) and best(b) fitness of three algorithms in f . X-axis is the
(a) The average fitness of iECGA, ECGA, and GA
(b) The best fitness of iECGA, ECGA, and GA
0 20 40 60 80 100
Figure 4.5: The average(a) and best(b) fitness of three algorithms in f4. X-axis is the
(a) Chromosome length 100 in f1
(b) Chromosome length 100 in f2
0 2 4 6 8 10
(a) Chromosome length 90 in f3
(a) Chromosome length 100 in f4
0 2 4 6 8 10
Figure 4.7: The convergence speed of f3 and f4