• Home
  • Simon Lawrence Harding
Simon Lawrence Harding

Simon Lawrence Harding
Machine Intelligence Ltd. · www.machineintelligence.co.uk

PhD Electronics, BSc AI & Comp Sci

About

90
Publications
26,148
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
2,082
Citations
Additional affiliations
January 2013 - present
University of York
Position
  • nascence (Evolution in materio)
Description
  • www.nascence.eu
April 2012 - April 2013
University of Bristol
Position
  • PenguinID
April 2012 - present
Machine Intelligence Ltd
Position
  • Managing Director
Description
  • www.machineintelligence.co.uk
Education
February 2003 - December 2005
University of York
Field of study
  • Electronics

Publications

Publications (90)
Article
Full-text available
Brillouin spectroscopy, based on the inelastic scattering of light from thermally driven acoustic waves or phonons [1], holds great promise in the field of life sciences as it provides functionally relevant micromechanical information in a contactless all-optical manner [2]. Due to the complexity of biological systems such as cells and tissues, whi...
Article
Full-text available
Brillouin spectroscopy is an emerging analytical tool in biomedical and biophysical sciences. It probes viscoelasticity through the propagation of thermally induced acoustic waves at gigahertz frequencies. Brillouin light scattering (BLS) measurements have traditionally been performed using multipass Fabry-Pérot interferometers, which have high con...
Chapter
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...
Chapter
Full-text available
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 dist...
Article
Full-text available
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 source...
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...
Article
Full-text available
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...
Article
Full-text available
We describe our software system enabling a tight integration between vision and control modules on complex, high-DOF humanoid robots. This is demonstrated with the iCub humanoid robot performing visual object detection, reaching and grasping actions. A key capability of this system is reactive avoidance of obstacle objects detected from the video s...
Article
Evolution-in-materio (EIM) 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 m...
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
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
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
Glossary Definition of the Subject Introduction Evolutionary Algorithms Evolution in Materio: Historical Background Evolution in Materio: Defining Suitable Materials Evolution in Materio Is Verified with Liquid Crystal Evolution in Materio Using Liquid Crystal: Implementational Details The Computational Power of Materials Future Directions Bibliogr...
Conference Paper
In this paper, we present our on-going research to allow humanoid robots to learn spatial perception. We are using artificial neural networks (ANN) to estimate the location of objects in the robot’s environment. The method is using only the visual inputs and the joint encoder readings, no camera calibration and information is necessary, nor is a ki...
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
Building artificial agents and robots that can act in an intelligent way is one of the main research goals in artificial intelligence and robotics. Yet it is still hard to integrate functional cognitive processes into these systems. We present a framework combining computer vision and machine learning for the learning of object recognition in human...
Conference Paper
Full-text available
Robust object manipulation is still a hard problem in robotics, even more so in high degree-of-freedom (DOF) humanoid robots. To improve performance a closer integration of visual and motor systems is needed. We herein present a novel method for a robot to learn robust detection of its own hands and fingers enabling sensorimotor coordination. It do...
Chapter
Full-text available
Combining domain knowledge about both imaging processing and machine learning techniques can expand the abilities of Genetic Programming when used for image processing. We successfully demonstrate our new approach on several different problem domains. We show that the approach is fast, scalable and robust. In addition, by virtue of using off-the-sh...
Article
Full-text available
We present a combined machine learning and computer vision approach for robots to localize objects. It allows our iCub humanoid to quickly learn to provide accurate 3D position estimates (in the centimetre range) of objects seen. Biologically inspired approaches, such as Artificial Neural Networks (ANN) and Genetic Programming (GP), are trained to...
Conference Paper
Full-text available
In this work we introduce a technique for a humanoid robot to autonomously learn the representations of objects within its visual environment. Our approach involves an attention mechanism in association with feature based segmentation that explores the environment and provides object samples for training. These samples are learned for further objec...
Conference Paper
Full-text available
We present an easy-to-use, modular framework for performing computer vision related tasks in support of cognitive robotics research on the iCub humanoid robot. The aim of this biologically inspired, bottom-up architecture is to facilitate research towards visual perception and cognition processes, especially their influence on robotic object manipu...
Conference Paper
Full-text available
We use a Katana robotic arm to teach an iCub humanoid robot how to perceive the location of the objects it sees. To do this, the Katana positions an object within the shared workspace, and tells the iCub where it has placed it. While the iCub moves it observes the object, and a neural network then learns how to relate its pose and visual inputs to...
Conference Paper
Full-text available
The majority of genetic programming implementations build expressions that only use a single data type. This is in contrast to human engineered programs that typically make use of multiple data types, as this provides the ability to express solutions in a more natural fashion. In this paper, we present a version of Cartesian Genetic Programming tha...
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
To produce even the simplest human-like behaviors, a humanoid robot must be able to see, act, and react, within a tightly integrated behavioral control system. Although there exists a rich body of literature in Computer Vision, Path Planning, and Feedback Control, wherein many critical subproblems are addressed individually, most demonstrable behav...
Article
Optimized shape design is used for such applications as wing design in aircraft, hull design in ships, and more generally rotor optimization in turbomachinery such as that of aircraft, ships, and wind turbines.We present work on optimized shape design using a technique from the area of Genetic Programming, self-modifying Cartesian Genetic Programmi...
Chapter
Full-text available
Graphic Processing Units (GPUs) are fast, highly parallel units. In addition to processing 3D graphics, modern GPUs can be programmed for more general-purpose computation. A GPU consists of a large number of ‘shader processors’, and conceptually operates as a single instruction multiple data (SIMD) or multiple instruction multiple data (MIMD) strea...
Chapter
Full-text available
In this chapter, we will present three applications in which CGP can automatically generate novel image processing algorithms that compare to or exceed the best known conventional solutions. The applications fall into the areas of image preprocessing and classification.
Chapter
Full-text available
Self-modifying Cartesian genetic programming (SMCGP) is a general purpose, graph-based, form of genetic programming founded on Cartesian genetic programming. In addition to the usual computational functions, it includes functions that can modify the program encoded in the genotype. SMCGP has high scalability in that evolved programs encoded in the...
Conference Paper
Full-text available
Self Modifying Cartesian Genetic Programming is a general purpose, graph-based, developmental form of Cartesian Genetic Programming. Using a combination of computational functions and special functions that can modify the phenotype at runtime, it has been employed to find general solutions to certain Boolean circuits and mathematical problems. In t...
Conference Paper
Full-text available
Traditionally, a genetic algorithm is used to analyze networks by maximizing the modularity (Q) measure to create a favorable community. A coevolutionary algorithm is used here to not only find the appropriate community division for a network, but to find interesting networks containing substantial changes in data within a very large network space....
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
Self Modifying Cartesian Genetic Programming 2 (SMCGP2) is a general purpose, graph-based, developmental form of Cartesian Genetic Programming. Using a combination of computational functions and special functions that can modify the phenotype at runtime, it has been employed to find general solutions to a number of computational problems. Here, we...
Conference Paper
This paper investigates the use of a new Graphics Processing Unit (GPU) programming tool called 'GPU.NET' for implementing a Genetic Programming fitness evaluator. We find that the tool is able to help write software that accelerates fitness evaluation. For the first time, Cartesian Genetic Programming (CGP) was used with a GPU-based interpreter. W...
Conference Paper
Full-text available
Many data sets exist that contain both geospatial and temporal elements, in addition to the core data that requires analysis. Within such data sets, it can be difficult to determine how the data have changed over spatial and temporal ranges. In this design study we present a system for dynamically exploring geo-temporal changes in the data. GTdiff...
Conference Paper
Full-text available
A genetic algorithm is combined with two variants of the modularity (Q) network analysis metric to examine a substantial amount fisheries catch data. The data set produces one of the largest networks evaluated to date by genetic algorithms applied to network community analysis. Rather than using GA to decide community structure that simply maximize...
Chapter
Full-text available
Self-Modifying Cartesian Genetic Programming (SMCGP) is a general purpose, graph-based, developmental form of Cartesian Genetic Programming. In addition to the usual computational functions found in CGP, SMCGP includes functions that can modify the evolved program at run time. This means that programs can be iterated to produce an infinite sequence...
Conference Paper
Full-text available
Data sets that contain geospatial and temporal elements can be challenging to analyze. In particular, it can be difficult to determine how the data have changed over spatial and temporal ranges. In this poster, we present a visual approach for representing the pair-wise differences between geographically and temporally binned data. In addition to p...
Article
Full-text available
Self-modifying Cartesian Genetic Programming (SMCGP) is a general purpose, graph-based, developmental form of Genetic Programming founded on Cartesian Genetic Programming. In addition to the usual computational functions, it includes functions that can modify the program encoded in the genotype. This means that programs can be iterated to produce a...
Conference Paper
Full-text available
Cartesian Genetic Programming is a form of genetic programming. It is increasing in popularity. It was developed by Julian Miller with Peter Thomson in 1997. In its classic form it uses a very simple integer based genetic representation of a program in the form of a directed graph. In a number of studies, it has been shown to be efficient in compar...
Article
Full-text available
With current developments of parallel and distributed computing, evolutionary algorithms have benefited considerably from parallelization techniques. Besides improved computation efficiency, parallelization may bring about innovation to many aspects of evolutionary algorithms. In this article, we focus on the effect of variable population size on a...
Data
Full-text available
This is not a dataset but an article, why researchgate does this I have no idea and the researchgate software won't allow its type to be changed! Very poor!
Conference Paper
Full-text available
Self Modifying Cartesian Genetic Programming (SMCGP) aims to be a general purpose form of developmental genetic programming. The evolved programs are iterated thus allowing an infinite sequence of phenotypes (programs) to be obtained from a single evolved genotype. In previous work this approach has already shown that it is possible to obtain mathe...
Conference Paper
Full-text available
Self-Modifying Cartesian Genetic Programming (SMCGP) is a form of genetic programming that integrates developmental (self-modifying) features as a genotype-phenotype mapping. This paper asks: Is it possible to evolve a learning algorithm using SMCGP?
Conference Paper
Graphics Processing Units (GPUs) have become a major source of computational power for numerical applications. Originally designed for application of time-consuming graphics operations, GPUs are stream processors that implement the SIMD paradigm. Modern programming tools allow developers to access the parallelism of the GPU in a flexible and conven...
Conference Paper
Cartesian Genetic Programming is a form of genetic programming. It is increasing in popularity. It was developed by Julian Miller with Peter Thomson in 1997. In its classic form it uses a very simple integer based genetic representation of a program in the form of a directed graph. In a number of studies, it has been shown to be efficient in compar...
Conference Paper
Full-text available
In this paper, we use Genetic Programming (GP) to define a set of transforms on the space of greyscale images. The motivation is to allow an evolutionary algorithm means of transforming a set of image patterns into a more classifiable form. To this end, we introduce the notion of a transform-based evolvable feature (TEF), a moment value extracted f...
Conference Paper
Full-text available
Self modifying CGP (SMCGP) is a developmental form of Cartesian genetic programming(CGP). It differs from CGP by including primitive functions which modify the program. Beginning with the evolved genotype the self-modifying functions produce a new program (phenotype) at each iteration. In this paper we have applied it to a well known digital circui...
Conference Paper
Full-text available
Self Modifying CGP (SMCGP) is a developmental form of Cartesian Genetic Programming(CGP). It is able to modify its own phe- notype during execution of the evolved program. This is done by the inclusion of modification operators in the function set. Here we present the use of the technique on several different sequence generation and regression prob...
Chapter
Full-text available
Keywords: Graphics Processing Units (GPUs) are in the process of becoming a major source of computational power for numerical applications. Originally designed for application of time-consuming graphics operations, GPUs are stream processors that implement the SIMD paradigm. The true degree of parallelism of GPUs is often hidden from the user, maki...
Chapter
Full-text available
There is growing interest in the use of analogies of biological development for problem solving in computer science. Nature is extremely intricate when compared to human designs, and incorporates features such as the ability to scale, adapt and self-repair that could be usefully incorporated into human-designed artifacts. In this chapter, we discus...
Conference Paper
We are interested in engineering smart machines that enable backtracking of emergent behaviors. Our SSNNS simulator consists of hand-picked tools to explore spiking neural networks in more depth with flexibility. SSNNS is based on the Spike Response ...
Conference Paper
Full-text available
Graphics processor units are fast, inexpensive parallel computing devices. Recently there has been great interest in harnessing this power for various types of scientific computation, including genetic programming. In previous work, we have shown that using the graphics processor provides dramatic speed improvements over a standard CPU in the conte...
Article
Full-text available
The evolution of image filters using Genetic Pro-gramming is a relatively unexplored task. This is most likely due to the high computational cost of evaluating the evolved programs. We use the parallel processors available on modern graphics cards to greatly increase the speed of evaluation. Previous papers in this area dealt with noise reduction a...
Article
Full-text available
Intrinsic evolution has been shown to be capable of exploit- ing the physical properties of materials to solve problems, however most researchers have chosen to limit themselves to using standard electronic components. However, these components are human designed and inten- tionally have predictable responses, so they may not be the most suitable p...
Conference Paper
Full-text available
As is typical in evolutionary algorithms, fitness evaluation in GP takes the majority of the computational effort. In this paper we demonstrate the use of the Graphics Processing Unit (GPU) to accelerate the evaluation of individuals. We show that for both binary and floating point based data types, it is possible to get speed increases of several...
Conference Paper
Full-text available
Abstract In this paper we demonstrate,the use of the Graphics Processing Unit (GPU) to accelerate Evolutionary Compu- tation applications, in particular Genetic Programming ap- proaches. We show that it is possible to get speed increases of several hundred,times over a typical CPU implemen- tation, catapulting GPU processing for these applications...
Article
Full-text available
We describe several techniques for using bulk matter for special purpose computation. In each case it is necessary to use an evolutionary algorithm to program the substrate on which the computation is to take place. In addition, the computation comes about as a result of nearest neighbour interactions at the nano- micro- and meso-scale. In our firs...
Article
Full-text available
This technical report describes the implemen-tation of a distributed genetic algorithm, us-ing the Mono implementation of the Microsoft .Net framework.