Proc. of a conference on Functional programming languages and computer architecture
Genetic programming: on the programming of computers by means of natural selection
Genetic programming: on the programming of computers by means of natural selection
Genetic programming II (videotape): the next generation
Genetic programming II (videotape): the next generation
Advances in genetic programming
Advances in genetic programming
Genetic algorithms + data structures = evolution programs (3rd ed.)
Genetic algorithms + data structures = evolution programs (3rd ed.)
Evolving recursive programs for tree search
Advances in genetic programming
The Definition of Standard ML
A Representation for the Adaptive Generation of Simple Sequential Programs
Proceedings of the 1st International Conference on Genetic Algorithms
Canonical representation genetic programming
Proceedings of the first ACM/SIGEVO Summit on Genetic and Evolutionary Computation
Why evolution is not a good paradigm for program induction: a critique of genetic programming
Proceedings of the first ACM/SIGEVO Summit on Genetic and Evolutionary Computation
Modularity in genetic programming
EuroGP'03 Proceedings of the 6th European conference on Genetic programming
Context-Based repeated sequences in linear genetic programming
EuroGP'05 Proceedings of the 8th European conference on Genetic Programming
Using code bloat to obfuscate evolved network traffic
EvoCOMNET'10 Proceedings of the 2010 international conference on Applications of Evolutionary Computation - Volume Part II
Network protocol discovery and analysis via live interaction
EvoApplications'12 Proceedings of the 2012t European conference on Applications of Evolutionary Computation
Hi-index | 0.00 |
We use a simulated evolution search (genetic programming) for the automatic synthesis of small iterative machine-language programs. For an integer register machine with an addition instruction as its sole arithmetic operator, we show that genetic programming can produce exact and general multiplication routines by synthesizing the necessary iterative control structures from primitive machine-language instructions. Our program representation is a virtual register machine that admits arbitrary control flow. Our evolution strategy furthermore does not artificially restrict the synthesis of any control structure; we only place an upper bound on program evaluation time. A program's fitness is the distance between the output produced by a test case and the desired output (multiplication). The test cases exhaustively cover multiplication over a finite subset of the natural numbers (N10); yet the derived solutions constitute general multiplication for the positive integers. For this problem, simulated evolution with a two-point crossover operator examines significantly fewer individuals in finding a solution than random search. Introduction of a small rate of mutation further increases the number of solutions.