Evolving a New Feature for a Working Program
Mike Stimpson

TL;DR
This paper explores evolving multiple features in programs using genetic programming, analyzing how the difficulty and program density affect the number of generations needed for evolution.
Contribution
It introduces a method for evolving multiple features sequentially in programs and examines the relationship between program difficulty, density, and evolution time.
Findings
G1 and G2 are inversely proportional to the square root of program density D1 and D2.
The median generations G1 and G2 increase with problem difficulty.
Program density D1 and D2 significantly influence evolution efficiency.
Abstract
A genetic programming system is created. A first fitness function f1 is used to evolve a program that implements a first feature. Then the fitness function is switched to a second function f2, which is used to evolve a program that implements a second feature while still maintaining the first feature. The median number of generations G1 and G2 needed to evolve programs that work as defined by f1 and f2 are measured. The behavior of G1 and G2 are observed as the difficulty of the problem is increased. In these systems, the density D1 of programs that work (for fitness function f1) is measured in the general population of programs. The relationship G1~1/sqrt(D1) is observed to approximately hold. Also, the density D2 of programs that work (for fitness function f2) is measured in the general population of programs. The relationship G2~1/sqrt(D2) is observed to approximately hold.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Techniques and Practices
