1,019 research outputs found
Canonical Representation Genetic Programming
Search spaces sampled by the process of Genetic Programming often consist of programs which can represent a function in many different ways. Thus, when the space is examined it is highly likely that different programs may be tested which represent the same function, which is an undesirable waste of resources. It is argued that, if a search space can be constructed where only unique representations of a function are permitted, then this will be more successful than employing multiple representations. When the search space consists of canonical representations it is called a canonical search space, and when Genetic Programming is applied to this search space, it is called Canonical Representation Genetic Programming. The challenge lies in constructing these search spaces. With some function sets this is a trivial task, and with some function sets this is impossible to achieve. With other function sets it is not clear how the goal can be achieved. In this paper, we specifically examine the search space defined by the function set {+, −, ∗, /} and the terminal set {x, 1}. Drawing inspiration from the fundamental theorem of arithmetic, and results regarding the fundamental theorem of algebra, we construct a representation where each function that can be constructed with this primitive set has a unique representation
Relating Training Instances to Automatic Design of Algorithms for Bin Packing via Features (Detailed Experiments and Results)
Automatic Design of Algorithms (ADA) shifts the burden of algorithm choice and design from developer to machine. Constructing an appropriate solver from a set of problem instances becomes a machine learning problem, with instances as training data. An efficient solver is trained for unseen problem instances with similar characteristics to those in the training set. However, this paper reveals that, as with classification and regression, for ADA not all training sets are equally valuable. We apply a typical genetic programming ADA approach for bin packing problems to several new and existing public benchmark sets. Algorithms trained on some sets are general and apply well to most others, whereas some training sets result in highly specialised algorithms that do not generalise. We relate these findings to features (simple metrics) of instances. Using instance sets with narrowly-distributed features for training results in highly specialised algorithms, whereas those with well-spread features result in very general algorithms. We show that variance in certain features has a strong correlation with the generality of the trained policies. Our results provide further grounding for recent work using features to predict algorithm performance, and show the suitability of particular instance sets for training in ADA for bin packing. The data sets, including all computed features, the evolved policies, and their performances, and the visualisations for all feature sets, are available from http://hdl.handle.net/11667/108.Work funded by UK EPSRC [grants EP/N002849/1, EP/J017515/1]. Results obtained using the EPSRC funded ARCHIE-WeSt HPC [EPSRC grant EP/K000586/1]
Computers will soon be able to fix themselves – are IT departments for the chop?
First paragraph: Robots and AI are replacing workers at analarming rate, from simple manual tasks to making complex legal decisions and medical diagnoses. But the AI itself, and indeed most software, is still largely programmed by humans. Yet there are signs that this might be changing. Several programming tools are emerging which help to automate software testing, one of which we have been developing ourselves. The prospects look exciting; but it raises questions about how far this will encroach on the profession. Could we be looking at a world of Terminator-like software writers who consign their human counterparts to the dole queue? We computer programmers devote an unholy amount of time to testing software and fixing bugs. It’s costly, time consuming and fiddly – yet it’s vital if you want to bring high quality software to market
Relating Training Instances to Automatic Design of Algorithms for Bin Packing via Features
Automatic Design of Algorithms (ADA) treats algorithm choice and design as a machine learning problem, with problem instances as training data. However, this paper reveals that, as with classification and regression, for ADA not all training sets are equally valuable. We apply genetic programming ADA for bin packing to sev- eral new and existing benchmark sets. Using sets with narrowly- distributed features for training results in highly specialised al- gorithms, whereas those with well-spread features result in very general algorithms. Variance in certain features has a strong corre- lation with the generality of the trained policies
Automatically designing more general mutation operators of evolutionary programming for groups of function classes using a hyper-heuristic
In this study we use Genetic Programming (GP) as an offline hyper-heuristic to evolve a mutation operator for Evolutionary Programming. This is done using the Gaussian and uniform distributions as the terminal set, and arithmetic operators as the function set. The mutation operators are automatically designed for a specific function class. The contribution of this paper is to show that a GP can not only automatically design a mutation operator for Evolutionary Programming (EP) on functions generated from a specific function class, but also can design more general mutation operators on functions generated from groups of function classes. In addition, the automatically designed mutation operators also show good performance on new functions generated from a specific function class or a group of function classes
Biomechanics of the Taekwondo Axe Kick: a review
The axe kick in Taekwondo has been observed to be a highly effective offensive and defensive technique. Its purpose is to attack the opponent’s head, collarbone or chest with a powerful downward force. However, few researchers have studied the biomechanics of this kicking technique. The modified competition rules of World Taekwondo Federation (WTF) on the number of points to the head resulted increase in the number of kicks to the head by athletes using the axe kick. Therefore it is important to know the biomechanical principles of the axe kick for executing the kick effectively with minimum injury to the opponent’s head, collarbone or chest and for scoring maximum number of points in a competition. The main purpose of this article is to present a general description, variations and biomechanics of the Taekwondo axe kick
Metaheuristic Design Patterns: New Perspectives for Larger-Scale Search Architectures
Design patterns capture the essentials of recurring best practice in an abstract form. Their merits are well established in domains as diverse as architecture and software development. They offer significant benefits, not least a common conceptual vocabulary for designers, enabling greater communication of high-level concerns and increased software reuse. Inspired by the success of software design patterns, this chapter seeks to promote the merits of a pattern-based method to the development of metaheuristic search software components. To achieve this, a catalog of patterns is presented, organized into the families of structural, behavioral, methodological and component-based patterns. As an alternative to the increasing specialization associated with individual metaheuristic search components, the authors encourage computer scientists to embrace the ‘cross cutting' benefits of a pattern-based perspective to optimization algorithms. Some ways in which the patterns might form the basis of further larger-scale metaheuristic component design automation are also discussed
Practical Game Design Tool: State Explorer
This paper introduces a computer-game design tool which enables game designers to explore and develop game mechanics for arbitrary game systems. The tool is implemented as a plugin for the Godot game engine. It allows the designer to view an abstraction of a game’s states while in active development
and to quickly view and explore which states are navigable from
which other states. This information is used to rapidly explore,
validate and improve the design of the game. The tool is most
practical for game systems which are computer-explorable within
roughly 2000 states. The tool is demonstrated by presenting how
it was used to create a small, yet complete, commercial game
Investigating benchmark correlations when comparing algorithms with parameter tuning.
Benchmarks are important for comparing performance of optimisation algorithms, but we can select instances that present our algorithm favourably, and dismiss those on which our algorithm under-performs. Also related are automated design of algorithms, which use problem instances (benchmarks) to train an algorithm: careful choice of instances is needed for the algorithm to generalise. We sweep parameter settings of differential evolution to applied to the BBOB benchmarks. Several benchmark functions are highly correlated. This may lead to the false conclusion that an algorithm performs well in general, when it performs poorly on a few key instances. These correlations vary with the number of evaluations
- …