Invariance of Function Complexity Under Primitive Recursive Functions

  • John R. Woodward
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3905)


Genetic Programming (GP) [1] often uses a tree form of a graph to represent solutions. An extension to this representation, Automatically Defined Functions (ADFs) [1] is to allow the ability to express modules. In [2] we proved that the complexity of a function is independent of the primitive set (function set and terminal set) if the representation has the ability to express modules. This is essentially due to the fact that if a representation can express modules, then it can effectively define its own primitives at a constant cost. This is reminiscent of the result that the complexity of a bit string is independent of the choice of Universal Turing Machine (UTM) (within an additive constant) [3], the constant depending on the UTM but not on the function.

The representations typically used in GP are not capable of expressing recursion, however a few researchers have introduced recursion into their representations. These representations are then capable of expressing a wider classes of functions, for example the primitive recursive functions (PRFs). We prove that given two representations which express the PRFs (and only the PRFs), the complexity of a function with respect to either of these representations is invariant within an additive constant. This is in the same vein as the proof of the invariants of Kolmogorov complexity [3] and the proof in [2].


Genetic Programming Recursive Function Additive Constant Minimum Description Length Total Function 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Banzhaf, W., Nordin, P., Keller, R.E., Francone, F.D.: Genetic Programming – An Introduction. In: On the Automatic Evolution of Computer Programs and its Applications, dpunkt.verlag, Morgan Kaufmann, San Francisco (1998)Google Scholar
  2. 2.
    Woodward, J.R.: Modularity in genetic programming. In: Ryan, C., Soule, T., Keijzer, M., Tsang, E.P.K., Poli, R., Costa, E. (eds.) EuroGP 2003. LNCS, vol. 2610, Springer, Heidelberg (2003)Google Scholar
  3. 3.
    Li, M., Vitanyi, P.M.B.: An Introduction to Kolmogorov Complexity and Its Applications. Springer, Berlin (1993)CrossRefMATHGoogle Scholar
  4. 4.
    Grnwald, P.D., Myung, I.J., Pitt, M.A.: Advances in Minimum Description Length Theory and Applications. MIT Press, Cambridge (2005)Google Scholar
  5. 5.
    Bishop, C.M.: Neural networks for pattern recognition. Oxford University Press, Oxford (1996)MATHGoogle Scholar
  6. 6.
    Cramer, N.L.: A representation for the adaptive generation of simple programs. In: International Conference on Genetic Algorithms and Their Applications, pp. 183–187 (1985)Google Scholar
  7. 7.
    Brave, S.: Evolving recursive programs for tree search. In: Angeline, P.J., Kinnear Jr., K.E. (eds.) Advances in Genetic Programming, vol. 2, pp. 203–220. MIT Press, Cambridge (1996)Google Scholar
  8. 8.
    Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge (1992)MATHGoogle Scholar
  9. 9.
    Yu, T.: Hierachical processing for evolving recursive and modular programs using higher order functions and lambda abstractions. Genetic Programming and Evolvable Machines 2(4), 345–380 (2001)CrossRefMATHGoogle Scholar
  10. 10.
    Spector, L.: Simultaneous evolution of programs and their control structures. In: Angeline, P.J., Kinnear Jr., K.E. (eds.) Advances in Genetic Programming, vol. 2, pp. 137–154. MIT Press, Cambridge (1996)Google Scholar
  11. 11.
    Wong, M.L., Leung, K.S.: Evolving recursive functions for the even-parity problem using genetic programming. In: Angeline, P.J., Kinnear Jr., K.E. (eds.) Advances in Genetic Programming, vol. 2, pp. 221–240. MIT Press, Cambridge (1996)Google Scholar
  12. 12.
    Huelsbergen, L.: Learning recursive sequences via evolution of machine-language programs. In: Koza, J.R., Deb, K., Dorigo, M., Fogel, D.B., Garzon, M., Iba, H., Riolo, R.L. (eds.) Genetic Programming 1997: Proceedings of the Second Annual Conference, Stanford University, CA, USA, pp. 186–194. Morgan Kaufmann, San Francisco (1997)Google Scholar
  13. 13.
    Vallejo, E.E., Ramos, F.: Evolving turing machines for biosequence recognition and analysis. In: Miller, J., Tomassini, M., Lanzi, P.L., Ryan, C., Tetamanzi, A.G.B., Langdon, W.B. (eds.) EuroGP 2001. LNCS, vol. 2038, pp. 192–203. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  14. 14.
    Woodward, J.R.W.: Algorithm Induction,Modularity and Complexity. PhD thesis, The School of Computer Science, The University of Birmingham (2005) Google Scholar
  15. 15.
    Cutland, N.J.: Computability, An introduction to recursive function theory. Cambridge University Press, Cambridge (1997)MATHGoogle Scholar
  16. 16.
    Teller, A.: Algorithm Evolution with Internal Reinforcement for Signal Understanding. PhD thesis, School of Computer Science, Carnegie Mellon University, Pittsburgh, USA (1998) Google Scholar
  17. 17.
    Hartley Rogers, J.: Theory of recursive functions and effective computability. MIT Press, Cambridge (1987)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • John R. Woodward
    • 1
  1. 1.The University of BirminghamBirminghamUK

Personalised recommendations