J. Roland Olsson - How to Invent Functions (1999)
History /
Edit /
PDF /
EPUB /
BIB /
Created: September 3, 2016 / Updated: November 2, 2024 / Status: finished / 2 min read (~236 words)
Created: September 3, 2016 / Updated: November 2, 2024 / Status: finished / 2 min read (~236 words)
- Using EP theory, how does one program "mutate" into another?
- Adenine, cytosine, guanine and thymine are the four basic building blocks of programs (binary blocks)
- Short interspersed nuclear elements (SINEs) = small helper functions
- Abstraction: encapsulating a small program within a function, provided the function accepts an argument
- During large scale program evolution, abstraction is essential for at least the following two reasons:
- The user of an automatic programming system should not be required to define all needed help functions. Instead, the user should define a small number of primitives whereas the system automatically constructs a possibly large number of help functions.
- The system can construct a help function exactly where it is needed and avoid having a too large scope for the function.
- A form of scope restriction actually seems to exist in DNA since repeats often occur in localized regions
- For example, the clustering of multiple copies of genes encoding ribosomal RNA in humans
- ADATE uses a so-called cost limit $l$ that says how many children programs are to be produced from a given parent program. An abstraction is assigned a cost $c$ which indicates that $l/c$ programs are to be based on the abstraction
- Discriminate against bodies containing if-tests that do not depend on any parameter
- Olsson, J. Roland. "How to invent functions." European Conference on Genetic Programming. Springer Berlin Heidelberg, 1999.