Abstract
Most programs currently written by humans are object-oriented ones. Two of the greatest benefits of object oriented programming are the separation of interface from implementation, and the notion that an object may have state. This paper describes a simple system that enables object-oriented programs to be evolved. The system exploits reflection to automatically discover features about the environment (the existing classes and objects) in which it is to operate. This enables us to evolve object-oriented programs for the given problem domain with the minimum of effort. Currently, we are only evolving method implementations. Future work will explore how we can also evolve interfaces and classes, which should be beneficial to the automatic generation of structured solutions to complex problems. We demonstrate the system with the aid of an evolutionary art example.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Lynn, N.: A representation for the adaptive generation of simple sequential programs. In: Grefenstette, J.J. (ed.) Proceedings of an International Conference on Genetic Algorithms and the Applications, Carnegie-Mellon University, Pittsburgh, PA, USA, July 24-26, pp. 183–187 (1985)
Koza, J.R.: Genetic Programming: on the programming of computers by means of natural selection. MIT Press, Cambridge (1992)
Koza, J.R.: Genetic ProgrammingII: automatic discovery of reusable programs. MIT Press, Cambridge (1994)
Teller, A.: Turing completeness in the language of genetic programming with indexed memory. In: Proceedings of the 1994 IEEE World Congress on Computational Intelligence, Orlando, Florida, USA, June 27-29, vol. 1, pp. 136–141. IEEE Press, Los Alamitos (1994)
Montana, D.J.: Strongly typed genetic programming. Evolutionary Computation 3, 199–230 (1995)
Brameier, M., Banzhaf, W.: Effective linear genetic programming. Interner Bericht des Sonderforschungsbereichs 531 Computational Intelligence CI– 108/01, Universität Dortmund (April 2001)
Brameier, M., Banzhaf, W.: A comparison of linear genetic programming and neural networks in medical data mining. IEEE Transactions on Evolutionary Computation 5(1), 17–26 (2001)
Miller, J.F., Thomson, P.: Cartesian genetic programming. In: Poli, R., Banzhaf, W., Langdon, W.B., Miller, J., Nordin, P., Fogarty, T.C. (eds.) EuroGP 2000. LNCS, vol. 1802, pp. 121–132. Springer, Heidelberg (2000)
Poli, R.: Evolution of graph-like programs with parallel distributed genetic programming. In: Back, T. (ed.) Genetic Algorithms: Proceedings of the Seventh International Conference, Michigan State University, East Lansing, MI, USA, 19-23, pp. 346–353. Morgan Kaufmann, San Francisco (1997)
Kantschik, W., Banzhaf, W.: Linear-graph GP – A new GP structure. In: Foster, J.A., Lutton, E., Miller, J., Ryan, C., Tettamanzi, A.G.B. (eds.) EuroGP 2002. LNCS, vol. 2278, pp. 83–92. Springer, Heidelberg (2002)
O’Neill, M., Ryan, C.: Grammatical evolution. IEEE Transactions on Evolutionary Computation 5, 349–358 (2001)
Bruce, W.S.: The Application of Genetic Programming to the Automatic Generation of Object-Oriented Programs, PhD thesis, School of Computer and Information Sciences, Nova Southeastern University, 3100 SW 9th Avenue, Fort Lauderdale, Florida 33315, USA (December 1995)
Bruce, W.S.: Automatic generation of object-oriented programs using genetic programming. In: Koza, J.R., Goldberg, D.E., Fogel, D.B., Riolo, R.L. (eds.) Genetic Programming 1996: Proceedings of the First Annual Conference, Stanford University, CA, USA, pp. 267–272. MIT Press, Cambridge (1996)
Langdon, W.B.: Evolving data structures with genetic programming. In: Eshelman, L.J. (ed.) Proc. of the Sixth Int. Conf. on Genetic Algorithms, San Francisco, CA, pp. 295–302. Morgan Kaufmann, San Francisco (1995)
Abbott, R.: Object-oriented genetic programming: An initial implementation. In: International Conference on Machine Learning: Models, Technologies and Applications, pp. 24–27 (2003)
Koza, J.R.: Genetic Programming IV: Routine Human-Competitive Machine Intelligence. Kluwer Academic Publishers, Dordrecht (2003)
Lorenz, M., Kidd, J.: Object-Oriented Software Metrics. Prentice-Hall, Englewood Cliffs (1994)
Luke, S.: A Java-based Evolutionary Computation and Genetic Programming Research System, http://www.cs.umd.edu/projects/plus/ec/ecj/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lucas, S.M. (2004). Exploiting Reflection in Object Oriented Genetic Programming. In: Keijzer, M., O’Reilly, UM., Lucas, S., Costa, E., Soule, T. (eds) Genetic Programming. EuroGP 2004. Lecture Notes in Computer Science, vol 3003. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24650-3_35
Download citation
DOI: https://doi.org/10.1007/978-3-540-24650-3_35
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21346-8
Online ISBN: 978-3-540-24650-3
eBook Packages: Springer Book Archive