Invited Talk

Speaker: Krzysztof "Chris" Krawiec

Title: Behavioral Program Synthesis for the Automated Design of Algorithms

Abstract:
A running program may exhibit complex behavior, not only in terms of the produced output, but also regarding the execution states it traverses. In program synthesis as practiced with conventional genetic programming, only a fraction of that behavior, usually compressed into a scalar fitness, is used to navigate the search space. This 'evaluation bottleneck' leaves a search algorithm underinformed about the actual and potential qualities of candidate programs. Behavioral program synthesis aims at providing search algorithms with richer information on a program's operating characteristics, and so making them better informed and thus more efficient. In this talk, I will present the motivations and interesting features of the behavioral perspective, show how the existing approaches fit into it, and discuss the implications for program synthesis and automated design of algorithms.

Description

The main objective of this workshop is to discuss hyper-heuristics and related methods, including but not limited to evolutionary computation methods, for generating and improving algorithms with the goal of producing solutions (algorithms) that are applicable to multiple instances of a problem domain. The areas of application of these methods include optimization, data mining and machine learning [1-18].

Automatically generating and improving algorithms by means of other algorithms has been the goal of several research fields, including Artificial Intelligence in the early 1950s, Genetic Programming in the early 1990s, and more recently automated algorithm configuration [1] and hyper-heuristics [2]. The term hyper-heuristics generally describes meta-heuristics applied to a space of algorithms. While Genetic Programming has most famously been used to this end, other evolutionary algorithms and meta-heuristics have successfully been used to automatically design novel (components of) algorithms. Automated algorithm configuration grew from the necessity of tuning the parameter settings of meta-heuristics and it has produced several powerful (hyper-heuristic) methods capable of designing new algorithms by either selecting components from a flexible algorithmic framework [3,4] or recombining them following a grammar description [5,9].

Although most Evolutionary Computation techniques are designed to generate specific solutions to a given instance of a problem, one of the defining goals of hyper-heuristics is to produce solutions that solve more generic problems. For instance, while there are many examples of Evolutionary Algorithms for evolving classification models in data mining and machine learning, the work described in [8] employed a hyper-heuristic using Genetic Programming to create a generic classification algorithm which in turn generates a specific classification model for any given classification dataset, in any given application domain. In other words, the hyper-heuristic is operating at a higher level of abstraction compared to how most search methodologies are currently employed; i.e., it is searching the space of algorithms as opposed to directly searching in the problem solution space [9], raising the level of generality of the solutions produced by the hyper-heuristic evolutionary algorithm. In contrast to standard Genetic Programming, which attempts to build programs from scratch from a typically small set of atomic functions, hyper-heuristic methods specify an appropriate set of primitives (e.g., algorithmic components) and allow evolution to combine them in novel ways as appropriate for the targeted problem class. While this allows searches in constrained search spaces based on problem knowledge, it does not in any way limit the generality of this approach as the primitive set can be selected to be Turing-complete. Typically, however, the initial algorithmic primitive set is composed of primitive components of existing high-performing algorithms for the problems being targeted; this more targeted approach very significantly reduces the initial search space, resulting in a practical approach rather than a mere theoretical curiosity. Iterative refining of the primitives allows for gradual and directed enlarging of the search space until convergence.

As meta-heuristics are themselves a type of algorithm, they too can be automatically designed employing hyper-heuristics. For instance, in 2007, Genetic Programming was used to evolve mate selection in evolutionary algorithms [11]; in 2011, Linear Genetic Programming was used to evolve crossover operators [12]; more recently, Genetic Programming was used to evolve complete black-box search algorithms [13,14,16]. Moreover, hyper-heuristics may be applied before deploying an algorithm (offline) [5] or while problems are being solved (online) [9], or even continuously learn by solving new problems (life-long) [19]. Offline and life-long hyper-heuristics are particularly useful for real-world problem solving where one can afford a large amount of a priori computational time to subsequently solve many problem
instances drawn from a specified problem domain, thus amortizing the a priori computational time over repeated problem solving.

Very little is known yet about the foundations of hyper-heuristics, such as the impact of the meta-heuristic exploring algorithm space on the performance of the thus automatically designed algorithm. An initial study compared the performance of algorithms generated by hyper-heuristics powered by five major types of Genetic Programming [18].

John R. Woodward and
Jerry Swan, "The automatic
generation of mutation operators for genetic algorithms", in Proceedings of
the 14th international conference on Genetic and evolutionary computation
conference, 2012.

Call for Papers

We welcome original submissions on all aspects of Evolutionary Computation for the Automated Design of Algorithms, in particular, evolutionary computation methods and other hyper-heuristics for the automated design, generation or improvement of algorithms that can be applied to any instance of a target problem domain. Relevant methods include methods that evolve whole algorithms given some initial components as well as methods that take an existing algorithm and improve it or adapt it to a specific domain. Another important aspect in automated algorithm design is the definition of the primitives that constitute the search space of hyper-heuristics. These primitives should capture the knowledge of human experts about useful algorithmic components (such as selection, mutation and recombination operators, local searches, etc) and, at the same time, allow the generation of new algorithm variants. Examples of the application of hyper-heuristics, including genetic programming and automatic configuration methods, to such frameworks of algorithmic components are of interest to this workshop, as well as the (possibly automatic) design of the algorithmic components themselves and the overall architecture of metaheuristics. Therefore, relevant topics include (but are not limited to):

Novel hyper-heuristics, including but not limited to genetic programming based approaches, automatic configuration methods, and online, offline and life-long hyper-heuristics, with the stated goal of designing or improving the design of algorithms.

Empirical comparison of hyper-heuristics.

Theoretical analyses of hyper-heuristics.

Studies on primitives (algorithmic components) that may be used by hyper-heuristics as the search space when automatically designing algorithms.

Automatic selection/creation of algorithm primitives as a preprocessing step for the use of hyper-heuristics.

Analysis of the trade-off between generality and effectiveness of different hyper-heuristics or of algorithms produced by a hyper-heuristic.

Important Dates

April 3 10, 2016

Workshop paper submission deadline

April 20 18, 2016

Notification of acceptance

April 20, 2016

Author registration deadline

May 4 8, 2016

Camera-ready deadline

Paper Submission

Submitted papers may not exceed 8 pages and are
required to be in compliance with the GECCO 2016 Call
for Papers Preparation Instructions. However, note that the review process
of the workshop is not double-blind; hence, authors' information should be
included in the paper.

John R. Woodward is a Lecturer at the
University of Stirling, within the
CHORDS group and is employed on
the DAASE project, and for the
previous four years was a lecturer with the University of Nottingham. He holds a BSc
in Theoretical Physics, an MSc in Cognitive Science and a PhD in Computer
Science, all from the University of
Birmingham. His research interests include Automated Software
Engineering, particularly Search Based Software Engineering, Artificial
Intelligence/Machine Learning and in particular Genetic Programming. He has
over 50 publications in Computer Science, Operations Research and
Engineering which include both theoretical and empirical contributions, and
given over 100 talks at international conferences and as an invited speaker
at universities. He has worked in industrial, military, educational and
academic settings, and been employed by EDS, CERN and RAF and three UK
Universities.