How to Invent Functions
The paper presents the abstraction transformation which is a fundamental method for creating functions in ADATE. The use of abstraction turns out to be similar to evolution by gene duplication which is emerging as the most important theory of “building blocks” in natural genomes. We discuss the relationship between abstraction and its natural counterparts, but also give novel technical details on automatic invention of functions. Basically, abstraction is the reverse of the inlining transformation performed by optimizing compilers.
KeywordsPriority Queue Functional Programming Cost Limit Expression Tree Combinatorial Search
Unable to display preview. Download preview PDF.
- 1.A. W. Appel, Modern compiler implementation in ML, Cambridge University Press, 1998.Google Scholar
- 2.T. Endo, T. Imanishi, T. Gojobori and H. Inoko, Evolutionary significance of intra-genome duplications on human chromosomes, Cell, number 205, December 31, 1997, pp. 19–27.Google Scholar
- 3.D. B. Fogel, Evolutionary Computation: Toward a New Philosophy of Machine Intelligence, IEEE Press, 1996.Google Scholar
- 4.W. S. Klug and M. R. Cummings, Essentials of genetics, Prentice-Hall, 1999.Google Scholar
- 5.J. R. Koza, Genetic programming: on the programming of computers by means of natural selection, MIT Press, 1992.Google Scholar
- 6.J. P. Nordin, Evolutionary program induction of binary machine code and its applications, Krehl Verlag, Münster, 1997.Google Scholar
- 7.S. Ohno, Evolution by gene duplication, Springer-Verlag, 1970.Google Scholar
- 8.J. R. Olsson, Inductive functional programming using incremental program transformation and Execution of logic programs by iterative-deepening A * SLD-tree search, Research report 189, Dr scient thesis, ISBN 82-7368-099-1, University of Oslo, 1994.Google Scholar
- 10.J. R. Olsson, Web page for Automatic Design of Algorithms through Evolution, http://www-ia.hiof.no/~rolando/adate_intro.html (current Nov. 23, 1998).
- 11.J. R. Olsson, Population management for automatic design of algorithms through evolution, International Conference on Evolutionary Computation, 1998.Google Scholar
- 12.Å. Wikström, Functional Programming Using Standard ML, Prentice Hall International, 1987.Google Scholar