1

Memcomputing and Swarm Intelligence

arXiv:1408.6741v1 [] 28 Aug 2014

Yuriy V. Pershin and Massimiliano Di Ventra

Abstract—We explore the relation between memcomputing,
namely computing with and in memory, and swarm intelligence
algorithms. In particular, we show that one can design memristive
networks to solve short-path optimization problems that can also
be solved by ant-colony algorithms. By employing appropriate
memristive elements one can demonstrate an almost one-toone correspondence between memcomputing and ant colony
optimization approaches. However, the memristive network has
the capability of finding the solution in one deterministic step,
compared to the stochastic multi-step ant colony optimization.
This result paves the way for nanoscale hardware implementations of several swarm intelligence algorithms that are presently
explored, from scheduling problems to robotics.
Index Terms—Ant colony, Adaptive behavior, Memristors

I. I NTRODUCTION
Swarm intelligence is a general term that encompasses a
wide range of dynamical properties of several biological and
artificial systems [1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
[11], [12]. It is inspired by the self-organized behavior of some
biological systems, such as ant colonies or animal herds, with
collective properties that are not easily identifiable from the
dynamical features of single elements alone, thus leading to
emergent dynamical phenomena.
This inspiration has led to the development of many tools,
such as swarm robotics [6], and algorithms. In fact, a prototypical example of swarm intelligence algorithms is the ant colony
optimization algorithm proposed by Dorigo et al. in 1991 [13],
[14]. This algorithm is useful for a variety of computational
problems, which can be reduced to finding optimal paths
through graphs, whether directed or not. Specific examples
of such problems include the shortest path, traveling salesman
problem, etc. [5].
On the other hand, it appears that certain graph optimization
problems [15], [16] can also be solved by memcomputing [17]
- a novel computing paradigm based on the ability of physical
elements with memory to store and process information on the
same physical platform. Even though the memory elements
that are envisioned to realize such a paradigm are typically
resistors, capacitors and inductors with memory [18], memcomputing rests on the much more general concept of an ideal
machine that is an alternative to the Turing machine paradigm:
the Universal Memcomputing Machine [19], which is a braininspired architecture composed of interacting memory cells
(whether passive or active) controlled by external signals.
We have shown, for example, that memcomputing using a
network of memristors (memory resistors) requires a single
Y. V. Pershin is with the Department of Physics and Astronomy and USC
Nanocenter, University of South Carolina, Columbia, SC, 29208
e-mail: pershin@physics.sc.edu.
M. Di Ventra is with the Department of Physics, University of California,
San Diego, La Jolla, California 92093-0319
e-mail: diventra@physics.ucsd.edu.

step to solve the shortest path problem in a maze [16], or
in any 2D geometry [15]. The reason for this unprecedented
computing speed is related to the intrinsic massively-parallel
dynamics of the entire network, where all elements act collectively and in a self-organized manner to provide the solution.
This brief introduction already shows the deep analogy
between swarm intelligence behavior of biological systems
and memcomputing. For instance, in both cases, there is a
time non-locality (memory) at play, which is key to the selforganized, collective behavior of the interacting elements. In
fact, some work has already touched upon this similarity, albeit
in a different form then what we will show in this paper. In
Ref. [20], for instance, Gale et al. have compared different antinspired memristor-based information gathering approaches,
thus revealing another aspect of this connection. It is then natural to ask how far this analogy can be pushed, what differences
can be identified, and, in view of the fact that memcomputing
can be realized experimentally using nanoscale passive devices
[17], whether some of the algorithms that are the flagships of
swarm intelligence can be solved in hardware with this new
computing paradigm.
The main goal of this paper is precisely to compare these
two seemingly different computing approaches–one brain-like
(memcomputing), the other colony-like (swarm intelligence)–
and understand their analogies and differences. We use as a
test bed the prototypical ant colony optimization algorithm,
and indeed show that this could be easily realized in hardware
using networks of memristive elements. Even though other
memory elements, such as memcapacitors and meminductors
[18] could be equally employed, albeit in a different circuit
configuration, memristive elements are the most studied so
far, both theoretically and experimentally [21], and we have
thus chosen them as a starting point for this comparison.
More specifically, we identify a model of memristive elements
such that their networks operate in close analogy with the
computation dynamics of ant colony optimization. However,
memcomputing shows a major advantage in the solution of
these optimization problems: the memcomputing network may
require only a single deterministic step to find the shortest
path problem solution, compared to the stochastic multi-step
ant colony optimization approach.
In the following sections, we provide a detailed description
of both algorithms, as well as their comparison based on
few illustrative examples of the shortest path optimization. In
particular, Sec. II describes the main features of the ant colony
optimization and memcomputing approaches. Here, we also
formulate a model of current-controlled memristive system
with relaxation offering a close resemblance between the
memristive network dynamics and the ant colony optimization.
Sec. III focuses on the simplest two-path problem, which is
used for an in-depth comparison of both algorithms. A more

2

complex several-path problem is considered in Sec. IV. Sec.
V considers memcomputing with more realistic threshold-type
memristive systems, and Sec. VI concludes.
II. C OMPUTING MODELS
A. Ant colony optimization
The ant colony optimization algorithm is based on the
stochastic propagation of multiple moving agents (ants)
through a graph [5]. Typically, the probability for the k-th
ant to move from node i to node j of the graph is calculated
using
α β
τij
ηij
,
(1)
pij,k = P
α ηβ
τim
im
m

where τij is the amount of pheromone deposited on (i, j)
edge, ηij is the inverse length of the (i, j) edge, α and β
are numerical parameters, and the sum in the denominator is
taken over allowable transitions from the node i. Note that the
choice of probability (1) resembles (locally) the Kirchhoff’s
current law. Additionally, at any given step, the behavior of
the moving agent (artificial ant) is based on the knowledge
(memory) of the amount of pheromone deposited at graph
edges by all previous agents. This feature closely resembles
the current flow in memristive networks as we describe below.
Moreover, at each step, the amount of pheromone is updated
according to
Q
τij (k + 1) = (1 − ρ)τij (k) + ν ,
(2)
Lk
where the parameter ρ describes the pheromone evaporation,
ν = 1 if the (i, j) edge was visited by the k-th ant and zero
otherwise, Q is a constant and Lk is the “cost” of the k-th
path (typically its length).
Initially, the same amount of pheromone is deposited at all
edges. According to Eq. (1), the initial probabilities mainly
depend on the length “burden” factors ηij , which are the
reciprocal of the distance to be traveled by each ant. With
time, more pheromone is deposited on paths with shorter
lengths Lk (see Eq. (2)). This attracts more ants to such paths
eventually reinforcing these “pheromone flooded” paths. The
problem solution thus spontaneously forms through a selfreinforcement processes by selecting the path with the shortest
length associated with the largest increase of the pheromone
deposition.
B. Memristive networks
We now describe memcomputing with memristive networks,
although, as mentioned in the introduction, other memory
elements (such as memcapacitors and meminductors [18])
could be equally employed. Memristors [22] or more broadly
memristive systems [23] are resistors with memory, whose
states at any given time depend on the history of signals
applied. We have recently demonstrated that a memristive
processor – a network consisting of basic units (memristors
plus switches) connecting grid points – can solve the maze
and 2D shortest optimization path problems quite easily [15],
[16]. The ability of a network to serve as a computing machine

is determined by various factors. The most important of these
have been recently summarized [17], where the type and
functionality of devices with memory play a key role in the
network dynamics.
Taking into account the wide variety of memristive materials
and devices presently known [21], [24] which offer a wide
range of functionalities (e.g., short- and long-term memories,
unipolar and bipolar behavior, etc.), we will focus in this
work on rather compact device models than on their specific
material realizations. However, these models, especially those
of memristive elements with current or voltage thresholds, can
be engineered and fabricated with similar features as those we
use in this paper [21], [24]. Therefore, while threshold-less
memristive models [22] may offer a closer similarity to the
ant colony algorithms, the more realistic memristive devices
with thresholds allow us to understand practical aspects of
the actual hardware realization of ant colony optimization
approaches.
Memristive devices and systems can be defined either in
current- or voltage-controlled form [23], [21]. Since the ant
propagation defined by Eq. (1) could be associated with
a current flow, the current-controlled definition seems the
most natural for our purposes, keeping in mind that currentcontrolled systems can, most of the times, be easily converted into voltage-controlled ones [21]. An nth-order currentcontrolled memristive system is described by the equations
VM (t)

=

R (x, I, t) I(t)

ẋ = f (x, I, t)

(3)
(4)

where VM (t) and I(t) denote the voltage and current across
the device, R is the memristance, x is a vector representing n
internal state variables, and f is a continuous n-dimensional
vector function [23], [18].
In order to obtain a memristive network representation of
Eqs. (1), (2), the memristive network should offer a relaxation
property (mimicking the pheromone evaporation). Such functionality could be easily realized both within the internal state
variables or the external sources. For the sake of simplicity, we
consider here a model of memristive devices with relaxation
of the internal state variables, although the second possibility
– the use of e.g., appropriate external current/voltage pulses to
achieve a relaxation in the network of non-volatile memristive
devices – is also possible. Additionally, for the analogy
we want to highlight, it is of practical help to work with
the inverse of the resistance – the conductance – since for
resistors connected in parallel the current splitting is defined
by conductances.
By taking into account all these preliminaries, we assume
that our memristive devices are defined by
R−1 (x) ≡ σ (x) = σon x + σof f (1 − x) .

(5)

Here, σon and σof f are two limiting values of conductance,
with σon > σof f , and 0 ≤ x ≤ 1. The equation for the internal
state variable includes a drift term (proportional to the current
flowing through the device) and a relaxation term:
dx
= κI(t) − Γx,
dt

(6)

3

where κ is a constant and Γ is the relaxation rate.
In the model of the current-controlled memristive system
with threshold we will employ later, the internal state variable
x is described by

−Γx
for |I| < It
(7)
dx
=
dt
sgn (I) κ (|I| − It ) − Γx
for |I| ≥ It
(8)
where It is the threshold current.
Let us then consider a network of memristive systems
connected to a constant current source. Once the current
bias is switched on, electrons will flow through the system,
while satisfying Kirchhoff’s laws. It is the presence of these
laws, which are intrinsically collective, that forces the manybody electron system to flow through the shortest path(s).
In turn, these shortest paths will support the largest current,
thus changing the most, due to the presence of memory, the
associated device states along them. In other words, similar
to the ant colony algorithm, it is the cumulative effect of
all electrons in the system, that makes the shortest path
emerge after the initial perturbation has been switched on.
This path is then the one that self-reinforces during dynamics
due to the time non-locality (memory) of the single devices.
It is, however, important to realize that in the present case,
the solution may emerge in only one step of the dynamics
when the system is implemented in hardware. In addition, the
memcomputing approach, as we have formulated it here, is
fully deterministic, in the sense that no transition probability
of the type (1) needs to be imposed on the system.
C. Mapping between ant colony and memristive networks
The analogy and relation between the ant colony and the
memristive network to solve optimization problems is then
complete. This analogy is summarized in Table I, where for
each ”Nature-inspired” feature we provide both the parameter
used in the ant colony algorithm and the memcomputing
approach realized with memristive elements.
However, what is not easily evident from this table is
the stochastic vs. deterministic nature of the two different
approaches as discussed above. Indeed, by assuming I0 = 1
mA current pulse of t0 = 10 ns duration, the number of
transferred electrons is macroscopically large, namely, N =
I0 t0 /e ≈ 6.2 · 106 . Therefore, in a network of deterministic
memristive devices, the device state change will develop with a
smaller contribution from each electron contrary to the typical
scenario of ant optimization approach in which the role of
individual moving agents is typically more important.
After this general discussion, we can now provide explicit
examples of specific optimization problems.
III. T WO - PATH PROBLEM
A. Ant colony solution
As a first example we consider the simplest two-path
optimization problem of finding the shortest path connecting
two points A and B as shown in Fig. 1(a). It is assumed that
A and B are connected by two paths of different lengths, L1
and L2 , and, for the sake of simplicity, we choose L2 = 2L1 .
Using the ant colony optimization algorithm described in Sec.

A

(a)

I0

(b)

M2,1
1

2

M1

M2
M2,2

B

Fig. 1. (Color online) (a) Points A and B are connected by two paths of
length L1 and L2 , such that (for the sake of simplicity) L2 = 2L1 . (b)
Memristive network modeling the shortest path problem shown in (a).

II-A, the ants added to the point A select path 1(2) with
probability p1(2) given by
β
α
τ1(2)
1/L1(2)
p1(2) =
(9)
β
β
τ1α (1/L1 ) + τ2α (1/L2 )
The equation describing the pheromone dynamics on the first
(second) path is
τ1(2) (k + 1) = (1 − ρ)τ1(2) (k) + ν

Q
L1(2)

.

(10)

In order to make a straightforward comparison with the
memristive network dynamics, we reformulate Eqs. (10) in
the continuous form. Let us assume that ants are added to the
point A at a constant rate γ. Then, the amount of ants added
within a time interval dt is γdt. Considering the change of τ1
and τ2 within dt one can find
dτ1
= −γρτ1
dt

+

p1

γQ
=
L1

(11)

τ1α L1β
γQ
1
,
− γρτ1 +
L1 τ1α 1β + τ2α 1β
L
L
1

2

and
dτ2
= −γρτ2
dt

+

p2

γQ
=
L2

(12)

τ2α L1β
γQ
2
− γρτ2 +
.
L2 τ1α 1β + τ2α 1β
L
L
1

2

Fig. 2(a) demonstrates the pheromone dynamics obtained as
a numerical solution of Eqs. (11), (12).
B. Memristive network solution
In order to solve the shortest path problem shown in Fig.
1(a) we design a memristive network as that presented in
Fig. 1(b). In this network, the shorter path 1 is modeled
by the memristive system M1 and the longer path 2 by
two memristive systems M2,1 and M2,2 1 . Although not
necessary, we take all three memristive systems to be identical
and initialized in the σof f state. The memristive network is
1 One can use a single physical memristive device to represent path 2
encoding path 2 length in its parameters.

4

Nature
Natural habitat
Ants
Length burden
Pheromones
Pheromone evaporation
Foraging behavior

Ant colony optimization
Graph
Artificial ants (agents)
The reciprocal of distance, η
Artificial pheromones, τi
Artificial pheromone evaporation
Edge selection rules

Memcomputing
Memristive network
Electrons
Off-state conductances
Device Memory
Relaxation of device state
Kirchoff’s laws

TABLE I
C ORRESPONDENCE BETWEEN THE ANT COLONY OPTIMIZATION AND MEMCOMPUTING APPROACHES .

σ̃i = σi /σof f,i , Eq. 6 for M1 and M2 can then be written as
1 0

dσ̃1 (t)
dt

(a )
8

κI0



6

1



dσ̃2 (t)
dt
2



i

=

4

=
κI0

2
0
0

2 0

4 0

6 0

8 0

1 0 0

T im e (a rb . u n its )
1 .0

(b )
0 .8

x
1

x
2

x

i

0 .6
0 .4
0 .2
0 .0
0

2 0

4 0

6 0

8 0

1 0 0

T im e (a rb . u n its )
Fig. 2. (Color online) Time dependence of the amounts of (a) pheromone in
the ant colony optimization algorithm and (b) internal state variables in the
memristive network. These plots were obtained using the following parameter
values: (a) τ1 (0) = τ2 (0) = 0.5, α = β = 1, L1 = 1, L2 = 2, ρ = 0.1,
γ = 1, Q = 1, and (b) σon = 0.01 S, σof f = 0.00001 S, Γ = 0.1 s−1 ,
κ = 1 (s·A)−1 , I0 = 0.09 A. The plot in (a) was obtained using numerical
integration of Eqs. (11), (12).

−Γ [σ̃1 − 1] +


σon,1
σ̃1 (t)σof f,1
−1
,(13)
σof f,1
σ̃1 (t)σof f,1 + σ̃2 (t)σof f,2
−Γ [σ̃2 − 1] +


σ̃2 (t)σof f,2
σon,2
−1
.(14)
σof f,2
σ̃1 (t)σof f,1 + σ̃2 (t)σof f,2

Comparing Eqs. (14), (13) with Eqs. (11), (12) one can easily notice that the memristive network we have chosen realizes
the ant colony optimization algorithm with parameters α = 1,
β = 1 2 . In this realization, the initial (off-state) resistance
(1/σof f,1(2) ) plays the role of the path length L1(2) , and the
normalized conductance σ1(2) (t)/σof f,1(2) (proportional to the
internal state variables) - the role of the pheromone strength
τ1(2) .
However, there are also some differences. For instance,
comparing relaxation terms in Eqs. (11), (12) and (13), (14),
one can notice that while τ1 and τ2 relax to zero, the
memristive devices relax to a smaller but finite σof f,i . Additionally, the prefactors preceding the fractions in Eqs. (13),
(14) do not explicitly contain the inverse length (compared to
the prefactors in Eqs. (11), (12)). Despite these differences,
simulations clearly demonstrate a strong similarity in the time
dependence of the pheromone (ant colony) and the internal
state variables (memristive network), see Fig. 2. In both cases,
the correct solution is found.
In order to get additional insight into the steady-state
properties, one can easily find steady-state solutions of Eqs.
(11), (12) and Eqs. (13), (14). While both pairs of equations
have two solutions, the relevant solution of Eqs. (11), (12) for
α = β = 1 reads
Q
,
L1 ρ
τ2 = 0.

τ1 =
then driven by the constant current I0 , which splits between
two possible paths according to their conductances, namely,
I1(2) = I0 σ1(2) /(σ1 + σ2 ).
Next, to render the equations more compact, we describe
M2,1 and M2,2 as a single memristive system M2 such that
(taking into account the same parameters of M2,1 and M2,2
and the same initial states) its internal state variable x2 =
(x2,1 + x2,2 )/2 = x2,1 = x2,2 is described by Eq. (6) with
σon,2 = σon /2, σof f,2 = σof f /2. Using σi (0) = σof f,i and

(15)
(16)

Instead, the memcomputing steady-state solution of (13), (14)
can be written as
√
C − Γ + C 2 + 2CΓ + 9Γ2
σ̃1 =
,
(17)
√ 2Γ
C + 5Γ − C 2 + 2CΓ + 9Γ2
σ̃2 =
,
(18)
2Γ
2 Different values of α and β could be realized with different types (models)
of memristive devices

5

I0

(b)

A

M3

M4

1.0

M5

(a)
τ1, τ2

0.8

τ3, τ4, τ5

M1

τ6, τ7

0.6

M6

M7

M2
M8
B
Fig. 3. (Color online) (a) A graph with equal weight edges. The shortest
path problem is solved with respect to nodes denoted by A, B. (b) Memristive
network modeling the shortest path problem shown in (a).

τ8

τi

(a)

0.4
0.2
0.0

0

200

400

600

800

1000

Step
1.0

(b)
x1, x2

0.8

x3, x4, x5
x6, x7
x8

xi

where C = κI0 [σon,1 /σof f,1 − 1]. The specific limiting
values of conductances listed above Eq. (13) have been used
in the derivation of Eqs. (17), (18). Considering Γ  C limit,
one gets σ̃1 ≈ C/Γ and σ̃2 ≈ 2, which corresponds to the
values of internal state variables, x1 ≈ 0.9 and x2 ≈ 0. Since
C/Γ  1 in our choice of parameters, this result is indeed
in close agreement with the numerical solution obtained from
Eqs. (15), (16) (see Fig. 2).
We emphasize again that the memcomputing solution is
fully deterministic, and that it is stored into the states of
memristive systems and hence can be read directly from them.
Only a single current pulse is required to solve the problem.
Although the obvious choice of the pulse duration is dictated
by the time scale of reaching the steady state (t & 50 in 2(b)),
one can notice from Fig. 2(b) that x1 > x2 almost immediately
after the current bias is switched on. Therefore, the full time
evolution is not necessarily needed to read the correct solution.
Moreover, in the actual hardware implementation, the intrinsic
mechanisms of the internal state relaxation impose limits on
the smallest time scale that should be detected by the reading
device.

0.6
0.4
0.2
0.0

0

20

40

60

80

100

Time (arb. units)
Fig. 4. (Color online) (a) Solution of the shortest path problem from Fig.
3(a) with ant colony optimization algorithm. (b) Dynamics of internal state
variables in the network from Fig. 3(b). These plots were obtained using
the following parameter values: (a) τi (0) = 0.5, α = β = 1, ρ = 0.05,
Q = 0.1, and (b) σon = 0.01 S, σof f = 0.00001 S, Γ = 0.1 s−1 , κ = 1
(s·A)−1 , I0 = 0.1 A. The plot in (a) was obtained by averaging over 103
realizations of 103 ants.

the initial state is shown for the ant colony (a) and the currents
(c), while in in Fig. 5(b) and (d) the corresponding solutions
at the final time are represented.
V. M EMCOMPUTING WITH THRESHOLD - TYPE MEMRISTIVE

IV. M ULTIPLE - PATH PROBLEMS

SYSTEMS

Next, we solve the shortest path problem in a more complex
graph as that presented in Fig. 3(a). By inspecting this graph
visually, one can easily notice that the shortest path solution
consists of two edges making the left arm connecting A and
B. However, considering the equivalent memristive network
shown in Fig. 3(b), one can realize that initially, when all
memristances are the same, the current is stronger in the right
arm corresponding to a longer path. Despite this, the correct
solution can be found using the memristive network.
Fig. 4 shows the results of both approaches. As can be seen,
the correct solution is found by both methods. Moreover, at
longer times, the order of the curves in Fig. 3(a) and (b)
is the same. This is again related to the similarity between
the ant colony and memristive network approaches which is
even more apparent from Fig. 5, where we plot the real space
solutions of both methods at steady state. In Fig. 5(a) and (c),

Finally, we consider the more common case of memristive elements with current or voltage thresholds. Indeed, for
physical reasons [25] this is the type of elements that can
mainly be realized experimentally. Therefore, it is important
to understand how the threshold-type switching modifies the
results we have described above. For this purpose, we perform
simulations similar to those in Sec. VI by considering, however, a current-controlled memristive system with threshold
described by Eqs. (7), (8).
Results of a couple of selected simulations (representing
smaller and larger threshold voltages) are shown in Fig. 6.
In particular, Fig. 6 shows that the correct solution is found
by threshold-type memristive systems as well. Moreover, it
is clear from these figures that the more realistic thresholdtype memristive systems are actually better for this type of
optimization problems since the current threshold cuts off the

6

A

A

1.0

(a)
x1, x2

0.8

x3, x4, x5

(b)

x6, x7
x8

xi

(a)

0.6
0.4

t =0

t = tf

B

B

0.2
0.0

A

A

0

20

40

60

80

100

Time (arb. units)
0.8

(b)
0.6

(c)

x1, x2

(d)

x3, x4, x5
x6, x7

0.4

x8

xi

t =0

t = tf

B

B

Fig. 5. (Color online) Schematics of distributions of moving agents (ants)
(a), (b) and currents (c), (d) at the initial t = 0 and final t = tf moments
of time. These distributions correspond to the results reported in Fig. 4. The
current strength in (c), (d) is represented by the edge thickness.

dynamics of those memristive systems in the network that
are subject to weaker currents. Additionally, one can notice
a reduction of the steady-state value of x1 with increase of
the threshold current. This is a direct consequence of the
model given by Eqs. (7), (8): the effective switching rate at
a given current decreases with increasing It . If needed, in
hardware implementations this could be easily compensated
by a stronger applied current.
VI. C ONCLUSIONS
In conclusion, we have shown the connection between
swarm intelligence algorithms and memcomputing, namely
computing with and in memory. By focusing on the archetypal
ant colony algorithm and the memristive network realization
of memcomputing, we have shown both analytically and
numerically that the two approaches find the same shortest
path solutions.
We emphasize that ant colony optimization and memcomputing approaches share a lot of similarities but they are
not exactly the same. While the artificial ant dynamics is
dictated by local edge selection rules, the electron current
flow in memristive network is determined by the solution of
Kirchoff’s laws for the entire circuit. At the same time, while
the pheromone level update depends on the total specific path
length, the change of the memristive system state depends on
the local current. Therefore, as a consequence of a weaker
sensitivity of memcomputing to the specific path length, one
can expect a higher probability of approximate solutions in

0.2

0.0

0

20

40

60

80

100

Time (arb. units)
Fig. 6. (Color online) Dynamics of the internal state variables of memristive
systems in the network shown in Fig. 3(b) subjected to a constant current.
It = 0.005 A in (a) and 0.03 A in (b). All other parameters are the same as
in Fig. 4(b).

the memcomputing approach. In fact, like in the case of ant
colony approaches [26], not all correct solutions may be found
with all possible memristive networks. The percentage of such
solutions will depend on the topology of the network and
parameters of the memristive elements. However, in all cases
considered in this paper both approaches have provided the
same correct solutions, and we leave the study of possible
deviation from ideal perfomance for future work.
Importantly, unlike the ant colony approach, which requires
multiple stochastic steps, memcomputing, due to its massive,
intrinsic parallelism has the capability of finding the solution
in one deterministic step. This, combined with the fact that
memristive systems, as those we discussed in this paper, can
be easily realized in the lab, paves the way for hardware
implementations of several optimization problems that are
currently solved using swarm intelligence approaches. These
implementations can then have a large impact in several
practical machine learning problems related to urban planning,
scheduling, robotics, and so on.
ACKNOWLEDGEMENTS
This work has been partially supported by NSF grant ECCS1202383 and the Center for Magnetic Recording Research
at UCSD. The hospitality of the Aspen Center for Physics

7

(supported by NSF grant PHY-1066293), where part of this
work was done, is also acknowledged.
R EFERENCES
[1] G. Beni and J. Wang, “Swarm intelligence in cellular robotic systems,”
in Robots and Biological Systems: Towards a New Bionics? Springer,
1993, pp. 703–712.
[2] J. Kennedy and R. Eberhart, “Particle swarm optimization,” in Neural
Networks, 1995. Proceedings., IEEE International Conference on, vol. 4.
IEEE, 1995, pp. 1942–1948.
[3] E. Bonabeau, M. Dorigo, and G. Theraulaz, Swarm intelligence: from
natural to artificial systems. Oxford university press, 1999, no. 1.
[4] R. C. Eberhart, Y. Shi, and J. Kennedy, Swarm intelligence. Morgan
Kaufmann, 2001.
[5] M. Dorigo and T. Stützle, Ant Colony Optimization. Scituate, MA,
USA: Bradford Company, 2004.
[6] G. Beni, “From swarm intelligence to swarm robotics,” in Swarm
Robotics. Springer, 2005, pp. 1–9.
[7] M. Dorigo, Ant Colony Optimization and Swarm Intelligence: 5th
International Workshop, ANTS 2006, Brussels, Belgium, September 4-7,
2006, Proceedings. Springer, 2006, vol. 4150.
[8] A. P. Engelbrecht, Fundamentals of computational swarm intelligence.
John Wiley & Sons, 2006.
[9] S. Garnier, J. Gautrais, and G. Theraulaz, “The biological principles of
swarm intelligence,” Swarm Intelligence, vol. 1, no. 1, pp. 3–31, 2007.
[10] C. Blum and X. Li, Swarm intelligence in optimization. Springer, 2008.
[11] D. Karaboga and B. Akay, “A survey: algorithms simulating bee swarm
intelligence,” Artificial Intelligence Review, vol. 31, no. 1-4, pp. 61–85,
2009.
[12] S. Kiranyaz, T. Ince, and M. Gabbouj, Multidimensional Particle Swarm
Optimization for Machine Learning and Pattern Recognition. Springer,
2014.
[13] A. Colorni, M. Dorigo, and V. Maniezzo, “Distributed Optimization by
Ant Colonies,” in European Conference on Artificial Life, 1991, pp.
134–142.
[14] M. Dorigo, “Optimization, Learning and Natural Algorithms,” Ph.D.
dissertation, Politecnico di Milano, 1992.
[15] Y. V. Pershin and M. Di Ventra, “Self-organization and solution of
shortest-path optimization problems with memristive networks,” Phys.
Rev. E, vol. 88, p. 013305, 2013.
[16] ——, “Solving mazes with memristors: a massively-parallel approach,”
Phys. Rev. E, vol. 84, p. 046703, 2011.
[17] M. Di Ventra and Y. V. Pershin, “The parallel approach,” Nature Physics,
vol. 9, p. 200, 2013.
[18] M. Di Ventra, Y. V. Pershin, and L. O. Chua, “Circuit elements with
memory: Memristors, memcapacitors, and meminductors,” Proc. IEEE,
vol. 97, no. 10, pp. 1717–1724, 2009.
[19] F. Traversa and M. Di Ventra, “Universal memcomputing machines,”
arXiv:1405.0931, 2014.
[20] E. Gale, B. de Lacy Costello, and A. Adamatzky, “Comparison of antinspired gatherer allocation approaches using memristor-based environmental models,” in Bio-Inspired Models of Networks, Information, and
Computing Systems. Springer, 2012, pp. 73–84.
[21] Y. V. Pershin and M. Di Ventra, “Memory effects in complex materials
and nanoscale systems,” Advances in Physics, vol. 60, pp. 145–227,
2011.
[22] L. O. Chua, “Memristor - the missing circuit element,” IEEE Trans.
Circuit Theory, vol. 18, pp. 507–519, 1971.
[23] L. O. Chua and S. M. Kang, “Memristive devices and systems,” Proc.
IEEE, vol. 64, pp. 209–223, 1976.
[24] M. Di Venta and Y. V. Pershin, “Memory materials: a unifying description,” Materials Today, vol. 14, p. 584, 2011.
[25] M. Di Ventra and Y. V. Pershin, “On the physical properties of memristive, memcapacitive, and meminductive systems,” Nanotechnology,
vol. 24, p. 255201, 2013.
[26] M. Dorigo and L. M. Gambardella, “Ant colony system: a cooperative
learning approach to the traveling salesman problem,” Evolutionary
Computation, IEEE Transactions on, vol. 1, no. 1, pp. 53–66, 1997.

