Skip to main content

2018 | Buch

Inspired by Nature

Essays Presented to Julian F. Miller on the Occasion of his 60th Birthday

insite
SUCHEN

Über dieses Buch

This book is a tribute to Julian Francis Miller’s ideas and achievements in computer science, evolutionary algorithms and genetic programming, electronics, unconventional computing, artificial chemistry and theoretical biology. Leading international experts in computing inspired by nature offer their insights into the principles of information processing and optimisation in simulated and experimental living, physical and chemical substrates. Miller invented Cartesian Genetic Programming (CGP) in 1999, from a representation of electronic circuits he devised with Thomson a few years earlier. The book presents a number of CGP’s wide applications, including multi-step ahead forecasting, solving artificial neural networks dogma, approximate computing, medical informatics, control engineering, evolvable hardware, and multi-objective evolutionary optimisations. The book addresses in depth the technique of ‘Evolution in Materio’, a term coined by Miller and Downing, using a range of examples of experimental prototypes of computing in disordered ensembles of graphene nanotubes, slime mould, plants, and reaction diffusion chemical systems. Advances in sub-symbolic artificial chemistries, artificial bio-inspired development, code evolution with genetic programming, and using Reed-Muller expansions in the synthesis of Boolean quantum circuits add a unique flavour to the content. The book is a pleasure to explore for readers from all walks of life, from undergraduate students to university professors, from mathematicians, computer scientists and engineers to chemists and biologists.

Inhaltsverzeichnis

Frontmatter

Evolution and Hardware

Frontmatter
Evolvable Hardware Challenges: Past, Present and the Path to a Promising Future
Abstract
The ability of the processes in Nature to achieve remarkable examples of complexity, resilience, inventive solutions and beauty is phenomenal. This ability has promoted engineers and scientists to look to Nature for inspiration. Evolvable Hardware (EH) is one such form of inspiration. It is a field of evolutionary computation (EC) that focuses on the embodiment of evolution in a physical media. If EH could achieve even a small step in natural evolution’s achievements, it would be a significant step for hardware designers. Before the field of EH began, EC had already shown artificial evolution to be a highly competitive problem solver. EH thus started off as a new and exciting field with much promise. It seemed only a matter of time before researchers would find ways to convert such techniques into hardware problem solvers and further refine the techniques to achieve systems that were competitive (better) than human designs. However, almost 20 years on, it appears that problems solved by EH are only of the size and complexity of that achievable in EC 20 years ago and seldom compete with traditional designs. A critical review of the field is presented. Whilst highlighting some of the successes, it also considers why the field is far from reaching these goals. The chapter further redefines the field and speculates where the field should go in the next 10 years.
Pauline C. Haddow, Andy M. Tyrrell
Bridging the Gap Between Evolvable Hardware and Industry Using Cartesian Genetic Programming
Abstract
Advancements in technology developed in the early nineties have enabled researchers to successfully apply techniques of evolutionary computation in various problem domains. As a consequence, a new research direction referred to as evolvable hardware (EHW) focusing on the use of evolutionary algorithms to create specialized electronics has emerged. One of the goals of the early pioneers of EHW was to evolve complex circuits and overcome the limits of traditional design. Unfortunately, evolvable hardware found itself in a critical stage around 2010 and a very pessimistic future for EHW-based digital circuit synthesis was predicted. The problems solved by the community were of the size and complexity of that achievable in fifteens years ago and seldom compete with traditional designs. The scalability problem has been identified as one of the most difficult problems that researchers are faced with and it was not clear whether there existed a path forward that would allow the field to progress. Despite that, researchers have continued to investigate how to overcome the scalability issues and significant progress has been made in the area of evolutionary synthesis of digital circuits in recent years. The goal of this chapter is to summarize the progress in the evolutionary synthesis of gate-level digital circuits, and to identify the challenges that need to be addressed to enable evolutionary methods to penetrate into industrial practice.
Zdenek Vasicek
Designing Digital Systems Using Cartesian Genetic Programming and VHDL
Abstract
This chapter describes the use of biologically inspired Evolutionary Algorithms (EAs) to create designs for implementation on a reconfigurable logic device. Previous work on Evolvable Hardware (EHW) is discussed with a focus on timing problems for digital circuits. An EA is developed that describes the circuit using a Hardware Description Language (HDL) in a Cartesian Genetic Programming (CGP) framework. The use of an HDL enabled a commercial hardware simulator to be used to evaluate the evolved circuits. Timing models are included in the simulation allowing sequential circuits to be created and assessed. The aim of the work is to develop an EA that is able to create time dependent circuity using the versatility of a HDL and a hardware timing simulator. The variation in the circuit timing from the placement of the logic components, led to an environment with a selection pressure that promoted a more robust design. The results show the creation of both combinatorial and sequential circuits.
Benjamin Henson, James Alfred Walker, Martin A. Trefzer, Andy M. Tyrrell
Evolution in Nanomaterio: The NASCENCE Project
Abstract
This chapter describes some of the work carried out by members of the NASCENCE project, an FP7 project sponsored by the European Community. After some historical notes and background material, the chapter explains how nanoscale material systems have been configured to perform computational tasks by finding appropriate configuration signals using artificial evolution. Most of this exposition is centred around the work that has been carried out at the MESA+ Institute for Nanotechnology at the University of Twente using disordered networks of nanoparticles. The interested reader will also find many pointers to references that contain more details on work that has been carried out by other members of the NASCENCE consortium on composite materials based on single-walled carbon nanotubes.
Hajo Broersma
Using Reed-Muller Expansions in the Synthesis and Optimization of Boolean Quantum Circuits
Abstract
There have been efforts to find an automatic way to create efficient Boolean quantum circuits, because of their wide range of applications. This chapter shows how to build efficient Boolean quantum circuits. A direct synthesis method can be used to implement any Boolean function as a quantum circuit using its truth table, where the generated circuits are more efficient than ones generated using methods proposed by others. The chapter shows, using another method, that there is a direct correspondence between Boolean quantum operations and the classical Reed-Muller expansions. This relation makes it possible for the problem of synthesis and optimization of Boolean quantum circuits to be tackled within the domain of Reed-Muller logic under manufacturing constraints, for example, the interaction between qubits of the system.
Ahmed Younes

Cartesian Genetic Programming Applications

Frontmatter
Some Remarks on Code Evolution with Genetic Programming
Abstract
In this chapter we take a fresh look at the current status of evolving computer code using Genetic Programming methods. The emphasis is not so much on what has been achieved in detail in the past few years, but on the general research direction of code evolution and its ramifications for GP. We begin with a quick glance at the area of Search-based Software Engineering (SBSE), discuss the history of GP as applied to code evolution, consider various application scenarios, and speculate on techniques that might lead to a scaling-up of present-day approaches.
Wolfgang Banzhaf
Cartesian Genetic Programming for Control Engineering
Abstract
Genetic programming has a proven ability to discover novel solutions to engineering problems. The author has worked with Julian F. Miller, together with some undergraduate and postgraduate students, over the last ten or so years in exploring innovation through evolution, using Cartesian Genetic Programming (CGP). Our co-supervisions and private meetings stimulated many discussions about its application to a specific problem domain: control engineering. Initially, we explored the design of a flight control system for a single rotor helicopter, where the author has considerable theoretical and practical experience. The challenge of taming helicopter dynamics (which are non-linear, highly cross-coupled and unstable) seemed ideally suited to the application of CGP. However, our combined energies drew us towards the more fundamental issues of how best to generalise the problem with the objective of freeing up the innovation process from constrictions imposed by conventional engineering thinking. This chapter provides an outline of our thoughts and hopefully may motivate a reader out there to progress this still embryonic research. The scene is set by considering a ‘simple’ class of problems: the single-input, single-output, linear, time-invariant system.
Tim Clarke
Combining Local and Global Search: A Multi-objective Evolutionary Algorithm for Cartesian Genetic Programming
Abstract
This work investigates the effects of the periodization of local and global multi-objective search algorithms. We rely on a model for periodization and define a multi-objective evolutionary algorithm adopting concepts from Evolutionary Strategies and NSGAII. We show that our method excels for the evolution of digital circuits on the Cartesian Genetic Programming model as well as on some standard benchmarks such as the ZDT6, especially when periodized with standard multi-objective genetic algorithms.
Paul Kaufmann, Marco Platzner
Approximate Computing: An Old Job for Cartesian Genetic Programming?
Abstract
Miller’s Cartesian genetic programming (CGP) has significantly influenced the development of evolutionary circuit design and evolvable hardware. We present key ingredients of CGP with respect to the efficient search in the space of digital circuits. We then show that approximate computing, which is currently one of the promising approaches used to reduce power consumption of computer systems, is a natural application for CGP. We briefly survey typical applications of CGP in approximate circuit design and outline new directions in approximate computing that could benefit from CGP.
Lukas Sekanina
Breaking the Stereotypical Dogma of Artificial Neural Networks with Cartesian Genetic Programming
Abstract
This chapter presents the work done in the field of Cartesian Genetic Programming evolved Artificial Neural Networks (CGPANN). Three types of CGPANN are presented, the Feed-forward CGPANN (FFCGPAN), Recurrent CGPANN and the CGPANN that has developmental plasticity, also called Plastic CGPANN or PCGPANN. Each of these networks is explained with the help of diagrams. Performance results obtained for a number of benchmark problems using these networks are illustrated with the help of tables. Artificial Neural Networks (ANNs) suffer from the dilemma of how to select complexity of the network for a specific task, what should be the pattern of inter-connectivity, and in case of feedback, what topology will produce the best possible results. Cartesian Genetic Programming (CGP) offers the ability to select not only the desired network complexity but also the inter-connectivity patterns, topology of feedback systems, and above all, decides which input parameters should be weighted more or less and which one to be neglected. In this chapter we discuss how CGP is used to evolve the architecture of Neural Networks for optimum network and characteristics. Don’t you want a system that designs everything for you? That helps you select the optimal network, the inter-connectivity, the topology, the complexity, input parameters selection and input sensitivity? If yes, then CGP evolved Artificial Neural Network (CGPANN) and CGP evolved Recurrent Neural Network (CGPRNN) is the answer to your questions.
Gul Muhammad Khan, Arbab Masood Ahmad
Multi-step Ahead Forecasting Using Cartesian Genetic Programming
Abstract
This paper describes a forecasting method that is suitable for long range predictions. Forecasts are made by a calculating machine of which inputs are the actual data and the outputs are the forecasted values. The Cartesian Genetic Programming (CGP) algorithm finds the best performing machine out of a huge abundance of candidates via evolutionary strategy. The algorithm can cope with non-stationary highly multivariate data series, and can reveal hidden relationships among the input variables. Multiple experiments were devised by looking at several time series from different industries. Forecast results were analysed and compared using average Symmetric Mean Absolute Percentage Error (SMAPE) across all datasets. Overall, CGP achieved comparable to Support Vector Machine algorithm and performed better than Neural Networks.
Ivars Dzalbs, Tatiana Kalganova
Medical Applications of Cartesian Genetic Programming
Abstract
The application of machine learning techniques to problems in medicine are now becoming widespread, but the rational and advantages of using a particular approach is not always clear or justified. This chapter describes the application of a version of Cartesian Genetic Programming (CGP), termed Implicit Context Representation CGP, to two very different medical applications: diagnosis and monitoring of Parkinson’s disease, and the differential diagnosis of thyroid cancer. Importantly, the use of CGP brings two major benefits: one is the generation of high performing classifiers, and the second, an understanding of how the patient measurements are used to form these classifiers. The latter is typically difficult to achieve using alternative machine learning methods and also provides a unique understanding of the underlying clinical conditions.
Stephen L. Smith, Michael A. Lones

Chemistry and Development

Frontmatter
Chemical Computing Through Simulated Evolution
Abstract
Many forms of unconventional computing, i.e., massively parallel computers which exploit the non-linear material properties of their substrate, can be realised through simulated evolution. That is, the behaviour of non-linear media can be controlled automatically and the structural design of the media optimized through the nature-inspired machine learning approach. This chapter describes work using the Belousov-Zhabotinsky reaction as a non-linear chemical medium in which to realise computation. Firstly, aspects of the basic structure of an experimental chemical computer are evolved to implement two Boolean logic functions through a collision-based scheme. Secondly, a controller is evolved to dynamically affect the rich spatio-temporal chemical wave behaviour to implement three Boolean functions, in both simulation and experimentation.
Larry Bull, Rita Toth, Chris Stone, Ben De Lacy Costello, Andrew Adamatzky
Sub-Symbolic Artificial Chemistries
Abstract
We wish to use Artificial Chemistries to build and investigate open-ended systems. As such, we wish to minimise the number of explicit rules and properties needed. We describe here the concept of sub-symbolic Artificial Chemistries (ssAChems), where reaction properties are emergent properties of the internal structure and dynamics of the component particles. We define the components of a ssAChem, and illustrate it with two examples: RBN-world, where the particles are Random Boolean Networks, the emergent properties come from the dynamics on an attractor cycle, and composition is through rewiring the components to form a larger RBN; and SMAC, where the particles are Hermitian matrices, the emergent properties are eigenvalues and eigenvectors, and composition is through the non-associative Jordan product. We conclude with some ssAChem design guidelines.
Penelope Faulkner, Mihail Krastev, Angelika Sebald, Susan Stepney
Discovering Boolean Gates in Slime Mould
Abstract
Slime mould of Physarum polycephalum is a large cell exhibiting rich spatial non-linear electrical characteristics. We exploit the electrical properties of the slime mould to implement logic gates using a flexible hardware platform designed for investigating the electrical properties of a substrate (Mecobo). We apply arbitrary electrical signals to ‘configure’ the slime mould, i.e. change shape of its body and, measure the slime mould’s electrical response. We show that it is possible to find configurations that allow the Physarum to act as any 2-input Boolean gate. The occurrence frequency of the gates discovered in the slime was analysed and compared to complexity hierarchies of logical gates obtained in other unconventional materials. The search for gates was performed by both sweeping across configurations in the real material as well as training a neural network-based model and searching the gates therein using gradient descent.
Simon Harding, Jan Koutník, Júrgen Schmidhuber, Andrew Adamatzky
Artificial Development
Abstract
Development as it occurs in biological organisms is defined as the process of gene activity that directs a sequence of cellular events in an organism which brings about the profound changes that occur to the organism. Hence, the many chemical and physical processes which translate the vast genetic information gathered over the evolutionary history of an organism, and put it to use to create a fully formed, viable adult organism from a single cell, is subsumed under the term “development”. This also includes properties of development that go way beyond the formation of organisms such as, for instance, mechanisms that maintain the stability and functionality of an organism throughout its lifetime, and properties that make development an adaptive process capable of shaping an organism to match—within certain bounds—the conditions and requirements of a given environment. Considering these capabilities from a computer science or engineering angle quickly leads on to ideas of taking inspiration from biological examples and translating their capabilities, generative construction, resilience and the ability to adapt, to man-made systems. The aim is thereby to create systems that mimic biology sufficiently so that these desired properties are emergent, but not as excessively as to make the construction or operation of a system infeasible as a result of complexity or implementation overheads. Software or hardware processes aiming to achieve this are referred to as artificial developmental models. This chapter therefore focuses on motivating the use of artificial development, provides an overview of existing models and a recipe for creating them, and discusses two example applications of image processing and robot control.
Tüze Kuyucu, Martin A. Trefzer, Andy M. Tyrrell
Computers from Plants We Never Made: Speculations
Abstract
Plants are highly intelligent organisms. They continuously make distributed processing of sensory information, concurrent decision making and parallel actuation. The plants are efficient green computers per se. Outside in nature, the plants are programmed and hardwired to perform a narrow range of tasks aimed to maximize the plants’ ecological distribution, survival and reproduction. To ‘persuade’ plants to solve tasks outside their usual range of activities, we must either choose problem domains which homomorphic to the plants natural domains or modify biophysical properties of plants to make them organic electronic devices. We discuss possible designs and prototypes of computing systems that could be based on morphological development of roots, interaction of roots, and analog electrical computation with plants, and plant-derived electronic components. In morphological plant processors data are represented by initial configuration of roots and configurations of sources of attractants and repellents; results of computation are represented by topology of the roots’ network. Computation is implemented by the roots following gradients of attractants and repellents, as well as interacting with each other. Problems solvable by plant roots, in principle, include shortest-path, minimum spanning tree, Voronoi diagram, \(\alpha \)-shapes, convex subdivision of concave polygons. Electrical properties of plants can be modified by loading the plants with functional nanoparticles or coating parts of plants of conductive polymers. Thus, we are in position to make living variable resistors, capacitors, operational amplifiers, multipliers, potentiometers and fixed-function generators. The electrically modified plants can implement summation, integration with respect to time, inversion, multiplication, exponentiation, logarithm, division. Mathematical and engineering problems to be solved can be represented in plant root networks of resistive or reaction elements. Developments in plant-based computing architectures will trigger emergence of a unique community of biologists, electronic engineering and computer scientists working together to produce living electronic devices which future green computers will be made of.
Andrew Adamatzky, Simon Harding, Victor Erokhin, Richard Mayne, Nina Gizzie, Frantisek Baluška, Stefano Mancuso, Georgios Ch. Sirakoulis
Metadaten
Titel
Inspired by Nature
herausgegeben von
Prof. Susan Stepney
Prof. Andrew Adamatzky
Copyright-Jahr
2018
Electronic ISBN
978-3-319-67997-6
Print ISBN
978-3-319-67996-9
DOI
https://doi.org/10.1007/978-3-319-67997-6