Combinatorial Optimization in Pattern Assembly
Abstract
Pattern selfassembly tile set synthesis (Pats) is a combinatorial optimization problem which aim at minimizing a rectilinear tile assembly system (RTAS) that uniquely selfassembles a given rectangular pattern, and is known to be NPhard. Pats gets practically meaningful when it is parameterized by a constant such that any given pattern is guaranteed to contain at most colors (Pats). We first investigate simple patterns and properties of minimum RTASs for them. Then based on them, we design a 59colored pattern to which 3Sat is reduced, and prove that 59Pats is NPhard.
1 Introduction
Tile selfassembly is an algorithmically rich model of “programmable crystal growth.” Welldesigned molecules (squarelike “tiles”) with specific binding sites can deterministically form a single target shape even subject to the chaotic nature of molecules floating in a wellmixed chemical soup. Such tiles was experimentally implemented as DNA doublecrossover molecules in 1998 [12], and the last decade saw the drastic improvement of the reliability of DNA tile selfassembly; see, e.g., [3].
Shapebuilding is one primary goal of selfassembly; patternpainting is another. Based on the abstract Tile Assembly Model (aTAM) introduced by Winfree [11], Ma and Lombardi have first shed light on this problem and formalized it in the name of patterned selfassembly tile set synthesis (Pats) problem in [9, 10]. In this framework, an optimization problem of interest aims at minimizing the number of tile types necessary for a rectilinear TAS (RTAS) to uniquely assemble a given rectangular pattern. An exhaustive partitionsearch algorithm [7] as well as a randomized search algorithm [8] have been proposed for this problem.
Pats was recently proved to be NPhard
Various techniques that have been invented for combinatorial optimization in shape assembly (see e.g., [1, 2, 4, 5]) are useful but not sufficient in the proof because we now encounter a new challenge intrinsic to the optimization in pattern assembly.
That is the combinatorial explosion in the number of possible ways to color tile types.
This is observed even in assembling a twocolored pattern by TASs.
Two tile types are trivially necessary for that (there is no chameleon tile type).
If a TAS can use only 2 tile types, then there is no choice but to draw the types by distinct colors.
By contrast, once more tile types become available, TAS designers cannot do without considering how many tile types to be painted by a color
2 Preliminaries
In this section, we mainly recall the abstract Tile Assembly Model (aTAM) proposed by Winfree [11] and the problem Pattern selfAssembly Tile set Synthesis (Pats) proposed by Ma and Lombardi [9]. A variant of Pats will be the main focus of this paper.
2.1 Abstract Tile Assembly Model (aTAM)
Let be an alphabet, and by , we denote the set of finite strings over . By and , we denote the set of integers and the set of positive integers, respectively, and let . In aTAM, is especially considered either as the twodimensional integer lattice or as the set of all points on it.
Given a set of points on the integer lattice, the full grid graph of is the undirected graph , where and for all , there is an edge between and if and only if , where is the Manhattan distance, that is, and are adjacent points. Let stand for the respective directions north, west, south, and east, and be also interpreted as the respective unit vectors .
A tile type is a quadruple , and is regarded as a unit square with four sides listed in the counterclockwise order starting at the north (N), each having a glue label (a.k.a., glue) taken from ; for instance, the second rightmost (orange) tile type in Figure 1 is represented as . For each direction , let be the glue label at the side of . Let be a finite set of tile types, and let us denote the (finite) set of all glues of tile types in by . An assembly (a.k.a., supertile) is a positioning of tiles of types in on (part of) the integer lattice . It does not have to be a tessellation. Hence, we can say that an assembly is a partial function . Given two assemblies , is a subassembly of , written as , if and for every point , , where denotes the domain of the function.
The aTAM models dynamics in the growth of assemblies based on the interaction among its basic building blocks, tiles. A strength function endows tiles with an ability to interact with its neighboring tiles by assigning the strength to the matching label of their abutting edges. If the labels do not match or , these tiles do not interact; otherwise, they do. Tile interactions according to have an assembly induce a binding graph, which is a grid graph whose vertices are and for two neighboring positions , there is an edge between and on this graph if and only if the tiles and interact. On this graph, an edge between vertices means that the corresponding tiles interact, and hence, their abutting edges share the same label . Thus, we can consider that the edge is labeled with and gives it the weight . The assembly is stable (with respect to ) if every cut of its binding graph has strength at least . That is, the assembly is stable if at least energy is required to separate it into two parts.
A (seeded) tile assembly system (TAS) is a quadruple , where and are as stated above, is an integer parameter called temperature, and is a finite stable seed assembly consisting of tile types that are NOT included in . is provided with inexhaustible supply of copies of each tile type in , each copy being referred to as a tile.
Given two stable assemblies , we write if , for some position , and . Intuitively, this means that can grow into by the addition of a single tile in at the position . Since is required to be stable, the new tile binds to with strength at least . In this case, we say that produces in one step.
A sequence of stable assemblies is a assembly sequence if for all , holds.
We write and say produces (in 0 or more steps) if there is a assembly sequence of length with and
Throughout this paper, any TAS is assumed to be free from useless tile types in the sense that for any tile type , there are a producible assembly and a position such that .
2.2 Rectangular patterns and rectilinear TASs
For , a (rectangular) pattern (of width and height ) is a function from the rectangular domain to . We call the image of a pattern the color set of , and denote it by . That is, any color in occurs at least once on . When , we say that is colored.
The rectilinear TAS (RTAS) is a variant of temperature2 TAS that is specialized for the rectangular pattern assembly. An RTAS is a quadruple , where

and are as defined for TASs;

is a 2stable seed of Lshape, whose domain is ;

for any and , .
The statement 3 characterizes the rectilinear manner of assembly. The temperature being 2, the statement implies that any tile attachment needs the cooperation between the west glue and south glue, both of which are of strength 1. As such, at the initial time point of assembly process, for example, the sole position at which a tile in can attach is . Then it is a routine to verify that the assembly process proceeds from southwest to northeast rectilinearly. We say that uniquely selfassembles a colored pattern if there exists a coloring function from to the color set such that for any terminal assembly , .
As an example, an RTAS that uniquely selfassembles the infinite binary counter is shown in Figures 1 and 2. Two blue tile types and two orange ones in Figure 1 represent all four possiblities of 2bit inputs 00, 01, 10, 11 as their west and south glues, output the sum of the inputs to the north, and carry out to the east. In this way, they implement the halfadder together. fills the first quadrant defined by its Lshape seed by these four tile types in the directed manner (Figure 2).
The Lshape seed of provides the sequence of 1glues to the east and that of 0glues to the north. With different glue sequences on the seed, tiles of uniquely yield other blueorange patterns. Thus, we can say that the tile type set of is a machanism to convert a glue sequence on the seed given as input to a rectangular pattern. Furthermore, this example suggests that not only the halfadder but any combinatorial logics with at most two inputs and at most two outputs can be thus implemented using at most four tile types. Figure 3 presents such an implementation of ORgate, for instance. In Section 3, we shall design a set of tile types that evaluates a 3Sat instance according to a given Boolean value assignment.
2.3 PATS: pattern selfassembly tile set synthesis problem
Now, we introduce the pattern selfassembly tile set synthesis problem (Pats) originally proposed by Ma and Lombardi [9]. Pats aims at computing the minimum size RTAS that uniquely selfassembles a given rectangular pattern, where the size of an RTAS is measured by the cardinality of its tile type set.
Definition 1 (Pattern selfAssembly Tile set Synthesis (Pats)).
Given:  a pattern 

Find:  a smallest directed RTAS that uniquely selfassembles . 
Note that the solution to Pats is required to be directed here, while it was not so in its original definition. This, however, does not change the problem, as being observed in [7].
Pats is an NPhard problem [6]. By parameterizing it by the number of maximum colors used to draw patterns, we propose the following more practically meaningful variant of Pats.
Definition 2 (colored Pattern selfAssembly Tile set Synthesis (Pats)).
Given:  a colored pattern ; 

Find:  a smallest directed RTAS that uniquely selfassembles . 
We will find out a constant that makes Pats NPhard, through a polynomialtime reduction of 3Sat to the following decision variant of the problem:
Given:  a colored pattern and an integer ; 

Output:  YES if there exists a directed RTAS with at most tile types 
that uniquely selfassembles . 
2.4 Basic Combinatorial Results
Before proceeding to the main result, let us present several basic results on directed RTASs, which we will be used in Section 3. Let us begin with the most important property which characterize the directedness property by the west and south glues of their tile types.
Proposition 1.
An RTAS is directed if and only if it contains no distinct tile types with and
This proposition enables us to design simple patterns that, being embedded into another pattern as a subpattern, necessitates at least 2 tile types in order for any directed RTAS to uniquely selfassemble . One of such patterns can be found in the binary counter pattern in Figure 2. At the orange position and blue position , an RTAS must put tiles of distinct types . Moreover, in order for to be directed, needs to disagree to with respect to either west glue or south glue (Proposition 1). This implies that has two distinct blue tile types because the west and south neighbors of these positions are all blue. This observation is formally described as follows.
Lemma 2.
Let be a directed RTAS that uniquely selfassembles a pattern . For a color and positions , if but , then has at least two tile types of color .
Lemma 2 immediately leads us to the next lemma.
Lemma 3.
If a directed RTAS uniquely selfassembles a pattern on which the pattern shown in Figure 4 (Left) appears, then it has at least 2 blue tile types and at least 2 orange tile types.
Another pattern of interest is shown in Figure 4 (Middle). With tiles of type at all the four blue positions, would satisfy and and hence a blue tile (of this type) would fill the orange position. This observation is formally described as follows.
Lemma 4.
Let be a directed RTAS that uniquely selfassembles a pattern . For a color and a position , if but , then has at least two tile types of color .
Next, we propose a mosaic pattern parameterized by an integer that forces number of different colors to be used to draw at least 2 tile types. For , this pattern can be found in Figure 5. It contains 7 colors: white, blue, orange, lined black, lined white, A, and B. On the assumption that the gray part be the seed, where, by definition, any information can be encoded, how many tile types are necessary and sufficient for a directed RTAS to uniquely selfassemble them. Since , the two tile types need to satisfy either or . In the former case, as shown in Figure 5, two lined black types and two lined white ones can carry the one bit information (to be A or not to be), and one white, blue, and orange are enough. On the other hand, in the latter case, we need to deliver the 1bit information through the 3colors (white, blue, orange) mosaic pattern and no matter how it is delivered, the path encounters all of these 3 colors. If it were not for two blue tile types, the assembly process would lose the information once it hits the diagonal blue stripe, and this argument is valid for white and orange. Thus in this case we need extra 3 tile types in contrast to the need for 2 tile types in the former case. So, for instance, with only 9 tile types, the latter propagation strategy cannot be employed. Let us note that this parameterized mosaic pattern is “stretchable” by duplicating each column arbitrary many times.
We have seen several patterns that forces an RTAS to draw 2 tile types by a specific color.
It is a challenging issue to design a pattern without introducing many auxiliary (wasteful) colors that forces more than 2 types to be drawn by a specific color.
Another issue of significance is to design a pattern that allocates glues on tile types in an intended manner.
In Figure 4 (Right), you see two square patterns, which consist of three colors (gray, blue, orange).
If a directed RTAS uniquely selfassembles a pattern including these square patterns, and moreover, using only one tile type of each of these three
3 PolynomialTime Reduction of 3SAT to 59Colored PATS
The following is the main theorem of this paper.
Theorem 5.
59Pats is NPhard.
Our proof takes the classic approach: a polynomialtime manyone reduction from 3Sat to the decision variant of Pats. An instance of 3Sat is a formula that is a conjunction of clauses consisting of exactly three literals (a variable or its negation); the variables of are indexed as , , and so on. We will propose a set with tile types and a pattern to which a given 3Sat instance is reduced such that

any RTAS with this tile type set is directed due to Proposition 1;

if is satisfiable, a directed RTAS uniquely selfassembles using ;

if a directed RTAS uniquely selfassembles using 59+24 tile types, then its tile type set is isomorphic to (up to glue label renaming) and (hence) is satisfiable.
As shown in Figure 6, consists of four subpatterns: 3Sat evaluator pattern and three gadget patterns . The 3Sat evaluator pattern is the main pattern and the other three gadget patterns play an auxiliary role in the proof of the third statement above.
3.1 3SAT Evaluator Pattern
Let us begin with the 3Sat evaluator pattern. It is degisned based on a digital circuit which we call a 3Sat evaluator. Just as the name suggests, it evaluates a given 3Sat formula according to an assignment given as input. It must be noted first that this circuit is designed to be planar (no wire goes over the others) and rectilinear (signals always transmit from southwest to northeast) so that it can be easily transformed into .
Figure 7 illustrates the 3Sat evaluator. As input, it takes from the left an assignment according to which is evaluated, where (0:false, 1:true). It is provided with horizontal wires, which transmit the input to the right along with the index of the variable they represent. It is also provided with vertical wires, which represent literals in . We refer to the horizontal wire for variable simply as the variable wire , and a vertical wire for literal (resp. ) as a literal wire (resp. ). Any variable wire is connected with any literal wire at their intersection by a device called substitutors. At such an intersection between the variable wire and a literal wire or , the substitutor compares their indices, and if , it substitutes the Boolean value into the literal by an XNOR gate and transmits the result to the north; otherwise, it does nothing but merely “lets one go over the other.” For each clause, its three literals thus evaluated are conjugated by three OR gates, which determines whether the clause is satisfied or not, and the evaluation is output at the top as LED signal (red:unsatisfied, green:satisfied; see Figure 7, in which Clause 1 is evaluated to be satisfied, whereas Clause 2 is not).
The pattern is a slight modification of a pattern of 3Sat evaluator’s circuit layout. Now we will propose a tile type set (Figure 8) with which a directed RTAS simulates the 3Sat evaluator and uniquely selfassembles . This consist of 51 tile types of 27 colors: 1 type of each of 9 colors , 2 types of each of 15 colors , and 4 types of each of 3 colors . The assignment and instance are encoded on the Lshape seed. Specifically, the assignment is encoded as the following glue sequence on the vertical bar of the seed:
(1) 
where is encoded with its assigned value as and @ indicates the origin (0, 0), and are glues that stand for background, variable, and evaluation. On the other hand, the literal and its negation are encoded as and , respectively (1:positive, 0:negative). Then we encode a clause as:
(2) 
where l represents the literal. A glue sequence on the seed’s horizontal bar that encodes the clauses of is obtained by catenating , , and so on. Concatenating it further with the glue sequence in (1) amounts to the Lshape seed, from which, the pattern selfassembles (see Figure 9 and compare it with the 3Sat evaluator).
On , any literal wire encounters the variable wires. At the intersection of a literal wire with the variable wire , tiles in selfassembles a pattern that visualizes the mechanism of substitutor in the 3Sat evaluator. How this assembly proceeds may be understood more easily visually than with words, so see Figure 10. When the wires meet, the checkstart tile attachs and triggers the assembly of diagonal zigzag snake. When it hits the literal wire, one of the 2 check tile attachs, and if to its north, the variable wire is waiting with the input (this happens if and only if ), one of the 4 XNOR tiles selectively attachs, substitutes into the literal, and outputs the result to the north (1:true, 0:false; note that before and after the substitution, the signal 1/0 through a literal wire is interpreted in different ways). Figure 10 shows how the literal wire goes over the variable wire without being substituted in other two cases when (Left) and (Right, middle). Due to the encoding (1), at of the substitution, the wire has already crossed the variable wires , which are thicker than itself, and it is going to transmit the substituted value while crossing the remaining variable wires in this order, which are thinner. With the property of that when a literal wire crosses a thicker variable wire, some tile types visually tell which of 1/0 the wire carries, while its crossing a thinner one leaves no such visual clue, the encounter order means that from , we cannot get any further clue of than whether clauses are satisfied or not. This coverup plays a critical role in the proof of NPhardness.
The evaluation of each clause by 4 tile types of OR color should be straightforward from Figure 9 (see its top).
The only positions on whose color changes depending on the encoded assignment are the LED positions. Drawing all these positions by green (satisfied) yields the pattern . By this construction, it is obvious that for a satisfiable , a directed RTAS uniquely selfassembles , and actually the whole pattern . Although for an unsatisfiable , cannot be uniquely selfassembled by , the possibility for another set of tile types cannot be ruled out. That is when the gadget patterns come into play.
3.2 Gadget Patterns
Let us imagine that you are given 59+24 tile types, all of which are uncolored, and asked to draw them so as for them to uniquely selfassemble in a directed manner. It goes without saying that we must draw at least one tile type by each of 59 colors on , and 24 tile types are left uncolored. Applying Lemmas 2, 3, and 4 to implies that we need at least 2 tile types of the 6 colors , (white), and (black) (see Figure 8). Now 18 extra tile types remain uncolored. The arguments up to now should be straightforward.
The role of the three gadget patterns is to cooperatively force us to draw them in the same way as , and furthermore, allocate glues in the isomorphic manner (see Figure 8). More specifically,
 :

Due to this, at least 7 of uncolored tile types are to be drawn by colors included in this pattern;
 :

Among the remaining (at most 11) uncolored tile types, at least 8 of them are to be drawn;
 :

This draws the remaining (at most 3) uncolored tile types. The more important role is to allocate glues onto the 12 tile types of color as shown in Figure 8, and hence, implement the OR gate, wire crossing, and XNOR gate.
At this point, the only possible coloring is to draw 4 tile types by each of and 2 tile types by each of 15 colors (see Figure 8).
Now we explain each gadget. They are designed based on the parameterized mosaic pattern introduced in Section 2.4.
Gadget Pattern
The gadget pattern is shown in Figure 11. This pattern employs extra 14 auxiliary colors A1A11 and AB1AB3 (note that these auxiliary colors will appear in or , and their auxiliary colors do not appear in the other, either). The colors A1A8 are used to make the mosaic pattern (in Figure 11, the mosaic is not described for the sake of clarity), which is stretched as being explained before such that to the right of , the next gadget pattern can be assembled properly. A9A11 seal this pattern from the top so that the variable wires can carry the assignment to the 3Sat evaluator pattern without trouble (see, at the top of Figure 11, we can see the lower end of the variable wire . AB1AB3 provides the glue ’s to the east for the gadget pattern .
Due to the previouslymentioned property of mosaic pattern, we need to use at least 7 colors to draw tile types that have been uncolored, and unless the 7 colors are chosen to be , one more uncolored tile type would be drawn, which is not acceptable because for , we have to set aside 11 uncolored tile types. Even with the preferable (only one) choice, we further have to allocate glues to them so that 1bit information (0/1) can be transmitted vertically because otherwise the information cannot help but penetrate the mosaic, which would cost at least one more uncolored tile type. It is not the case that this would allocate glues to the tile types of these 7 colors in a way isomorphic to those in Figure 8. The issue of glue allocation should be discussed after explaining the other two gadget patterns and we are convinced of the fact that the tile types available in total are drawn as specified in Figure 8 (all the auxiliary colors introduced for are used to draw only one tile type).
Gadget Pattern
The gadget pattern is a counterpart of for 8 colors . Hence, we mention only the fact that unless we use these colors to draw extra 8 tile types and allocate glues such that 0/1 signal can transmit, but rather horizontally, we would waste too many uncolored tile types.
Gadget Pattern
The gadget pattern is shown in Figure 13. This is actually a modification of the mosaic pattern using 7 colors D1D7. In addition, one color Cbg is found between the border between and the 3Sat evaluator pattern . Thus, introduces 8 new colors, and now all 59 colors have been introduced.
We claim that this pattern needs extra 3 uncolored tile types, and they must be drawn with the colors . Hence, the other gadget patterns must be assembled in the intended way (with minimum consumption of the uncolored tile types). In summary, each is used to draw 4 tile types (in total 12 tile types), each is used to draw 2 tile types (in total 30 tile types), and the other 41 colors including the auxiliary ones appears on only one tile type.
Glue Allocation
Having completed the coloring, we briefly explain the reason why we must not only color them thus but also allocate glues to them in such a way as shown in Figure 8. Actually, it suffices to verify this isomorphism for colors that are responsible for transmitting or processing 0/1 signals for 3Sat evaluation.
It is helpful to observe that for a color that draws only one tile type, all tile types at positions of this color on are identical. First, see the sole tile types of the respective colors (1), (0), and (ceval leval). In the pattern , we find two colored positions whose north neighbors are colored 1 and 0, respectively. Thus, . Then Proposition 1 implies that . Let and with . Since there is a 1colored position whose west neighbor is colored 0, , and likewise . In the same manner, for the tile types with respective colors , we have but .
Now these four tile types can be employed to allocate glues to the other tile types. For example, see the right half of the gadget pattern (Figure 12). Two positions of each of the colors are found and they are sandwiched by 1 positions and 0 positions. Thus, for example, we can say that there are two tile types one of whose east and west glues are both 1 and the other’s are both 0. This guarantees that when an assignment signal (0/1) crosses the border between two 3Sat clauses, the signal is not converted (though guarantees that they carry the 1bit signal horizontally, it cannot rule out the possibility that these signals be flipping). does not contain an analogous pattern for the colors , nevertheless they are also transmitting signals. This is because in they always appear as a pair and hence no matter whether each of their 2 tile types converts a signal or not, it can deliver the signal correctly as long as the delivery distance is even.
With the help of these four tile types, the gadget pattern allocates glues so as to implement the ORgate, the signal intersection, and XNORgate. The one risk to be taken into consideration resides in the 4 tile types for the signal intersection. If the north glue of the D1colored tile type is 1 and that of the D4colored one is 0, then this converts the signal vertically. In order to render this conversion harmless, we encode the variable on the seed rather as ; this produces a (meaningless) wire at the lower end of the variable wire . As a result, any signal certainly goes through the signal intersection even times.
Acknowledgements
We gratefully acknowledge valuable comments and encouragement from HoLin Chen, Eugen Czeizler, David Doty, Aleck Christopher Johnson, Natasha Jonoska, MingYang Kao, Steffen Kopecki, Florence Linez, Pekka Orponen, Amir Hossein Simjour, and Damien Woods. In particular, HoLin Chen suggested encoding wires unary instead of binary, and David Doty and Damien Woods helped us to decrease the number of colors in the gadget patterns. The current design of 59colored pattern for the reduction was done during the first author’s visit at Natasha Jonoska’s research group at the University of South Florida and his stay in Nantes, France with Florence Linez.
This research is in part financially supported by HIIT Pump Priming Project Grants 902184/T30606 to the first author.
Footnotes
 This problem had been claimed NPhard even with [10], but an error was found as being pointed out in [6].
 It is not fair to say only due to this explosion that combinatorial optimization is more challenging for (multicolor) pattern assembly than shape building (monotone pattern assembly); colors often provide a visual clue to distinguish types of tiles.
 This definition of producibility is justified by our limited focus only onto the finite assemblies in this paper; for the infinite assembly, it is not appropriate; see [4] for instance.
 This proposition is true as long as all tile types of appear on some assembly producible by . This is an assumption we make in this paper, as declared at the end of Section 2.1.
 In fact, it is fine that gray is equal to either blue or orange as long as blue is distinct from orange in order to reach the coming conclusion.
References
 L. M. Adleman, Q. Cheng, A. Goel, and MD. Huang. Running time and program size for selfassembled squares. In Proc. of STOC 2001, pages 740–748. ACM, 2001.
 L. M. Adleman, Q. Cheng, A. Goel, MD. Huang, D. Kempe, P. Mosset de Espanés, and P. W. K. Rothemund. Combinatorial optimization problems in selfassembly. In Proc. of STOC 2002, pages 23–32, 2002.
 R. D. Barish, R. Schulman, P. W. K. Rothemund, and E. Winfree. An informationbearing seed for nucleating algorithmic selfassembly. P. Natl. Acad. Sci. USA, 106(15):6054–6059, 2009.
 N. Bryans, E. Chiniforooshan, D. Doty, L. Kari, and S. Seki. The power of nondeterminism in selfassembly. In SODA 2011: Proceedings of the 22nd Annual ACMSIAM Symposium on Discrete Algorithms, pages 590–602. SIAM, 2011.
 HL. Chen, D. Doty, and S. Seki. Program size and temperature in selfassembly. In Proc. of ISAAC 2011, volume 7074 of LNCS, pages 445–453. Springer, 2011.
 E. Czeizler and A. Popa. Synthesizing minimal tile sets for complex patterns in the framework of patterned DNA selfassembly. In DNA 2012: Proceedings of the 18th International Conference on DNA Computing and Molecular Programming, volume 7433 of LNCS, pages 58–72. Springer, 2012.
 M. Göös and P. Orponen. Synthesizing minimal tile sets for patterned DNA selfassembly. In DNA16: Proceedings of the 16th International Conference on DNA Computing and Molecular Programming, volume 6518 of LNCS, pages 71–82. Springer, 2011.
 T. Lempiäinen, E. Czeizler, and P. Orponen. Synthesizing small and reliable tile sets for patterned DNA selfassembly. In Proc of DNA 17, volume 6937 of LNCS, pages 145–159. Springer, 2011.
 X. Ma and F. Lombardi. Synthesis of tile sets for DNA selfassembly. IEEE Transactions on ComputerAided Design of Integrated Circuits and Systems, 27(5):963–967, 2008.
 X. Ma and F. Lombardi. On the computational complexity of tile set synthesis for DNA selfassembly. IEEE T. Circuit S.II, 56(1):31–35, 2009.
 E. Winfree. Algorithmic SelfAssembly of DNA. PhD thesis, California Institute of Technology, June 1998.
 E. Winfree, F. Liu, L. A. Wenzler, and N. C. Seeman. Design and selfassembly of twodimensional DNA crystals. Nature, 394:539–544, 1998.