Content uploaded by Klaus Greff
Author content
All content in this area was uploaded by Klaus Greff on Feb 22, 2018
Content may be subject to copyright.
Discovering Boolean Gates in Slime Mould
Simon Hardinga,∗
, Jan Koutn´ıkb, Klaus Greffb, J´urgen Schmidhuberb, Andy
Adamatzkya,
aUnconventional Computation Centre, University of the West of England, Bristol UK
bIDSIA, USI&SUPSI, Manno-Lugano, CH
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.
Keywords: Slime Mould, Physarum, Unconventional computing
Introduction
Slime mould Physarum polycephalum is a large single cell [1] capable for dis-
tributed sensing, concurrent information processing, parallel computation and
decentralized actuation [2, 3]. The ease of culturing and experimenting with
Physarum makes this slime mould an ideal substrate for real-world implemen-
tations of unconventional sensing and computing devices [2]. A range of hybrid
electronic devices were implemented as experimental working prototypes. They
include Physarum self-routing and self-repairing wires [4], electronic oscillators
∗I am corresponding author
Email addresses: slh@evolutioninmaterio.com (Simon Harding), hkou@idsia.ch (Jan
Koutn´ık), klaus@idsia.ch (Klaus Greff ), juergen@idsia.ch (J´urgen Schmidhuber),
andrew.adamatzky@uwe.ac.uk (Andy Adamatzky)
URL: www.evolutioninmaterio.com (Simon Harding),
http://people.idsia.ch/~koutnik/ (Jan Koutn´ık), http://people.idsia.ch/~greff/
(Klaus Greff), http://people.idsia.ch/~juergen/ (J´urgen Schmidhuber),
http://uncomp.uwe.ac.uk/adamatzky/ (Andy Adamatzky)
Preprint submitted to Elsevier July 11, 2016
arXiv:1607.02168v1 [cs.ET] 7 Jul 2016
[5], chemical sensor [6], tactical sensor [7], low pass filter [8], colour sensor [9],
memristor [10, 11], robot controllers [12, 13], opto-electronics logical gates [14],
electrical oscillation frequency logical gates [15], FPGA co-processor [16], Shot-
tky diode [17], transistor [11]. There prototypes show that Physarum is amongst
most prospective candidates for future hybrid devices, where living substrates
physically share space, interface with and co-function with conventional silicon
circuits.
So far there are four types of Boolean gates implemented in Physarum. Two
of the prototypes employ propagation of Physarum: logical False is an absence
of tube in a particular point of substrate and logical True is a presence of the
tube [18, 19]. One of the ‘morphological’ gates employs chemotactic behaviour
of Physarum [18], another prototype is based on inertial propagation of the
slime mould [19]. Third prototype of Physarum logical gates is a hybrid device,
where growing Physarum acts as a conductor and the Physarum’s behaviour is
controlled by light [20]. Fourth prototype interprets frequencies of Physarum’s
electrical potential oscillations as Boolean values and input data as chemical
stimuli [21]. These logical circuits are slow and unreliable, and are difficult to
reconfigure. Thus we aimed to develop an experimental setup to obtain fast,
repeatable and reusable slime mould circuits using the ‘computing in materio’
paradigm.
The Mecobo platform has been designed and built within an EU-funded
research project called NASCENCE [22]. The purpose of the hardware and
software is to facilitate ‘evolution in materio’ (EIM) — a process by which the
physical properties of a material are exploited to solve computational problems
without requiring a detailed understanding of such properties [23].
EIM was inspired by the work of Adrian Thompson who investigated whether
it was possible for unconstrained evolution to evolve working electronic cir-
cuits using a silicon chip called a Field Programmable Gate Array (FPGA). He
evolved a digital circuit that could discriminate between 1 kHz or 10 kHz signal
[24]. When the evolved circuit was analysed, Thompson discovered that artifi-
cial evolution had exploited physical properties of the chip. Despite considerable
analysis and investigation Thompson and Layzell were unable to pinpoint what
exactly was going on in the evolved circuits [25]. Harding and Miller attempted
to replicate these findings using a liquid crystal display [26]. They found that
computer-controlled evolution could utilize the physical properties of liquid crys-
tal — by applying configuration signals, and measuring the response from the
material — to help solving a number of computational problems [27].
In the work by Harding and Miller, a flexible hardware platform known
as an ‘Evolvable Motherboard’ was developed. The NASCENCE project has
developed a new version of this hardware based on low-cost FPGAs that more
flexible than the original platform used with liquid crystal.
In this paper, we describe the Mecobo platform (section b) and how it is
interfaced to Physarum (section b) to perform an exhaustive search over a sub-
set of possible configurations. In section 1 the results from this search are then
searched to confirm whether Physarum is capable of acting as Boolean gates.
We find that all possible 2-input gates can be configured this way. section 1.2.1
2
further explores the complexity of the computation by modelling the material
using a neural network model.
The Mecobo Platform
Mecobo is designed to interface a host computer to a candidate computa-
tional substrate, in this instance the Physarum. The hardware can act as a sig-
nal generator, and route these signals to arbitrary ‘pins’ — which are typically
electrodes connected to the candidate material. The hardware can also record
the electrical response from the substrate. Again, this recording (or recordings)
can be linked to any ‘pin’. Both applied signals (used for configuration) and
measurements can be analog or digital.
The core of the hardware is a microprocessor and an FPGA that run a
‘scheduler’, illustrated in Figure 2. A series of actions, such as “output 1Hz
square wave on pin 5, measure on pin 3” are placed into a queue, and the queue
executed. Complex series of actions can be scheduled onto the Mecobo. The
Mecobo connects, via USB, to a host PC. The host PC runs software implement-
ing the server side of the Mecobo Application Programming Interface (API). The
API work flow mirrors the hardware’s scheduler, and allows for applications to
interface to the hardware without understanding all of the underlying technical
details. Implemented using THRIFT, the API is also language and operating
system agnostic, with the additional benefit that it can executed remotely over
a network. The API software also includes functionality for data processing and
logging of collected data for later analysis.
Figure 1 shows a simplified architectural overview of the Mecobo hardware
and software. A full description, of both hardware and software can be found
in [28]. The hardware, firmware and software for the Mecobo are open source
and can be accessed at the project website: http://www.nascence.eu/.
Interfacing Physarum to Mecobo
A crude containing dish with electrodes was constructed from matrix board
and gold-plated header pins, as shown in Figure 4(a). Onto these pins, we
pushed down a section of 2% agar (with or without Physarum) so that the
pins punctured the agar, and were visible above the surface. This allowed the
Physarum to come into direct contact with the electrodes. For experiments
where the substrate was intended to be only Physarum, a small amount of
molten agar was painted over the contacts and some of the matrix board. This
minimized the amount of agar, in order to reduce its influence. Small amounts
of damp paper towel were placed around the container to maintain humidity.
A video available at https://www.youtube.com/watch?v=rymwltzyK88 shows
the Physarum growing and moving around the electrodes.
As shown in Figure 4(b) the electrodes were then connected to the digital
outputs of the Mecobo. Each electrode was connected to the Mecobo interface
using a 4.7 kΩ resistor to limit the amount of applied current. The digital
outputs of the Mecobo provide either 0v (low) or 3.3v (high).
3
Figure 1: Overview of the Mecobo hardware software architecture.
PWM ADC DAC
Scheduler
Time Pin Function
0 2 RECORD
3 1 PWM: 33
4 3 DAC: 837
19 4 DAC: 255
...
...
2 11 DAC: 42
address
data
Recorder
Digital I/O
Pin routing
Material
Figure 2: Overview of the low-level Mecobo hardware architecture.
4
(a) (b) (c)
(d) (e) (f )
Figure 3: Time-lapse of Physarum growing on agar with electrodes. Images are approximately
6 hours apart.
(a) (b)
Figure 4: (a) Electrodes with agar and Physarum. The white spots are oat flakes, which are
used to feed the Physarum. (b) Agar dish connected to Mecobo.
5
1. Data collection
The possible configuration space for the Mecobo platform is vast, and it
would be infeasible to attempt to apply all possible configurations to the Physarum.
In the Nascence project, evolutionary algorithms are used as a practical method
to search through the configuration space and find configurations that perform
a particular task. Just as with the initial experiments in the Nascence project
[28], we start with an exhaustive search over a small configuration space.
The exhaustive search procedure consisted of applying all possible binary
combinations of various frequency pairs to 9 pins (which is a practical amount
for time purposes). One pin was used as an output from the material, with the
other 8 pins acting as inputs.
For each binary combination, each pair of frequencies was tried with one
frequency representing a ‘low’ and the other representing a ‘high’ input. The
frequency pairs were combinations of square waves of either (250Hz, 500 Hz,
1 kHz, or 2.5 kHz).
The order of applied configurations was shuffled to help prevent similar con-
figurations being applied sequentially.
The Mecobo measured the digital response from the Physarum and/or agar
for 32ms. The digital threshold is 0.75v for high, with voltages below this being
classed as low. The sampling frequency was twice the highest input frequency
applied.
In total, 49 152 states are applied, in a process that takes approximately 2
hours to complete. The majority of the time is spent configuring the Mecobo
and transferring sampled data back to the host PC.
Exhaustive search for Boolean gates
1.1. Method
Boolean logic gates are the building block for many circuits, sensors and
computational devices. Using an exhaustive search, we were able to data mine
within the collected data to look for configurations that acted as Boolean gates.
The data was searched for all two-input Boolean functions. Two pins were
selected as the inputs to the gates (Aand B), and one pin was selected as
the gate output. The output response of the material (i.e. true or false) was
determined from the output frequency of the material. A Fast Fourier Transform
(FFT) was performed, and the frequency of the highest magnitude response
was determined. The output was true if this frequency was nearer to the true
input frequency, and false if nearer in value to the false input frequency. The
remaining pins were then treated as configuration pins for the Physarum/agar.
Each possible combination of configuration, input pair and output were then
compared to see what logical operation it performed.
If for a given configuration (using the same frequency pairs), the output
for all combinations of inputs Aand Bmatched the expected behaviour of
a gate, then it was judged that the Physarum and/or agar could implement
that gate. As the configurations are temporally spaced, and each configuration
6
Table 1: Number of gates mined from the frequency responses of the Physarum. The Agar
column contains a number of such configurations (input pins having values true, T, or false,
F) found in the bare agar substrate and the Physarum column contains number of the config-
uration found in the dish containing the Physarum. We can see that the Physarum actually
performs the logic functions whereas the sole agar is not capable of that.
Cfg. Inputs xy Agar Physarum Physarum Gate
FF FT TF TT & Agar
1 F F F F 76 104 121 144 15864 Constant False
2 T F F F 86 8 xNOR y
3 F T F F 201 13 NOT xAND y
4 T T F F 60 2 NOT x
5 F F T F 201 13 xAND NOT y
6 T F T F 60 2 NOT y
7 F T T F 66 4 xXOR y
8 T T T F 112 10 xNAND y
9 F F F T 43 546 13 268 564 xAND y
10 T F F T 52 0 xXNOR y
11 F T F T 15 249 18 259 3 707 y
12 T T F T 260 9 NOT xAND NOT yOR y
13 F F T T 15 249 18 259 3 707 x
14 T F T T 260 9 xOR NOT y
15 F T T T 43 564 13 128 536 xOR y
16 T T T T 74 996 113 266 13 448 Constant True
applied multiple times (as Aand Bcould be swapped over), a discovered gate
would likely be ‘stable’ over the time taken to run the experiment. As the
Physarum grows and moves, or as the agar dehydrates and shrinks, the physical
substrate will vary. Therefore, we would not expect the system to be stable over
long periods of time. Repeated measurements that are temporally spaced also
reduces the possibility of measurement noise strongly influencing the results.
1.2. Results
As detailed in Table 1, agar on its own was unable to produce the universal
gates NAND or NOR. It was also unable to produce the non-linear gates XOR
or NXOR. Substrates that involve Physarum can be seen to produce more types
of gates. It is particularly interesting to note that far fewer AND or OR gates
were found when using Physarum+Agar, compared to only agar.
Using Physarum, both with the agar and with minimal agar, the search was
able to find many types of logic gates.
When the amount of agar was minimised, the fewest gates were found. This
result was expected as the Physarum did not appear to connect between many
of the electrodes, and therefore would only be able to participate in a smaller
number of the configurations.
7
Table 2: Number of XOR gates found for given Input pin configurations.
Input Pin A
02345678
Input Pin B
024 24 16 40 24 8
224 16 8
324 8 16
416 16 24 8 16 8
540 8 8 24 8
624 14 8 8
716 16 8
88 8
60 62
38
76
36 40 30 38 43
31
20
50
10 20 30 40 50 60 70 80 90 100 110 120
0
20
40
60
80
Time [min]
XOR Count
Figure 5: XOR density. The chart shows how many XOR functions were found in the
Physarum material over the course of 120 minute long experiment. We can see that most
of the gates was found in the beginning.
1.2.1. Detailed Analysis XOR
Considering only the XOR solutions that occur in the Physarum+Agar sub-
strate, we can investigate the collected data in some detail. Table Table 2 shows
the frequency of times that particular pins are used as inputs (the symmetry
is a result of the fact that in this instance A and B can be swapped and still
produce a valid gate).
Table 2 shows that some electrode pins are used much more frequently than
others as inputs, and that only two electrodes ever get used successfully as
outputs. This strongly suggests that the physical structure of the Physarum is
important, and that a uniform mass would not be effective.
The experiment ran for 7 322 seconds (122 minutes). During this time we
observed the Physarum did move around on the agar. We generated a his-
togram that shows the number of times an applied configuration was used as
part of XOR against time. The chart in Figure 5 indicates that most of the
results were found earlier on in the experiment. In addition to the movement
of the Physarum, this may be caused by the agar drying out and becoming less
conductive. It therefore seems likely that there might be more possible gate
configurations, but that the search was too slow to discover them before the
characteristics of the Physarum+agar changed.
8
Mould Modelling using Neural Networks
This section uses neural network (NN; [29]) models, trained by gradient
descent [30, 31, 32] to approximate the mapping from input voltages to the
output voltage by training them on many randomly chosen examples measured
during the exhaustive search. By solving that task a NN becomes a differentiable
model of the—potentially complex—structures inside the material. Having the
NN model, one can assess the complexity of the material based on trainability
of the NN model.
A NN consist of a sequence of layers, where each layer computes an affine
projection of its inputs followed by the application of a point-wise non-linear
function ψ:
h=ψ(Wx +b)
Where θ={W,b}are the parameters of the layer. By stacking these layers one
can build non-linear functions of varying expressiveness that are differentiable.
In theory they can approximate any function to arbitrary precision given enough
hidden units.
1.2.2. Data Preprocessing
The random search collected data was preprocessed in order to form a su-
pervised training set. The input frequencies were ordered and translated to
integer numbers in range from 1 to 5 forming an input vector x∈ {1,2,3,4,5}9,
where the input frequency was present. The value of 0 was used in the case of a
grounded input pin or when the pin was used as the output pin. The target out-
put vector had 9 entries as well (t∈[0,1]9) but only the one that corresponds
to the output pin was used at a time.
Amiddle section of the output buffer (1/4 to 3/4 section of the signal length)
was preprocessed and transformed to a desired output target in one following
three ways in the three experiments:
•Ratio: The proportion of ones in the signal.
•Peak Frequency: The peak of the frequency spectrum normalised such
that 0.0 corresponds to a constant signal and 1.0 corresponds to the se-
quence 010101 . . .. The peak was obtained by computing the Fourier spec-
trum of the middle section of the signal, removing the DC component
(first frequency component), computing the absolute values of the com-
plex spectrum and using the first half (the spectrum is symmetric) to find
the position of the maximum peak index.
•Compressibility: Relative length of the output buffer compressed using
LZW to the maximum length of the compressed buffer. High values point
to irregular outputs.
The networks have been trained to predict the output vector given the inputs,
where we only trained for the one active output while ignoring the other 8
predictions of the network. Note that this essentially corresponds to training
9
Table 3: Best hyperparameter settings for each of the three tasks along with the resulting
Mean Squared Error (MSE).
Task # Layers # Units Act. Fn. Learning Rate MSE
Ratio 8 200 ReLU 0.055 6.058 ×10−4
Frequency 5 200 ReLU 0.074 2.68 ×10−2
Compressibility 5 200 ReLU 0.100 7.09 ×10−4
9 different neural networks with one output each, that share the weights of all
but their last layer.
The network weights were trained using Stochastic Gradient Descend (SGD)
with a minibatch-size of 100 to minimise the Mean Squared Error on the active
output. We kept aside 10% of the data as a validation set. Training was stopped
after 100 epochs (full cycles through the training data) or once the error on the
validation set didn’t decrease for 5 consecutive epochs.
Neural networks have certain hyperparameters like the learning rate for SGD
and the network-architecture that need to be set. To optimize these choices we
performed a big random search of 1650 runs sampling the hyperparameters as
follows:
•learning rate ηlog-uniform from 10−3to 10−1
•number of hidden layers uniform from {1, 2, 3, 4, 5, 6, 7, 8}
•number of hidden units in each layer from the set {50, 100, 200, 500}
•The activation function of all hidden units from the set {tanh, ReLU1,
logistic sigmoid}
The best networks for the three tasks can be found in Table 3.
1.2.3. Modelling Results
On all three tasks the networks prediction error on the validation set de-
creased significantly during training. Figure 6 depicts the loss, the target and
the prediction of the network for each example of the validation for all three
tasks sorted by their loss. It can be seen that in all three cases the targets (true
outputs) have a characteristic structure consisting of horizontal lines. This is
due to the fact that certain target values are very likely. For each such value
there are easy cases that the networks predict with high accuracy (the left side
of the bar), and there seem to be difficult cases (right part of the bars) for
which the predictions bifurcate (see prediction plots at the bottom of Figure 6).
This essentially means that the output distribution has sharp peaks which get
smoothed out a bit by the networks. Overall, the networks predictive perfor-
mance is very good (apart from the high values in the frequencies task which
1ReLU: Rectified Linear Unit
10
Figure 6: Loss, true output, and prediction for all validation samples on each of the three
tasks. The examples are sorted by their associated training loss.
all fall into the high-loss region). The worst performance is on the frequencies
task, while the best performance is achieved on the first task (predicting the
ratios).
1.2.4. Searching for Logic Gates in the NN Model
The best network for the first task (predicting the ratio) was searched for
the following logic functions: AND, OR, NAND, NOR, XOR, and XNOR. We
encode the values for True and False for the inputs as 4 and 1 respectively
(corresponding to high and low input frequency). For the output values we
define 0 as False and 0.5 as True, because these two values are easy to distinguish
and are the most common output values.
First, a set of examples with different combinations of input values but which
share the same (random) values for the configuration pins along with the desired
output values.
Gradient descent is then used to minimise the MSE by adjusting the values
for the configuration pins, but we keep their values the same for all examples.
So formally, given our neural network model ˆ
fof the nano-material, we define
an error over our Ninput/output pairs (I(i)
1, I(i)
2, O(i)):
E=
N
X
i=1
1
2(ˆ
f(I(i)
1, I(i)
2, θ)−O(i))2
11
Figure 7: The functions found by our search procedure all with pins 1 and 2 for inputs and
pin 4 as output. The results for AND and NOR are a good fit, while the search for OR and
XOR clearly failed to produce usable functions.
The gradient is then calculated using backpropagation of the error:
∂E
∂θ = ( ˆ
f(I(i)
1, I(i)
2, θ)−O(i))∂ˆ
f
∂θ
where θ={c1, . . . , c6}.
Unfortunately, at the end of this gradient descent process the configuration
pin values won’t be in the allowed set {1, 2, 3, 4}anymore. To make them
valid inputs we round and clip them. This will most likely increase the error
but hopefully still remain in a region where the network computes the desired
function. It is unlikely that this procedure will always work, so in addition to
this local search we also perform a global search.
One problem with the method described above is that it only performs a local
search, which means that the solution that it converges to, might correspond to
a bad local minimum. Furthermore the discretization we need to perform at the
end of the local search might lead to a configuration which doesn’t approximate
the desired function very well.
To mitigate these problems we first sample 1 000 random starting points
(settings of the configuration leads) and perform just 10 iterations of our local
search on them. Only the starting point that lead to the lowest error is then
optimised further for 500 epochs to obtain the final solution. In this way we
reduce the risk of getting stuck in a poor local minimum. There is another free
parameter which we haven’t optimised yet, which is the assignments of input
and output pins. We therefore repeat the above procedure for all 224 possible
allocations of input and output pins. The found gates and their responses are
summarised in Figure 7.
2. Discussion
We do not know what is exact physical mechanism of the gate operations
implemented by the slime mould. We can speculate that the following factors
might contribute to the particular responses observed:
12
•The slime mould is conductive. Every single protoplasmic tube can be
considered as a wire [4].
•The resistance of the slime mould wire depends on biochemical and physi-
ological state of slime, thickness of tubes, and the Physarum’s reaction to
environmental conditions. The resistance also oscillates, due to contractile
activity and shuffling of cytoplasm in the protoplasmic tubes [5]
•Physarum exhibits memristive properties when tested in current-voltage
cycles [10]. Thus some pathways in Physarum could become non-conductive
under AC stimulation.
•Morphology of Physarum can be modified by application of AC [33]. That
is the slime mould can physically move between electrodes in response to
stimulation by input electrical signals.
•In certain conditions Physarum allows the conduction of AC frequencies
with attenuation profile similar to a low pass filter [8, 34].
The frequency of gates’ discovery in Physarum varies substantially between the
gates, with XOR and XNOR being the most rarely observable gates. Is it typical
for all non-linear systems implementing gates or just Physarum? Let gates g1
and g2are discovered with occurrence frequencies f(g1) and f(g2), we say gate
g1is easy to develop or evolve than gate g2:g1Bg2if f(g1)> f(g2). The
hierarchies of gates obtained using evolutionary techniques in liquid crystals [35],
light-sensitive modification of Belousov-Zhabotinsky system [36] are compared
with Physarum generated gates and morphological complexity of configurations
of one-dimensional cellular automata governed by the gates [37]:
•Gates in liquid crystals [35]: {OR, NOR}BAND BNOT BNAND B
XOR
•Gates in Belousov-Zhabotinsy medium [36]: AND BNAND BXOR
•Gates in cellular automata [37]: OR BNOR BAND BNAND BXOR
•Gates in Physarum: AND BOR BNAND BNOR BXOR BXNOR
We see that in all systems quoted the gate XOR is the most difficult to find,
develop or evolve. Why is it so? A search for an answer could be one of the
topics for further studies.
The search of gate configurations in the differentiable material model renders
to be an efficient method of finding the correct configurations, that generates
robust solutions. It remains to be confirmed whether these configurations work
at the real mold again and close the loop between the modelling and the real
material.
13
Acknowledgements
The research leading to these results has received funding from the EC FP7
under grant agreements 317662 (NASCENCE project) and 316366 (PHYCHIP
project).
The authors would like to acknowledge the assistance of Odd Rune Lykkebø
for his technical assistance with Mecobo. Simon and Andy prepared the mould
and performed the exhaustive search experiments on the hardware platform,
Jan, Klaus and J¨urgen contributed with the mould neural network modelling.
References
References
[1] S. L. Stephenson, H. Stempen, I. Hall, Myxomycetes: a handbook of slime
molds, Timber Press Portland, Oregon, 1994.
[2] A. Adamatzky, Physarum machines: computers from slime mould, Vol. 74,
World Scientific, 2010.
[3] A. Adamatzky (Ed.), Advances in Physarum machines: Sensing and com-
puting with slime mould, Springer, 2016.
[4] A. Adamatzky, Physarum wires: Self-growing self-repairing smart wires
made from slime mould, Biomedical Engineering Letters 3 (4) (2013) 232–
241.
[5] A. Adamatzky, Slime mould electronic oscillators, Microelectronic Engi-
neering 124 (2014) 58–65.
[6] J. G. Whiting, B. P. de Lacy Costello, A. Adamatzky, Towards slime mould
chemical sensor: Mapping chemical inputs onto electrical potential dynam-
ics of physarum polycephalum, Sensors and Actuators B: Chemical 191
(2014) 844–853.
[7] A. Adamatzky, Slime mould tactile sensor, Sensors and actuators B: chem-
ical 188 (2013) 38–44.
[8] J. G. Whiting, B. P. de Lacy Costello, A. Adamatzky, Transfer function
of protoplasmic tubes of physarum polycephalum, Biosystems 128 (2015)
48–51.
[9] A. Adamatzky, Towards slime mould colour sensor: Recognition of colours
by physarum polycephalum, Organic electronics 14 (12) (2013) 3355–3361.
[10] E. Gale, A. Adamatzky, B. de Lacy Costello, Slime mould memristors,
BioNanoScience 5 (1) (2013) 1–8.
14
[11] G. Tarabella, P. D’Angelo, A. Cifarelli, A. Dimonte, A. Romeo, T. Berzina,
V. Erokhin, S. Iannotta, A hybrid living/organic electrochemical transistor
based on the physarum polycephalum cell endowed with both sensing and
memristive properties, Chemical Science 6 (5) (2015) 2859–2868.
[12] S. Tsuda, K.-P. Zauner, Y.-P. Gunji, Robot control: From silicon circuitry
to cells, in: Biologically inspired approaches to advanced information tech-
nology, Springer, 2006, pp. 20–32.
[13] E. Gale, A. Adamatzky, Translating slime mould responses: A novel way to
present data to the public, in: A. Adamatzky (Ed.), Advances in Physarum
Machines, 2016.
[14] R. Mayne, A. Adamatzky, Slime mould foraging behaviour as optically
coupled logical operations, International Journal of General Systems 44 (3)
(2015) 305–313.
[15] J. G. Whiting, B. P. de Lacy Costello, A. Adamatzky, Slime mould logic
gates based on frequency changes of electrical potential oscillation, Biosys-
tems 124 (2014) 21–25.
[16] R. Mayne, M.-A. Tsompanas, G. C. Sirakoulis, A. Adamatzky, Towards
a slime mould-fpga interface, Biomedical Engineering Letters 5 (1) (2015)
51–57.
[17] A. Cifarelli, A. Dimonte, T. Berzina, V. Erokhin, Non-linear bioelectronic
element: Schottky effect and electrochemistry, International Journal of Un-
conventional Computing 10 (5-6) (2014) 375–379.
[18] S. Tsuda, M. Aono, Y.-P. Gunji, Robust and emergent physarum logical-
computing, Biosystems 73 (1) (2004) 45–55.
[19] A. Adamatzky, Slime mould logical gates: exploring ballistic approach,
arXiv preprint arXiv:1005.2301.
[20] R. Mayne, A. Adamatzky, Slime mould foraging behaviour as optically
coupled logical operations, International Journal of General Systems 44 (3)
(2015) 305–313.
[21] J. G. Whiting, B. P. de Lacy Costello, A. Adamatzky, Slime mould logic
gates based on frequency changes of electrical potential oscillation, Biosys-
tems 124 (2014) 21–25.
[22] H. Broersma, F. Gomez, J. F. Miller, M. Petty, G. Tufte, NASCENCE
Project: Nanoscale Engineering for Novel Computation Using Evolution,
International Journal of Unconventional Computing 8 (4) (2012) 313–317.
[23] J. F. Miller, S. L. Harding, G. Tufte, Evolution-in-materio: evolving com-
putation in materials, Evolutionary Intelligence 7 (2014) 49–67.
15
[24] A. Thompson, Hardware Evolution - Automatic Design of Electronic Cir-
cuits in Reconfigurable Hardware by Artificial Evolution, Springer, 1998.
[25] A. Thompson, P. Layzell, Analysis of unconventional evolved electronics,
Communications of the ACM 42 (4) (1999) 71–79.
[26] S. Harding, J. F. Miller, Evolution in materio: A tone discriminator in
liquid crystal, in: In Proceedings of the Congress on Evolutionary Compu-
tation 2004 (CEC’2004), Vol. 2, 2004, pp. 1800–1807.
[27] S. L. Harding, J. F. Miller, Evolution in materio: Evolving logic gates in
liquid crystal, International Journal of Unconventional Computing 3 (4)
(2007) 243–257.
[28] O. R. Lykkebø, S. Harding, G. Tufte, J. F. Miller, Mecobo: A hardware
and software platform for in materio evolution, in: O. H. Ibarra, L. Kari,
S. Kopecki (Eds.), Unconventional Computation and Natural Computa-
tion, LNCS, Springer International Publishing, 2014, pp. 267–279.
[29] S. Haykin, Neural Networks: A Comprehensive Foundation, 2nd Edition,
Prentice Hall PTR, Upper Saddle River, NJ, USA, 1998.
[30] S. Linnainmaa, The representation of the cumulative rounding error of
an algorithm as a Taylor expansion of the local rounding errors, Master’s
thesis, Univ. Helsinki (1970).
[31] S. E. Dreyfus, The computational solution of optimal control problems with
time lag, IEEE Transactions on Automatic Control 18(4) (1973) 383–385.
[32] P. J. Werbos, Beyond regression: New tools for prediction and analysis in
the behavioral sciences, Ph.D. thesis, Harvard University (1974).
[33] S. Tsuda, J. Jones, A. Adamatzky, J. Mills, Routing physarum with elec-
trical flow/current, arXiv preprint arXiv:1204.1752.
[34] J. G. Whiting, R. Mayne, N. Moody, B. d. L. Costello, A. Adamatzky,
Practical circuits with physarum wires, arXiv preprint arXiv:1511.07915.
[35] S. Harding, J. F. Miller, Evolution in materio: Evolving logic gates in liquid
crystal, in: Proc. Eur. Conf. Artif. Life (ECAL 2005), Workshop on Un-
conventional Computing: From cellular automata to wetware, Beckington,
UK, 2005, pp. 133–149.
[36] R. Toth, C. Stone, A. Adamatzky, B. de Lacy Costello, L. Bull, Dynamic
control and information processing in the belousov–zhabotinsky reaction
using a coevolutionary algorithm, The Journal of chemical physics 129 (18)
(2008) 184708.
[37] A. Adamatzky, L. Bull, Are complex systems hard to evolve?, Complexity
14 (6) (2009) 15–20.
16