Centralised transformations of modular robots
A centralised algorithm must transform one connected shape of \(n\) modules on the square grid into another using local moves.
Problem statement and measurescollapse
\(n\) modules (unit squares, the particles of this model) occupy cells of the square grid and form a connected shape; modules in cells that share a side are neighbours, and the shape is connected when every module can be reached from every other through neighbours. A centralised algorithm must transform it into a given target shape with the same number of modules, using only the allowed local moves, keeping the shape connected where required. Moves counts sequential moves; time is parallel time when several moves may happen at once.
Measures: Moves, sequential moves; Time, parallel time.
A first look
the basic problem, a simple algorithm and why some things cannot be done, for a newcomer
Picture a set of square magnets on a chessboard, all touching one another, that you are allowed to rearrange only by small local moves, and ask: can one arrangement be turned into another, and how many moves does it take? Here the magnets are \(n\) square modules and the squares of the board are cells of the infinite square grid. Modules in cells that share a side are neighbours, and the modules form a connected shape: every module can be reached from every other through neighbours. A centralised algorithm sees everything and decides the moves. Unlike amoebot particles, which move by expanding and contracting, a module moves by rotation (turning a quarter circle around a neighbour, ending on a diagonal cell) or by sliding (moving one cell along two neighbouring modules); a move is allowed only if the cells it sweeps through are empty. The goal: transform the shape into a given target shape with the same number of modules, and count moves (one at a time) or parallel time (the number of steps when several moves may happen at once).
With rotations and slidings both allowed:
- Find a module on the outside of the shape whose removal keeps the rest connected; every connected shape with at least two modules has at least two.
- That module can walk around the outside of the rest, rotating at corners and sliding along straight stretches, always staying a neighbour of some module.
- Walk it to the end of a horizontal line (modules in consecutive cells of one row) growing from the shape's lowest right-most module; repeat until all \(n\) modules form the line.
- To reach a target shape \(B\), also plan \(B \to\) line, then play that plan backwards: every rotation and sliding can be undone by the opposite move.
Why it matters. Going through a canonical shape and using reversibility is the standard way to prove that a set of moves is universal.
Colour the grid like a chessboard. A rotation moves a module to a cell diagonal to its old one, which has the same colour. So with rotations alone, the number of modules on black cells never changes, and neither does the number on white cells. Example: a horizontal line of 3 modules on black, white, black cells has two on black; a shape of 3 modules with two on white cells can never be reached from it.
Why it matters. An invariant, a quantity that no move changes, is the simplest tool for proving that a transformation is impossible.
Take a ladder: a diagonal staircase two modules wide, climbing one row every two modules. Ask for a horizontal line. Wherever the line is placed, at least half of the ladder's modules lie on one side of it, at heights \(1, 1, 2, 2, \dots\) up to about \(n/4\) from it. Each must cover at least that height, so the total distance is at least \(2(1+2+\dots+n/4)\), which is about \(n^2/16\).
Why it matters. The total-distance argument gives quadratic lower bounds for every model where one entity moves one step at a time.
What is known
The best upper bound against the best lower bound in each catalogued setting. Open a setting for its results, proofs and notes, or see the progress map with the branch points.
Open questions 3
Rotation only
- What is the complexity of connectivity-preserving transformability with rotations alone? The paper leaves it open (Section 7) Michail et al. 2019.
Rotation and sliding
- Prove the suspected \(\Omega(n\log n)\) lower bound for universal transformations with line pushing Almethen et al. 2020.
- Distributed universal transformations with line pushing Almethen et al. 2020.
What the community started looking at
The first question was which mechanisms are universal and how hard it is to decide transformability Michail et al. 2019; then how far stronger mechanisms reduce the number of moves Almethen et al. 2020 Akitaya et al. 2021.
Related problems
Shape formation in programmable matter: A central controller plans the moves, so the question is which mechanisms are universal and how many moves they need, not how particles coordinate.
All settings
The assumption tree (2 settings, 0 branch points)
The root assumes nothing. Going down, each edge adds the assumptions on its chips (+blue); a grey chip names the branch that leaves that axis unassumed while a sibling assumes something. Solid nodes are catalogued variants with their status per measure (Moves, Time); dashed nodes are branch points with no catalogued variant, named after the axis on which their branches differ. Axis order: Mechanism.
Assumptions specific to this problem
Mechanism
Michail, Skretas and Spirakis chose two movements that are "easily implementable by existing technology": a module may rotate \(90°\) around a neighbour, or slide one cell over two neighbours Michail et al. 2019. Rotation and sliding together had been studied before for metamorphic robotic systems Dumitrescu et al. 2004 (as cited by Michail et al. 2019). Rotation alone is the weaker mechanism. Michail et al. showed that deciding transformability with rotations alone is in P, and in PSPACE when connectivity must be kept; adding sliding makes any two connected shapes of the same size transformable into each other with \(\Theta(n^2)\) moves Michail et al. 2019. Almethen, Michail and Potapov later added a line-pushing mechanism that contains both as special cases and is faster Almethen et al. 2020.
Formal definitions
- 0rotation
- A module may rotate \(90°\) around an adjacent module, if the cells it sweeps are empty.
- 1rotation + sliding
- In addition, a module may slide one cell along a line of modules.
Know a better result, or found a mistake? Suggest a result · Report an error. Accepted contributions are acknowledged.