Symbol α ∈ {∗, l, r} denotes the way of applying
an insertion or a deletion rule to a word, namely, at
any position (a = ∗), in the left-hand end (a = l),
or in the right-hand end (a = r) of the word, respec-
tively. Note that a substitution rule can be applied at
any position. For everyrule σ, action α ∈ {∗, l, r}, and
L ⊆V
∗
, we define the α−action of σ on L by σ
α
(L) =
S
w∈L
σ
α
(w). For a given finite set of rules M, we de-
fine the α − action of M on a word w and on a lan-
guage L by M
α
(w) =
S
σ∈M
σ
α
(w) and M
α
(L) =
S
w∈L
M
α
(w), respectively.
Before turning to the notion of an evolutionary
processor, we define the filtering mechanism.
For disjoint subsets P, F ⊆ V and a word w ∈ V
∗
,
we define the predicate ϕ (ϕ
(2)
in terminology of
(Csuhaj-Varj´u et al., 2005)) as ϕ(w;P, F) ≡ alph(w)∩
P 6=
/
0 ∧ F ∩ alph(w) =
/
0. The construction of this
predicate is based on random-context conditions de-
fined by the two sets P (permitting contexts) and F
(forbidding contexts). For every language L ⊆ V
∗
we
define ϕ(L, P, F) = {w ∈ L | ϕ(w;P, F)}.
An obligatory evolutionary processor over V is a
5-tuple (M, PI, FI, PO, FO) where:
- Either M ⊆ Sub
V
or M ⊆ Del
V
or M ⊆ Ins
V
. The
set M represents the set of obligatory evolutionary op-
erations of the processor. Note that every processor
is dedicated to only one type of the above obligatory
evolutionary operations.
- PI, FI ⊆ V are the input permitting/forbidding
contexts of the processor, while PO, FO ⊆ V are the
output permitting/forbidding contexts of the proces-
sor.
We denote the set of obligatory evolutionary proces-
sors overV by OEP
V
.
Definition 2.1 An obligatory hybrid network of evo-
lutionary processors (an OHNEP, shortly) is a 7-tuple
Γ = (V, G, N,C
0
, α, β, i
0
), where the following condi-
tions hold:
- V is an alphabet.
- G = (X
G
, E
G
) is a directed graph with set of ver-
tices X
G
and set of edges E
G
. G is called the underly-
ing graph of the network.
- N : X
G
−→ OEP
V
is a mapping which associates
with each node x ∈ X
G
the obligatory evolutionary
processor N(x) = (M
x
, PI
x
, FI
x
, PO
x
, FO
x
).
- C
0
: X
G
−→ 2
V
∗
is a mapping which identifies
the initial configuration of the network. It associates
a finite set of words with each node of the graph G.
- α : X
G
−→ {∗, l, r}; α(x) defines the action mode
of the rules performed in node x on the words occur-
ring in that node.
- β : X
G
−→ {(1), (2)} defines the type of the in-
put/output filters of a node. More precisely, for every
node, x ∈ X
G
, we define the following filters: the input
filter is given as ρ
x
(·) = ϕ
β(x)
(·;PI
x
, FI
x
), and the out-
put filter is defined as τ
x
(·) = ϕ
β(x)
(·, PO
x
, FO
x
). That
is, ρ
x
(w) (resp.τ
x
) indicates whether or not the word
w can pass the input (resp. output) filter of x. More
generally, ρ
x
(L) (resp. τ
x
(L)) is the set of words of L
that can pass the input (resp. output) filter of x.
- i
0
∈ X
G
is the output node of the OHNEP.
Notice, that in the definition of OHNEP above
G = (X
G
, E
G
) is a directed graph, but in the defini-
tion of HNEP (see, for example, (Csuhaj-Varj´u et al.,
2005)), underlying graph is an undirected graph. This
is the second difference between HNEP and OHNEP.
We say that card(X
G
) is the size of Γ. An OHNEP
is said to be a complete OHNEP, if its underlying
graph is a complete graph.
A configuration of an OHNEP Γ, as above, is
a mapping C : X
G
−→ 2
V
∗
which associates a set
of words with each node of the graph. A compo-
nent C(x) of a configuration C is the set of words
that can be found in the node x in this configura-
tion, hence a configuration can be considered as the
sets of words which are present in the nodes of the
network at a given moment. A configuration can
change either by an evolutionary step or by a com-
munication step. When it changes by an evolution-
ary step, then each component C(x) of the config-
uration C is changed in accordance with the set of
evolutionary rules M
x
associated with the node x and
the way of applying these rules α(x). Formally, the
configuration C
′
is obtained in one evolutionary step
from the configuration C, written as C =⇒ C
′
, iff
C
′
(x) = M
α(x)
x
(C(x)) for all x ∈ X
G
.
When it changes by a communication step, then
each language processor N(x), where x ∈ X
G
, sends
a copy of each of its words to every node processor
where the node is connected with x, provided that this
word is able to pass the output filter of x, and receives
all the words which are sent by processors of nodes
connected with x, providing that these words are able
to pass the input filter of x. Formally, we say that con-
figuration C
′
is obtained in one communication step
from configuration C, written as C ⊢ C
′
, iff C
′
(x) =
(C(x) −τ
x
(C(x)))∪
S
(y,x)∈E
G
(τ
y
(C(y) ∩ρ
x
(C(y))) for
all x ∈ X
G
.
For an OHNEP Γ, a computation in Γ is a se-
quence of configurations C
0
, C
1
,C
2
, . . . , where C
0
is the initial configuration of Γ, C
2i
=⇒ C
2i+1
and
C
2i+1
⊢ C
2i+2
, for all i > 0. If we use OHNEPs as
language generating devices, then the generated lan-
guage is the set of all words which appear in the out-
put node at some step of the computation. Formally,
the language generated by Γ is L(Γ) =
S
s≥0
C
s
(i
0
).
OBLIGATORY HYBRID NETWORKS OF EVOLUTIONARY PROCESSORS
615