We consider the task of computing functions $f: \mathbb{N}^k\to \mathbb{N}$, where $ \mathbb{N}$ is the set of natural numbers, by finite teams of agents modelled as deterministic finite automata. The computation is carried out in a distributed way, using the {\em discrete half-line}, which is the infinite graph with one node of degree 1 (called the root) and infinitely many nodes of degree 2. The node at distance $j$ from the root represents the integer $j$. We say that a team $\mathcal{A}^f$ of automata computes a function $f$, if in the beginning of the computation all automata from $\mathcal{A}^f$ are located at the arguments $x_1,\dots,x_k$ of the function $f$, in groups $\mathcal{A}^f _j$ at $x_j$, and at the end, all automata of the team gather at $f(x_1,\dots,x_k)$ and transit to a special state $STOP$. At each step of the computation, an automaton $a$ can ``see'' states of all automata colocated at the same node: the set of these states forms an input of $a$. Our main result shows that, for every primitive recursive function, there exists a finite team of automata that computes this function. We prove this by showing that basic primitive recursive functions can be computed by teams of automata, and that functions resulting from the operations of composition and of primitive recursion can be computed by teams of automata, provided that the ingredient functions of these operations can be computed by teams of automata. We also observe that cooperation between automata is necessary: even some very simple functions $f: \mathbb{N}\to \mathbb{N}$ cannot be computed by a single automaton.
翻译:我们考虑由建模为确定性有限自动机的智能体组成的有限团队计算函数 $f: \mathbb{N}^k\to \mathbb{N}$ 的任务,其中 $\mathbb{N}$ 为自然数集合。该计算采用分布式方式执行,利用{\em 离散半直线}——一种包含一个1度节点(称为根节点)和无穷多个2度节点的无限图。距根节点距离为 $j$ 的节点代表整数 $j$。我们称自动机团队 $\mathcal{A}^f$ 能够计算函数 $f$,若在计算开始时,$\mathcal{A}^f$ 中所有自动机分别位于函数 $f$ 的参数 $x_1,\dots,x_k$ 处(即子团队 $\mathcal{A}^f _j$ 位于 $x_j$),而在计算结束时,该团队所有自动机汇聚于 $f(x_1,\dots,x_k)$ 并转入特殊状态 $STOP$。计算的每一步中,自动机 $a$ 可“观测”所有同节点自动机的状态:这些状态的集合构成 $a$ 的输入。我们的主要结论表明:对于每个原始递归函数,都存在计算该函数的有限自动机团队。我们通过证明以下两点来论证该结论:基本原始递归函数可由自动机团队计算;若复合操作与原始递归操作中的成分函数可由自动机团队计算,则这些操作生成的结果函数同样可由自动机团队计算。我们还观察到,自动机间的协作是必要的:即使某些非常简单的函数 $f: \mathbb{N}\to \mathbb{N}$ 也无法由单个自动机计算。