Parallel Programs Are More Evolvable than Sequential Programs

This paper presents a novel phenomenon of the Genetic Parallel Programming (GPP) paradigm - the GPP accelerating phenomenon. GPP is a novel Linear Genetic Programming representation for evolving parallel programs running on a Multi-ALU Processor (MAP). We carried out a series of experiments on GPP with different number of ALUs. We observed that parallel programs are more evolvable than sequential programs. For example, in the Fibonacci sequence regression experiment, evolving a 1-ALU sequential program requires 51 times on average of the computational effort of an 8-ALU parallel program. This paper presents three benchmark problems to show that the GPP can accelerate evolution of parallel programs. Due to the accelerating evolution phenomenon of GPP over sequential program evolution, we could increase the normal GP's evolution efficiency by evolving a parallel program by GPP and if there is a need, the evolved parallel program can be translated into a sequential program so that it can run on conventional hardware.

[1]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[2]  Kwong-Sak Leung,et al.  Evolving parallel machine programs for a multi-ALU processor , 2002, Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600).

[3]  Peter Nordin,et al.  AIM-GP and parallelism , 1999, Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406).

[4]  Peter Nordin,et al.  Genetic programming - An Introduction: On the Automatic Evolution of Computer Programs and Its Applications , 1998 .

[5]  Malcolm I. Heywood,et al.  Dynamic page based crossover in linear genetic programming , 2002, IEEE Trans. Syst. Man Cybern. Part B.

[6]  P.H.W. Leong,et al.  Pilchard — a reconfigurable computing platform with memory slot interface , 2001, The 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01).

[7]  Kwong-Sak Leung,et al.  A microprogrammable list processor for personal computers , 1990, IEEE Micro.

[8]  John R. Koza,et al.  Genetic programming 2 - automatic discovery of reusable programs , 1994, Complex Adaptive Systems.

[9]  Peter Nordin,et al.  Speech Sound Discrimination with Genetic Programming , 1998, EuroGP.

[10]  J. Vincent Evolving parallel machine programs for a multi-ALU processor , 2002 .

[11]  Wolfgang Banzhaf,et al.  A comparison of linear genetic programming and neural networks in medical data mining , 2001, IEEE Trans. Evol. Comput..

[12]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[13]  Lalit M. Patnaik,et al.  Application of genetic programming for multicategory pattern classification , 2000, IEEE Trans. Evol. Comput..