![Julian Francis Miller](https://i1.rgstatic.net/ii/profile.image/272288536854559-1441930054963_Q128/Julian-Miller.jpg)
Julian Francis MillerUniversity of York · Department of Electronics
Julian Francis Miller
BSc Phys, PhD Maths, PGCLTHE
About
320
Publications
80,689
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,479
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
Education
October 1999 - July 2002
November 1983 - April 1988
October 1977 - June 1980
Publications
Publications (320)
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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.
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,...
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...
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...
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...
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...
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...
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...
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...
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...
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...
Highlights of a new hardware platform for evolving analogue reservoir computers.
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....
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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,...
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...
This presentation discusses and argues why generating human-readable algorithms could move forward research in unsupervised machine learning.
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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,...
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...
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...
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...
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...
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...
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...