This research examines the cause of code growth
(bloat) in genetic programming (GP). Currently there
are three hypothesised causes of code growth in GP:
protection, drift, and removal bias. We show that
single node mutations increase code growth in evolving
programs. This is strong evidence that the protective
hypothesis is correct. We also show a negative
correlation between the size of the branch removed
during crossover and the resulting change in fitness,
but a much weaker correlation for added branches. These
results support the removal bias hypothesis, but seem
to refute the drift hypothesis. Our results also
suggest that there are serious disadvantages to the
tree structured programs commonly evolved with GP,
because the nodes near the root are effectively fixed
in the very early generations.
%0 Journal Article
%1 soule:2002:GPEM
%A Soule, Terence
%A Heckendorn, Robert B.
%D 2002
%J Genetic Programming and Evolvable Machines
%K algorithms, bloat, code crossover genetic growth, programming,
%N 3
%P 283--309
%R doi:10.1023/A:1020115409250
%T An Analysis of the Causes of Code Growth in Genetic
Programming
%V 3
%X This research examines the cause of code growth
(bloat) in genetic programming (GP). Currently there
are three hypothesised causes of code growth in GP:
protection, drift, and removal bias. We show that
single node mutations increase code growth in evolving
programs. This is strong evidence that the protective
hypothesis is correct. We also show a negative
correlation between the size of the branch removed
during crossover and the resulting change in fitness,
but a much weaker correlation for added branches. These
results support the removal bias hypothesis, but seem
to refute the drift hypothesis. Our results also
suggest that there are serious disadvantages to the
tree structured programs commonly evolved with GP,
because the nodes near the root are effectively fixed
in the very early generations.
@article{soule:2002:GPEM,
abstract = {This research examines the cause of code growth
(bloat) in genetic programming (GP). Currently there
are three hypothesised causes of code growth in GP:
protection, drift, and removal bias. We show that
single node mutations increase code growth in evolving
programs. This is strong evidence that the protective
hypothesis is correct. We also show a negative
correlation between the size of the branch removed
during crossover and the resulting change in fitness,
but a much weaker correlation for added branches. These
results support the removal bias hypothesis, but seem
to refute the drift hypothesis. Our results also
suggest that there are serious disadvantages to the
tree structured programs commonly evolved with GP,
because the nodes near the root are effectively fixed
in the very early generations.},
added-at = {2008-06-19T17:35:00.000+0200},
author = {Soule, Terence and Heckendorn, Robert B.},
biburl = {https://www.bibsonomy.org/bibtex/22a239895474113f76ffa8415efa04824/brazovayeye},
doi = {doi:10.1023/A:1020115409250},
interhash = {759bd35f50f642b8712b706c70cad5db},
intrahash = {2a239895474113f76ffa8415efa04824},
issn = {1389-2576},
journal = {Genetic Programming and Evolvable Machines},
keywords = {algorithms, bloat, code crossover genetic growth, programming,},
month = {September},
notes = {Article ID: 5091792},
number = 3,
pages = {283--309},
timestamp = {2008-06-19T17:52:01.000+0200},
title = {An Analysis of the Causes of Code Growth in Genetic
Programming},
volume = 3,
year = 2002
}