Compacting Squares
Edge-connected configurations of squares are a common model for modular robots in two dimensions. A well-established way to reconfigure such modular robots are so-called sliding moves. Dumitrescu and Pach [Graphs and Combinatorics, 2006] proved that it is always possible to reconfigure one edge-connected configuration of n squares into any other using at most O(n^2) sliding moves, while keeping the configuration connected at all times. For certain configurations Ω(n^2) sliding moves are necessary. However, significantly fewer moves may be sufficient. In this paper we present a novel input-sensitive in-place algorithm which requires only O(P̅ n) sliding moves to transform one configuration into the other, where P̅ is the maximum perimeter of the respective bounding boxes. Our Gather Compact algorithm is built on the basic principle that well-connected components of modular robots can be transformed efficiently. Hence we iteratively increase the connectivity within a configuration, to finally arrive at a single solid xy-monotone component. We implemented Gather Compact and compared it experimentally to the in-place modification by Moreno and Sacristán [EuroCG 2020] of the Dumitrescu and Pach algorithm (MSDP). Our experiments show that Gather Compact consistently outperforms MSDP by a significant margin, on all types of square configurations.
READ FULL TEXT