MASSIVE PARALLEL NETWORKS OF EVOLUTIONARY
PROCESSORS AS NP-PROBLEM SOLVERS
Nuria G´omez Blas, Luis F. de Mingo and Eugenio Santos
Dept. Organizaci´on y Estructura de la Informaci´on, Escuela Universitaria de Inform´atica
Universidad Polit´ecnica de Madrid, Crta. de Valencia km. 7, 28031 Madrid, Spain
Keywords:
Natural Computing, Networks of Evolutionary Processors, Symbolic Systems.
Abstract:
This paper presents a new connectionist model that might be used to solve NP-problems. Most well known
numeric models are Neural Networks that are able to approximate any function or classify any pattern set
provided numeric information is injected into the net. Concerning symbolic information new research area
has been developed, inspired by George Paun, called Membrane Systems. A step forward, in a similar Neural
Network architecture, was done to obtain Networks of Evolutionary Processors (NEP). A NEP is a set of
processors connected by a graph, each processor only deals with symbolic information using rules. In short,
objects in processors can evolve and pass through processors until a stable configuration is reach. Despite their
simplicity, we show how the latter networks might be used for solving an NP-complete problem, namely the
3-colorability problem, in linear time and linear resources (nodes, symbols, rules).
1 INTRODUCTION
Natural sciences, and especially biology, represents a
rich source of modeling paradigms. Well-defined ar-
eas of artificial intelligence (genetic algorithms, neu-
ral networks), mathematics, and theoretical computer
science (L systems, DNA computing) are massively
influenced by the behavior of various biological en-
tities and phenomena. In the last decades or so,
new emerging fields of so-called ”natural comput-
ing” (Zandron, 2002; Paun, 2002; Ciobanu et al.,
2005) identify new (unconventional) computational
paradigms in different forms. There are attempts
to define and investigate new mathematical or theo-
retical models inspired by nature (Robinson, 1992),
as well as investigations into defining programming
paradigms that implement computational approaches
suggested by biochemical phenomena. Especially
since Adleman’s experiment (Adleman, 1994), these
investigations received a new perspective. One hopes
that global system-level behavior may be translated
into interactions of a myriad of components with sim-
ple behavior and limited computing and communica-
tion capabilities that are able to express and solve, via
various optimizations, complex problems otherwise
hard to approach.
The origin of networks of evolutionary processors
is a basic architecture for parallel and distributed sym-
bolic processing, related to the Connection Machine
(Hillis, 1985) as well as the Logic Flow paradigm
(Errico and Jesshope, 1994), which consists of sev-
eral processors, each of them being placed in a node
of a virtual complete graph, which are able to han-
dle data associated with the respective node. All the
nodes send simultaneously their data and the receiv-
ing nodes handle also simultaneously all the arriv-
ing messages, according to some strategies, see, e.g.,
(Fahlman et al., 1983; Hillis, 1985).
2 MASSIVE PARALLEL NEPS
Let V an alphabet over a set of symbols. A string x of
length m belonging to an alphabet V is the sequence
of symbols a
1
a
2
··· a
m
where the symbol a
i
V for all
1 i m. The set of all strings that belong to V is
denoted by V
and the empty string is denoted by ε.
A network of evolutionary processors (Castel-
lanos et al., 2001; Castellanos et al., 2003) of size n
(NEP for short) is a construct Σ = {V, N
0
, N
1
, ··· , N
n
},
where V is an alphabet and processors N
i
are con-
nected within a graph.
A processor is defined by N
i
= {M
i
, A
i
, PI
i
, PO
i
}
is the i-th evolutionary processor of the network. The
parameters of every processor are:
588
Gómez Blas N., F. de Mingo L. and Santos E. (2008).
MASSIVE PARALLEL NETWORKS OF EVOLUTIONARY PROCESSORS AS NP-PROBLEM SOLVERS.
In Proceedings of the Tenth International Conference on Enterprise Information Systems - AIDSS, pages 588-592
DOI: 10.5220/0001721405880592
Copyright
c
SciTePress
M
i
is a finite set of evolution rules of one of the
following forms only (basic rules)
a b, a, b V (substitution rules),
a ε, a V (deletion rules),
ε a, a V (insertion rules),
More clearly, the set of evolution rules of any pro-
cessor contains either substitution or deletion or
insertion rules. Context information can be added
to M
i
in the following way (directional context
rules):
ac bc, a, b V, c V
(left substitution
rules),
ca cb, a, b V, c V
(right substitution
rules),
ab a, b V, a V
(right deletion rules),
ba a, b V, a V
(left deletion rules),
a ab, b V, a V
(right insertion rules),
a ba, b V, a V
(left insertion rules),
Or even a more general and non directional con-
text can be expressed in M
i
(context rules):
dac dbc, a, b V, c, d V
(substitution
rules),
abc ac, b V, a, c V
(deletion rules),
ac abc, b V, a, c V
(insertion rules),
A
i
is a finite set of strings over V. The set A
i
is
the set of initial strings in the i-th node. Actu-
ally, in what follows, we consider that each string
appearing in a node of the net at any step has an
arbitrarily large number of copies in that node, so
that we shall identify multisets by their supports.
PI
i
and PO
i
are subsets of V representing the in-
put and output filter respectively. These filters
are defined by membership condition, namely a
string w V
can pass the input filter (the out-
put filter) if x PI
i
, w = axb where a, b V
(x PO
i
, w = axb where a, b V
).
We write ρ
i
(w) = true, if w can pass the input fil-
ter of the node processor i and ρ
i
(w) = false, oth-
erwise. We write τ
i
(w) = true, if w can pass the
output filter of the node processor i and τ
i
(w) =
false, otherwise.
A NEP with some of these rules is denoted by
NEP
b
(basic rules), NEP
d
(directional rules) and
NEP
c
(contex rules).
By a configuration of an NEP as above we mean
an n-tuple C = (L
0
, L
1
, ··· , L
n
), with L
i
V
for all
0 i 6. A configuration represents the sets of
strings (remember that each string appears in an ar-
bitrarily large number of copies) which are present in
any node at a given moment; clearly the initial con-
figuration of the network is C
0
= (A
1
, A
2
, ··· , A
n
).
2.1 Dynamics of MPNEP
A configuration can change either by an evolutionary
step or by a communicating step. Computation steps
can be defined in a controlled way, that is, first an evo-
lutionary step and then a communicating step; or in
a parallel way, that is, evolution and communication
take place at the same time.
When changing by an evolutionary step, each
component L
i
of the configuration is changed in ac-
cordance with the evolutionary rules associated with
the node i. Formally, we say that the configuration
C
1
= (L
1
, L
2
, ··· ., L
n
) directly changes for the config-
uration C
2
= (L
1
, L
2
, ··· , L
n
) by an evolutionary step,
written as
C
1
C
2
if L
i
is the set of strings obtained by applying the
rules of R
i
to the strings in L
i
as follows:
If the same substitiution rule may replace different
occurrences of the same symbol within a string,
all these occurrences must be replaced within dif-
ferent copies of that string. The result is the mul-
tiset in which every string that can be obtained ap-
pears in an arbitrarily large number of copies.
Unlike their common use, deletion and insertion
rules are applied only to the end of the string.
Thus, a deletion rule a ε can be applied only
to a string which ends by a, say wa, leading to the
string w, and an insertion rule ε a applied to a
string x consists of adding the symbol a to the end
of x, obtaining xa. If context rules are used, that
is ab a or abc ac then the deletion point is
defined by context information b or ac.
If more than one rule, no matter its type, applies
to a string, all of them must be used for different
copies of that string.
More precisely, since an arbitrarily large number
of copies of each string is available in every node, af-
ter a evolutionary step in each node one gets an arbi-
trarily large number of copies of any string which can
be obtained by using any rule in the set of evolution
rules associated with that node. By definition,if L
i
is
empty for some 0 i 6, then L
i
is empty as well.
When changing by a communication step, each
node processor sends all copies of the strings it has
which are able to pass its output filter to all the other
node processors and receives all copies of the strings
sent by any node processor providing that they can
pass its input filter.
Formally, we say that the configuration C
1
=
(L
1
, L
2
, ··· , L
n
) directly changes for the configuration
MASSIVE PARALLEL NETWORKS OF EVOLUTIONARY PROCESSORS AS NP-PROBLEM SOLVERS
589
C
2
= (L
1
, L
2
, ··· , L
n
) by a communication step, writ-
ten as
C
1
C
2
if for every 0 i n,
L
i
= L
i
\ {w L
i
|τ
i
(w) = true}
n
[
j=0, j6=i
{x L
j
|τ
j
(x) = true ρ
i
(x) = true}
A parallel computation step among two configura-
tions C
1
and C
2
, represented by C
1
|= C
2
, if the appli-
cation of the evolutionary and communication steps
in parallel, that is,
C
1
|= C
2
= (C
1
C
2
)||(C
1
C
2
)
Let Γ = (V, N
1
, N
2
, ··· , N
n
) be an NEP. By a par-
allel computation in Γ we mean a sequence of config-
urations C
0
, C
1
, C
2
, ··· , where C
0
is the initial config-
uration andC
i
|= C
i+1
for all i 0. MPNEP is a NEP
with parallel computation MPNEP is a NEP
p
–.
If the sequence is finite, we have a finite computa-
tion. The result of any finite computation is collected
in a designated node called the output node. If one
considers the output node of the network as being the
node N
0
, and if C
0
, C
1
, ··· , C
t
is a computation, then
the set of strings existing in the node N
0
at the last
step the 0-th component of C
t
is the result of this
computation. The time complexity of the above com-
putation is the number of steps, that is t.
2.2 MPNEP vs. NEP
Let Γ = (V, N
1
, N
2
, ··· , N
n
) be an NEP
c
. By a con-
trolled computation in Γ we mean a sequence of con-
figurations C
0
, C
1
, C
2
, ··· , where C
0
is the initial con-
figuration and C
2i
C
2i+1
and C
2i+1
C
2i+2
for all
i 0.
Theorem 2.1. Problems solved using a NEP
cX
can
be solved using a MPNEP = NEP
pX
, where X =
{b, d, c}.
Proof. Given a processor N
i
= {A
i
, R
i
, PI
i
, PO
i
} be-
longing to a NEP
cX
it is possible to transform it on
a processor N
i
= {A
i
, R
i
, PI
i
, PO
i
} that behaves in a
same way within a MPNEP = NEP
pX
in the follow-
ing way:
Given a rule r
ik
R
i
with the notation A B, with
1 k p, each rule r
ik
R
i
has the form A BX
ik
Given the ouput filter PO
i
, PO
i
= PO
i
S
p
k=1
X
ip
With these new sets R
i
and PO
i
the parallel com-
putation of a NEP behavesin the same way that a con-
trolled computation since τ(w) = false until all rules
are applied.
Theorem 2.2. Problems solved using a NEP
Xb
can
be solved using a NEP
Xd
and problems solved using
a NEP
Xd
can be solved using a NEP
Xc
, where X =
{p, c}.
Proof. It is obvious that abc adc where a, (c = ε)
V
is similar to ab ad and ab ad where (a = ε)
V
is similar to b d.
3 COMPUTATIONAL
COMPLETENESS
Since MPNEPs with finite filters can generate regular
languages only, we shall consider in the sequel MP-
NEPs having infinite regular languages as filters.
Theorem 3.1. Each recursively enumerable lan-
guage can be generated by a complete MPNEP of size
5.
Proof. Let G = (N, T, S, P) be an arbitrary phrase-
structure grammar in the Kuroda normal form,
namely P contains only rules of the following forms:
A a, A BC, AB CD, A ε
where A, B, C, D are nonterminals and a is a terminal.
We assume that the rules A BC and AB CD of
P are labelled in a one-to-one manner by the labels
r
1
, r
2
, ··· , r
n
. We shall refer to the rules of the form
A a, A ε, A BC, y AB CD as rules of type
0, 1, 2, and 3, respectively. We construct the following
NEP of size 5 having a complete underlying graph:
Γ = (N T V {X}, N
0
, N
1
, N
2
, N
3
, N
4
, K
5
)
where V = {r
i
, p
i
, q
i
, s
i
, t
i
|1 i n} and
N
0
= (
/
0,
/
0, T
, (N T V {X})
(N V {X})
(N T V {X})
)
N
1
= (M
1
, {S}, (N T)
(N T)
{r
i
q
i
|1 i n}(N T)
(N T)
({r
i
, s
i
p
i
, t
i
q
i
|1 i n} {X})
(N T)
T
)
with M
1
= {A X|A ε P}
∪{A a|A a P}
{A r
i
, r
i
t
i
|r
i
: A BC P}
{A s
i
, B p
i
|r
i
: AB CD P}
ICEIS 2008 - International Conference on Enterprise Information Systems
590
N
2
= ({ε q
i
|r
i
: A BC},
/
0,
(N T)
{r
i
|1 i n}(N T)
,
(N T V)
)
N
3
= (M
3
,
/
0, (N T)
{s
i
p
i
, t
i
q
i
|1 i n}
(N T)
, (N T)
)
with M
3
= {t
i
B, q
i
C|r
i
: A BC P}
{s
i
C, p
i
D|r
i
: AB CD P}
N
4
= ({X ε},
/
0, (N T)
{X}(N T)
, (N T)
)
Taking into accountthis NEP configuration, a MP-
NEP can be defined according to theorem 2.1.
Given a rule r
ik
R
i
with the notation A B, with
1 k p, each rule r
ik
R
i
has the form A BX
ik
Given the ouput filter PO
i
, PO
i
= PO
i
S
p
k=1
X
ip
This MPNEP behaves in the same way that a NEP
and therefore each recursively enumerable language
can be generated.
4 3-COLORABILITY PROBLEM
Theorem 4.1. The ”3-colorability problem” can be
solved in O(m+ n) time by a MPNEP of size 4m+ 1,
where n is the number of vertices and m is the number
of edges of the input graph.
Proof. Let G = ({1, 2, · ·· , n}, {e
1
, e
2
, ··· , e
m
}) a
graph an assume that e
t
= {k
t
, l
t
}, 1 k
t
l
t
n, 1
t m. We consider the alphabet U = V V
T A,
where V = {b, r, g}, T = {a
1
, a
2
, ··· , a
n
}, and A =
{
ˆ
A
1
,
ˆ
A
2
, ··· ,
ˆ
A
n
}.
We construct the following processors of a mas-
sive parallel NEP.
A generator processor:
N
0
= {{ a
1
a
2
··· a
n
},
{a
i
b
ˆ
A
i
, a
i
r
ˆ
A
i
, a
i
g
ˆ
A
i
|1 i n},
/
0, {
ˆ
A
i
|1 i n}}
This processor generates all possible color com-
binations, solutions or not, to the problem. And it
sends those strings to next processors.
For each edge in the graph e
t
= {k
t
, l
t
}, we have 4
filtering processors (where i = {k
t
, l
t
}):
N
e
1
t
= {
/
0, {g
ˆ
A
i
g
a
i
, r
ˆ
A
i
r
a
i
},
{
ˆ
A
i
}, {g
, r
}}
N
e
2
t
= {
/
0, {g
ˆ
A
i
g
a
i
, b
ˆ
A
i
b
a
i
},
{
ˆ
A
i
}, {g
, b
}}
N
e
3
t
= {
/
0, {b
ˆ
A
i
b
a
i
, r
ˆ
A
i
r
a
i
},
{
ˆ
A
i
}, {b
, r
}}
N
e
4
t
= {
/
0, {r
a
i
r
ˆ
A
i
, g
a
i
g
ˆ
A
i
, b
a
i
b
ˆ
A
i
},
{a
i
}, {
ˆ
A
i
}}
It is clear to see that we can build a MPNEP
with previous nodes in such a way that N
0
generates
all possible colored strings and then apply processors
N
e
1
t
, N
e
2
t
, N
e
3
t
, N
e
4
t
to filter such strings for edge e
t
. Re-
peating such filtering process with the rest of edges
gives a valid solution to the given problem.
A MPNEP with the above architecture can solve
the 3-colorability problem of n cities with m edges.
For the first n steps, that are evolution ones when
nothing is actually communicated, the strings will re-
main in N
0
until no letter in T appears in them any-
more. When this process is finished, the obtained
strings encode all possible ways of coloring the ver-
tices, satisfying or not the requirements of the prob-
lem. After this, 1 step is needed to communicate all
possible solutions to next processors. Now, for each
edge e
t
, MPNEP keeps only those strings which en-
codes a col- orability satisfying the condition for the
two vertices of e
t
. This is done by means of the nodes
N
e
1
t
, N
e
2
t
, N
e
3
t
, finally N
e
4
t
in 12 steps. As one can see,
the overall time of a computation is 12m+ n+ 1. We
finish the proof by mentioning that the total number of
rules is 18m+ 3n+ 1. In conclusion, all parameters of
the network are of O(m+ n) size.
5 FINAL REMARKS
The concept of network of evolutionary processors
is based on mechanisms inspired from cell biology.
A variation of these networks called massive paral-
lel of network of evolutionary processors is also stud-
ied. These networks consists of nodes which are very
simple processors and are able to perform rules oper-
ations. These nodes are endowed with a filter which
are defined by regular sets. Evolution and commu-
nication is done in a parallel way which seem to be
close to the possibilities of biological implementation
rather than NEPs since bio-operation, chemical reac-
tions, mutations etc. happen in a parallel way since
there is no inherent synchronization among them.
A new dynamic of NEP has been introduced in
this paper. It has been proof that any given NEP can
be model with an equivalent MPNEP, see theorem
2.1, and therefore the inherent computational com-
MASSIVE PARALLEL NETWORKS OF EVOLUTIONARY PROCESSORS AS NP-PROBLEM SOLVERS
591
pleteness of NEP can be incorporated in MPNEP.
This massive parallel way of operation is closer to bi-
ological operations than classical NEP.
The 3-colorability problem has been solved using
a software tool that simulates a MPNEP according to
theorem 4.1. This soft tool can be use to check other
useful theorems (Castellanos et al., 2001) in NEP re-
search area.
This paper has proposed a new dynamic of NEP
with a high parallel and non-deterministic behavior,
and therefore all research about NEP can be trans-
lated into MPNEP. For instance, MPNEP can be
modified according to (Diaz et al., 2007) in order to
move filters towards edges. Each edge is viewed as
a two-way channel such that input and output filters
coincide. Thus, the possibility of controlling the com-
putation in such networks seems to be diminished. In
spite of this these networks are still computationally
complete (Castellanos et al., 2006). Also, another
rules can be implemented in MPNEP to extend this
computing model. In (Manea et al., 2007) one re-
places the point mutations associated with each node
by the missing operation mentioned above, that of
splicing. This new processor is called splicing proces-
sor. This computing model, called accepting network
of splicing processors (shortly ANSP), is similar to
some extent to the test tube distributed systems based
on splicing.
REFERENCES
Adleman, L. (1994). Molecular computation of solutions to
combinatorial problems. Science, 226:1021–1024.
Castellanos, J., de Mingo, L. F., and Mitrana, V. (2006).
Solving sat by accepting networks of splicing proces-
sors with filtered connections. In 15th International
Conference on Computing, pages 260–265.
Castellanos, J., Mart´ın-Vide, C., Mitrana, V., and Sempere,
J. (2001). Solving np-complete problems with net-
works of evolutionary processors. Lecture Notes in
Computer Science, 2084:621–628.
Castellanos, J., Mart´ın-Vide, C., Mitrana, V., and Sempere,
J. (2003). Networks of evolutionary processors. Acta
Inform´atica, 39:517–529.
Ciobanu, G., Paun, G., and Perez-Jimenez, M. (2005). Ap-
plications of Membrane Computing. Springer-Verlag,
Berlin.
Diaz, M., de Mingo, L., and G´omez, N. (2007). Networks
of evolutionary processors: Java implementation of
a threaded processor. International Conference on
Information Research, Applications and Education
ITech’07, pages 203–210.
Errico, L. and Jesshope, C. (1994). Towards a new ar-
chitecture for symbolic processing. Artificial Intel-
ligence and Information-Control Systems of Robots,
pages 31–40.
Fahlman, S., Hinton, G., and Seijnowski, T. (1983). Mas-
sively parallel architectures for ai: Massively parallel
architectures for ai: Netl, thistle and boltzmann ma-
chines. In AAAI National Conference on Artificial In-
telligence, pages 109–113.
Hillis, W. (1985). The Connection Machine. MIT Press,
Cambridge.
Manea, F., Martin-Vide, C., and Mitrana, V. (2007). Ac-
cepting networks of splicing processors: complexity
results. Theoretical Computer Science, pages 72–82.
Paun, G. (2002). Membrane Computing. An Introduction,
Membrane Computing. An Introduction, Membrane
Computing. An Introduction. Springer-Verlag, Berlin.
Robinson, D. A. (1992). Implications of neural networks
for how we think about brain function. Behavioral
and Brain Sciences, 15(4):644–655.
Zandron, C. (2002). A Model for Molecular Computing:
Membrane Systems, A Model for Molecular Com-
puting: Membrane Systems, A Model for Molecu-
lar Computing: Membrane Systems. Universita degli
Studi di Milano, Italy.
ICEIS 2008 - International Conference on Enterprise Information Systems
592