Krzysztof Krawiec


Home

Research:

edit SideBar

Genetic programming (GP) is a stochastic, iterative generate-and-test approach to synthesizing programs from tests, i.e. examples of the desired input-output mapping. The number of passed tests, or the total error in continuous domains, is a natural objective measure of a program's performance and a common yardstick when experimentally comparing algorithms. In GP, it is also by default used to \emph{guide} the evolutionary search process. An assumption that an objective function should also be an efficient `search driver' is common for all metaheuristics, such as the evolutionary algorithms which GP is a member of. Programs are complex combinatorial structures that exhibit even more complex input-output behavior, and in this chapter we discuss why this complexity cannot be effectively reflected by a single scalar objective. In consequence, GP algorithms are systemically `underinformed' about the characteristics of programs they operate on, and pay for this with unsatisfactory performance and limited scalability. This chapter advocates \emph{behavioral program synthesis}, where programs are characterized by informative execution traces that enable multifaceted evaluation and substantially change the roles of components in an evolutionary infrastructure. We provide a unified perspective on past work in this area, discuss the consequences of the behavioral viewpoint, outlining the future avenues for program synthesis and the wider application areas that lie beyond.

@INCOLLECTION { Krawiec:2015:GPTP,
    ABSTRACT = { Genetic programming (GP) is a stochastic, iterative generate-and-test approach to synthesizing programs from tests, i.e. examples of the desired input-output mapping. The number of passed tests, or the total error in continuous domains, is a natural objective measure of a program's performance and a common yardstick when experimentally comparing algorithms. In GP, it is also by default used to \emph{guide} the evolutionary search process. An assumption that an objective function should also be an efficient `search driver' is common for all metaheuristics, such as the evolutionary algorithms which GP is a member of. Programs are complex combinatorial structures that exhibit even more complex input-output behavior, and in this chapter we discuss why this complexity cannot be effectively reflected by a single scalar objective. In consequence, GP algorithms are systemically `underinformed' about the characteristics of programs they operate on, and pay for this with unsatisfactory performance and limited scalability. This chapter advocates \emph{behavioral program synthesis}, where programs are characterized by informative execution traces that enable multifaceted evaluation and substantially change the roles of components in an evolutionary infrastructure. We provide a unified perspective on past work in this area, discuss the consequences of the behavioral viewpoint, outlining the future avenues for program synthesis and the wider application areas that lie beyond. },
    ADDRESS = { Ann Arbor, USA },
    AUTHOR = { Krzysztof Krawiec and Jerry Swan and Una-May O'Reilly },
    BOOKTITLE = { Genetic Programming Theory and Practice XIII },
    DOI = { 10.1007/978-3-319-34223-8_10 },
    EDITOR = { Rick Riolo and Jason H. Moore and Mark Kotanchek },
    KEYWORDS = { genetic programming, program behavior, program semantics, multiobjective evaluation, search driver, evaluation bottleneck },
    MONTH = { {14-16 } # may },
    NOTES = { (accepted); see: http://cscs.umich.edu/gptp-workshops/ },
    PUBLISHER = { Springer },
    SERIES = { Genetic and Evolutionary Computation },
    TITLE = { Behavioral Program Synthesis: Insights and Prospects },
    YEAR = { 2016 },
    1 = { https://doi.org/10.1007/978-3-319-34223-8_10 },
}


Powered by PmWiki