Abstract
Genetic programming and inductive synthesis of functional programs are two major approaches to inductive functional programming. Recently, in addition to them, some researchers pursue efficient exhaustive program generation algorithms, partly for the purpose of providing a comparator and knowing how essential the ideas such as heuristics adopted by those major approaches are, partly expecting that approaches that exhaustively generate programs with the given type and pick up those which satisfy the given specification may do the task well. In exhaustive program generation, since the number of programs exponentially increases as the program size increases, the key to success is how to restrain the exponential bloat by suppressing semantically equivalent but syntactically different programs. In this paper we propose an algorithm applying random testing of program equivalences (or Monte-Carlo search for functional differences) to the search results of iterative deepening, by which we can totally remove redundancies caused by semantically equivalent programs. Our experimental results show that applying our algorithm to subexpressions during program generation remarkably reduces the computational costs when applied to rich primitive sets.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
- Genetic Programming
- Random Testing
- Program Generation
- Hypothesis Space
- Intuitionistic Propositional Logic
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.
References
Olsson, R.: Inductive functional programming using incremental program transformation. Artificial Intelligence 74(1), 55–81 (1995)
Yu, T.: Polymorphism and genetic programming. In: Miller, J., Tomassini, M., Lanzi, P.L., Ryan, C., Tetamanzi, A.G.B., Langdon, W.B. (eds.) EuroGP 2001. LNCS, vol. 2038, pp. 218–233. Springer, Heidelberg (2001)
Schmid, U.: Inductive Synthesis of Functional Programs – Learning Domain-Specific Control Rules and Abstract Schemes. Springer, Heidelberg (2001); Habilitation thesis
Kitzelmann, E.: Data-driven induction of recursive functions from input/output-examples. In: AAIP 2007: Proceedings of the Workshop on Approaches and Applications of Inductive Programming, pp. 15–26 (2007)
Katayama, S.: Power of brute-force search in strongly-typed inductive functional programming automation. In: Zhang, C., Guesgen, H.W., Yeap, W.-K. (eds.) PRICAI 2004. LNCS (LNAI), vol. 3157, pp. 75–84. Springer, Heidelberg (2004)
Katayama, S.: Library for systematic search for expressions and its efficiency evaluation. WSEAS Transactions on Computers 12(5), 3146–3153 (2006)
Katayama, S.: Systematic search for lambda expressions. In: Trends in Functional Programming, Intellect, vol. 6, pp. 111–126 (2007)
Claessen, K., Hughes, J.: QuickCheck: a lightweight tool for random testing of Haskell programs. In: ICFP 2000: Proceedings of the 5th ACM SIGPLAN International Conference on Functional Programming, pp. 268–279. ACM, New York (2000)
Spivey, M.: Combinators for breadth-first search. Journal of Functional Programming 10(4), 397–408 (2000)
Spivey, M.: Algebras for combinatorial search. In: Workshop on Mathematically Structured Functional Programming (2006)
Hudelmaier, J.: Bounds on cut-elimination in intuitionistic propositional logic. Archive for Mathematical Logic 31, 331–354 (1992)
Dyckhoff, R.: Contraction-free sequent calculi for intuitionistic logic. Journal of Symbolic Logic, 795–807 (1992)
Katayama, S.: MagicHaskeller (2005), http://nautilus.cs.miyazaki-u.ac.jp/~skata/MagicHaskeller.html
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Katayama, S. (2008). Efficient Exhaustive Generation of Functional Programs Using Monte-Carlo Search with Iterative Deepening. In: Ho, TB., Zhou, ZH. (eds) PRICAI 2008: Trends in Artificial Intelligence. PRICAI 2008. Lecture Notes in Computer Science(), vol 5351. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89197-0_21
Download citation
DOI: https://doi.org/10.1007/978-3-540-89197-0_21
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-89196-3
Online ISBN: 978-3-540-89197-0
eBook Packages: Computer ScienceComputer Science (R0)