  Distributed function computation is the problem, for a networked system of
$n$ autonomous agents, to collectively compute the value $f(v_1, \ldots, v_n)$
of some input values, each initially private to one agent in the network. Here,
we study and organize results pertaining to distributed function computation in
anonymous networks, both for the static and the dynamic case, under a
communication model of directed and synchronous message exchanges, but with
varying assumptions in the degree of awareness or control that a single agent
has over its outneighbors.
  Our main argument is three-fold. First, in the "blind broadcast" model, where
in each round an agent merely casts out a unique message without any knowledge
or control over its addressees, the computable functions are those that only
depend on the set of the input values, but not on their multiplicities or
relative frequencies in the input. Second, in contrast, when we assume either
that a) in each round, the agents know how many outneighbors they have; b) all
communications links in the network are bidirectional; or c) the agents may
address each of their outneighbors individually, then the set of computable
functions grows to contain all functions that depend on the relative
frequencies of each value in the input - such as the average - but not on their
multiplicities - thus, not the sum. Third, however, if one or several agents
are distinguished as leaders, or if the cardinality of the network is known,
then under any of the above three assumptions it becomes possible to recover
the complete multiset of the input values, and thus compute any function of the
distributed input as long as it is invariant under permutation of its
arguments. In the case of dynamic networks, we also discuss the impact of
multiple connectivity assumptions.
