Julian Francis Miller

Julian Francis Miller
The University of York · Department of Electronics

BSc Phys, PhD Maths, PGCLTHE

About

320
Publications
77,400
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
10,206
Citations
Introduction
I am best known as the inventor of a method of automatic program induction method called Cartesian Genetic Programming. CGP is a method for evolving directed graphs. I am keen to see CGP used in a wide variety of domains and applications. I am also currently involved in 3-year European Research project called NASCENCE: Nanoscale Engineering of Novel Computation using Evolution. We aim to evolve novel computational processors in materials: liquid crystal, nanoparticles, molecular films etc.
Additional affiliations
October 2012 - present
The University of York
Position
  • Reader (Associate Professor)
July 2005 - August 2005
Memorial University of Newfoundland
Position
  • Visiting scientist
October 2003 - September 2012
The University of York
Position
  • Research Assistant
Education
October 1999 - July 2002
University of Birmingham
Field of study
  • Postgraduate Teaching
November 1983 - April 1988
City, University of London
Field of study
  • Solitons: nonlinear partial differential equations
October 1977 - June 1980
Birkbeck, University of London
Field of study
  • Physics

Publications

Publications (320)
Chapter
We overview Reservoir Computing (RC) with physical systems from an Unconventional Computing (UC) perspective. We discuss challenges present in both fields, including encoding and representation, or how to manipulate and read information; ways to search large and complex configuration spaces of physical systems; and what makes a “good” computing sub...
Article
Full-text available
Cartesian genetic programming, a well-established method of genetic programming, is approximately 20 years old. It represents solutions to computational problems as graphs. Its genetic encoding includes explicitly redundant genes which are well-known to assist in effective evolutionary search. In this article, we review and compare many of the impo...
Chapter
In general, the topology of Artificial Neural Networks (ANNs) is human-engineered and learning is merely the process of weight adjustment. However, it is well known that this can lead to sub-optimal solutions. Topology and Weight Evolving Artificial Neural Networks (TWEANNs) can lead to better topologies however, once obtained they remain fixed and...
Article
Full-text available
Modern computers allow a methodical search of possibly billions of experiments and the exploitation of interactions that are not known in advance. This enables a bottom-up process of design by assembling or configuring systems and testing the degree to which they fulfill the desired goal. We give two detailed examples of this process. One is referr...
Book
Table of Contents1. Architecture and Research Rachel Armstrong 1.1 Experimental Architecture Reader 1.2 Architecture as Discipline 1.3 Neoliberalism as Worldview 1.4 Ways of Knowing 1.5 Research 1.6 Nature of Architectural Research 1.7 Evaluation 1.8 Impact 1.9 Outreach 1.10 Research Environment 1.11 Research Context 1.12 Economic Importance of Arc...
Article
Full-text available
The reservoir computing (RC) framework states that any nonlinear, input-driven dynamical system (the reservoir) exhibiting properties such as a fading memory and input separability can be trained to perform computational tasks. This broad inclusion of systems has led to many new physical substrates for RC. Properties essential for reservoirs to com...
Article
Full-text available
The Reservoir Computing (RC) framework states that any non-linear, input-driven dynamical system (the reservoir) exhibiting properties such as a fading memory and input separability can be trained to perform computational tasks. This broad inclusion of systems has led to many new physical substrates for RC. Properties essential for reservoirs to co...
Chapter
A developmental model of an artificial neuron is presented. In this model, a pair of neural developmental programs develop an entire artificial neural network of arbitrary size. The pair of neural chromosomes are evolved using Cartesian Genetic Programming. During development, neurons and their connections can move, change, die or be created. We sh...
Preprint
The Reservoir Computing (RC) framework states that any non-linear, input-driven dynamical system (the reservoir) exhibiting properties such as a fading memory and input separability can be trained to perform computational tasks. This broad inclusion of systems has led to many new physical substrates for RC. Properties essential for reservoirs to co...
Preprint
Full-text available
Cartesian Genetic Programming (CGP) has many modifications across a variety of implementations, such as recursive connections and node weights. Alternative genetic operators have also been proposed for CGP, but have not been fully studied. In this work, we present a new form of genetic programming based on a floating point representation. In this n...
Poster
Full-text available
Early conceptualisation and demonstration of the CHARC framework. The poster gives a brief overview of the concepts and techniques used to characterise a substrate for reservoir computing.
Chapter
All computing is physical, requiring a substrate in which to perform the computation. Conventional computation (CCOMP), based on the Church-Turing thesis and the von Neumann architecture, is built upon logical states that are engineered into the substrate. By contrast, in materio computation does not impose a computational model upon the substrate,...
Chapter
Representation is a crucial concept in classical computing. Unconventional computational devices pose a series of challenges to representational issues, including unary analogue encodings, the representation of inputs and outputs, and sometimes the inaccessibility of internal states. Of particular interest are successive representational adaptation...
Conference Paper
Full-text available
Cartesian Genetic Programming (CGP) has previously shown capabilities in image processing tasks by evolving programs with a function set specialized for computer vision. A similar approach can be applied to Atari playing. Programs are evolved using mixed type CGP with a function set suited for matrix operations, including image processing, but allo...
Preprint
Full-text available
Cartesian Genetic Programming (CGP) has previously shown capabilities in image processing tasks by evolving programs with a function set specialized for computer vision. A similar approach can be applied to Atari playing. Programs are evolved using mixed type CGP with a function set suited for matrix operations, including image processing, but allo...
Article
In nature, brains are built through a process of biological development in which many aspects of the network of neurons and connections change are shaped by external information received through sensory organs. Biological development mechanisms such as axon guidance and dendrite pruning have been shown to rely on neural activity. Despite this, most...
Chapter
It is commonplace for human beings to manipulate and control systems that they only understand at a behavioural level. Yet we expect software engineers to build software systems by assembling instructions that are extremely fragile and require extremely precise understanding of how these instructions interact. We argue that such a method of program...
Conference Paper
Full-text available
Evolutionary algorithms have proved their worth on various optimization problems over the course of years. However, some techniques like genetic programming (GP) and Cartesian genetic programming (CGP) are not restricted only to optimization problems but can be also used in classification tasks. In this paper, we consider mixed-type CGP (MT-CGP) an...
Conference Paper
A developmental model of an artificial neuron is presented. In this model, a pair of neural developmental programs develop an entire artificial neural network of arbitrary size. The pair of neural chromosomes are evolved using Cartesian Genetic Programming. During development, neurons and their connections can move, change, die or be created. We sh...
Article
Full-text available
Cartesian Genetic Programming of Artificial Neural Networks is a NeuroEvolutionary method based on Cartesian Genetic Programming. Cartesian Genetic Programming has recently been extended to allow recurrent connections. This work investigates applying the same recurrent extension to Cartesian Genetic Programming of Artificial Neural Networks in orde...
Conference Paper
Full-text available
The Reservoir Computing (RC) framework is said to have the potential to transfer onto any input-driven dynamical system, provided two properties are present: (i) a fading memory, and (ii) input separability. A typical reservoir consists of a fixed network of recurrently connected processing units; however recent hardware implementations have shown...
Poster
Full-text available
Highlights of a new hardware platform for evolving analogue reservoir computers.
Poster
Full-text available
Reservoir Computing (RC) began as an efficient technique for training recurrent neural networks and as a computational model for neural microcircuits. More recently, new unconventional reservoir computers have emerged, systems include photonic and optoelectronic reservoirs with performances close to state-of-art digital machine learning techniques....
Chapter
Full-text available
Research in substrate-based computing has shown that materials contain rich properties that can be exploited to solve computational problems. One such technique known as Evolution-in-materio uses evolutionary algorithms to manipulate material substrates for computation. However, in general, modelling the computational processes occurring in such sy...
Chapter
Natural evolution has been manipulating the properties of proteins for billions of years. This ‘design process’ is completely different to conventional human design which assembles well-understood smaller parts in a highly principled way. In evolution-in-materio (EIM), researchers use evolutionary algorithms to define configurations and magnitudes...
Conference Paper
Full-text available
Recent work has shown that computational substrates made from carbon nanotube/polymer mixtures can form trainable Reservoir Computers. This new reservoir computing platform uses computer based evolutionary algorithms to optimise a set of electrical control signals to induce reservoir properties within the substrate. In the training process, evoluti...
Conference Paper
Full-text available
PPSN 2016 hosts a total number of 16 tutorials covering a broad range of current research in evolutionary computation. The tutorials range from introductory to advanced and specialized but can all be attended without prior requirements. All PPSN attendees are cordially invited to take this opportunity to learn about ongoing research activities in o...
Article
Full-text available
The role of Boolean functions is prominent in several areas like cryptography, sequences, and coding theory. Therefore, various methods for the construction of Boolean functions with desired properties are of direct interest. New motivations on the role of Boolean functions in cryptography with attendant new properties have emerged during the years...
Article
Full-text available
Evolution-in-materio uses evolutionary algorithms to exploit properties of materials to solve computational problems without requiring a detailed understanding of such properties. We show that using a purpose-built hardware platform called Mecobo, it is possible to solve computational problems by evolving voltages and signals applied to an electrod...
Conference Paper
Full-text available
Reservoir Computing is a useful general theoretical model for many dynamical systems. Here we show the first steps to applying the reservoir model as a simple computational layer to extract exploitable information from physical substrates consisting of single-walled carbon nanotubes and polymer mixtures. We argue that many physical substrates can b...
Chapter
Full-text available
Evolutionary algorithms have been widely used to optimise or design search algorithms, however, very few have considered evolving iterative algorithms. In this paper, we introduce a novel extension to Cartesian Genetic Programming that allows it to encode iterative algorithms. We apply this technique to the Traveling Salesman Problem to produce hum...
Conference Paper
Evolutionary algorithms have been widely used to optimise or design search algorithms, however, very few have considered evolving iterative algorithms. In this paper, we introduce a novel extension to Cartesian Genetic Programming that allows it to encode iterative algorithms. We apply this technique to the Traveling Salesman Problem to produce hum...
Chapter
Recent work has shown that computational substrates made from carbon nanotube/polymer mixtures can form trainable Reservoir Computers. This new reservoir computing platform uses computer based evolutionary algorithms to optimise a set of electrical control signals to induce reservoir properties within the substrate. In the training process, evoluti...
Conference Paper
The role of Boolean functions is prominent in several areas like cryptography, sequences and coding theory. Therefore, various methods to construct Boolean functions with desired properties are of direct interest. When concentrating on Boolean functions and their role in cryptography, we observe that new motivations and hence new properties have em...
Article
Full-text available
Boolean functions represent an important primitive in the design of various cryptographic algorithms. There exist several well-known schemes where a Boolean function is used to add nonlinearity to the cipher. Thus, methods to generate Boolean functions that possess good cryptographic properties present an important research goal. Among other techni...
Conference Paper
Full-text available
Hyper-heuristics search the space of heuristics and meta-heuristics, so that it can generate high-quality algorithms. It is a growing area of interest in the research community. Algorithms have been constructed iteratively using " templates of operations " based on well-known heuristic and metaheuris-tic methods (i.e. Iterated Local Search and Meme...
Conference Paper
Boolean functions are essential in many stream ciphers. When used in combiner generators, they need to have sufficiently high values of correlation immunity, alongside other properties. In addition, correlation immune functions with small Hamming weight reduce the cost of masking countermeasures against side-channel attacks. Various papers have exa...
Conference Paper
Full-text available
Recurrent Cartesian Genetic Programming is a recently proposed extension to Cartesian Genetic Programming which allows cyclic program structures to be evolved. We apply both standard and Recurrent Cartesian Genetic Programming to the domain of series forecasting. Their performance is then compared to a number of well-known classical forecasting app...
Conference Paper
Substitution Boxes (S-boxes) play an important role in many modern-day cryptography algorithms. Indeed, without carefully chosen S-boxes many ciphers would be easy to break. The design of suitable S-boxes attracts a lot of attention in cryptography community. The evolutionary algorithms (EAs) community also had several attempts to evolve S-boxes wi...
Conference Paper
Natural Evolution has been exploiting the physical properties of matter since life first appeared on earth. Evolution-in-materio (EIM) attempts to program matter so that computational problems can be solved. The beauty of this approach is that artificial evolution may be able to utilize unknown physical effects to solve computational problems. This...
Article
Full-text available
Neutral genetic drift is an evolutionary mechanism which can strongly aid the escape from local optima. This makes neutral genetic drift an increasingly important property of Evolutionary Computational methods as more challenging applications are approached. Cartesian Genetic Programming (CGP) is a Genetic Programming technique which contains expli...
Conference Paper
Boolean functions represent an important primitive when constructing many stream ciphers. Since they are often the only nonlinear element of such ciphers, without them the algorithm would be trivial to break. Therefore, it is not surprising there exist a substantial body of work on the methods of constructing Boolean functions. Among those methods,...
Article
Evolution-in-materio is a method that uses artificial evolution to exploit properties of materials to solve computational problems without requiring a detailed understanding of such properties. In this paper, we show that using a purpose-built hardware platform called Mecobo, it is possible to evolve voltages and signals applied to physical materia...
Data
Full-text available
This presentation discusses and argues why generating human-readable algorithms could move forward research in unsupervised machine learning.
Article
Full-text available
NeuroEvolution is the application of Evolutionary Algorithms to the training of Artificial Neural Networks. Currently the vast majority of NeuroEvolutionary methods create homogeneous networks of user defined transfer functions. This is despite NeuroEvolution being capable of creating heterogeneous networks where each neuron’s transfer function is...
Article
Full-text available
A neuro-inspired multi-chromosomal genotype for a single developmental neuron capable of learning and developing memory is proposed. This genotype is evolved so that the phenotype which changes and develops during an agent's lifetime (while problem-solving) gives the agent the capacity for learning by experience. Seven important processes of signal...
Conference Paper
Full-text available
This paper formally introduces Recurrent Cartesian Genetic Programming (RCGP), an extension to Cartesian Genetic Programming (CGP) which allows recurrent connections. The presence of recurrent connections enables RCGP to be successfully applied to partially observable tasks. It is found that RCGP significantly outperforms CGP on two partially obser...
Conference Paper
We report for the first time on finding shortest path solutions for the travelling salesman problem (TSP) using hybrid “in materio” computation: a technique that uses search algorithms to configure materials for computation. A single-walled carbon nanotube (SWCNT) / polymer composite material deposited on a micro-electrode array is configured using...
Conference Paper
Evolution-in-materio (EIM) is a method that uses artificial evolution to exploit the properties of physical matter to solve computational problems without requiring a detailed understanding of such properties. EIM has so far been applied to very few computational problems. We show that using a purpose-built hardware platform called Mecobo, it is po...
Conference Paper
Hyper-heuristics is a very active field that is developing all the time. Defined as "heuristics to choose heuristics" [1], this area of bio-inspired intelligent systems covers a wide range of algorithms selection techniques. Most Hyper-heuristic frameworks focus on improving the quality of the solutions of the problems,but they retain very little k...
Conference Paper
Full-text available
l u g -a n d -P l a y h y p e r -h e u r i s t i c s : a n e x t e n d e d f o r m u l a t i o n Our motivations: improving the design of algorithms and understanding their behaviour. Proposed extended formulation We are suggesting to merge the elements of the "Algorithm Selection Problem" and the "Two-level model" together to form a more explicit...
Conference Paper
Evolution in Materio (EIM) exploits properties of physical systems for computation. “Designs” are evolved instead of a traditional top down design approach. Computation is a product of the state(s) of the material and input data. Evolution manipulates physical processes by stimulating materials assessed in situ. A hardware-software platform designe...
Article
In nature, brains are built through a process of biological development in which many aspects of the network of neurons and connections change and are shaped by external information received through sensory organs. From numerous studies in neuroscience, it has been demonstrated that developmental aspects of the brain are intimately involved in lear...
Conference Paper
Full-text available
Cartesian Genetic Programming (CGP) is a well-known form of Genetic Programming developed by Julian Miller in 1999-2000. In its classic form, it uses a very simple integer address-based genetic representation of a program in the form of a directed graph. Graphs are very useful program representations and can be applied to many domains (e.g. electro...
Conference Paper
Full-text available
Hyper-heuristic frameworks have emerged out of the shadows of meta-heuristic techniques. In this very active field, new frameworks are developed all the time. Shared common features that help to classify them in different types of hyper-heuristic. Similarly to an iceberg, this large subfield of artificial intelligence hide a sub-stantial amount of...
Article
Full-text available
Evolution-in-materio (EIM) is the manipulation of a physical system by computer controlled evolution (CCE). It takes the position that to obtain useful functions from a physical system one needs to apply highly specific physical signals and place the system in a particular physical state. It argues that CCE is an effective methodology for doing thi...
Article
Full-text available
Cartesian Genetic Programming (CGP) is a form of Genetic Programming which encodes computational structures as generic cyclic/acyclic graphs. This letter introduces a new cross platform CGP library intended for use in teaching, academic research and real world applications. This new CGP library is currently capable of evolving symbolic expressions,...
Article
Neuro Evolution is the application of Evolutionary Algorithms to the training of Artificial Neural Networks. Currently the vast majority of NeuroEvolutionary methods create homogeneous networks of user defined transfer functions. This is despite Neuro- Evolution being capable of creating heterogeneous networks where each neuron's transfer function...
Article
Full-text available
A fast learning neuro-evolutionary technique that evolves Artificial Neural Networks using Cartesian Genetic Programming (CGPANN) is used to detect the presence of breast cancer. Features from breast mass are extracted using fine needle aspiration (FNA) and are applied to the CGPANN for diagnosis of breast cancer. FNA data is obtained from the Wisc...
Conference Paper
Full-text available
Neuroevolution, the application of evolutionary algorithms to artificial neural networks (ANNs), is well-established in machine learning. Cartesian Genetic Programming (CGP) is a graph-based form of Genetic Programming which can easily represent ANNs. Cartesian Genetic Programming encoded ANNs (CGPANNs) can evolve every aspect of an ANN: weights, t...
Conference Paper
Full-text available
In function optimization one tries to find a vector of real numbers that optimizes a complex multi-modal fitness function. Although evolutionary algorithms have been used extensively to solve such problems, genetic programming has not. In this paper, we show how Cartesian Genetic Programming can be readily applied to such problems. The technique ca...
Conference Paper
Full-text available
Cartesian Genetic Programming (CGP) is an increasingly popular and efficient form of Genetic Programming. Cartesian Genetic Programming is a highly cited technique that was developed by Julian Miller in 1999 and 2000 from some earlier joint work of Julian Miller with Peter Thomson in 1997. In its classic form, it uses a very simple integer based ge...
Chapter
Cartesian Genetic Programming is a form of Genetic Programming based on evolving graph structures. It has a fixed genotype length and a genotype–phenotype mapping that introduces neutrality into the representation. It has been used for many applications and was one of the first Genetic Programming techniques to be implemented on the GPU. In this ch...
Article
A fast learning neuroevolutionary algorithm for both feedforward and recurrent networks is proposed. The method is inspired by the well known and highly effective Cartesian genetic programming (CGP) technique. The proposed method is called the CGP-based Artificial Neural Network (CGPANN). The basic idea is to replace each computational node in CGP...
Conference Paper
Full-text available
We investigate two pathological coevolutionary behaviours, disengagement and cycling, in GP systems. An empirical analysis is carried out over constructed GP problems and the Game of Tag, a historical pursuit and evasion task. The effects of semantic bias on the occurence of pathologies and consequences for performance are examined in a coevolution...
Article
Full-text available
Biological genomes have evolved over a period of millions of years and comprise thousands of genes, even for the simplest organisms. However, in nature, only 1-2% of the genes play an active role in creating and maintaining the organism, while the majority are evolutionary fossils. This raises the question of whether a considerably larger number of...
Conference Paper
Full-text available
Today's artefacts, from small devices to buildings and cities, are, or are becoming, cyber-physical socio-technical systems, with tightly interwoven material and computational parts. Currently, we have to laboriously build such systems, component by component, and the results are often difficult to maintain, adapt, and reconfigure. Even "soft" ware...
Conference Paper
Full-text available
Cartesian Genetic Programming (CGP) is an increasingly popular and efficient form of Genetic Programming that was developed by Julian Miller in 1999 and 2000. In its classic form, it uses a very simple integer based genetic representation of a program in the form of a directed graph. Graphs are very useful program representations and can be applied...
Conference Paper
Full-text available
Recent research has considered the role of locality in GP representations. We use a modified statistical technique drawn from numerical ecology, the Mantel test, to measure the locality of integer-encoded GP. Weak locality is identified in a case study on Cartesian Genetic Programming (CGP), a directed acyclic graph representation. A method of vary...

Network

Cited By