• 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