y
1
= f
1
(u
1
, . . . , u
m
) ,
· · ·
y
p
= f
p
(u
1
, . . . , u
m
) ,
(2)
where each f
i
: B
m
→ B consists of a logical condition on the inputs. Let us denote
with u = (u
1
, . . . , u
m
)
T
∈ B
m
the input event vector, and with y = (y
1
, . . . , y
p
)
T
∈
B
p
the output decision vector. Then, we will write y = f (u) as a compact form of Eq.
2, where f = (f
1
, . . . , f
p
)
T
, with f : B
m
→ B
p
, is a logical vector function. It is worth
noting that computation of f is centralized in the sense that it may require knowledge
of the entire input vector u to determine the output vector y.
Our approach to solve the decision task consists of employing a collection of n
agents, A
1
, . . . , A
n
, that are supposed to cooperate and possibly exchange locally avail-
able information. We assume that each agent is described by a triple A
i
= (S
i
, P
i
, C
i
),
where S
i
is a collection of sensors, P
i
is a processor that is able to perform elementary
logical operations such as {and, or, not}, and C
i
is a collection of communication de-
vices allowing transmission of only sequences of binary digits, 0 and 1, namely strings
of bits. Although we assume that every agent has the same processing capability, i.e.
P
i
= P for all i, we consider situations where agents may be heterogeneous in terms of
sensors and communication devices. Due to this diversity as well as the fact that agents
are placed at different locations, a generic agent i may or may not be able to measure
a given input event u
j
, for j ∈ 1, . . . , m. Therefore, we can conveniently introduce a
visibility matrix V ∈ B
n×m
such that we have V (i, j) = 1 if, and only if, agent A
i
is
able to measure input event u
j
, or, in other words, if the i–th agent is directly reachable
from the j–th input. Moreover, for similar reasons of diversity and for reducing battery
consumption,each agent is able to communicate only with a subset of other agents. This
fact is captured by introducing a communication matrix C ∈ B
n×n
, where C(i, k) = 1
if, and only if, agent A
i
is able to receive a data from agent A
k
. Hence, agents specified
by row C(i , :) will be referred to as C–neighbors of the i–th agent. The introduction of
visibility relations between inputs and agents immediately implies that, at any instant t,
only a subset of agents is able to measure the state of each input u
j
, for all j. Therefore,
to effectively accomplish the given decision task, we need that such an information
flows from one agent to another, consistently with available communication paths. We
require all agents reach an agreement on the centralized decision y = f(u), so that any
agent can be polled and provide consistent complete information. In this perspective,
we pose the problem of reaching a consensus on logical values.
In this view, we can imagine that each agent A
i
has a local state vector, X
i
=
(X
i,1
, . . . , X
i,q
) ∈ B
q
, that is a string of bits.
Then, let us denote with X(t) = (X
T
1
(t), . . . , X
T
n
(t))
T
∈ B
n×q
a matrix representing
the network state at a discrete time t. Hence, we assume that each agent A
i
is a dynamic
node that updates its local state X
i
through a distributed logical update function F that
depends on its state, on the state of its C–neighbors, and on the reachable inputs, i.e.
X
i
(t+1) = F
i
(X(t), u(t)). Moreover, we assume that each agent A
i
is able to produce
a logical output decision vector Y
i
= (y
i,1
, . . . , y
i,p
) ∈ B
p
througha suitable distributed
logical output function G depending on the local state X
i
and on the reachable inputs u,
i.e. Y
i
(t) = G
i
(X
i
(t), u(t)). Let us denote with Y (t) = (Y
T
1
(t), . . . , Y
T
p
(t))
T
∈ B
p×q