Massachusetts Institute of Technology
Investigating genetic programming with novelty and domain knowledge for program synthesis
Abstract
dc:description.abstractLow population diversity is recognized as a factor in premature convergence of evolutionary algorithms. We investigate program synthesis performance via grammatical evolution using novelty search -- substituting the conventional search objective -- based on synthesis quality, with a novelty objective. This prompts us to introduce a new selection method named knobelty which parametrically balances exploration and exploitation. We also recognize that programmers solve coding problems with the support of both programming and problem specfic knowledge. We attempt to transfer insights from such human expertise to genetic programming (GP) for solving automatic program synthesis. We draw upon manual and non-GP Artificial Intelligence methods to extract knowledge from synthesis problem definitions to guide the construction of the grammar that Grammatical Evolution uses and to supplement its fitness function. Additionally, we investigate the compounding impact of this knowledge and novelty search. The resulting approaches exhibit improvements in accuracy on a majority of problems in the field's benchmark suite of program synthesis problems.
Degree
thesis:*- Name thesis:degree_name
- Master
- Department dc:contributor.department
- Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
- Grantor dc:publisher
- Massachusetts Institute of Technology
- Year dc:date.issued
- 2019
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Kelly, Jonathan Gregory.
- Advisor dc:contributor.advisor
-
- Una-May O'Reilly and Erik Hemberg.
Subjects
dc:subject × 1Rights
dc:rights- Statement dc:rights
-
- MIT theses are protected by copyright. They may be viewed, downloaded, or printed from this source but further reproduction or distribution in any format is prohibited without written permission.
- Licence dc:rights.uri
- Language dc:language.iso
- eng
Identifiers
dc:identifier.*- Handle dc:identifier.uri
- https://hdl.handle.net/1721.1/123034
- OAI identifier oai:identifier
- oai:dspace.mit.edu:1721.1/123034