15th Workshop on Evolutionary Computation for the Automated Design of Algorithms
Webpage: https://bonsai.auburn.edu/ecada/
Description
Mode: hybrid
Scope
The main objective of this workshop is to discuss hyper-heuristics and algorithm configuration methods for the automated generation and improvement of algorithms, with the goal of producing solutions (algorithms) that apply to multiple instances of a problem domain. The areas of application of these methods include optimization, data mining, and machine learning.
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 since the early 1990s, and more recently automated algorithm configuration and hyper-heuristics. 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 or recombining them following a grammar description.
Although most evolutionary algorithms 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, a genetic programming hyper-heuristic has been employed 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 operates 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, 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 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; in 2011, linear genetic programming was used to evolve crossover operators; more recently, genetic programming was used to evolve complete black-box search algorithms, SAT solvers, and FuzzyART category functions. Moreover, hyper-heuristics may be applied before deploying an algorithm (offline) or while problems are being solved (online), or even continuously learn by solving new problems (life-long). 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. Recently, the design of multi-objective evolutionary algorithm components was automated.
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. Another avenue for research is investigating the potential performance improvements obtained through the use of asynchronous parallel evolution to exploit the typical large variation in fitness evaluation times when executing hyper-heuristics.
Content
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 of 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):
- Applications of hyper-heuristics, including general-purpose automatic algorithm configuration methods for the design of metaheuristics, in particular evolutionary algorithms, and other algorithms for application domains such as optimization, data mining, machine learning, image processing, engineering, cyber security, critical infrastructure protection, and bioinformatics.
- 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.
- Analysis of the most effective representations for hyper-heuristics (e.g., Koza style Genetic Programming versus Cartesian Genetic Programming).
- Asynchronous parallel evolution of hyper-heuristics.
Organizers