Tilt Assembly: Algorithms for MicroFactories That Build Objects with Uniform External Forces
Abstract
We present algorithmic results for the parallel assembly of many microscale objects in two and three dimensions from tiny particles, which has been proposed in the context of programmable matter and selfassembly for building highyield microfactories. The underlying model has particles moving under the influence of uniform external forces until they hit an obstacle; particles can bond when being forced together with another appropriate particle.
Due to the physical and geometric constraints, not all shapes can be built in this manner; this gives rise to the Tilt Assembly Problem (TAP) of deciding constructibility. For simplyconnected polyominoes in 2D consisting of unitsquares (‘‘tiles’’), we prove that TAP can be decided in time. For the optimization variant MaxTAP (in which the objective is to construct a subshape of maximum possible size), we show polyAPXhardness: unless P=NP, MaxTAP cannot be approximated within a factor of ; for treeshaped structures, we give an approximation algorithm. For the efficiency of the assembly process itself, we show that any constructible shape allows pipelined assembly, which produces copies of in amortized time, i.e., copies of in time steps. These considerations can be extended to threedimensional objects: For the class of polycubes we prove that it is NPhard to decide whether it is possible to construct a path between two points of ; it is also NPhard to decide constructibility of a polycube . Moreover, it is expAPXhard to maximize a path from a given start point.
1 Introduction
In recent years, progress on flexible construction at micro and nanoscale has given rise to a large set of challenges that deal with algorithmic aspects of programmable matter. Examples of cuttingedge application areas with a strong algorithmic flavor include selfassembling systems, in which chemical and biological substances such as DNA are designed to form predetermined shapes or carry out massively parallel computations; and swarm robotics, in which complex tasks are achieved through the local interactions of robots with highly limited individual capabilities, including micro and nanorobots.
Moving individual particles to their appropriate attachment locations when assembling a shape is difficult because the small size of the particles limits the amount of onboard energy and computation. One successful approach to dealing with this challenge is to use molecular diffusion in combination with cleverly designed sets of possible connections: in DNA tile selfassembly, the particles are equipped with sophisticated bonds that ensure that only a predesigned shape is produced when mixing together a set of tiles, see [18]. The resulting study of algorithmic tile selfassembly has given rise to an extremely powerful framework and produced a wide range of impressive results. However, the required properties of the building material (which must be specifically designed and finely tuned for each particular shape) in combination with the construction process (which is left to chemical reactions, so it cannot be controlled or stopped until it has run its course) make DNA selfassembly unsuitable for some applications.
An alternative method for controlling the eventual position of particles is to apply a uniform external force, causing all particles to move in a given direction until they hit an obstacle or another blocked particle. As two of us (Becker and Fekete, [1]) have shown in the past, combining this approach with custommade obstacles (instead of custommade particles) allows complex rearrangements of particles, even in gridlike environments with axisparallel motion. The appeal of this approach is that it shifts the design complexity from the building material (the tiles) to the machinery (the environment). As recent practical work by Manzoor et al. [15] shows, it is possible to apply this to simple ‘‘sticky’’ particles that can be forced to bond, see Fig. 1: the overall assembly is achieved by adding particles one at a time, attaching them to the existing subassembly.
One critical issue of this approach is the requirement of getting particles to their destination without being blocked by or bonding to other particles. As Fig. 3 shows, this is not always possible, so there are some shapes that cannot be constructed by Tilt Assembly.
This gives rise to a variety of algorithmic questions: (1) Can we decide efficiently whether a given polyomino can be constructed by Tilt Assembly? (2) Can the resulting process be pipelined to yield low amortized building time? (3) Can we compute a maximumsize subpolyomino that can be constructed? (4) What can be said about threedimensional versions of the problem?
1.1 Our Contribution
We present the results shown in Table 1.
1.2 Related Work
Assembling polyominoes with tiles has been considered intensively in the context of tile selfassembly. In 1998, Erik Winfree [18] introduced the abstract tile selfassembly model (aTAM), in which tiles have glue types on each of the four sides and two tiles can stick together if their glue type matches and the bonding strength is sufficient. Starting with a seed tile, tiles will continue to attach to the existing partial assembly until they form a desired polyomino; the process stops when no further attachments are possible. Apart from the aTAM, there are various other models like the twohanded tile selfassembly model (2HAM) [8] and the hierarchical tile selfassembly model [9], in which we have no single seed but pairs of subassemblies that can attach to each other. Furthermore, the staged selfassembly model [10, 11] allows greater efficiency by assembling polyominoes in multiple bins which are gradually combined with the content of other bins.
All this differs from the model in Tilt Assembly, in which each tile has the same glue type on all four sides, and tiles are added to the assembly one at a time by attaching them from the outside along a straight line. This approach of externally movable tiles has actually been considered in practice at the microscale level using biological cells and an MRI, see [12], [13], [4]. Becker et al. [5] consider this for the assembly of a magnetic Gauß gun, which can be used for applying strong local forces by very weak triggers, allowing applications such as microsurgery.
Using an external force for moving the robots becomes inevitable at some scale because the energy capacity decreases faster than the energy demand. A consequence is that all nonfixed robots/particles perform the same movement, so all particles move in the same direction of the external force until they hit an obstacle or another particle. These obstacles allow shaping the particle swarm. Designing appropriate sets of obstacles and moves gives rise to a range of algorithmic problems. Deciding whether a given initial configuration of particles in a given environment can be transformed into a desired target configuration is NPhard [1], even in a gridlike setting, whereas finding an optimal control sequence is shown to be PSPACEcomplete by Becker et al. [2]. However, if it is allowed to design the obstacles in the first place, the problems become much more tractable [1] . Moreover, even complex computations become possible: If we allow additional particles of double size (i.e., two adjacent fields), full computational complexity is achieved, see Shad et al. [16]. Further related work includes gathering a particle swarm at a single position [14] and using swarms of very simple robots (such as Kilobots) for moving objects [6]. For the case in which human controllers have to move objects by such a swarm, Becker et al. [3] study different control options. The results are used by Shahrokhi and Becker [17] to investigate an automatic controller.
Most recent and most closely related to our paper is the work by Manzoor et al. [15], who use global control to assembly polyominoes in a pipelined fashion: after constructing the first polyomino, each cycle of a small control sequence produces another polyomino. However, the algorithmic part is purely heuristic; providing a thorough understanding of algorithms and complexity is the content of our paper.
2 Preliminaries
 Polyomino:

For a set of grid points in the plane, the graph is the induced grid graph, in which two vertices are connected if they are at unit distance. Any set with connected grid graph gives rise to a polyomino by replacing each point by a unit square centered at , which is called a tile; for simplicity, we also use to denote the polyomino when the context is clear, and refer to as the dual graph of the polyomino; is treeshaped, if is a tree. A polyomino is called holefree or simple if and only if the grid graph induced by is connected.
 Blocking sets:

For each point we define blocking sets , as the set of all points that are above or below and . Analogously, we define the blocking sets , as the set of all points that are to the right or to the left of and .
 Construction step:

A construction step is defined by a direction (north, east, south, west, abbreviated by ) from which a tile is added and a latitude/longitude describing a column or row. The tile arrives from for north, for east, for south, and for west into the corresponding direction until it reaches the first grid position that is adjacent to one occupied by an existing tile. If there is no such tile, the polyomino does not change. We note that a position can be added to a polyomino if and only if there is a point with and one of the four blocking sets, , , or , is empty. Otherwise, if none of these sets are empty, this position is blocked.
 Constructibility:

Beginning with a seed tile at some position , a polyomino is constructible if and only if there is a sequence , such that the resulting polyomino , induced by successively adding tiles with , is equal to . We allow the constructed polyomino to be a translated copy of . Reversing yields a decomposition sequence, i.e., a sequence of tiles getting removed from .
3 Constructibility of Simple Polyominoes
In this section we focus on holefree (i.e., simple) polyominoes. We show that the problem of deciding whether a given polyomino can be constructed can be solved in polynomial time. This decision problem can be defined as follows.
Definition 1 (Tilt Assembly Problem).
Given a polyomino , the Tilt Assembly Problem (TAP) asks for a sequence of tiles constructing , if is constructible.
3.1 A Key Lemma
A simple observation is that construction and (restricted) decomposition are the same problem. This allows us to give a more intuitive argument, as it is easier to argue that we do not lose connectivity when removing tiles than it is to prove that we do not block future tiles.
Theorem 2.
A polyomino can be constructed if and only if it can be decomposed using a sequence of tile removal steps that preserve connectivity. A construction sequence is a reversed decomposition sequence.
Proof.
To prove this theorem, it suffices to consider a single step. Let be a polyomino and be a tile that is removed from into some direction , leaving a polyomino . Conversely, adding to from direction yields , as there cannot be any tile that blocks from reaching the correct position, or we would not be able to remove from in direction . ∎
For holefree polyominoes we can efficiently find a construction/decomposition sequence if one exists. The key insight is that one can greedily remove convex tiles. A tile is said to be convex if and only if there is a square solely containing ; see Fig. 4. If a convex tile is not a cut tile, i.e., it is a tile whose removal does not disconnect the polyomino, its removal does not interfere with the decomposability of the remaining polyomino.
This conclusion is based on the observation that a minimal cut (i.e., a minimal set of vertices whose removal leaves a disconnected polyomino) of cardinality two in a holefree polyomino always consists of two (possibly diagonally) adjacent tiles. Furthermore, we can always find such a removable convex tile in any decomposable holefree polyomino. This allows us to devise a simple greedy algorithm.
We start by showing that if we find a nonblocked convex tile that is not a cut tile, we can simply remove it. It is important to focus on convex tiles, as the removal of nonconvex tiles can harm the decomposability: see Fig. 3(a) for an illustration. In nonsimple polyominoes, the removal of convex tiles can destroy decomposability, as demonstrated in Fig. 3(b).
Lemma 3.
Consider a nonblocked noncut convex tile in a holefree polyomino . The polyomino is decomposable if and only if is decomposable.
Proof.
The first direction is trivial: if is decomposable, is decomposable as well, because we can remove the nonblocked tile first and afterwards use the existing decomposition sequence for . The other direction requires some case distinctions. Suppose for contradiction that is decomposable but is not, i.e., is important for the later decomposition.
Consider a valid decomposition sequence for and the first tile we cannot remove if we were to remove in the beginning. W.l.o.g., let be the first tile in this sequence (removing all previous tiles obviously does not destroy the decomposability). When we remove first, we are missing a tile, hence cannot be blocked but has to be a cut tile in the remaining polyomino . The presence of preserves connectivity, i.e., is a minimal cut on . Because has no holes, then and must be diagonal neighbors, sharing the neighbors and . Furthermore, by definition neither of and is blocked in some direction. We make a case distinction on the relation of these two directions.
 The directions are orthogonal (Fig. 4(a)).

Either or is a nonblocked convex tile, because and are both nonblocked ; w.l.o.g., let this be . It is easy to see that independent of removing or first, after removing we can also remove the other one.
 The directions are parallel (Fig. 4(b)).

This case is slightly more involved. By assumption, we have a decomposition sequence beginning with . We show that swapping with our convex tile in this sequence preserves feasibility.
The original sequence has to remove either or before it removes , as otherwise the connection between the two is lost when is removed first. After either or is removed, becomes a leaf and can no longer be important for connectivity. Thus, we only need to consider the sequence until either or is removed. The main observation is that and block the same tiles as or , except for tile as in Fig. 4(b). However, when is removed, it has to be a leaf, because is still not removed and in the original decomposition sequence, has already been removed. Therefore, a tile would have to be removed before . Hence, the decomposition sequence remains feasible, concluding the proof.∎
Next we show that such a convex tile always exists if the polyomino is decomposable.
Lemma 4.
Let be a decomposable polyomino. Then there exists a convex tile that is removable without destroying connectivity.
Proof.
We prove this by contradiction based on two possible cases.
Assume to be a decomposable polyomino in which no convex tile is removable. Because is decomposable, there exists some feasible decomposition sequence . Let denote the set of convex tiles of and let be the first removed convex tile in the decomposition sequence . By assumption, cannot be removed yet, so it is either blocked or a cut tile.
 is blocked.

Consider the direction in which we would remove . If it does not cut the polyomino, the last blocking tile has to be convex (and would have to be removed before ), see Fig. 5(a). If it cuts the polyomino, the component cut off also must have a convex tile and the full component has to be removed before , see Fig. 5(b). This is again a contradiction to being the first convex tile to be removed in .
 is a cut tile.

consists of exactly two connected polyominoes, and . It is easy to see that and , because every polyomino of size has at least two convex tiles of which at most one becomes nonconvex by adding . (A polyomino of size is trivial.) Before being able to remove , either or has to be completely removed, including their convex tiles. This is a contradiction to being the first convex tile in to be removed.∎
3.2 An Efficient Algorithm
An iterative combination of these two lemmas proves the correctness of greedily removing convex tiles. As we show in the next theorem, using a search tree technique allows an efficient implementation of this greedy algorithm.
Theorem 5.
A holefree polyomino can be checked for decomposability/constructibility in time .
Proof.
Lemma 3 allows us to remove any convex tile, as long as it is not blocked and does not destroy connectivity. Applying the same lemma on the remaining polyomino iteratively creates a feasible decomposition sequence. Lemma 4 proves that this is always sufficient. If and only if we can at some point no longer find a matching convex tile (to which we refer as candidates), the polyomino cannot be decomposable.
Let be the time needed to check whether a tile is blocked. A naïve way of doing this is to try out all tiles and check if gets blocked, requiring time . With a preprocessing step, we can decrease to by using binary search trees for searching for blocking tiles and utilizing that removing a tile can change the state of at most tiles. For every vertical line and horizontal line going through , we create a balanced search tree, i.e., for a total of search trees. An search tree for a vertical line contains tiles lying on , sorted by their coordinate. Analogously define a search tree for a horizontal line containing tiles lying on sorted by their coordinate. We iterate over all tiles and insert the tile in the corresponding  and search tree with a total complexity of . Note that the memory complexity remains linear, because every tile is in exactly two search trees. To check if a tile at position is blocked from above, we can simply search in the ,  and search tree for a tile with . We analogously perform search queries for the other three directions, and thus have queries of total cost .
We now iterate on all tiles and add all convex tiles that are not blocked and are not a cut tile to the set (cost ). Note that checking whether a tile is a cut tile can be done in constant time, because it suffices to look into the local neighborhood. While is not empty, we remove a tile from , from the polyomino, and from its two search trees in time . Next, we check the up to tiles that are blocked first from the removed tile for all four orientations, see Fig. 7.
Only these tiles can become unblocked or a convex tile. Those that are convex tiles, not blocked and no cut tile are added to . All tiles behind those cannot become unblocked as the first tiles would still be blocking them. The cost for this is again in . This is continued until is empty, which takes at most loops each of cost . If the polyomino has been decomposed, the polyomino is decomposable/constructible by the corresponding tile sequence. Otherwise, there cannot exist such a sequence. By prohibiting to remove a specific tile, one can force a specific start tile. ∎
3.3 Pipelined Assembly
Given that a construction is always possible based on adding convex corners to a partial construction, we can argue that the idea of Manzoor et al. [15] for pipelined assembly can be realized for every constructible polyomino: We can transform the construction sequence into a spiralshaped maze environment, as illustrated in Fig. 8. This allows it to produce copies of in cycles, implying that we only need cycles for copies. It suffices to use a clockwise order of four unit steps (west, north, east, south) in each cycle.
The main idea is to create a spiral in which the assemblies move from the inside to the outside. The first tile is provided by an initial south movement. After each cycle, ending with a south movement, the next seed tile of the next copy of is added. For every direction corresponding to the direction of the next tile added by the sequence, we place a tile depot on the outside of the spiral, with a straightline path to the location of the corresponding attachment.
Theorem 6.
Given a construction sequence that constructs a polyomino , we can construct a maze environment for pipelined tilt assembly, such that constructing copies of needs unit steps. In particular, constructing one copy of can be done in amortized time .
Proof.
Consider the construction sequence , the movement sequence consisting of repetitions of the cycle (, , , ), and an injective function , with , , and . We also require that if for all there is a with and is smallest possible. This implies that in each cycle there is at least one tile in mapped to one direction in this cycle.
 Labyrinth construction:

The main part of the labyrinth is a spiral as can be seen in Fig. 8. Consider a spiral that is making many turns, and the innermost point of this spiral. From upwards, we make a lane through the spiral until we are outside the spiral. At this point we add a depot of tiles, such that after each south movement a new tile comes out of the depot (this can easily be done with bottleneck constructions as seen in Fig. 8 or in [15]). Then, we proceed for each turn in the spiral as follows: For the th turn, if is empty we do nothing. Else if is not empty we want to add the next tile. Let be this particular tile. Then, we construct a lane in direction , i.e., the direction from where the tile will come from, until we are outside the spiral. By shifting this line in an orthogonal direction we can enforce the tile to fly in at the correct position relating to . There, we add a depot with tiles, such that the first tile comes out after steps and with each further cycle a new tile comes out (this can be done by using loops in the depot, see Fig. 8 or [15]). Depots, which lie on the same side of the spiral, can be shifted arbitrarily, so they do not collide. These depots can be made arbitrarily big, and thus, we can make as many copies of as we wish. Note that we can make the paths in the spiral big enough, such that after every turn the bounding box of the current polyomino fits through the spiral.
 Correctness:

We will now show that we will obtain copies of . Consider any th turn in the spiral, where the th tile is going to be added to the current polyomino. With the next step, and the polyomino move in direction . While the polyomino does not touch the next wall in the spiral, the distance between and the polyomino will not decrease. However when the polyomino hits the wall the polyomino stops moving and ti continues moving towards the polyomino. Wallhitting is the same situation as in our nonparallel model: To a fixed polyomino we can add tiles from , , or . Therefore, the tile connects to the correct place. Since this is true for any tile and any copy, we conclude that every polyomino we build is indeed a copy of .
 Time:

Since the spiral has at most unit steps (or cycles), the first polyomino will be constructed after unit steps. By construction, we began the second copy one cycle after beginning the first copy, the third copy one cycle after the second, and so on. This means, after each cycle, when the first polyomino is constructed, we obtain another copy of . Therefore, for copies we need cycles (or unit steps). For this results in an amortized constant time construction for .
Note that this proof only considers construction sequences in the following form: If a tile increases the side length of the bounding box of the current polyomino, then the tile is added from a direction with a longitude/latitude, such that the longitude/latitude intersects the bounding box (see Fig. 9). In the case there is a tile, such that the longitude/latitude does not intersect the bounding box, then we can rotate the direction by towards the polyomino and we will have a desired construction sequence. ∎
4 Optimization Variants in 2D
For polyominoes that cannot be assembled, it is natural to look for a maximumsize subpolyomino that is constructible. This optimization variant is polyAPXhard, i.e., we cannot hope for an approximation algorithm with an approximation factor within , unless .
Definition 7 (Maximum Tilt Assembly Problem).
Given a polyomino , the Maximum Tilt Assembly Problem (MaxTAP) asks for a sequence of tiles building a cardinalitymaximal connected subpolyomino .
Theorem 8.
MaxTAP is polyAPXhard, even for treeshaped polyominoes.
Proof.
We reduce Maximum Independent Set (MIS) to MaxTAP; see Fig. 10 for an illustration. Consider an instance of MIS, which we transform into a polyomino . We construct as follows. Firstly, construct a horizontal line from which we go down to select which vertex in will be chosen. The line must have length , where . Every 10th tile will represent a vertex, starting with the first tile on the line. Let be such a tile representing vertex . For every we add a selector gadget below and for every we add a reflected selector gadget below , as shown in Fig. 10, each consisting of 19 tiles. Note that all gadgets for selecting vertex are above the gadgets of if and that there are at most such gadgets. After all gadgets have been constructed, we have already placed at most tiles. We continue with a vertical line with a length of tiles.
Now let be an optimal solution to MIS. Then MaxTAP has a maximum polyomino of size at least and at most : We take the complete vertical part of for every in the optimal solution of MIS. Choosing other lines block the assembly of further lines and thus, yields a smaller solution.
Now suppose we had an approximation for MaxTAP. Then we would have a solution of at least , where is the optimal solution. We know that an optimal solution has tiles and the polyomino has at most tiles. Therefore, we have at least tiles and thus at least strips, because each strips is tiles long. Consider some for any , then the number of strips is which results in an approximation for MIS, contradicting the inapproximability of MIS (unless P=NP) shown by Berman and Schnitger [7]. ∎
As a consequence of the construction, we get Corollary 9.
Corollary 9.
Unless , MaxTAP cannot be approximated within a factor of .
On the positive side, we can give an approximation algorithm.
Theorem 10.
The longest constructible path in a treeshaped polyomino is a approximation for MaxTAP, and we can find such a path in polynomial time.
Proof.
Consider an optimal solution and a smallest enclosing box containing . Then there must be two opposite sides of having at least one tile of . Consider the path between both tiles. Because the area of is at least the number of tiles in , and a longest, constructible path in has length at least , we conclude that the longest constructible path is a approximation.
To find such a path, we can search for every path between two tiles, check whether we can build this path, and take the longest, constructible path. ∎
Checking constructibility for possible paths is rather expensive. However, we can efficiently approximate the longest constructible path in a treeshaped polyomino with the help of sequentially constructible paths, i.e., the initial tile is a leaf in the final path.
Theorem 11.
We can find a constructible path in a treeshaped polyomino in time that has a length of at least half the length of the longest constructible path.
Proof.
We only search for paths that can be built sequentially. Clearly, the longest such path is at least half as long as the longest path that can have its initial tile anywhere. We use the same search tree technique as before to look for blocking tiles. Select a tile of the polyomino as the initial tile. Do a depthfirst search and for every tile in this search, check if it can be added to the path. If it cannot be added, skip all deeper tiles, as they also cannot be added. During every step in the depthfirst search, we only need to change a single tile in the search trees, doing updates with cost. As we only consider vertices in the depthfirst search, this results in a cost of for a fixed start tile. It is trivial to keep track of the longest such constructible path. Repeating this for every tile results in a running time of . ∎
In treeshaped polyominoes, finding a constructible path is easy. For simple polyominoes, additional arguments and data structures lead to a similar result.
Theorem 12.
In simple polyominoes, finding the longest of all shortest paths that are sequentially constructible takes time.
Before we start with the proof of Theorem 12, we show in the next two lemmas that it is sufficient to consider shortest paths only, and that we can restrict ourselves to one specific shortest path between two tiles. Hence, we just need to test a maximum of different paths.
Lemma 13.
In a sequentially constructible path, if there is a direct straight connection for a subpath, the subpath can be replaced by the straight connection.
Proof.
Consider a sequentially constructible path and a subpath that has a straight line connecting the startpoint and the endpoint of . W.l.o.g., is a vertical line and we build from bottom to top. Assume that is not constructible. Then at least two structures (which can be single tiles) and must exist, preventing us from building . Furthermore, these structures have to be connected via a path ( or , see Fig. 11). We observe that none of these connections can exist or otherwise, we cannot build (if exist, we cannot build the last tile of ; if exist, we cannot build the first tile of ). Therefore, we can replace with . ∎
By repeating the construction of Lemma 13 we get a shortest path from tile to in the following form: Let be reflex tiles on the path from to . Furthermore, for every , the path from to is monotone. This property holds for every shortest path, or else we can use shortcuts as in Lemma 13.
Lemma 14.
If a shortest path between two tiles is sequentially constructible, then every shortest path between these two tiles is sequentially constructible.
Proof.
Consider a constructible shortest path , a maximal subpath that is monotone, and a bounding box around . Due to metric, any monotone path within is as long as . Suppose some path within is not constructible. Then we can use the same blocking argument as in Lemma 13 to prove that cannot be constructible as well, contradicting that is constructible. ∎
5 ThreeDimensional Shapes
An interesting and natural generalization of TAP is to consider threedimensional shapes, i.e., polycubes. The local considerations for simply connected twodimensional shapes are no longer sufficient. In the following we show that deciding whether a polycube is constructible is NPhard. Moreover, it is NPhard to check whether there is a constructible path from a start cube to an end cube in a partial shape.
As a stepping stone, we start with a restricted version of the threedimensional problem.
Theorem 15.
It is NPhard to decide if a polycube can be built by inserting tiles only from above, north, east, south, and west.
Proof.
We prove hardness by a reduction from 3SAT. A visualization for the formula can be seen in Fig. 12. It consists of two layers of interest (and some further auxiliary ones for space and forcing the seed tile by using the oneway gadget shown in Fig. 14). In the beginning, one has to build a part of the top layer (highlighted in blue in the example, details in Fig. 13 (Right)). Forcing a specific start tile can be done by a simple construction. For each variable we have to choose to block the left (for assigning true) or the right (for assigning false) part of the lower layer. In the end, the remaining parts of the upper layer can trivially be filled from above. The blocked parts of the lower layer then have to be built with only inserting tiles from east, south, or west. In the end, the nonblocked parts can be filled in from above. For each clause we use a part (as shown in Fig. 13 (Left)) that allows only at most two of its three subparts to be built from the limited insertion directions. We attach these subparts to the three variable values not satisfying the clause, i.e., the negated literals. This forces us to leave at least one negated literal of the clause unblocked, and thus at least one literal of the clause to be true. Overall, this allows us to build the blocked parts of the lower layers only if the blocking of the upper level corresponds to a satisfying assignment. If we can build the true and the false parts of a variable in the beginning, any truth assignment for the variable is possible. ∎
The construction can be extended to assemblies with arbitrary direction.
Theorem 16.
It is NPhard to decide if a polycube can be built by inserting tiles from any direction.
Proof.
The difficulties of construction in 3D are highlighted by the fact that even identifying constructible connections between specific positions is NPhard.
Theorem 17.
It is NPhard to decide whether a path from one tile to another can be built in a general polycube.
Proof.
We prove NPhardness by a reduction from SAT. For each variable we have two vertical lines, one for the true setting, one for the false setting. Each clause gets a horizontal line and is connected with a variable if it appears as literal in the clause, see Fig 15 (Left). We transform this representation into a tour problem where, starting at a point , one first has to go through either the true or false line of each variable and then through all clause lines, see Fig. 15 (Right). The clause part is only passable if the path in at least one crossing part (squares) does not cross, forcing us to satisfy at least one literal of a clause. As one has to go through all clauses, is only reachable if the selected branches for the variables equal a satisfying variable assignment for the formula.
We now consider how to implement this as a polycube. The only difficult part is to allow a constructible clause path if there is a free crossing. In Fig. 16 (Left), we see a variable box that corresponds to the crossing of the variable path at the squares in Fig. 15 (Right). It blocks the core from further insertions. The clause path has to pass at least one of these variable boxes in order to reach the other side. See Fig. 15 (Right) for an example. Note that the corresponding clause parts can be built by inserting only from above and below, so there are no interferences. ∎
6 Conclusion/Future Work
We have provided a number of algorithmic results for Tilt Assembly. Various unsolved challenges remain. What is the complexity of deciding TAP for nonsimple polyominoes? While Lemma 4 can be applied to all polyominoes, we cannot simply remove any convex tile. Can we find a constructible path in a polyomino from a given start and endpoint? This would help in finding a approximation for nonsimple polyominoes. How can we optimize the total makespan for constructing a shape? And what options exist for nonconstructible shapes?
An interesting approach may be to consider staged assembly, as shown in Fig. 17, where a shape gets constructed by putting together subpolyominoes, instead of adding one tile at a time. This is similar to staged tile selfassembly [10, 11]. This may also provide a path to sublinear assembly times, as a hierarchical assembly allows massive parallelization. We conjecture that a makespan of for a polyomino with tiles can be achieved.
All this is left to future work.
References
 [1] A. T. Becker, E. D. Demaine, S. P. Fekete, G. Habibi, and J. McLurkin. Reconfiguring massive particle swarms with limited, global control. In Proceedings of the International Symposium on Algorithms and Experiments for Sensor Systems, Wireless Networks and Distributed Robotics (ALGOSENSORS), pages 5166, 2013.
 [2] A. T. Becker, E. D. Demaine, S. P. Fekete, and J. McLurkin. Particle computation: Designing worlds to control robot swarms with only global signals. In Proceedings IEEE International Conference on Robotics and Automation (ICRA), pages 67516756, 2014.
 [3] A. T. Becker, C. Ertel, and J. McLurkin. Crowdsourcing swarm manipulation experiments: A massive online user study with large swarms of simple robots. In Proceedings IEEE International Conference on Robotics and Automation (ICRA), pages 28252830, 2014.
 [4] A. T. Becker, O. Felfoul, and P. E. Dupont. Simultaneously powering and controlling many actuators with a clinical MRI scanner. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 20172023, 2014.
 [5] A. T. Becker, O. Felfoul, and P. E. Dupont. Toward tissue penetration by MRIpowered millirobots using a selfassembled Gauss gun. In Proceedings IEEE International Conference on Robotics and Automation (ICRA), pages 11841189, 2015.
 [6] A. T. Becker, G. Habibi, J. Werfel, M. Rubenstein, and J. McLurkin. Massive uniform manipulation: Controlling large populations of simple robots with a common input signal. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 520527, 2013.
 [7] P. Berman and G. Schnitger. On the complexity of approximating the independent set problem. Information and Computation, 96(1):7794, 1992.
 [8] S. Cannon, E. D. Demaine, M. L. Demaine, S. Eisenstat, M. J. Patitz, R. Schweller, S. M. Summers, and A. Winslow. Two hands are better than one (up to constant factors). In Proc. Int. Symp. on Theoretical Aspects of Computer Science(STACS), pages 172184, 2013.
 [9] H.L. Chen and D. Doty. Parallelism and time in hierarchical selfassembly. SIAM Journal on Computing, 46(2):661709, 2017.
 [10] E. D. Demaine, M. L. Demaine, S. P. Fekete, M. Ishaque, E. Rafalin, R. T. Schweller, and D. L. Souvaine. Staged selfassembly: nanomanufacture of arbitrary shapes with O(1) glues. Natural Computing, 7(3):347370, 2008.
 [11] E. D. Demaine, S. P. Fekete, C. Scheffer, and A. Schmidt. New geometric algorithms for fully connected staged selfassembly. Theoretical Computer Science, 671:418, 2017.
 [12] P. S. S. Kim, A. T. Becker, Y. Ou, A. A. Julius, and M. J. Kim. Imparting magnetic dipole heterogeneity to internalized iron oxide nanoparticles for microorganism swarm control. Journal of Nanoparticle Research, 17(3):115, 2015.
 [13] P. S. S. Kim, A. T. Becker, Y. Ou, M. J. Kim, et al. Swarm control of cellbased microrobots using a single global magnetic field. In Proceedings of the International Conference on Ubiquitous Robotics and Ambient Intelligence (URAI), pages 2126, 2013.
 [14] A. V. Mahadev, D. Krupke, J.M. Reinhardt, S. P. Fekete, and A. T. Becker. Collecting a swarm in a grid environment using shared, global inputs. In Proc. IEEE Int. Conf. Autom. Sci. and Eng. (CASE), pages 12311236, 2016.
 [15] S. Manzoor, S. Sheckman, J. Lonsford, H. Kim, M. J. Kim, and A. T. Becker. Parallel selfassembly of polyominoes under uniform control inputs. IEEE Robotics and Automation Letters, 2(4):20402047, 2017.
 [16] H. M. Shad, R. MorrisWright, E. D. Demaine, S. P. Fekete, and A. T. Becker. Particle computation: Device fanout and binary memory. In Proceedings IEEE International Conference on Robotics and Automation (ICRA), pages 53845389, 2015.
 [17] S. Shahrokhi and A. T. Becker. Stochastic swarm control with global inputs. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 421427, 2015.
 [18] E. Winfree. Algorithmic selfassembly of DNA. PhD thesis, California Institute of Technology, 1998.