Alternatives in Subtree Caching for Genetic Programming
This work examines a number of subtree caching mechanisms that are capable of adapting during the course of a run while maintaining a fixed size cache of already evaluated subtrees. A cache update and flush mechanism is introduced as well as the benefits of vectorized evaluation over the standard case-by-case evaluation method for interpreted genetic programming systems are discussed. The results show large benefits for the use of even very small subtree caches. One of the approaches studied here can be used as a simple add-on module to an existing genetic programming system, providing an opportunity to improve the runtime efficiency of such a system.
KeywordsGenetic Programming Hash Table Cache Size Symbolic Regression Cache Mechanism
Unable to display preview. Download preview PDF.
- 1.Keith, M.J., Martin, M.C.: Genetic programming in C++: Implementation issues. In: Kinnear Jr., K.E. (ed.) Advances in Genetic Programming, pp. 285–310. MIT Press, Cambridge (1994)Google Scholar
- 3.Singleton, A.: Genetic programming with C++. BYTE, 171–176 (1994)Google Scholar
- 4.Keijzer, M.: Efficiently representing populations in genetic programming. In: Angeline, P.J., Kinnear Jr., K.E. (eds.) Advances in Genetic Programming 2, pp. 259–278. MIT Press, Cambridge (1996)Google Scholar
- 5.Tackett, W.A.: Recombination, Selection, and the Genetic Construction of Computer Programs. PhD thesis, University of Southern California, Department of Electrical Engineering Systems, USA (1994)Google Scholar