Information Technology Reference
In-Depth Information
*a++/aaaaaa*aa++aaaaaa+0*-01010*+**01010,0-[17] = 54.46888
*aa+/aaaaaa*aa++aaaaaa*-+001010**--01010,1-[18] = 0
/aa++aaaaaa-*aaaaaaaaa/0+-01010****01010,1-[19] = 320.8196
As you can see in Figure 6.9, both the active cell (Cell 0 ) and ADF 0 re-
mained unchanged not only in this perfect solution but also in most of the
best models of the previous generations (compare Figures 6.7 and 6.9). In-
deed, what was at the heart of this improvement in fitness was a modifica-
tion in gene 1 (probably a small inversion) during the reproduction of chro-
mosome 16 of generation 7, resulting in the perfect solution of generation 8:
0123456789001234567890012345678012345678
*aa+*aaaaaa* *- */aaaaaa+0*-01010****01010,0-[7,16] = 421.516
*aa+*aaaaaa* -* */aaaaaa+0*-01010****01011,0-[8,11] = 1000
As you can see, in both models, the active main programs have exactly the
same structure and both invoke ADF 0 three times, whereas ADF 1 is used just
once. But thanks to the small inversion in gene 1, a completely new program
matching perfectly the target function (6.1) is expressed in the active cell.
6.2 Odd-parity Functions
The motivation behind the implementation of automatically defined functions
in genetic programming, was the belief that ADFs allow the evolution of modular
solutions and, consequently, improve the performance of the GP technique
(Koza 1992, 1994; Koza et al. 1999). Koza proved this by solving the sextic
polynomial problem we analyzed in the previous section and the even-parity
functions (Koza 1994).
Here, we are going to solve the already familiar odd-parity functions in
order to compare this new form of dealing with modular solutions with other
simpler forms, namely, the simpler acellular systems with and without UDFs
we studied in chapter 4 (section Odd-parity Functions).
So, we have seen already in chapter 4 that finding a solution to higher
order odd-parity functions is extremely difficult using just ANDs, ORs, and
NOTs in the function set (see Table 4.14). But with the help of UDFs we
were able to discover the pattern underlying the construction of these func-
tions and, consequently, create a scheme to design any higher order odd-
parity function (see Table 4.15 and Figure 4.9). Automatically defined func-
tions can also be used to discover patterns that might be useful to design
Search WWH ::




Custom Search