**Title:** Full Tilt: Universal Constructors for General Shapes with Uniform External Forces

**Authors:** Jose Balanza-Martinez, David Caballero, Angel A. Cantu, Luis Angel Garcia, Austin Luchsinger, Rene Reyes, Robert Schweller, and Tim Wylie

**Conference:** The 30th ACM-SIAM Symposium on Discrete Algorithms (SODA’19), 2019.

**Abstract:**We investigate the problem of assembling general shapes and patterns in a model in which particles move based on uniform external forces until they encounter an obstacle. In this model, corresponding particles may bond when adjacent with one another. Succinctly, this model considers a 2D grid of “open” and “blocked” spaces, along with a set of slidable polyominoes placed at open locations on the board. The board may be tilted in any of the 4 cardinal directions, causing all slidable polyominoes to move maximally in the specified direction until blocked. By successively applying a sequence of such tilts, along with allowing different polyominoes to stick when adjacent, tilt sequences provide a method to reconfigure an initial board configuration so as to assemble a collection of previous separate polyominoes into a larger shape.

While previous work within this model of assembly has focused on designing a specific board configuration for the assembly of a specific given shape, we propose the problem of designing \emph{universal configurations} that are capable of constructing a large class of shapes and patterns.

For these constructions, we present the notions of \emph{weak} and \emph{strong} universality which indicate the presence of “excess” polyominoes after the shape is constructed. In particular, for given integers $h,w$, we show that there exists a weakly universal configuration with $\mathcal{O}(hw)$ $1 \times 1$ slidable particles that can be reconfigured to build any $h \times w$ patterned rectangle. We then expand this result to show that there exists a weakly universal configuration that can build any $h \times w$-bounded size connected shape. Following these results, which require an admittedly relaxed assembly definition, we go on to show the existence of a strongly universal configuration (no excess particles) which can assemble any shape within a previously studied “Drop” class, while using quadratically less space than previous results.

Finally, we include a study of the complexity of deciding if a particle within a configuration may be relocated to another position, and deciding if a given configuration may be transformed into a second given configuration. In both cases, we show this problem to be PSPACE-complete, even when movable particles are restricted to $1\times 1$ and $2\times 2$ polyominoes that do not stick to one another.

**URL: **

**Bibtex:**

**Accompanying videos related to the paper**

## Section 3: Pattern and General Shape Builder

**Construction of a Pattern:**

**Construction of a Drop Shape:**

**Construction of a Non-Drop Shape:**

## Section 4: Drop Shape Builder

## Section 5: Relocation Gadget

**Example of Correct Traversal Through our Relocation Gadget:**

This video shows the correct sequence of tilts to traverse our robot through the gadget. Note the closed exit/entrance points of our gadgets do not affect this traversal, and are only there to simplify testing

**Example of Incorrect State Traversal Attempt Through our Relocation Gadget:**

Here we see the robot trying to traverse our gadget while the gadget is not in the correct state to allow the robot to do so. This is only one of the possible sequences, but no sequence of tilts exists that would allow the robot to traverse through the gadget from this position.

**Example of Robot Polyomino Becoming Stuck Through Correct State but Incorrect Traversal Sequence:**

Here is an example of the importance of our optimal sequence to traverse through the gadget, although there are many ways to traverse, there are also many ways to enter what we call “stuck” configuration. From these configurations there is no sequence of tilts that would allow the robot to leave the gadget.

## Section 6: Reconfiguration Gadget

**Example of Correct Traversal Through Our Reconfigur****ation Gadget:**

**Example of Moving State Tiles to Reconfiguration Ring:**

Here we remove all tiles from the inner section of our gadget and into the “reconfiguration ring”. This property of our gadget is what allows us to achieve a global configuration of our gadgets and classify this problem as a reconfiguration problem.

**Example of A System of Reconfiguration Gadgets:**

This shows a system of reconfiguration gadgets and the robots traversal through the system. At the end of our traversal we move all our state tiles int the reconfiguration ring and achieve a specific configuration of our entire system.

**Example of Traversal Sequences that Preserve Initial State Tile Positions:**

The videos here show that we can easily traverse gadgets while maintaining the a small set of positions for our state tiles. We know that from these positions we can traverse the gadget with a sequence that will allow us to keep the positions of our red tiles within this set, while not moving any tiles that started in this set into the reconfiguration ring.