1,645 research outputs found
Towards the Evolution of Multi-Layered Neural Networks: A Dynamic Structured Grammatical Evolution Approach
Current grammar-based NeuroEvolution approaches have several shortcomings. On
the one hand, they do not allow the generation of Artificial Neural Networks
(ANNs composed of more than one hidden-layer. On the other, there is no way to
evolve networks with more than one output neuron. To properly evolve ANNs with
more than one hidden-layer and multiple output nodes there is the need to know
the number of neurons available in previous layers. In this paper we introduce
Dynamic Structured Grammatical Evolution (DSGE): a new genotypic representation
that overcomes the aforementioned limitations. By enabling the creation of
dynamic rules that specify the connection possibilities of each neuron, the
methodology enables the evolution of multi-layered ANNs with more than one
output neuron. Results in different classification problems show that DSGE
evolves effective single and multi-layered ANNs, with a varying number of
output neurons
Acquiring moving skills in robots with evolvable morphologies: Recent results and outlook
© 2017 ACM. We construct and investigate a strongly embodied evolutionary system, where not only the controllers but also the morphologies undergo evolution in an on-line fashion. In these studies, we have been using various types of robot morphologies and controller architectures in combination with several learning algorithms, e.g. evolutionary algorithms, reinforcement learning, simulated annealing, and HyperNEAT. This hands-on experience provides insights and helps us elaborate on interesting research directions for future development
Semantic variation operators for multidimensional genetic programming
Multidimensional genetic programming represents candidate solutions as sets
of programs, and thereby provides an interesting framework for exploiting
building block identification. Towards this goal, we investigate the use of
machine learning as a way to bias which components of programs are promoted,
and propose two semantic operators to choose where useful building blocks are
placed during crossover. A forward stagewise crossover operator we propose
leads to significant improvements on a set of regression problems, and produces
state-of-the-art results in a large benchmark study. We discuss this
architecture and others in terms of their propensity for allowing heuristic
search to utilize information during the evolutionary process. Finally, we look
at the collinearity and complexity of the data representations that result from
these architectures, with a view towards disentangling factors of variation in
application.Comment: 9 pages, 8 figures, GECCO 201
New operators for non-functional genetic improvement
Genetic improvement uses automated search to find improved versions of existing software. Typically software is modified using either delete, copy or replace operations at the level of source code, its abstract syntax tree, binary or assembly representaion. Impressive improvements have been achieved through this approach, yet research in the use of other search operators is largely unexplored. We propose several ways for devising new search operators for improvement of non-functional properties using a genetic improvement apporach
An Investigation of Environmental Influence on the Benefits of Adaptation Mechanisms in Evolutionary Swarm Robotics
A robotic swarm that is required to operate for long periods in a potentially
unknown environment can use both evolution and individual learning methods in
order to adapt. However, the role played by the environment in influencing the
effectiveness of each type of learning is not well understood. In this paper,
we address this question by analysing the performance of a swarm in a range of
simulated, dynamic environments where a distributed evolutionary algorithm for
evolving a controller is augmented with a number of different individual
learning mechanisms. The learning mechanisms themselves are defined by
parameters which can be either fixed or inherited. We conduct experiments in a
range of dynamic environments whose characteristics are varied so as to present
different opportunities for learning. Results enable us to map environmental
characteristics to the most effective learning algorithm.Comment: In GECCO 201
A Survey of Genetic Improvement Search Spaces
Genetic Improvement (GI) uses automated search to improve existing software. Most GI work has focused on empirical studies that successfully apply GI to improve software's running time, fix bugs, add new features, etc. There has been little research into why GI has been so successful. For example, genetic programming has been the most commonly applied search algorithm in GI. Is genetic programming the best choice for GI? Initial attempts to answer this question have explored GI's mutation search space. This paper summarises the work published on this question to date
PyGGI 2.0: Language independent genetic improvement framework
PyGGI is a research tool for Genetic Improvement (GI), that is designed to be versatile and easy to use. We present version 2.0 of PyGGI, the main feature of which is an XML-based intermediate program representation. It allows users to easily define GI operators and algorithms that can be reused with multiple target languages. Using the new version of PyGGI, we present two case studies. First, we conduct an Automated Program Repair (APR) experiment with the QuixBugs benchmark, one that contains defective programs in both Python and Java. Second, we replicate an existing work on runtime improvement through program specialisation for the MiniSAT satisfiability solver. PyGGI 2.0 was able to generate a patch for a bug not previously fixed by any APR tool. It was also able to achieve 14% runtime improvement in the case of MiniSAT. The presented results show the applicability and the expressiveness of the new version of PyGGI. A video of the tool demo is at: https://youtu.be/PxRUdlRDS40
PonyGE2: Grammatical Evolution in Python
Grammatical Evolution (GE) is a population-based evolutionary algorithm,
where a formal grammar is used in the genotype to phenotype mapping process.
PonyGE2 is an open source implementation of GE in Python, developed at UCD's
Natural Computing Research and Applications group. It is intended as an
advertisement and a starting-point for those new to GE, a reference for
students and researchers, a rapid-prototyping medium for our own experiments,
and a Python workout. As well as providing the characteristic genotype to
phenotype mapping of GE, a search algorithm engine is also provided. A number
of sample problems and tutorials on how to use and adapt PonyGE2 have been
developed.Comment: 8 pages, 4 figures, submitted to the 2017 GECCO Workshop on
Evolutionary Computation Software Systems (EvoSoft
- …