Hello everyone, I'm *very* new to ECJ, so my apologies if I have done something stupid. I would, however, very much appreciate someone telling me where I've gone wrong! I have run the parity examples provided with ECJ and I'm confused with the results. I have tried to reproduce some of the experiments in Koza's second book. My expectation was that I could use the parity examples provided with ECJ to get similar results to chapter 6 of GPII which generally concludes that the use of ADFs is a good thing for this domain. As I understand it there are two configuration scripts for even-n-parity in ECJ: one is for standard Koza-style GP (his first book), and the other is for standard Koza-style GP with ADFs (his second book). The defaults are for even-4-parity with standard GP, and even-3-parity for GP with ADFs. I executed 500 runs (ECJ is really quite quick!) of the even-4-parity example with a population size of 500. (I modified the population size by editing "pop.subpop.0.size" in ec/simple/simple.params.) It produced a success rate of 32.4% (162/500 successful runs) by generation 50. I then executed 500 runs of the even-4-parity problem but this time with ADFs. This required a slight modification of the "adfs.params" file: I changed "eval.problem.bits" to 4, and "gp.fs.0.size" to 10, "gp.fs.1.size" to 10 and "gp.fs.2.size" to 11 (as per the instructions in the file). Of the 500 runs only 3 (0.6%!!!) found a solution after 50 generations. So, to summarize, Standard GP scored 32.4% while GP with ADFs scored 0.6%. From Koza's second book on GP (page 181), this was not what I expected to get. I expected GP with ADFs to outperform standard GP on this problem domain. I sat around scratching my head trying to work out what I had done wrong, however nothing but hair came out ;o) I've just repeated this process with even-3-parity, again with a population size of 500. This time I did not modify adf.params from it's original source. I followed the instructions in parity.params to reduce it from even-4 to even-3. This time standard GP found a solution by generation 50 in 100% of the 100 runs I executed. In comparison GP with ADFs found solutions in just 46% (46/100) of the runs. Again this was not what I expected. Page 177 of GPII tells me that I should expect ADFs to outperform Standard GP with a computational effort ratio of about 1.5. The two computational efforts scores were 7,000 (for standard GP) and 161,203 (for ADFs), or a ratio of about 0.04. I wondered if the issue was that I'd scaled down the population size. So I modified simple/simple.params (but still working with even-3-parity) so that the population size was now 16,000---just as Koza used. I had some problems here with a "java.lang.OutOfMemoryError: Java heap space" exception, but sufficient runs completed anyway. Standard GP found solutions in 100% (84/84) of the runs that terminated normally (i.e. without the exception). Every one of the solutions were found by generation 3, giving a minimum computational effort of 64,000. Koza's result was 96,000. GP with ADFs also found solutions in 100% (96/96) of its normal runs. However this only happened by generation 9, giving a computational effort of 160,000. In Koza's work ADFs beat Standard GP... not the other way around! So from all this I'm left convinced that I've made some fundamental mistake in every one of these setups. I've no idea what I'm doing wrong and would love some assistance! I've searched the archives of this list and didn't see anything about this topic, but once again I apologize if this is obvious. Thanks in advance, Matthew Walker