Online Learning in a
Chemical Perceptron
Abstract Autonomous learning implemented purely by means
of a synthetic chemical system has not been previously realized.
Learning promotes reusability and minimizes the system design
to simple input-output specification. In this article we introduce a
chemical perceptron, the first full-featured implementation of a
perceptron in an artificial (simulated) chimica. A perceptron is
the simplest system capable of learning, inspired by the functioning
of a biological neuron. Our artificial chemistry is deterministic and
discrete-time, and follows Michaelis-Menten kinetics. We present two
models, the weight-loop perceptron and the weight-race perceptron,
which represent two possible strategies for a chemical implementation
of linear integration and threshold. Both chemical perceptrons can
successfully identify all 14 linearly separable two-input logic functions
and maintain high robustness against rate-constant perturbations.
We suggest that DNA strand displacement could, in principle,
provide an implementation substrate for our model, allowing the
chemical perceptron to perform reusable, programmable, E
adaptable wet biochemical computing.
Peter Banda**
Portland State University
Christof Teuscher*,†
Portland State University
Matthew R. Lakin
University of New Mexico
‡
Keywords
Perceptron, artificial chemistry,
apprendimento, adaptation, robustness,
chemical computing
A version of this paper with color figures
is available online at http://dx.doi.org/10.1162/
artl_a_00105. Subscription required.
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
1 introduzione
Chemistry provides many beneficial features that contribute to information processing, such as inherent
parallelismo, massive interactivity, redundancy, and asynchronicity [2, 12, 36]. Biomolecular systems have
successfully tackled several computing problems, including the traveling salesman [1], 3-SAT [6],
maximal clique [41], chess [17], and tic-tac-toe [49]. Tuttavia, attempts to build a programmable mo-
lecular automaton, questo è, an automaton with more than one (hard-wired) purpose, either failed or had
limited scope and no reusability [4, 11, 42].
Our approach is to achieve programmability of a chemical system by learning and adaptation.
Adaptation is one of the key aspects maintaining the functional, homeostatic closure of living systems [5],
which are carried out by chemical processes. It enables individual organisms to adjust their decision-
making schemes in constantly changing environments. Learning has been a vibrant topic in the ALife
community for over two decades. It has been realized by means of neural networks [21, 44], various
forms of evolutionary algorithms [38, 39], and reinforcement learning [50], in which agents learn from
the consequences of their actions through rewards. The applications of learning include pathfinding
problems [30], multi-agent systems [34], and robotics [8].
* Contact author.
** Department of Computer Science, Portland State University, Portland, OR 97207. E-mail: banda@pdx.edu
† Department of Electrical and Computer Engineering, Portland State University, Portland, OR 97207. E-mail: teuscher@pdx.edu
‡ Dipartimento di Informatica, University of New Mexico, Albuquerque, NM 87131. E-mail: mlakin@cs.unm.edu
© 2013 Massachusetts Institute of Technology Artificial Life 19: 195–219 (2013) doi:10.1162/ARTL_a_00105
P. Banda et al.
Online Learning in a Chemical Perceptron
The idea of neural network computation in chemical systems is not new. Several theoretical
or experimental DNA-based models [7, 9, 24, 25, 32, 36] have been proposed. Most recently, Qian
et al. [52] demonstrated an experimental implementation of linear threshold circuits with DNA-
strand-displacement seesaw gates and used these to construct a Hopfield network. The research
in this area has mainly been limited to constructing logic gates and assembling them into circuits
to compute custom Boolean functions. More important, the existing work does not dwell on the
autonomous learning aspects of chemical neural networks. Typically [32, 52] the learning was per-
formed by an external system that computes the weights for a formal neural network, before con-
verting these to molecular concentrations to serve as parameters for the chemical implementation.
Spiking neural P systems [27, 28] are related types of systems that draw inspiration from neural
network theory and incorporate membrane computing with a model of spiking neurons. Each neuron
is wrapped in a membrane, where interneuron (intermembrane) communication is carried by the elec-
trical impulses, called spikes. Some attempts were made to introduce learning into neural P systems
[20]; there, Tuttavia, similarly to DNA-strand implementations, learning has not been autonomous
either. Also, P systems do not model reaction rates, and they have a different, more grammarlike
update algorithm (kinetics) and manipulate discrete symbols.
Here, we model a two-input perceptron, a simple learning unit, as an artificial chemistry [13], Dove
both linear integration and learning are implemented internally. To the best of our knowledge, it is the
first such model. We restrict the interactions with the perceptron solely to injections of training
instances consisting of two inputs and the desired output, and measurements of the concentrations
of the output species. Learning requires a system to work continuously; Perciò, a cleanup or a reset
to a steady state is necessary. Again, we do not assume any manual reset. We show that the chemical
perceptron can learn a logic function perfectly, and is also robust to perturbations of rate constants.
We simulate a general (artificial) chemistry based on Michaelis-Menten kinetics without any
assumption about the molecular structure of the chemical species. Since the behavior of species is
fully determined by reactions and rates, our model imposes basic constraints on how real molecular
species should interact in order to adapt. This abstraction allows us to better understand the underlying
principles, as well as the inherent challenges of adaptable artificial chemistries. After a conversion of
Michaelis-Menten to mass-action kinetics, DNA strand displacement [46, 53] can potentially serve as
a biochemical implementation of our chemical perceptron.
The contributions of this work are as follows.
1. Our system is the first full-featured implementation of online learning in simulated artificial
chimica (Sezione 2), called the chemical perceptron (Sezione 4). Apprendimento, as well as linear
integration of weights and inputs, is handled internally.
2. We present a systematic method that maps the variables of a formal two-input perceptron
(Sezione 3) to species of the chemical perceptron (Sezioni 2.1, E 4.1).
3. We implement two variants of a chemical perceptron, the weight-loop perceptron (Sezione 4.3)
and the weight-race perceptron (Sezione 4.4), to demonstrate two qualitatively different
approaches to linear integration, threshold comparison, and output production.
4. The chemical perceptron is reusable, since it recovers its internal ready state after each
processing (Sezioni 4.2, 4.3, E 4.4).
5. The chemical perceptron learns perfectly all 14 linearly separable logic functions after
200 learning iterations (Sezione 7.1).
6. The chemical perceptron is robust to perturbations of rate constants (Sezione 7.2).
This property helps to substantially alleviate reaction-timing restrictions for real
chemical implementations.
7. We compare the weight-loop and weight-race perceptrons (Sezione 7.3) and discuss their
potential biochemical implementation (Sezione 8).
196
Artificial Life Volume 19, Numero 2
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
2 Artificial Chemistry
Artificial chemistry (AC) is the standard framework for representing and simulating chemistry. An
AC [13] consists of a set of molecular species or substances, S, and a set of reactions, R. Each
reaction r 2 R is an ordered pair X → Y, where both X and Y are multisets of species. Species from
A are called reactants, and species from B are called products. Each reaction in our model is either a
conversion (A → B or A + B → C + D), an annihilation (UN + B → E), or a decay (A → E), where E
represents no species.
There are many types of ACs, which can be simulated with various techniques. In questo articolo
we employ macroscopic deterministic simulation, where species interact on the basis of their
reactions with associated rate laws [15, 16, 23]. Each reaction has a rate, which defines the strength
of the reactionʼs contribution to the production or consumption of particular species over time.
An essential property of macro-chemistry is the absence of space. In a well-stirred tank, IL
probability that a molecule is involved in a reaction does not depend on its position, but on
its type. Consequently, a multiset of species, where each species is characterized only by a con-
centration measured in moles per liter (M ), describes the state of the system. For instance,
a state of the AC with the species set S = {A0, A1, B} can be [A0] = 2 M, [A1] = 2 M, E
[B] = 10 M.
Our AC follows the mass conservation principle, the mass-action law, Michaelis-Menten catalysis,
and linear uncompetitive inhibition. The law of mass conservation states that in a closed system the
matter consumed and produced by each reaction is the same. The mass-action law [3, 16] says
that the rate of a reaction is proportional to the product of the concentrations of the reactants.
Hence the reaction rate, the speed of the reaction application, is assumed to be linearly dependent
on the concentration of reactants. For an irreversible generic reaction aA + bB → C, the rate is
given by
r ¼
d ½C(cid:1)
dt
¼ − 1
UN
d ½A(cid:1)
dt
¼ − 1
B
d ½B(cid:1)
dt
¼ k½A(cid:1)a½B(cid:1)B;
ð1Þ
where k 2 Rþ is a reaction rate constant, UN, b are stoichiometric constants, E [UN], [B] are the con-
centrations of molecular species A, B respectively.
Besides being a reactant or a product, species can take on two other roles in a reaction. A catalyst is
a substance that increases the rate of a reaction without itself being altered. To incorporate catalysts (O
enzymes) in reaction rates, we follow Michaelis-Menten enzyme kinetics [10, 35, 40]. Let E + S ⇌ ES →
E + P be a catalytic reaction, where E is a catalyst, S is a substrate, P is a product, and ES is an
intermediate enzyme-substrate binding species. Michaelis-Menten kinetics assumes that the substrate S
is in instantaneous equilibrium with the enzyme-substrate complex ES. This assumption, called the
quasi-steady-state approximation, holds if the first reaction E + S → ES is substantially faster than
the second one ES → E + P. The overall reaction rate for the P production is
r ¼
d ½P(cid:1)
dt
¼
kcat½E(cid:1)½S(cid:1)
Km þ ½S(cid:1)
;
ð2Þ
where kcat; Km 2 Rþ are rate constants. Per esempio, let R0 be a reaction A1 + B → A0, and R1 be
a reaction B → A1 catalyzed by A0 using the species set S = {A0, A1, B}. Then, the rate of R0 is
expressed by the mass-action law as k[A1][B], and the rate of R1 based on Michaelis-Menten kinetics
as k0[A0][B]/(k1 + [B]), where k, k0, and k1 are rate constants. Michaelis-Menten kinetics can be also
expanded to the multi-substrate case [33]. Note that an alternative to Michaelis-Menten kinetics is to use
mass-action kinetics for two partial (associative and disassociative) reactions.
Artificial Life Volume 19, Numero 2
197
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
An inhibitor is a substance that retards the rate of a reaction without itself being consumed.
There are several types of inhibition; our model is restricted to the simplest one, known as linear
uncompetitive inhibition [33]. The reaction rate of I + S → I + P, where I is an inhibitor and k and
Ki are rate constants, È
r ¼
d ½P(cid:1)
dt
¼ − d ½S(cid:1)
dt
¼
k½S(cid:1)
1 þ Ki ½I(cid:1)
:
ð3Þ
By applying rate laws over all reactions, we obtain the change of concentration of molecular spe-
cies as described by a system of ordinary differential equations (ODEs). Since it is, in general, io sono-
possible to find an analytical solution of such a system explicitly, we employ numerical integration of
ODEs, which delivers an approximate solution [46]. Our AC numerically integrates concentration
ODEs by the simple one-step Euler method [26, 48].
Deterministic simulation of rate laws is fast and provides a good approximation of real chemistry
if the number of molecules in the reservoir is sufficiently high. Otherwise, a microchemistry based on
stochastic collisions of individual molecules [18, 19, 29, 51] produces results with higher precision, Ma
comes at a higher simulation cost.
2.1 Representation of Variables
An AC can represent a variable by one or several substances. In our chemical model we need to
encode variables of two types: Boolean with values 0 E 1, and Real with values from R. Noi
transform variables to species in systematic fashion as follows.
A Boolean variable is represented by enumeration; one variable s requires two species, S0 and S1,
which are mutually exclusive. If the concentration of S0 is nonzero, then s = 0; analogously S1 nonzero
implies s = 1. A positive value of a Real variable directly corresponds to the concentration of a species.
Since a concentration is never negative, a Real variable s needs to be represented by positive and
for Real, are
negative species S
simultaneously present in the reservoir, they annihilate very rapidly.
. If both variants S0 and S1 for Boolean, or S
and S
and S
⊕
⊕
⊖
⊖
Further, the zero concentration of species cannot represent a strict zero value. The problem
is that intentional nothing cannot be distinguished from the state in which a system is still work-
ing and has not produced an output yet, or is still waiting for the input substances to enter the
system.
2.2 System Input and Output
The concept of AC actions or action series is an extension of the input configuration—species con-
centrations can be modified at times other than t0. An AC action emulates a step in the execution of
an experimental protocol, where at a certain time the person performing the chemical experiment
mechanically injects or removes substances into or out from a tank. An action is modeled by instan-
taneously changing the concentration of a species. For iterative processes, such as learning, it is useful
to define a repetitive AC action series, in which a sequence of actions repeat in a loop at predefined
time intervals.
An AC translation, also performed from outside the system, is used to interpret concentrations of
output species as the results of the chemical computation over a specified time interval. Translations
operate on concentration ranges; hence they are defined by aggregate functions, such as max, min,
and ∑. Similarly to AC action series, AC translation series can be repetitive.
Figura 1 presents a concentration plot of species S = {A0, A1, B} driven by reactions R0 and R1
as introduced in Section 2, using the rate constants k = 0.00325, k0 = 0.025, and k1 = 0.5. AC
actions occur at times t0, t100, and t200 as described in the caption. By applying the AC translation
198
Artificial Life Volume 19, Numero 2
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
Figura 1. Concentration plot of an artificial chemistry with species S = {A0, A1, B} and reactions R = {R0 : A1 + B → A0, R1 :
B → A1 with a catalyst A0}. AC actions are provided at time step t0: [A0] = [A1] = 2 M, E [B] = 10 M, t100: [B] = 10 M, E
t200: [B] = 10 M. The AC translation max([A1]) > max([A0]) interprets the output sequence as 1, 0, 0 (from left to right).
defined by max([A1]) > max([A0]) on the intervals t0
the output to the sequence 1, 0, 0.
– t99, t100
– t199, and t200
– t299, we translate
3 The Formal Perceptron
Artificial neural networks [44] are inspired by the coarse-grained behavior of biological neurons in
the brain. The perceptron is an early type of artificial neural network and one of the simplest systems
capable of learning [45].
A perceptron is a single neuron that processes a vector of input signals x ¼ ðx1; … ; xnÞ; xi 2 R,
and produces one output y based on the setting of its weights w = (w0, w1, … , wn) as shown in Figure 2.
More precisely, a perceptron first calculates the linear integration (the dot product) of weights w and
T
Figura 2. Model of a perceptron. An activation function f processes the dot product of weights and inputs w · x
, producing
output y.
Artificial Life Volume 19, Numero 2
199
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
N
: R → ½0; 1(cid:1) O
wi · xi, and then passes the result z to an activation function f
: R → ½−1; 1(cid:1), which produces the final output y. Note that the weight w0, called the bias or offset,
inputs x as z = ∑i=0
F
always contributes to an output, since its associated input x0 is a constant 1.
A perceptron can classify only linearly separable functions [37]—functions in which a straight line
O, in the general case, a hyperplane can divide the inputs into two classes. By combining several percep-
trons, we can construct a multilayer perceptron network, also known as a multilayer feed-forward net-
lavoro [21], that overcomes the linear separability problem and in fact becomes a universal approximator.
3.1 Apprendimento
Perceptron learning [44] is a type of supervised Hebbian learning [22] where a training data set T =
{(x1, d1), … , (xm, dm)} consisting of input-output pairs characterizes the target behavior of the sys-
tem. During each step of the learning process, a perceptron absorbs one training sample (X, D ). If
there is a discrepancy between the actual output y and the desired output d, the error is fed back to
the perceptron and triggers an adaptation of the participating weights. The adaptation of the weight
wi for the training sample (X, D ) at time t is defined as wi(T + 1) = wi(T ) + UN(d − y(T ))xi, dove il
learning rate a 2 (0, 1] represents the adaptation strength.
If an error is detected, questo è, if |d − y| > 0, the weight wi shifts toward the desired output if its
input signal xi is nonzero. Conversely, if an input xi = 0, the weight wi is not involved in the global
output y and therefore stays unaltered. Initially, the weights are set to small random values. IL
process of weight adaptation continues until the cumulative error of several consecutive training
samples drops below the error threshold, or alternatively a fixed number of iterations is reached.
3.2 Two-Input Binary Perceptron
In this article we model a specific type of perceptron: the two-input perceptron with binary inputs x1
and x2, and real-value weights w0, w1, and w2. The activation function f = sgn (hard delimiter) outputs
one if the dot product z = w0 + w1x1 + x2w2 is positive, and zero otherwise. Therefore, the linear
integration part is reduced to four cases as presented in Table 1a.
Tavolo 1. (UN) The relation of an input pair x1 and x2 to output y in the two-input binary perceptron. (B) Overview of the
modeling capabilities of the two-input binary perceptron restricted to positive or negative values of weights w0, w1, w2.
(UN)
sì
x2
0 w0 > 0
0 w0 + w1 > 0
1 w0 + w2 > 0
1 w0 + w1 + w2 > 0
x1
0
1
0
1
Weights
Binary functions
(B)
l
P
M
IO
C
N
1
X
T
O
N
l
P
M
IO
N
2
X
T
O
N
R
O
N
R
O
X
D
N
UN
N
D
N
UN
R
O
X
N
2
X
J
O
R
P
l
P
M
IO
1
X
J
O
R
P
l
P
M
IO
C
1
T
S
N
O
C
R
O
0
T
S
N
O
w2 C
−
X
X
X
X
X
X
X
X
X
X
X
+
−
+
−
+
−
+
X
X
X
X
X
X
X
X
X
X
X
X
X
w0
−
w1
−
−
−
−
+
+
+
+
−
+
+
−
−
+
+
200
Artificial Life Volume 19, Numero 2
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
Now, we investigate whether all weights must support both positive and negative values. Assume
= 9
= −10, w1
w0 is negative and w1 and w2 are positive. Then, for instance, the weights w0
= 13 the OR function. Tuttavia, NO
= −10, w1
model the AND function, and the weights w0
combination of negative w0 and positive w1 and w2 weight values can represent (per esempio.) the NAND func-
zione. Table 1b summarizes the limitations of all sign-weight combinations for a representation of
logic functions. It shows that each of the weights w0, w1, and w2 must support both positive and
negative values to implement a perceptron that can encompass all 14 linearly separable binary functions,
questo è, all binary functions except XOR and NXOR.
= 12, w2
= 7, w2
4 The Chemical Perceptrons
In this section we describe the implementation of the two-input perceptron by means of an artificial
chimica. We want to emphasize that there are many ways to approach this problem. Here we present
two models—the weight-loop perceptron and the weight-race perceptron—which represent two fun-
damental, substantially different techniques for a calculation of the weight sum and the zero threshold.
Before we describe the weight-loop and weight-race perceptrons in detail, first we need to formalize
the features shared by both models.
4.1 Species
The representation of the formal perceptronʼs variables by chemical species follows the scheme
presented in Section 2.1. Each variable of type Boolean needs 0-value and 1-value species, E
each variable of type Real splits into ⊕ and ⊖ species variants. Table 2a presents the core species
of a chemical perceptron, along with their mappings to the variables of the formal perceptron de-
scribed in Section 3.
0 and X2
The inputs x1 and x2 of type Boolean trigger different processing paths in the perceptron, based
1 A
on their values. Therefore, each input-variable value pair requires its own species: X1
1 to represent x2. Note that if a single species encoded an input vari-
represent x1, and X2
able, we would need to differentiate values 0 E 1 based on low versus high concentration, Quale
would lead to a more complicated design. Allo stesso modo, variables y and d are also Booleans, so the same
representation applies: Y 0, Y1 and D0, D1. Weights of the two-input binary perceptron need to sup-
port both positive and negative values (Table 1b), so each weight wi splits into two distinct positive
, where i 2 {0, 1, 2}. For simplification, we will use the
and negative variants, species Wi
name of a group or a subgroup to refer to all associated species as defined in Table 2a. Per esempio,
0,
1, X2
the species subgroup X1 includes both X1
1.
and X2
1, and the group X includes species X1
0 and X1
0 and X1
and Wi
0, X1
⊕
⊖
4.2 Binary-Function and Learning Modes
The chemical perceptron can function in two modes: binary-function mode and learning mode. Nel
binary-function mode, the perceptron basically acts like a logic gate; it takes two inputs X1 and
X2, and produces an output Y. The second learning mode is built on top of the output production,
so again inputs must be present. The learning is triggered by the desired-output molecules D. Once
output Y is produced, it is compared against D, and if they differ (cioè., Y 0 is produced but D1 is
expected, or vice versa), positive- or negative-weight molecules are created and added to existing
ones, to modify the weights.
After each learning iteration, the perceptron needs to recover to its steady state. Hence, transient
species not consumed during the chemical computation must be removed by some cleanup reaction
such as decay, because there is no external cleanup. Only the weight species form the persistent state of
the chemical perceptron; hence, all other species are considered transient. Since decay and annihilation
reactions would break the mass-conservation principle, we assume that instead of nothing (E), an inert
by-product is produced.
Artificial Life Volume 19, Numero 2
201
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
Tavolo 2. (UN) The core species of the chemical perceptron with the mapping to the variables of a perceptron. Each variable
is either of type Boolean with the domain {0, 1}, or Real with the domain R. The nonzero concentration of species
represents a value of the variable on a domain subset as specified by the domain restriction column. The name of a group
or subgroup is used to refer to the associated species. (B) The extra species of the weight-loop perceptron, which do not
map to the variables of a formal perceptron: the processed weights W, and the fuel E. Again, the name of a group or
subgroup is used to refer to the associated species.
Group
Subgroup
Variable
Domain
Species
Domain restriction
Group
Subgroup
(UN)
(B)
W
W 0
W 1
W 2
E
X
Y
D
W
X1
X2
W0
W1
W2
x1
x2
sì
D
w0
w1
w2
{0, 1}
{0, 1}
{0, 1}
{0, 1}
R
R
R
0
X1
1
X1
0
X2
1
X2
Y0
Y1
D0
D1
⊕
W0
⊖
W0
⊕
W1
⊖
W1
⊕
W2
⊖
W2
x1 = 0
x1 = 1
x2 = 0
x2 = 1
y = 0
y = 1
d = 0
d = 1
w0 > 0
w0 < 0 w1 > 0
w1 < 0 w2 > 0
w2 < 0
Due to the multiplicity of input, output, desired-output, and weight species, reactions of the same
type are collected into groups, which simplifies the reasoning as well as the simulation of the chem-
ical perceptron. Reactions belonging to the same group share common structural characteristics,
catalysts, and inhibitors, as well as rate constants.
In the following sections we present the species and reactions of the weight-loop and weight-race
perceptrons. The actual setting of the reaction rate constants, which is optimized by the genetic
algorithm, is discussed separately in Section 6.
4.3 Weight-Loop Perceptron
The weight-loop perceptron follows the formal perceptron definition from Section 3 quite rigorously.
It consists of 21 species and 34 reactions. Apart from the core species defined in Section 4.1, the
; i 2 f0; 1; 2g, and fuel
weight-loop perceptron requires the processed-weight species W
species E (Table 2b).
and W
⊕
i
⊖
i
202
Artificial Life Volume 19, Number 2
Species
W ⊕
0
W ⊖
0
W ⊕
1
W ⊖
1
W ⊕
2
W ⊖
2
E
l
D
o
w
n
o
a
d
e
d
f
r
o
m
h
t
t
p
:
/
/
d
i
r
e
c
t
.
m
i
t
.
e
d
u
a
r
t
l
/
/
l
a
r
t
i
c
e
-
p
d
f
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
a
r
t
l
/
_
a
_
0
0
1
0
5
p
d
.
f
b
y
g
u
e
s
t
t
o
n
0
7
S
e
p
e
m
b
e
r
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
The weight-loop perceptron computes the weight sum directly by transforming weights W into
output species Y. The problem is that the weights encode the state of the perceptron, so their
concentration must be preserved. Therefore, apart from Y species, the perceptron must also create
backup copies of the weights, W . The perceptron can then restore its weights after the output produc-
tion is over. A reaction Wi → W i þ Y followed by W i → Wi would break the mass-conservation law,
so the perceptron needs to consume a fuel, species E, which is provided to the system at constant
concentration 1 M. From a functional perspective, the perceptron sequentially processes an input,
produces an output, recovers weights, and finally performs a cleanup (Figure 3).
1, X2
0, X1
1, the weight W2 on input X2
The perceptron starts working when inputs X1 and X2 are injected into the system. The per-
1, and the weight W0, in
ceptron processes the weight W1 on input X1
1, formally encoding x1 = 1, catalyzes ⊕ and ⊖
parallel, producing Y 0 and Y1 molecules. Species X1
versions of reaction W1 þ E → W 1 þ Y . Similarly, species X2
1, which represents x2 = 1, catalyzes
W2 þ E → W 2 þ Y . Since the weight W0 always contributes to the sum regardless of input, each of
1 catalyzes W0 þ E → W 0 þ Y . In order to determine whether
the possible inputs X1
the total concentration of Ys is above or below the zero threshold, we let Y 0 annihilate with Y1. If there
are more Y 0 molecules at the end, the output is 0; otherwise 1. Weights could alternate between the
normal version W and the processed version W , each time consuming a fuel E and producing new
Y molecules. To prevent a continuous cycling of the weights, the weight-loop perceptron must ensure
that there is no input present before it rolls the weights back. That is, input species must decay, and
the processed weights roll back only when substantial amounts of inputs are gone—that is, inputs act
as inhibitors on W → W reactions. The output molecules Y are removed from the system by a decay.
Table 3a presents the full set of reactions with associated catalysts and inhibitors.
0, and X2
Only eight reactions are needed for the learning part (Table 3a, groups 9–11). During each learning
step, the actual output Y is compared against the desired output D. If Y matches D (i.e., the substances
Y0 and D0, or Y1 and D1, are simultaneously present in the system), the output is correct. In this
case, no learning is needed and the weights remain unaltered. Otherwise, the desired-output species
D transforms to ⊕ or ⊖ versions of the weight species W, but only for those participating in an output
production for current inputs. Thus, an input and an output together catalyze the D → W reactions,
so they are dependent (AND) catalysts (Table 3a, group 11).
For instance, if the perceptron produces the output Y 0 for the input species X1
⊕
desired output D1 is injected, then reactions D1 → W2
⊕
and D1 → W0
1, but the
⊕
are triggered, and weights W2
0 and X2
l
D
o
w
n
o
a
d
e
d
f
r
o
m
h
t
t
p
:
/
/
d
i
r
e
c
t
.
m
i
t
.
e
d
u
a
r
t
l
/
/
l
a
r
t
i
c
e
-
p
d
f
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
a
r
t
l
/
_
a
_
0
0
1
0
5
p
d
.
f
b
y
g
u
e
s
t
t
o
n
0
7
S
e
p
e
m
b
e
r
2
0
2
3
Figure 3. Qualitative diagram of the weight-loop perceptronʼs reactions. Each node represents a group of species, solid
lines are reactions, squares are reaction rates, and dashed lines with a + sign are catalyses. (a) In the binary function mode,
the input species X trigger (catalyze) a reaction W þ E → W þ Y, which consumes weight W and fuel E, and produces
output Y and a backup copy of the weight, W. After the output is produced, the weight-loop chemical perceptron
recovers the weights by reactions W → W. (b) In the learning mode, the desired-output species D0 or D1 transforms
to weights W, if the provided variant does not match the actual output, Y 0 or Y1.
Artificial Life Volume 19, Number 2
203
P. Banda et al.
Online Learning in a Chemical Perceptron
Table 3. (a) Reactions of the weight-loop perceptron with associated catalysts and inhibitors. (b) Reactions of the weight-
race perceptron with associated catalysts. Reactions are divided into the groups according to the common functional char-
acteristics. Reaction types are C (conversion), A (annihilation), D (decay).
(a)
(b)
Group Type
Reaction
0 þ E → W ⊕
0 þ Y1
C W ⊕
Catalysts
Inhibs
Group
Type
Reaction
Catalysts
X
X
X1
1
X1
1
X2
1
X2
1
X1
0
X1
0
X2
0
X2
0
1
C
0 → Y1
X1
0 → Y 0
X1
0 → Y1
X2
0 → Y 0
X2
1 → Y1
X1
1 → Y 0
X1
1 → Y1
X2
1 → Y 0
X2
2
D
0 → E
X1
0 → E
X1
0 → E
X2
0 → E
X2
3
C
1 → Y1
X1
1 → Y 0
X1
1 → Y1
X2
1 → Y 0
X2
4
C
⊕
W0
+ W0
⊖ → E
X
X
X
X
X
X
⊕
W0
⊖
W0
⊕
W0
⊖
W0
⊕
W0
⊖
W0
⊕
W0
⊖
W0
⊕
W0
⊖
W0
⊕
W0
⊖
W0
⊕
W1
⊖
W1
⊕
W2
⊖
W2
W1
⊕ + W1
⊖ → E
W2
⊕ + W2
⊖ → E
l
D
o
w
n
o
a
d
e
d
f
r
o
m
h
t
t
p
:
/
/
d
i
r
e
c
t
.
m
i
t
.
e
d
u
a
r
t
l
/
/
l
a
r
t
i
c
e
-
p
d
f
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
a
r
t
l
/
_
a
_
0
0
1
0
5
p
d
.
f
b
y
g
u
e
s
t
t
o
n
0
7
S
e
p
e
m
b
e
r
2
0
2
3
W ⊖
0 þ E → W ⊖
0 þ Y0
C W ⊕
1 þ E → W ⊕
1 þ Y1
W ⊖
1 þ E → W ⊖
1 þ Y0
W ⊕
2 þ E → W ⊕
2 þ Y1
W ⊖
2 þ E → W ⊖
2 þ Y0
C W ⊕
1
→ W ⊕
1
W ⊖
1
→ W ⊖
1
W ⊕
2
→ W ⊕
2
W ⊖
2
→ W ⊖
2
C W ⊕
0
→ W ⊕
0
W ⊖
0
→ W ⊖
0
W ⊕
1
→ W ⊕
1
W ⊖
1
→ W ⊖
1
W ⊕
2
→ W ⊕
2
W ⊖
2
→ W ⊖
2
A W0
⊕ + W0
⊖ → E
⊕
W1
+ W1
⊖ → E
W2
⊕ + W2
⊖ → E
1
2
3
4
5
6
A
Y 0 + Y1 → E
5
6
A
D
Y 0 + Y1 → E
Y 0 → E
Y1 → E
204
Artificial Life Volume 19, Number 2
P. Banda et al.
Table 3. (continued).
Online Learning in a Chemical Perceptron
(a)
(b)
Group Type
Reaction
Catalysts
Inhibs
Group
Type
Reaction
Catalysts
7
D X
0 → E
1
8
9
10
11
1 → E
X1
0 → E
X2
1 → E
X2
D Y 0 → E
Y1 → E
D D0 → E
D1 → E
C
⊖
D0 → W0
⊕
D1 → W0
C
⊖
D0 → W1
⊖
D0 → W2
⊕
D1 → W1
⊕
D1 → W2
Y1
Y 0
Y1, X1
1 (AND)
Y1, X2
1 (AND)
Y 0, X1
1 (AND)
Y 0, X2
1 (AND)
7
8
9
D
C
C
D0 → E
D1 → E
⊖
D0 → W0
⊕
D1 → W0
⊖
D0 → W1
⊖
D0 → W2
⊕
D1 → W1
⊕
D1 → W2
Y1
Y 0
Y1, X1
1 (AND)
Y1, X2
1 (AND)
Y 0, X1
1 (AND)
Y 0, X2
1 (AND)
l
D
o
w
n
o
a
d
e
d
f
r
o
m
h
t
t
p
:
/
/
d
i
r
e
c
t
.
m
i
t
.
e
d
u
a
r
t
l
/
/
l
a
r
t
i
c
e
-
p
d
f
/
⊕
and W0
are produced and added to (or annihilate with) existing weights. The strength of the adaptation
(i.e., the learning rate a) is incorporated into the concentration of the desired output species D. For
example, if 10 M of D1 is injected into the system in the previous example, that 10 M is distributed
⊕
(a small amount of D1 actually disappears because of a decay
between production of W0
reaction).
⊕
, and W2
Since the system is open and weights W can switch reversibly to W , consuming a fuel E provided
from outside, an infinite loop might emerge, in which the concentrations of Y molecules increase
without bound. The correct timing of phases is crucial for avoiding this problem.
4.4 Weight-Race Perceptron
The functioning of the weight-loop perceptron is based on rather conservatively designed phases
working in a sequence. This approach works well, since there is almost a one-to-one relation between
the routines of the formal perceptron and those of the chemical perceptron. Nevertheless, the idea of
direct calculation of the weight sum and recovering the original state seems unnecessarily cumbersome
for a chemical system.
The weight-race perceptron improves on the weight-loop model by switching the chemical roles
of inputs and weights—that is, instead of having inputs catalyzing a transformation of weights to a
weight sum, which determines an output, weights simply catalyze the input-to-output reactions as
Artificial Life Volume 19, Number 2
205
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
a
r
t
l
/
_
a
_
0
0
1
0
5
p
d
.
f
b
y
g
u
e
s
t
t
o
n
0
7
S
e
p
e
m
b
e
r
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
Figure 4. Qualitative diagram of the weight-race perceptronʼs reactions. Each node represents a group of species, solid
lines are reactions, squares are reaction rates, and dashed lines with + sign are catalyses. (a) In the binary-function mode,
the weights W catalyze (compete on) the input-to-output reactions X → Y. (b) In the learning mode, the desired-output
species D0 or D1 transforms to weights W if the provided variant does not match the actual output, Y 0 or Y1.
presented in Figure 4. Thus, the perceptron does not compare weights directly, but lets them com-
pete on input-to-output reactions as catalysts, so it basically implements a rate (derivation-based)
comparison. For this to work, species Y 0 must annihilate with Y1 quickly, racing must be simultaneous,
and the rate functions must have similar shapes.
⊖. Similarly, weight W2 drives two reactions, in which X2
The weight-race chemical perceptron consists of 14 species and 30 reactions. Input species X1
and X2 are transformed directly to Y 0 or Y1, depending on the signs of the currently present
1 → Y 0 for variant
weights. Weight W1 solely catalyzes reaction X1
1 is the reactant. Since weight W0 is always
W1
active, it drives all possible input-to-output reactions. Weights catalyze the reactions concurrently, so
the one with the highest concentration consumes the largest portion of an input and therefore has
the highest contribution in an output. Analogously to the weight-loop model, an annihilation of Y1
and Y 0 decides whether the concentrations of the Yʼs are above or below the zero threshold. The
full set of reactions with associated catalysts is presented in Table 3b. The learning part is the same as
in the weight-loop model.
1 → Y1 for variant W1
⊕, and X1
If the weight-race perceptron is to treat all weights equally, it must ensure that the weight race is
fair. Following the formal perceptron definition, the contribution of weights in the sum must be
uniform, meaning there is no preference among weights. Apart from the concentrations of weights,
the reaction rate constants determine the actual speed of the input consumption. Now, if all weights
have the same sign, then it does not matter what rate constants are set, so let the qualitative state of
⊕
⊖
, W1
the perceptron be W0
0 and X2
For inputs X1
⊖
competes with W1
⊕
is active, so there is no racing. The weight W0
⊕
1; however, W0
is privileged, since it consumes
(Figure 5).
⊕
0, only the weight W0
for inputs X1
⊖
, and W2
⊖
and W2
1 and X2
Figure 5. The input-output precessing of the weight-race perceptron for positive W0 and negative W1 and W2 weights
and for inputs: (a) (0, 0), (b) (1, 0), (c) (0, 1), (d) (1, 1).
206
Artificial Life Volume 19, Number 2
l
D
o
w
n
o
a
d
e
d
f
r
o
m
h
t
t
p
:
/
/
d
i
r
e
c
t
.
m
i
t
.
e
d
u
a
r
t
l
/
/
l
a
r
t
i
c
e
-
p
d
f
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
a
r
t
l
/
_
a
_
0
0
1
0
5
p
d
.
f
b
y
g
u
e
s
t
t
o
n
0
7
S
e
p
e
m
b
e
r
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
⊖
1 at the same time. Note that W1
1 and X2
X1
⊕
problem we have to penalize W0
⊕
Y1, both catalyzed by W0
preference of the weights is balanced.
consumes just X1
by setting the rate constants of the reactions X1
⊖
1. To avoid this
1 →
to 2y. As a result, the contribution
1 → Y1 and X2
just X2
⊖
and W2
, to y, and those catalyzed by W1
⊖
1, and W2
1 and X2
⊕
0, where W0
⊖
drives two, but W1
A new problem emerges for inputs X1
⊕
0 molecules will change to Y1. To balance the preference of W0
⊕
0, such that exactly two-thirds is taken away. In order to do that, W0
just one reaction.
1 reactions follow the two-to-one rate constant ratio, whatever constant is assigned to
⊕
0 → Y1 catalyzed by W0
, since eventually all
we need to introduce a decay of
0 →
must catalyze not just X2
0 → E with the rate constant 2y. That is the reason
0
0 and X2
Even if the X1
the reaction X2
X2
X2
Y1 with the rate constant y, but also the decay X2
why the reaction set of the weight-race perceptron contains a decay of the input species X1
(Table 3b, group 2).
⊕
will result in an unfair advantage for W0
The two-to-one ratio of rate constants must hold if the goal is to model the perceptron with no
preference among weights. However, as we show in Section 6, if the weight-race perceptron does
not obey this ratio and has a bias on a particular weight, it can still perform well.
Compared to the previous model, the weight-race perceptron is substantially simpler. It is mini-
mal in number of species (only the core set is used), and it contains just 30 reactions, without any
inhibition. Unlike the weight-loop perceptron, the system does not need any externally supplied fuel
species. In fact, the input species adopt this role, so they are essentially an information and energy
source.
5 Specifying Execution Settings
We have introduced the chemical perceptron models structurally as collections of species and reactions
with catalysts and inhibitors. Now, we shall specify the setting of executions (or chemical experiments)
in terms of the action series and the translation series (Section 2.2).
5.1 Binary-Function Modeling
Since the input processing and the output production take some time, we cannot inject input species
X1 and X2 immediately after the previous pair, but we have to wait for a certain number of simulation
steps, S = 5,000. In the binary-function mode, the first action at time t0, handling an initialization sets
the weights W according to the target logic function. Then every S steps we execute one of the four
actions (one per input pattern) for the weight-loop perceptron:
(cid:127) [X1
(cid:127) [X1
(cid:127) [X1
(cid:127) [X1
0] = 1 M, [X2
1] = 1 M, [X2
0] = 1 M, [X2
1] = 1 M, [X2
0] = 1 M,
0] = 1 M,
1] = 1 M,
1] = 1 M.
In the weight-loop perceptron, inputs serve as catalysts of the weight-to-output reactions, which
consume fuel species E. Since the weight-race perceptron directly transforms input species to output
species, the concentration of inputs must be higher:
(cid:127) [X1
(cid:127) [X1
(cid:127) [X1
(cid:127) [X1
0] = 2 M, [X2
1] = 2 M, [X2
0] = 2 M, [X2
1] = 2 M, [X2
0] = 2 M,
0] = 2 M,
1] = 2 M,
1] = 2 M.
Artificial Life Volume 19, Number 2
207
l
D
o
w
n
o
a
d
e
d
f
r
o
m
h
t
t
p
:
/
/
d
i
r
e
c
t
.
m
i
t
.
e
d
u
a
r
t
l
/
/
l
a
r
t
i
c
e
-
p
d
f
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
a
r
t
l
/
_
a
_
0
0
1
0
5
p
d
.
f
b
y
g
u
e
s
t
t
o
n
0
7
S
e
p
e
m
b
e
r
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
Figure 6 presents simulations of the weight-loop perceptron and the weight-race perceptron,
each computing the NAND function on four consecutive inputs.
5.2 Learning
In learning mode, the initial concentrations of weights are generated randomly in the interval 2–10 M,
with equal probability of selecting positive and negative variants. A learning rate a, which is constant
throughout the whole training, is incorporated into the concentration of the desired output D.
The original definition of perceptron learning (Section 3) adjusts weight wi by Dwi = a(d − y)xi for a
given output y and desired output d. Assuming d 6¼ y, each weight participating in the output production
increments by Dw = a(d − y). Since the sign of the weight sum fully determines output, weight adapta-
tion is stronger for inputs with the higher number of ones. For instance, the weight sum is adjusted by
Dw for input (0, 0), but by 3Dw for input (1, 1), as shown in Table 4a.
l
D
o
w
n
o
a
d
e
d
f
r
o
m
h
t
t
p
:
/
/
d
i
r
e
c
t
.
m
i
t
.
e
d
u
a
r
t
l
/
/
l
a
r
t
i
c
e
-
p
d
f
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
a
r
t
l
/
_
a
_
0
0
1
0
5
p
d
.
f
b
y
g
u
e
s
t
t
o
n
0
7
S
e
p
e
m
b
e
r
2
0
2
3
Figure 6. Simulation of the NAND function on four different combinations of the input species by (a) the weight-loop
⊖
⊕
⊖
] = 3 M, and (b) the weight-race
] = 2 M, and [W2
] = 6 M, [W1
perceptron with initial weight concentrations [W0
⊖
⊖
⊕
] = 4 M, and [W2
] = 3.5 M. From top to bottom:
] = 0.3 M, [W1
perceptron with initial weight concentrations [W0
1, and concentrations of output Y
0 and X2
1, concentrations of input species X2
concentrations of input species X1
and weight species W. By applying the translation that compares the maximal concentrations of Y1 and Y 0 in the four
intervals 5,000 steps long, we obtain the NAND output sequence 1, 1, 1, 0.
0 and X1
208
Artificial Life Volume 19, Number 2
P. Banda et al.
Online Learning in a Chemical Perceptron
Table 4. The adaptation of a weight sum during learning by a two-input binary perceptron for four inputs: (a) a uniform
adaptation of individual weights, (b) a uniform adaptation of the weight sum.
x1
0
1
0
1
(a)
Adapted weight sum
w0 + Dw
w0 + w1 + 2Dw
w0 + w2 + 2Dw
w0 + w1 + w2 + 3Dw
x2
0
0
1
1
x1
0
1
0
1
(b)
Adapted weight sum
w0 + Dw
w0 + w1 + Dw
w0 + w2 + Dw
w0 + w1 + w2 + Dw
x2
0
0
1
1
In the chemical perceptron, the concentration of the desired output is divided between weights;
hence the weight adaptation of the original perceptron would correspond to the concentration
profile of the desired output for four consecutive inputs: [D] = a, [D] = 2a, [D] = 2a, [D] =
3a. Our simulations proved that this unfairness results in a split of performance for function pairs,
such as CONST0, CONST1 or AND, NAND. Since these functions are the inverse of each other, the
chemical perceptron should learn them with the same success.
Essentially, the uniform adaptation of individual weights causes a bias in the weight adaptation.
To avoid that, we do not adapt individual weights, but the whole weight sum uniformly for all inputs,
as presented in Table 4b. More specifically, the chemical perceptron divides Dw, the concentration of
the desired output D among weights, so the whole weight sum is adjusted by Dw. Note that a small
amount of the desired output disappears because of a decay.
The concentration of the desired-output species D is constant for all inputs in the chemical per-
ceptron. By experiments we determined that the optimal concentration of D is 2 M. If the concen-
tration was too high, the weights would oscillate and would not converge on a stable solution.
Conversely, a low concentration of D prolongs the learning process and does not provide enough
pressure to drive weights out of the zero region if their concentrations are very low.
As opposed to our chemical perceptron, the biased adaptation in the original formal perceptron
does not cause substantial problems, because the weight sum is further processed by an activation
function and the learning rate a decreases over time. As a result, small differences in the weight
adaptation become unimportant.
Let f : {0, 1} × {0, 1} → {0, 1} be a target two-input logic function, which we wish to teach to
the perceptron. By D f (x1, x2) we denote species D0 if f(x1, x2) = 0 or D1 if f(x1, x2) = 1. The training
set of the weight-loop perceptron consists of four actions:
(cid:127) [X1
(cid:127) [X1
(cid:127) [X1
(cid:127) [X1
0] = 1 M, [X2
1] = 1 M, [X2
0] = 1 M, [X2
1] = 1 M, [X2
0] = 1 M, [D f (0,0)] = 2 M,
0] = 1 M, [D f (1,0)] = 2 M,
1] = 1 M, [D f (0,1)] = 2 M,
1] = 1 M, [D f (1,1)] = 2 M.
Similarly, the training set of the weight-race perceptron is:
(cid:127) [X1
(cid:127) [X1
(cid:127) [X1
(cid:127) [X1
0] = 2 M, [X2
1] = 2 M, [X2
0] = 2 M, [X2
1] = 2 M, [X2
0] = 2 M, [D f (0,0)] = 2 M,
0] = 2 M, [D f (1,0)] = 2 M,
1] = 2 M, [D f (0,1)] = 2 M,
1] = 2 M, [D f (1,1)] = 2 M.
Artificial Life Volume 19, Number 2
209
l
D
o
w
n
o
a
d
e
d
f
r
o
m
h
t
t
p
:
/
/
d
i
r
e
c
t
.
m
i
t
.
e
d
u
a
r
t
l
/
/
l
a
r
t
i
c
e
-
p
d
f
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
a
r
t
l
/
_
a
_
0
0
1
0
5
p
d
.
f
b
y
g
u
e
s
t
t
o
n
0
7
S
e
p
e
m
b
e
r
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
Learning consists of a series of actions, each randomly chosen from the training set and performed
every S steps. The total number of actions, L, per action series is Lf = 120 for the fitness evaluation
(Section 6), and Lp = 200 for the learning performance and robustness analysis (Sections 7.1 and 7.2),
so the perceptron runs for either S × Lf = 6 × 105 or S × Lp = 106 time steps.
If we injected inputs together with the desired output at the same time, the adaptation of the
weights would start immediately, changing the actual output, so the actual output would differ from
the one we would obtain by providing only input species. In the extreme case, the chemical perceptron
could just copy the desired output to the actual output by having very low concentrations of weights.
To prevent this, we inject an input, wait a certain number of steps, measure the output, and then
provide the desired output. Note that a reaction D → W requires both catalysts, the input species
X and the output species Y, to have a sufficient concentration at the moment of weight adaptation.
Therefore, we must allow enough time for the output production, but we cannot postpone the in-
jection of D for too long; if we did, the chemical perceptron would process or decay all input species.
We found experimentally that this delay can be fairly short. More precisely, in our learning simulations
we inject the desired output 100 steps after the input species.
Now, the only question is how to interpret the output, or in other words, how the concentrations
of species Y 0 and Y1 translate to the value of the variable y from the formal definition. Since y is a
Boolean variable, the translation compares the concentrations of value-0 species and value-1 species
just before a desired output is injected. Hence, the value of the variable y is defined as [Y1] > [Y 0] at
relative time step 99.
6 Choosing Rate Constants
Since the number of rate constants of the chemical perceptrons is very large, it would be difficult and
time-consuming to set them manually in a trial-and-error fashion or by exhaustive search. We therefore
optimize the setting of the rate constants by employing a standard genetic algorithm (GA) [14, 43].
Because the reactions from the same group are structurally similar and in fact they share the same
rate constants, the total number of representative rate constants constituting a possible solution, known
as a chromosome, can be reduced substantially: from 68 A 21 for the weight-loop and from 52 A 14 for
the weight-race perceptron. Figura 7 shows the chromosome structure for both perceptrons.
The fitness of a chromosome is evaluated as the performance of a chemical perceptron with the
given rate constants (from the chromosome) on the binary-function learning task. Whether a chemical
perceptron has learned a given function depends primarily on its final state; hence, the fitness embraces
the performance for only the last steps. More precisely, the fitness is the Hamming distance between
the last P = 20 translated actual outputs yL−P, … , yL and the desired outputs dL−P, … , dL. Because
each learning action series starts with a random setting of weight concentrations, we calculate the fit-
ness over 30 runs for each of the 14 functions.
Due to the nondeterministic nature of the action series, we find the fitness score more compar-
able across the current population if the chromosomes obtain the same problem instances by pre-
evaluating action series. The GA combines elite selection with one point crossover and per-element
(rate constant) mutation. Since only certain values of rate constants are plausible, we restrict their
value ranges for the mutation and the generation of the initial population as shown in Table 5. IL
Figura 7. The structure of the chromosome holding the rate constants of (UN) the weight-loop perceptron, (B) the weight-
race perceptron. The rate constants (chromosome elements) are shared among reactions within the reaction group
(RG) as defined in Table 3.
210
Artificial Life Volume 19, Numero 2
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
Tavolo 5. The bounds that restrict the value ranges of rate constants during mutation, and the generation of initial
population in GA. They are specified for three reaction types: mass-action, catalysis, and inhibition.
Type
Reaction
Rate
Rate constant bounds
Mass-action
S → P
Catalysis
E + S ⇌ ES → E + P
k[S]
kcat½E(cid:1)½S(cid:1)
Km þ ½S(cid:1)
E + S1 + S2 ⇌ ES → E + P1 + P2
kcat½E(cid:1)½S1(cid:1)½S2(cid:1)
Km þ k1½S1(cid:1) þ k2½S2(cid:1) þ ½S1(cid:1)½S2(cid:1)
Inhibition
IO + S → I + P
k½S(cid:1)
1 þ Ki½I(cid:1)
k 2 [0, 0.5]
kcat 2 [0, 0.5]
Km 2 [0, 5]
k1, k2 2 [0, 1]
Ki 2 [0, 40]
setting and constants of the GA are: population size M = 100, elite size E = 20, crossover prob-
ability pc = 0.9, per-element mutation probability pm = 0.2, uniform mutation strength sm = 0.5, E
generation limit G = 40.
The GA reaches solutions with fitness above 0.9 within a couple of generations, and then it
continues at a slower pace toward the maximum fitness of 1, which is reached around generation
20 for both perceptrons (Figura 8). Since the learning action series are random and the simulation
cost of a more precise fitness evaluation of each chromosome is too high, small fluctuations of the
fitness occur even after the maximum has been reached. This is, Tuttavia, not critical, since the best
chromosomes found by the GA (Tavolo 6) can learn all linearly separable logic functions with a 100%
correct rate, as demonstrated in Section 7.1.
Overall, the fitness landscape of the rate constants for both perceptrons has the shape of a high
plateau; hence, finding acceptable rate constants is not difficult. This demonstrates that our structural
design of the chemical perceptrons in terms of species and reactions already provides correct behavior,
and the perceptrons do not need to rely on the specific rate constants. Infatti, we show in Section 7.2
that both models are extremely robust to the perturbation of rate constants.
We want to stress that in this article we consider the GA as just a tool, rather than an objective of
our research. Since our GA setting produced satisfactory results, we have not explored optimization
of the evolutionary process any further.
Figura 8. The best and average fitness of chromosomes representing rate constants during a single evolutionary run for:
(WLP) the weight-loop perceptron, (WRP) the weight-race perceptron.
Artificial Life Volume 19, Numero 2
211
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
Tavolo 6. The rate constants of the best chromosome found by the GA, rounded to four decimal places.
Weight-loop perceptron
Weight-race perceptron
Reaction group
Rate constant
1
2
3
4
5
6
7
8
9
k1
k2
k3
k4
k5
k6
k7
k8
k9
k10
k11
k12
k13
k14
Value
0.0972
4.7912
0.0019
5.0000
0.0081
3.0102
0.5000
0.5000
0.0011
0.0132
0.0265
1.8421
0.3786
0.0477
Reaction group
Rate constant
1
2
3
4
5
6
7
8
9
10
11
k1
k2
k3
k4
k5
k6
k7
k8
k9
k10
k11
k12
k13
k14
k15
k16
k17
k18
k19
k20
k21
Value
0.0838
3.7116
0.2686
0.4393
0.1630
0.4358
0.5058
0.7404
0.0974
4.5073
0.0093
8.3625
0.2448
0.4249
0.0115
0.0009
0.0018
0.0710
0.3033
0.5000
0.1955
In Section 4.4 we demonstrated that the weight-race perceptron must follow the two-to-one rate
constant ratio of X → Y reactions for the weights W1 and W2 versus the weight W0, if the goal is to
model the formal perceptron, where the weights contribute equally to the weight sum. Nonetheless, rate
constants that do not obey this ratio can still perform well. Infatti, the best rate constants (chromosome)
obtained by the GA (Tavolo 6, right) makes the weight W0 catalyze input-to-output reactions more
strongly than the rest of the weights. Note that all reactions for weight species W1 and W2 are sym-
metric. The weight-race perceptron balances this preference by a lower consumption of desired output
212
Artificial Life Volume 19, Numero 2
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
molecules D for an adaptation of weight W0. Ancora, because of the linearity and monotonicity of adaptation,
the feedback loop adjusts the weights correctly regardless of the weight preference.
7 Results
7.1 Learning Performance
We evaluated the performance of both the weight-loop perceptron and the weight-race perceptron
with the best rate constants found by the GA. Similarly to the fitness evaluation, the perceptrons
were run against 14 action series; Tuttavia, in order to achieve higher precision, this process was
repeated 104 times as opposed to 30 times for the fitness evaluation, and each action series consisted
of Lp = 200 as opposed to Lf = 120 actions (training iterations).
Figura 9 shows the weight-loop and the weight-race perceptron learning the NAND function. IL
training starts by the setting of weights as the constant 0 function. Dopo 16 training iterations (8 ×
104 time steps), both perceptrons successfully adapt to the NANDʼs input-output characteristics. Fur-
⊖
thermore, they smoothly handle the transition from W0
species and low concentration of the
output species. An interesting feature is that a chemical perceptron continues to improve its weights even
after the qualitative 1, 1, 1, 0 solution is found, trying to further strengthen the output signal.
⊕
to W0
Figura 10 presents the performance for all linearly separable binary functions averaged over 14 ×
104 runs. The results show that both chemical perceptrons can successfully learn 14 logic func-
tions and reach the perfect score of 100% in all cases. The average error of each perceptron is
−3% after 120 training iterations. The error occurs when the concentrations of weights
around 6 × 10
⊕
with opposite signs, such as W0
, are (almost) identical. Then the perceptron does not
produce enough output to catalyze weight adaptations and learning slows down. Tuttavia, Questo
⊖
and W1
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
Figura 9. Training of the weight-loop perceptron (UN) and the weight-race perceptron (B) to perform the NAND function
starting from the CONST0 setting: top, adaptation of weights with the initial concentrations [W0
⊖
⊖
⊖
] =
] = 4, [W2
] = 3, [W1
5; bottom, output of the perceptron during a training. Constant 0s gradually change to the NAND function outputs 1, 1, 1,
0. Note that we have replaced a random order of training samples by a fixed order and reduced the number of training
iterations (actions) from Lp = 200 A 16, solely for demonstration purposes.
Artificial Life Volume 19, Numero 2
213
P. Banda et al.
Online Learning in a Chemical Perceptron
Figura 10. Mean and standard deviation of the 14 correct learning rate averages: WLP, weight-loop perceptron; WRP, weight-
race perceptron. Each average corresponds to one linearly separable binary function, for which 104 runs were performed.
situation is rather sporadic, and after running the perceptron for 80 more learning iterations, IL
error disappeared.
7.2 Robustness Analysis
The chemical perceptrons perform almost identically. Inoltre, their behaviors are also very similar
under perturbation of the rate constants. The perturbation strength p defines how much the con-
stants can change. Given p, each rate constant is perturbed uniformly over the interval (0, P). Così,
for a perturbation q 2 (0, P) a rate constant g changes to (1 ± q)G, where increment and decrement
have equal probability. The perturbation is not limited by the bounds used for the GA (Tavolo 5);
nonetheless, when p > 1, a perturbation to a negative value is replaced by zero, since the rate con-
stants cannot be negative.
We analyzed the robustness of perceptrons with the best rate constants only. As presented in
Figura 11, the chemical perceptrons maintain high robustness; even for p = 0.5, the mean correct
rate after 200 learning iterations is 98.98% for the weight-loop perceptron and 99.34% for the
weight-race perceptron. The main difference between the perceptrons in robustness occurs with
high perturbation strengths, at which the weight-loop perceptron becomes slightly more vulnerable.
For p = 2.0 the performance of the weight-loop perceptron even drops below 50%, which is a sign
that the concentration of output species rises beyond the maximal limit in some simulations. Recall
that for the weight-loop perceptron this situation might happen due to an open fuel influx.
7.3 Model Comparison
Tavolo 7 summarizes the attributes of our perceptron models. They perform almost identically and have
very similar robustness characteristics; nonetheless, the weight-race perceptron is simpler, because it
consists of fewer species and reactions and does not require any inhibition. D'altra parte, IL
weight-loop perceptron is a closer match to the formal perceptron.
8 A Biochemical Implementation
One potential framework for a biochemical implementation of our chemical models, especially the
weight-race perceptron, is DNA strand displacement [53]. The use of DNA allows one to pick arbi-
trary sequences to stand for an arbitrary species from an artificial chemistry. In strand displacement
214
Artificial Life Volume 19, Numero 2
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
Figura 11. Mean and standard deviation of the 14 final correct rate averages under the perturbation of rate constants
after 200 learning iterations: WLP, weight-loop perceptron; WRP, weight-race perceptron. Each average corresponds to
one linearly separable binary function, for which 104 runs were performed. Given perturbation strength p, each rate
constant is perturbed uniformly over the interval (0, P).
systems, populations of these species are typically represented by the populations of single-stranded
DNA molecules. These interact with double-stranded gate complexes, which mediate transformations
between free signals. Soloveichik et al. [46] proved that a strand displacement circuit can approximate,
with arbitrarily small error, any artificial chemistry based solely on mass-action kinetics. This offers a way
to derive a DNA implementation of our perceptron models. Primo, we would need to translate the whole
model into mass-action kinetics. The catalytic reactions that we previously modeled using Michaelis-
Menten kinetics could be handled by expanding out the full set of enzymatic reactions. On the other
side, the uncompetitive inhibitory reactions cannot be directly represented by mass action and therefore
must first be adapted to the competitive version. Because of this complication, the weight-race per-
ceptron, which does not use an inhibition, is more suitable for mass-action transformation and thus
also for DNA strand displacement implementation.
An expanded mass-action version of the weight-race perceptron would undoubtedly be larger than
the model presented in this article. We estimate it would consist of 40–50 species and 50–60 reactions,
Tavolo 7. The comparison of the weight-loop perceptron and the weight-race perceptron.
Attribute
Number of species
Number of reactions
Catalysis needed
Inhibition needed
Average learning performance
Rate robustness (50% perturbation)
Follows the formal perceptron
Artificial Life Volume 19, Numero 2
WLP
21
34
Yes
Yes
100%
98.98%
Yes
WRP
14
30
Yes
No
100%
99.34%
No
215
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
which is high but still manageable. Inoltre, we might be able to simplify the encoding, Per esempio
by modeling the ⊕ and ⊖ and the 0 E 1 variants of species as two complementary strands, Dove
annihilation is actually the production of an inert double-stranded complex. The state of the art in
strand displacement circuits is a four-bit square root circuit [52] including 130 strands (74 non-input
species). The number of species is higher than we need for our perceptron, but the square root circuit
was built with seesaw gates, which are much simpler than the gates in Soloveichikʼs encoding. While
the expanded model of a chemical perceptron would still be impractical for implementation in the
laboratory in the near future, it would at least demonstrate that our model could in principle be
implemented using real DNA strands. Inoltre, the high robustness of the perceptron models to
rate constant perturbations means that precisely reproducing the optimal rate constants might not
be necessary in a strand displacement implementation.
9 Discussion and Further Research
There are several potential areas for improvement. Primo, instead of the fast but rather coarse-grained
Euler method for the numerical integration of ODEs, the chemical model simulation could incorporate
the more accurate Runge-Kutta approximation [48], or possibly some stochastic method [29, 51].
Allo stesso modo, lowering the time step would deliver higher-precision results, but at larger simulation costs.
All reactions in our model are irreversible, which simplifies reasoning about their causality. Tuttavia,
a reversible reaction with rates based on equilibrium of the forward and the backward part is more plau-
sible and could cover an irreversible reaction as a special case. Also, the structural aspects of molecular
species as an intermediate level between artificial and real chemistry would be worth investigation.
Since the weight-race perceptron excludes inhibition and in it all catalytic reactions with the excep-
tion of weight adaptation require only one catalyst, it corresponds more closely to real chemistry. Noi
argue that after small adjustments, the reactions with two dependent catalysts, in which an input species
and an output species together catalyze the weight adaptation, can broaden to the standard one-catalyst
Michaelis-Menten kinetics. Then, the model can be further adapted, so it follows pure mass-action
kinetics, where a catalysis is expanded to partial association and disassociation reactions.
Our AC model employs three concentration thresholds. The lower threshold avoids numerical
−3 M. The upper threshold of 50 M
instability by cutting the concentration to zero if it goes below 10
detects whether the concentration of a species diverges beyond bounds (explodes). The difference
−5 M, defines the minimal measurable change in the concentration of a species. If the
threshold, 10
concentration of a species increases or decreases very slowly, it is considered as a constant. Then if
the concentration of every species is constant, the system is at the fixed point, and hence the AC run
can proceed directly to the next input (action), and the AC simulation cost can be reduced.
To make the system more biologically realistic, we can wrap a perceptron in a permeable compart-
ment, which provides integrity, controls input-output streams, and avoids duplication of species in
case the chemical system consists of multiple perceptrons. Then an efflux of obsolete, noninteracting
product might serve as a decay reaction.
The chemical perceptrons do not age; hence, the learning rate (or the weight-adaptation strength)
remains constant through the whole learning process. A decrease of the learning rate over time usually
improves convergence. In a chemical system we cannot assume that the perceptron knows when train-
ing starts and ends; Perciò, if we assumed that the perceptron ages, this process would need an
inner quality of the perceptron that degrades (decays) over time.
Our perceptron setup might present a modularity problem in the case of connecting multiple
perceptrons together—the output from a perceptron in the first layer would not necessarily be at
an appropriate level to feed into a perceptron in the second layer, since the input concentrations
are fixed but the output concentrations are not. As a consequence, the execution setup with fixed
interval length between actions and with constant concentration of input and desired-output species
could have variations in order to obtain perceptrons with more generality, or a smaller bias to the
specific concentration range. Also, it would be interesting to address the learning capabilities of the
216
Artificial Life Volume 19, Numero 2
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
system in the face of noise in the training instances provided. We could introduce noise into reaction
rates similarly to that in our robustness analysis, but at each step during the simulation rather than just
initially. Finalmente, it would be worthwhile to explore repair capabilities of a chemical perceptron from the
perspective of systems biology or relational biology. Decay of currently stable weight species would
compel a chemical perceptron to repair its inner state perpetually by consuming an external resource.
10 Conclusione
We have demonstrated a proof of concept of learning and adaptation in an artificial chemical system.
Artificial chemistry provided a conceptual framework, using sets of species, reactions, and reaction rates
for modeling the functional characteristics of a two-input binary perceptron. After each processing,
the perceptron recovers its default ready state, so it is reusable without outside intervention. We have
introduced two models—the weight-loop perceptron and the weight-race perceptron. The weight-loop
perceptron calculates the weight sum directly by transforming the weights to output and then recovering
them to the original concentration. In the weight-race perceptron, the weights catalyze the input-to-
output reactions; hence, the weight sum (the output) is calculated indirectly by weight competition (rate
comparison).
Both chemical perceptrons can be trained perfectly to a desired logic function by providing suffi-
cient input-output training pairs. Inoltre, they maintain high robustness to the perturbation
of rate constants and achieve a 99% success rate for a 50% perturbation. Therefore, an implementation
of our perceptrons in real chemistry would not have to use our specific rate constants in order to
perform well. Since the weight-race perceptronʼs reactions are simpler and directly transformable to
pure mass-action model, it is more practical and suitable for real chemical experimentation.
By implementing the mass-action model as a DNA-strand-displacement circuit, the chemical per-
ceptron can serve as the basis of a new abstract layer for biochemical computing. Such a programming
interface would hide inner chemical “hardware,” so we could program it to the desired function without
knowing anything about chemistry.
Ringraziamenti
This research was funded by NSF grant 1028120.
Riferimenti
1. Adleman, l. M. (1994). Molecular computation of solutions to combinatorial problems. Scienza,
266(5187), 1021–1024.
2. Amos, M. (2003). Theoretical and experimental DNA computation. Berlin: Springer-Verlag.
3. Arnaut, l. G., Formosinho, S. UN. J., & Burrows, H. (2007). Chemical kinetics: From molecular structure to
chemical reactivity. Amsterdam: Elsevier.
4. Banzhaf, W. (1990). The molecular traveling salesman. Biological Cybernetics, 64(1), 7–14.
5. Bitbol, M., & Luisi, l. P. (2004). Autopoiesis with or without cognition: Defining life at its edge.
Journal of The Royal Society Interface, 1(1), 99–107.
6. Braich, R. S., Chelyapov, N., Johnson, C., Rothemund, P. W. K., & Adleman, l. (2002). Solution of
a 20-variable 3-SAT problem on a DNA computer. Scienza, 296, 499–502.
7. Bray, D. (1995). Protein molecules as computational elements in living cells. Nature, 376(6538), 307–312.
8. Brooks, R. (1989). A robot that walks; Emergent behaviors from a carefully evolved network. Neural
Computation, 1(2), 253–262.
9. Buchler, N. E., Gerland, U., & Hwa, T. (2003). On schemes of combinatorial transcription logic.
Proceedings of the National Academy of Sciences of the United States of America, 100(9), 5136–5141.
10. Copeland, R. UN. (2002). Enzymes: A practical introduction to structure, meccanismo, and data analysis (2nd ed.).
New York: Wiley.
Artificial Life Volume 19, Numero 2
217
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
11. de Silva, UN. P., Dobbin, C. M., Vance, T. P., & Wannalerse, B. (2009). Multiply reconfigurable “plug
and play” molecular logic via self-assembly. Chemical Communications, No. 11, pag. 1386–1388.
12. Dittrich, P. (2005). Chemical computing. In J.-P. Banâtre, P. Fradet, J.-L. Giavitto, & O. Michel (Eds.),
Unconventional programming paradigms (pag. 21–32). Berlin: Springer-Verlag.
13. Dittrich, P., Ziegler, J., & Banzhaf, W. (2001). Artificial chemistries—A review. Artificial Life, 7(3),
225–275.
14. Elliott, L., Ingham, D., Kyne, A., Mera, N., Pourkashanian, M., & Wilson, C. (2004). Genetic algorithms
for optimisation of chemical kinetics reaction mechanisms. Progress in Energy and Combustion Science, 30(3),
297–328.
15. Epstein, IO. R., & Pojman, J. UN. (1998). An introduction to nonlinear chemical dynamics: Oscillations, waves,
patterns, and chaos. Oxford, UK: Oxford University Press.
16. Espenson, J. (1995). Chemical kinetics and reaction mechanisms. New York: McGraw-Hill.
17. Faulhammer, D. (2000). Molecular computation: RNA solutions to chess problems. Atti del
National Academy of Sciences, 97(4), 1385–1389.
18. Gillespie, D. T. (1976). A general method for numerically simulating the stochastic time evolution
of coupled chemical reactions. Journal of Computational Physics, 22(4), 403–434.
19. Gillespie, D. T. (1977). Exact stochastic simulation of coupled chemical reactions. The Journal of
Physical Chemistry, 81(25), 2340–2361.
20. Gutiérrez-Naranjo, M. A., & Pérez-Jiménez, M. J. (2009). In Membrane computing (pag. 217–230).
Berlin: Springer-Verlag.
21. Haykin, S. (2009). Neural networks and learning machines (3rd ed.). Upper Saddle River, NJ: Prentice Hall.
22. Hebb, D. O. (1949). The organization of behavior. New York: Wiley.
23. Hinze, T., Fassler, R., Lenser, T., Matsumaru, N., & Dittrich, P. (2009). Membrane computing
(pag. 231–245). Berlin: Springer-Verlag.
24. Hjelmfelt, A., & Ross, J. (1992). Chemical implementation and thermodynamics of collective neural
networks. Proceedings of the National Academy of Sciences of the United States of America, 89(1), 388–391.
25. Hjelmfelt, A., Weinberger, E. D., & Ross, J. (1991). Chemical implementation of neural networks
and Turing machines. Proceedings of the National Academy of Sciences of the United States of America, 88(24),
10983–10987.
26. Holmes, M. H. (2007). Introduction to numerical methods in differential equations. Berlin: Springer-Verlag.
27. Ionescu, M., Paun, G., & Yokomori, T. (2006). Spiking neural P systems. Fundamenta Informaticae,
71(2), 1–28.
28. Ionescu, M., & Sburlan, D. (2008). Some applications of spiking neural P systems. Computing and
Informatics, 27(3), 515–528.
29. Jahnke, T., & Altntan, D. (2010). Efficient simulation of discrete stochastic reaction systems with
a splitting method. BIT Numerical Mathematics, 50(4), 797–822.
30. Jefferson, D., Collins, R., Cooper, C., Dyer, M., Flowers, M., Korf, R., Taylor, C., & Wanq, UN. (1990).
Evolution as a theme in artificial life: The Genesys/Tracker system (Technical report). Los Angeles: Computer
Science Department, University of California.
31. Jonoska, N. (2008). Biomolecular automata. In O. Shoseyov & IO. Levy (Eds.), NanoBioTechnology
(pag. 267–299). New York: Humana Press.
32. Kim, J., Hopfield, J. J., & Winfree, E. (2004). Neural network computation by in vitro transcriptional
circuits. In L. K. Saul, Y. Weiss, & l. Bottou (Eds.), Advances in Neural Information Processing Systems,
Vol. 17 (pag. 681–688). Cambridge, MA: CON Premere.
33. Libecq, C. (Ed.). (1992). Biochemical nomenclature and related documents: A compendium (2nd ed.). London:
Portland Press.
34. Maes, P. (1994). Modeling adaptive autonomous agents. Artificial Life, 1, 135–162.
35. Michaelis, L., & Menten, M. l. (1913). Die Kinetik der Invertinwirkung. Biochemische Zeitschrift, 49,
333–369.
218
Artificial Life Volume 19, Numero 2
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
P. Banda et al.
Online Learning in a Chemical Perceptron
36. Mills, UN. P., Yurke, B., & Platzman, P. M. (1999). Article for analog vector algebra computation.
Biosystems, 52(1–3), 175–180.
37. Minsky, M., & Seymour, P. (1969). Perceptrons. Cambridge, MA: CON Premere.
38. Mitchell, M. (1996). An introduction to genetic algorithms. Cambridge, MA: CON Premere.
39. Mitchell, M., & Forrest, S. (1994). Genetic algorithms and artificial life. Artificial Life, 1(3), 267–289.
40. Nahler, G. (2009). Michaelis-Menten kinetics. In Dictionary of pharmaceutical medicine
(pag. 113–113). Berlin: Springer-Verlag.
41. Ouyang, Q. (1997). DNA solution of the maximal clique problem. Scienza, 278(5337), 446–449.
42. Pei, R., Matamoros, E., Liu, M., Stefanovic, D., & Stojanovic, M. N. (2010). Training a molecular
automaton to play a game. Nature Nanotechnology, 5(11), 773–777.
43. Polifke, W., Geng, W., & Döbbeling, K. (1998). Optimization of rate coefficients for simplified
reaction mechanisms with genetic algorithms. Combustion and Flame, 113(1–2), 119–134.
44. Rojas, R. (1996). Neural networks: A systematic introduction. Berlin: Springer-Verlag.
45. Rosenblatt, F. (1958). The perceptron: A probabilistic model for information storage and organisation
in the brain. Psychological Review, 65, 368–408.
46. Schnell, S., & Mendoza, C. (1997). Closed form solution for time-dependent enzyme kinetics.
Journal of Theoretical Biology, 187, 207–212.
47. Soloveichik, D., Seelig, G., & Winfree, E. (2010). DNA as a universal substrate for chemical kinetics.
Proceedings of the National Academy of Sciences of the United States of America, 107(12), 5393–5398.
48. Stoer, J., & Bulirsch, R. (2002). Introduction to numerical analysis. Berlin: Springer-Verlag.
49. Stojanovic, M. N., & Stefanovic, D. (2003). A deoxyribozyme-based molecular automaton. Nature
Biotechnology, 21(9), 1069–1074.
50. Sutton, R. S., & Barto, UN. G. (1998). Reinforcement learning: An introduction. Cambridge, MA: CON Premere.
51. Turner, T. E., Schnell, S., & Burrage, K. (2004). Stochastic approaches for modelling in vivo
reactions. Computational Biology and Chemistry, 28(3), 165–178.
52. Qian, L., & Winfree, E. (2011). Scaling up digital circuit computation with DNA strand displacement
cascades. Scienza, 332, 1196–1201.
53. Zhang, D. Y., & Seelig, G. (2011). Dynamic DNA nanotechnology using strand-displacement
reactions. Nature Chemistry, 3(2), 103–113.
Artificial Life Volume 19, Numero 2
219
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
l
D
o
w
N
o
UN
D
e
D
F
R
o
M
H
T
T
P
:
/
/
D
io
R
e
C
T
.
M
io
T
.
e
D
tu
UN
R
T
l
/
/
l
UN
R
T
io
C
e
–
P
D
F
/
/
/
/
1
9
2
1
9
5
1
6
6
3
3
4
7
UN
R
T
l
/
_
UN
_
0
0
1
0
5
P
D
.
F
B
sì
G
tu
e
S
T
T
o
N
0
7
S
e
P
e
M
B
e
R
2
0
2
3
Scarica il pdf