Back to Search
Start Over
Computing Functions by Teams of Deterministic Finite Automata
- Publication Year :
- 2023
-
Abstract
- 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.
- Subjects :
- Computer Science - Distributed, Parallel, and Cluster Computing
Subjects
Details
- Database :
- arXiv
- Publication Type :
- Report
- Accession number :
- edsarx.2310.01151
- Document Type :
- Working Paper