skip to main content
10.1145/2330784.2330899acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
abstract

Automatic python programming using stack-based genetic programming

Published:07 July 2012Publication History

ABSTRACT

Traditional genetic programming uses tree-like data structure to represent a program. It should be converted into a Lisp code, or needs a custom-made virtual machine or interpreter to execute the program generated. Recently, there is a study on genetic programming directly using Java bytecode, a practical intermediate language. It evolves a series of commands that manipulate stack and registers in the virtual machine and represents them with a simple list data structure instead of tree. Evolving the intermediate language is promising because 1) it is easy to combine an existing program with an automatically generated program, 2) there are several available development tools and environments for the language including virtual machine, decompiler, optimizer and so on, and 3) incorporating the list data structure into the evolutionary algorithm is simple and straightforward. In this research, we propose to evolve bytecode of Python programming language by stack-based genetic programming. Python is a flexible and popular programming language powered by plenty of research tools. For the evolution, we developed representation and genetic operations for the Python language. We report that the proposed method produced successful Python codes for two regression problems.

References

  1. Nordin, P., 2004. A compiling genetic programming system that directly manipulates the machine code, Advances in Genetic Programming, MIT Press.Google ScholarGoogle Scholar
  2. Harvey, B., Foster, J. A. and Frincke, D., 1998. Towards byte code genetic programming, Late Breaking Papers of Genetic Programming, 1998.Google ScholarGoogle Scholar
  3. Orlov, M. and Sipper, M. Flight of the FINCH through the Java wilderness, IEEE Transactions on Evolutionary Computation, 15, 2, (April. 2011), 166--182. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. http://pypy.org/Google ScholarGoogle Scholar
  5. http://pypi.python.org/pypi/byteplay/0.2Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Article Metrics

    • Downloads (Last 12 months)5
    • Downloads (Last 6 weeks)3

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader