Abstract

Genetic programming (GP) is an evolutionary algorithm which explores a program space rather than a solution space which is typical of other evolutionary algorithms such as genetic algorithms. GP finds solutions to problems by evolving a program, which when implemented will produce a solution. This paper investigates the use of genetic programming for automatic programming. The paper focuses on the procedural/imperative programming paradigm. More specifically the evolution of programs using memory, conditional and iterative programming constructs is investigated. An internal representation language is defined in which to evolve programs. The generational GP algorithm was implemented using the grow method to create the initial population, tournament selection to choose parents and reproduction, crossover and mutation for regeneration purposes. The paper also presents a form of incremental learning which facilitates modularization. The GP approach to automatic programming was tested on ten programming problems that are usually presented to novice programmers in a first year procedural programming course of an undergraduate degree in Computer Science. The GP approach evolved solutions for all ten problems, with incremental learning needed in two instances to produce a solution.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call