Building a Nest by an Automaton
Jurek Czyzowicz, Dariusz Dereniowski, Andrzej Pelc
TL;DR
The paper studies constructing a nest from bricks on an unknown, infinite grid using a robot modeled as a deterministic finite automaton. It introduces the concepts of a rough disc and a marker to maintain connectivity while bricks are moved, and defines a sequence of procedures—sweeping, search walks, backtracking, and disc extension—to iteratively grow a compact structure containing all bricks. The main contribution is a universal automaton that builds a nest from any initial connected field of size $z$ and span $s$ in time $O(sz)$, with a proven $\,\Omega(sz)\,$ lower bound, establishing optimality. This work demonstrates that finite automata can perform optimal structure-building tasks in unknown environments and opens avenues for understanding parallelization and the classes of target structures achievable by a single automaton.
Abstract
A robot modeled as a deterministic finite automaton has to build a structure from material available to it. The robot navigates in the infinite oriented grid $\mathbb{Z} \times \mathbb{Z}$. Some cells of the grid are full (contain a brick) and others are empty. The subgraph of the grid induced by full cells, called the field, is initially connected. The (Manhattan) distance between the farthest cells of the field is called its span. The robot starts at a full cell. It can carry at most one brick at a time. At each step it can pick a brick from a full cell, move to an adjacent cell and drop a brick at an empty cell. The aim of the robot is to construct the most compact possible structure composed of all bricks, i.e., a nest. That is, the robot has to move all bricks in such a way that the span of the resulting field be the smallest. Our main result is the design of a deterministic finite automaton that accomplishes this task and subsequently stops, for every initially connected field, in time $O(sz)$, where $s$ is the span of the initial field and $z$ is the number of bricks. We show that this complexity is optimal.
