Abstract
The usual approach to address the brittleness of machine code in evolution is to constrain mutation and crossover to ensure syntactic closure. In the novel approach presented here we use no constraints on the operators. They all work blindly on the binaries in memory but we instead encapsulate the code and trap all resultingexceptions using the built-in error reportingmechanisms which modern CPUs provide to the operatingsystem. Thus it is possible to return to very simple genetic operators with the objective of increased performance. Furthermore the instruction set used by evolved programmes is no longer limited by the genetic programming system but only by the CPU it runs on. The mapping between the evolution platform and the execution platform becomes almost complete, ensuringcorrect low-level behaviour of all CPU functions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aivazian, T., Hellwig, C., Weight, R. and Cao, M.: Linux Kernel 2.4 Internals (2001).http://www.linuxdoc.org/LDP/lki/index.html
Banzhaf, W., Nordin, P., Keller, R.E. and Francone, F.D.: Genetic Programming-An Introduction. On The Automatic Evolution Of Computer Programs and its Applications (1998). Morgan Kaufmann, San Francisco, USA and dpunkt, Heidelberg, Germany.
Brumm, P., Brumm, D., Scanlon and J.: 80486 Programming (1991).Windcrest, Blue Ridge Summit, Pa., USA
Crawford, J.H. and Gelsinger, P.P.: Programming the 80386 (1987). SYBEX, San Francisco, USA
Dunlap, R.: Linux 2.4.x Initialization for IA-32 HOWTO (2001). http://www.linuxdoc.org/HOWTO/Linux-Init-HOWTO.html
Goldt, S.,van der Meer, S., Burkett, S. and Welsh, M.: The Linux Programmer’ s Guide (1995). http://www.linuxdoc.org/LDP/lpg/index.html
Intel Corporation: IA-32 Intel Architecture Software Developer’s Manual (2001). http://developer.intel.com/design/pentium4/manuals/245470.htm
Johnson, M.K., Rubini, A. and Scalsky, S.: Linux Kernel Hacker’s Guide (1997). http://www.linuxdoc.org/LDP/khg/HyperNews/get/khg.html
Loosemore S., Stallman, R.M., McGrath, R., Oram, A. and Drepper U.: The GNUC Library Reference Manual (1999), Free Software Foundation, Boston, USA
Nordin, P.: Evolutionary Program Induction of Binary Machine Code and its Application (1997). Krehl Verlag, Münster, Germany.
Nordin, P., Banzhaf, W., Francone, F.D.: Efficient Evolution of Machine Code for CISC Architectures UsingInstruction Blocks and Homologous Crossover (1999). In Advances in Genetic Programming, Volume 3, L. Spector, W.B. Langdon, U.-M. O’Reilly, P.J. Angeline (ed.), pp. 275–299.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kühling, F., Wolff, K., Nordin, P. (2002). A Brute-Force Approac to Automatic Induction of Machine Code on CISC Architectures. In: Foster, J.A., Lutton, E., Miller, J., Ryan, C., Tettamanzi, A. (eds) Genetic Programming. EuroGP 2002. Lecture Notes in Computer Science, vol 2278. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45984-7_28
Download citation
DOI: https://doi.org/10.1007/3-540-45984-7_28
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43378-1
Online ISBN: 978-3-540-45984-2
eBook Packages: Springer Book Archive