arXiv is now an independent nonprofit! Learn more
License: arXiv.org perpetual non-exclusive license
arXiv:1306.3257v1 [cs.CC] 13 Jun 2013

3-color Bounded Patterned Self-assemblyThanks: The research of L. K. and S. K. was supported by the NSERC Discovery Grant R2824A01 and UWO Faculty of Science grant to L. K. The research of S. S. was supported by the HIIT Pump Priming Project Grant 902184/T30606.

Lila Kari    Steffen Kopecki    Shinnosuke Seki
Abstract

Patterned self-assembly tile set synthesis (Pats) is the problem of finding a minimal tile set which uniquely self-assembles into a given pattern. Czeizler and Popa proved the NP\mathrm{NP}-completeness of Pats and Seki showed that the Pats problem is already NP\mathrm{NP}-complete for patterns with 60 colors. In search for the minimal number of colors such that Pats remains NP\mathrm{NP}-complete, we introduce multiple bound Pats (mbPats) where we allow bounds for the numbers of tile types of each color. We show that mbPats is NP\mathrm{NP}-complete for patterns with just three colors and, as a byproduct of this result, we also obtain a novel proof for the NP\mathrm{NP}-completeness of Pats which is more concise than the previous proofs.

1 Department of Computer Science, Middlesex College,
The University of Western Ontario
London Ontario N6A 5B7, Canada
lila@csd.uwo.ca, steffen@csd.uwo.ca

2 Helsinki Institute of Information Technology (HIIT),
Department of Computer Science, Aalto University
P. O. Box 15400, FI-00076, Aalto, Finland
shinnosuke.seki@aalto.fi

1 Introduction

Tile self-assembly is the autonomous formation of a structure from individual tiles controlled by local attachment rules. One application of self-assembly is the implementation of nanoscopic tiles by DNA strands forming double crossover tiles with four unbounded single strands [9]. The unbounded single strands control the assembly of the structure as two, or more, tiles can attach to each other only if the bonding strength between these single strands is big enough. The general concept is to have many copies of the same tile types in a solution which then form a large crystal-like structure over time; often an initial structure, the seed, is present in the solution from which the assembly process starts.

A mathematical model describing self-assembly systems is the abstract tile self-assembly model (aTAM), introduced by Winfree [8]. Many variants of aTAMs have been studied: a main distinction between the variants is whether the shape or the pattern of a self-assembled structure is studied. In this paper we focus on the self-assembly of patterns, where a property, modeled as color, is assigned to each tile; see for example [5] where fluorescently labeled DNA tiles self-assemble into Sierpinski triangles. Formally, a pattern is a rectilinear grid where each vertex has a color: a kk-colored m×nm\times n-pattern PP can be seen as a function P:[m]×[n][k]P\colon[m]\times[n]\to[k], where [i]={1,2,,i}[i]=\left\{\mathinner{1,2,\ldots,i}\right\}. The optimization problem of patterned self-assembly tile set synthesis (Pats), introduced by Ma and Lombardi [3], is to determine the minimal number of tile types needed to uniquely self-assemble a given pattern starting from an LL-shaped seed. In this paper, we consider the decision variant of Pats, defined as follows:

Problem (kk-Pats).


Given: A kk-colored pattern PP and an integer mm;

Output: “Yes” if PP can uniquely be self-assembled by using mm tile types.

Czeizler and Popa proved that Pats, where the number of colors on an input pattern is not bounded, is NP\mathrm{NP}-hard [1], but the practical interest lies in kk-Pats. Seki proved 6060-Pats is NP\mathrm{NP}-hard [7]. By the nature of the biological implementations, the number of distinct colors in a pattern can be considered small. In search for the minimal number kk for which kk-Pats remains NP\mathrm{NP}-hard, we investigate a modification of Pats: multiple bound Pats (mbPats) uses individual bounds for the number of tile types of each color.

Problem (kk-mbPats).


Given: A pattern PP with colors from [k][k] and m1,,mkm_{1},\ldots,m_{k}\in\mathbb{N};

Output: “Yes” if PP can uniquely be self-assembled by using mim_{i} tile types of color ii, for i[k]i\in[k].

The main contribution of this paper is a polynomial-time reduction from Pats to 33-mbPats which proves the NP\mathrm{NP}-hardness of 33-mbPats. However, our reduction does not take every pattern as input, we only consider a restricted subset of patterns for which Pats is known to remain NP\mathrm{NP}-hard. The patterns we use as input are exactly those patterns that are generated by a polynomial-time reduction from 33-Sat to Pats. Using one of the reductions which were presented in [1, 7] as a foundation for our main result turned out to be unfeasible. Therefore, we present a novel proof for the NP\mathrm{NP}-hardness of Pats which serves well as foundation for our main result. Furthermore, our reduction from 33-Sat to Pats is more concise compared to previous reductions in the sense that in order to self-assemble a pattern PP we only allow three more tile types than colors in PP. In Czeizler and Popa’s approach the number of additional tile types is linear in the size of the input formula and Seki uses 84 tile types with 60 colors.

Let us note first that the decision variants of Pats and mbPats can be solved in NP\mathrm{NP} by simple “guess and check” algorithms. Before we prove NP\mathrm{NP}-hardness of Pats, Corollary 4 in Sect. 3, and 33-mbPats, Corollary 12 in Sect. 4, we introduce the formal concepts of patterned tile assembly systems, in Sect. 2.

2 Rectilinear Tile Assembly Systems

In this section we formally introduce patterns and rectilinear tile assembly systems. An excellent introduction to the fundamental model aTAM is given in [6].

Let CC be a finite alphabet of colors. An m×nm\times n-pattern PP, for m,nm,n\in\mathbb{N}, with colors from CC is a mapping P:[m]×[n]CP\colon[m]\times[n]\to C. By C(P)CC(P)\subseteq C we denote the colors in the pattern PP, i. e., the codomain or range of the function PP. The pattern PP is called kk-colored if |C(P)|k\left|\mathinner{C(P)}\right|\leq k. The width and height of PP are denoted by w(P)=mw(P)=m and h(P)=nh(P)=n, respectively. We call (x,y)[m]×[n](x,y)\in[m]\times[n] a position in PP. The pattern is arranged such that position (1,1)(1,1) is on the bottom left, (m,1)(m,1) is on the bottom right, (1,n)(1,n) is on the top left, and (m,n)(m,n) is on the top right of the pattern PP. Fig. 1 (left side) shows an example pattern.

x Pattern PP {\bullet}{\blacklozenge}{\bigstar}{\bullet}{\blacklozenge}{\bullet}{\blacklozenge}{\bigstar}{\blacklozenge}{\blacklozenge}{\bullet}{\bullet}{\bigstar}{\bigstar}{\blacklozenge}{\blacklozenge}{\bullet}{\bullet}{\bigstar}{\bigstar}{\bigstar}{\bigstar}{\blacklozenge}{\blacklozenge}{\bullet}{\bullet}{\bigstar}{\bigstar}{\bullet}{\bullet}{\bigstar}{\bigstar}{\blacklozenge}{\blacklozenge}{\bullet}{\bullet}{\blacklozenge}{\blacklozenge}{\bullet}{\bullet}{\blacklozenge}{\blacklozenge}{\bullet}{\bullet}{\bigstar}{\bigstar}{\blacklozenge}{\blacklozenge}Self-assembly of PP x

Figure 1: Pattern PP and how it can be self-assembled by three tile types.

Let Σ\Sigma be a finite alphabet of glues. A colored Wang tile, or simply tile, tC×Σ4t\in C\times\Sigma^{4} is a unit square with a color from CC and four glues from Σ\Sigma, one on each of its edges. The color of tt is denoted by χ(t)C\chi(t)\in C and we denote the glues on the north, east, west, and south edges of tt by t(N)t(N), t(E)t(E), t(W)t(W), and t(S)t(S), respectively. We also call the south and west glues the inputs of tt while the north and east glues are called outputs of tt; this notation will become clear in the next paragraph. Wang tiles are not allowed to rotate.

A rectilinear tile assembly system (RTAS) (T,σ)(T,\sigma) over CC and Σ\Sigma consists of a set of colored Wang tiles TC×Σ4T\subseteq C\times\Sigma^{4} and an LL-shaped seed σ\sigma. The seed σ\sigma covers positions (0,0)(0,0) to (m,0)(m,0) and (0,1)(0,1) to (0,n)(0,n) of a two-dimensional Cartesian grid and it has north glues from Σ\Sigma on the positions (1,0)(1,0) to (m,0)(m,0) and east glues from Σ\Sigma on positions (0,1)(0,1) to (0,n)(0,n). We will frequently call TT an RTAS without explicitly mentioning the seed, but we keep in mind that a unique seed is assigned to each RTAS. The RTAS TT describes the self-assembly of a structure: starting with the seed, a tile tt from TT can attach to the structure at position (x,y)[m]×[n](x,y)\in[m]\times[n], if its west neighbor at position (x1,y)(x-1,y) and south neighbor at position (x,y1)(x,y-1) are present and the inputs of tt match the adjacent outputs of its south and west neighbors; the self-assembly stops when no more tiles in TT can be attached by this rule. Arbitrarily many copies of a each tile type in TT are considered to be present while the structure is self-assembled, thus, one tile type can appear in multiple positions. Fig. 1 shows the process of self-assembling a pattern by an RTAS with three tiles. We are only interested in structures that fully tile the rectangle that is spanned by the seed. A tile assignment in TT is a function f:[m]×[n]Tf\colon[m]\times[n]\to T such that f(x,y)(W)=f(x1,y)(E)f(x,y)(W)=f(x-1,y)(E) and f(x,y)(S)=f(x,y1)(N)f(x,y)(S)=f(x,y-1)(N) for (x,y)[m]×[n](x,y)\in[m]\times[n]. The RTAS self-assembles a pattern PP if there is a tile assignment ff in TT such that the color of each tile in the assignment ff is the color of the corresponding position in PP, i. e., χf=P\chi\circ f=P. A terminological convention is to call the elements in TT tile types while the elements in a tile assignment are called tiles; each tile in a tile assignment is the copy a tile type from the corresponding RTAS TT.

A directed RTAS (DRTAS) TT is an RTAS where any two distinct tile types t1,t2Tt_{1},t_{2}\in T have different inputs, i. e., t1(S)t2(S)t_{1}(S)\neq t_{2}(S) or t1(W)t2(W)t_{1}(W)\neq t_{2}(W). A DRTAS has at most one tile assignment and can self-assemble at most one pattern. If TT self-assembles an m×nm\times n-pattern PP, it defines the function PT:[m]×[n]TP_{T}\colon[m]\times[n]\to T such that PT(x,y)P_{T}(x,y) is the tile in position (x,y)(x,y) of the tile assignment given by TT. In this paper, we investigate minimal RTASs which uniquely self-assemble one given pattern PP. An observation from [2] allows us to focus on DRTAS only when searching for minimal RTAS that uniquely self-assemble a given pattern:

Proposition 1.

If a pattern PP can uniquely be self-assembled by an RTAS TT with mm tile types, then there is also a DRTAS TT^{\prime} with mm tile types which (uniquely) self-assembles PP.

Remark 2.

In the following proofs, a central concept is to show that the design of a pattern PP enforces that any DRTAS TT which self-assembles PP (and maybe respects some tile type bounds) contains tile types of a certain form. As we are flexible with choosing the set of glues, we can always obtain a DRTAS with different tile types by applying some bijection on the set of glues. A subtler point is that glues used on horizontal edges and glues used on vertical edges can be seen as separate sets of glues as these edges can never glue to each other. For the ease of notation, we will use the same glue labels for horizontal and vertical glues, but keep in mind that we may apply one bijection to all horizontal glues and another bijection to all vertical glues in order to obtain an isomorphic DRTAS.

3 NP\mathrm{NP}-hardness of Pats

In this section, we prove the NP\mathrm{NP}-hardness of Pats. The proof we present uses many techniques that have already been employed in [1, 7]. Let us also point out that we do not intend to minimize the number of colors used in our patterns or the size of our patterns. Our motivation is to give a proof that is easy to understand and serves well as a foundation for the results in Sect. 4.

A boolean formula FF over variables VV in conjunctive normal form with three literals per clause, 3-CNF for short, is a boolean formula such that

F=(c1,1c1,2c1,3)(c2,1c2,2c2,3)(c,1c,2c,3)F=(c_{1,1}\lor c_{1,2}\lor c_{1,3})\land(c_{2,1}\lor c_{2,2}\lor c_{2,3})\land\cdots\land(c_{\ell,1}\lor c_{\ell,2}\lor c_{\ell,3})

where ci,j{v,¬v|vV}c_{i,j}\in\left\{v,\neg v\mathrel{\left|\vphantom{v,\neg v}\vphantom{v\in V}\right.}v\in V\right\} for i[]i\in[\ell] and j=1,2,3j=1,2,3. It is well known that the problem 33-Sat, to decide whether or not a given formula FF in 3-CNF is satisfiable, is NP\mathrm{NP}-complete; see e. g., [4]. The NP\mathrm{NP}-hardness of Pats follows by the polynomial-time reduction from 33-Sat to Pats, stated in Theorem 3.

Theorem 3.

For every formula FF in 3-CNF there exists a pattern PFP_{F} such that FF is satisfiable if and only if PFP_{F} can be self-assembled by a DRTAS with at most |C(PF)|+3\left|\mathinner{C(P_{F})}\right|+3 tile types. Moreover, PFP_{F} can be computed from FF in polynomial time.

Theorem 3 follows by Lemmas 7 and 9, which are presented in the following.

Corollary 4.

Pats is NP\mathrm{NP}-hard.

The pattern PFP_{F} consists of several rectangular subpatterns which we will describe in the following. None of the subpatterns will be adjacent to another subpattern. The remainder of the pattern PFP_{F} is filled with unique colors; a color cc is unique in a pattern PP if it appears only in one position in PP, i. e., |P1(c)|=1\left|\mathinner{P^{-1}(c)}\right|=1. As a technicality that will become useful only in the proof of Theorem 11, we require that each position adjacent to the LL-shaped seed or to the north or east border of pattern PFP_{F} has a unique color. Clearly, for each unique color in PFP_{F} we require exactly one tile in any DRTAS which self-assembles PFP_{F}. Since each subpattern is surrounded by a frame of unique colors, the subpatterns can be treated as if each of them would be adjacent to an LL-shaped seed and we do not have to care about the glues on the north border or east border of a subpattern. The placement of the tiles with unique colors is simple, as for each unique color we find a path of unique colors to the seed, using west and south steps, and we may assume that this path uses unique glues (glues which are not used anywhere else in the tile assignment).

𝗈𝗋\mathsf{or}𝖠\mathsf{A}000000𝗈𝗋\mathsf{or}𝖡\mathsf{B}111100𝗈𝗋\mathsf{or}𝖢\mathsf{C}110011𝗈𝗋\mathsf{or}𝖣\mathsf{D}111111
Figure 2: The four tile types used to implement the 𝗈𝗋\mathsf{or}-gate.

As stated earlier, the number of tile types mm that is required to self-assemble PFP_{F}, if FF is satisfiable, is m=|C(PF)|+3m=\left|\mathinner{C(P_{F})}\right|+3. Actually, every color in C(PF)C(P_{F}) will require one tile type only except for one color which is meant to implement an 𝗈𝗋\mathsf{or}-gate; see Fig. 2. Each of the tile types with color   𝗈𝗋\mathsf{or}   is supposed to have west input w{0,1}w\in\left\{\mathinner{0,1}\right\}, south input s{0,1}s\in\left\{\mathinner{0,1}\right\}, east output wsw\lor s, and an independent north output.

Our first subpattern pp, shown in Fig. 3, ensures that every DRTAS which self-assembles the subpattern pp contains at least three tile types with color   𝗈𝗋\mathsf{or}  . For the upcoming proof of Theorem 11 we need a more precise observation which draws a connection between the number of distinct output glues and the number of distinct tile types with color   𝗈𝗋\mathsf{or}  .

𝖷𝟣\mathsf{X_{1}}𝗈𝗋\mathsf{or}𝗈𝗋\mathsf{or}𝖸𝟣\mathsf{Y_{1}}𝖷𝟤\mathsf{X_{2}}𝗈𝗋\mathsf{or}𝗈𝗋\mathsf{or}𝖸𝟤\mathsf{Y_{2}}𝖷𝟥\mathsf{X_{3}}𝗈𝗋\mathsf{or}𝗈𝗋\mathsf{or}𝖸𝟥\mathsf{Y_{3}}𝖷𝟦\mathsf{X_{4}}𝗈𝗋\mathsf{or}𝗈𝗋\mathsf{or}𝖸𝟦\mathsf{Y_{4}}𝖷𝟧\mathsf{X_{5}}𝗈𝗋\mathsf{or}𝗈𝗋\mathsf{or}𝖸𝟧\mathsf{Y_{5}}𝖷𝟨\mathsf{X_{6}}𝗈𝗋\mathsf{or}𝗈𝗋\mathsf{or}𝖸𝟨\mathsf{Y_{6}}𝖷𝟩\mathsf{X_{7}}𝗈𝗋\mathsf{or}𝗈𝗋\mathsf{or}𝖸𝟩\mathsf{Y_{7}}𝖷𝟪\mathsf{X_{8}}𝗈𝗋\mathsf{or}𝗈𝗋\mathsf{or}𝖸𝟪\mathsf{Y_{8}}
Figure 3: The subpattern pp.
Lemma 5.

A DRTAS TT which self-assembles a pattern including the subpattern pp contains either

  1. i.)

    three distinct tile types o1,o2,o3To_{1},o_{2},o_{3}\in T with color   𝗈𝗋\mathsf{or}   all having distinct north and east glues,

  2. ii.)

    four distinct tile types o1,o2,o3,o4To_{1},o_{2},o_{3},o_{4}\in T with color   𝗈𝗋\mathsf{or}   all having distinct north glues and together having at least two distinct east glues,

  3. iii.)

    four distinct tile types o1,o2,o3,o4To_{1},o_{2},o_{3},o_{4}\in T with color   𝗈𝗋\mathsf{or}   all having distinct east glues and together having at least two north glues, or

  4. iv.)

    eight distinct tile types o1,,o8To_{1},\ldots,o_{8}\in T with color   𝗈𝗋\mathsf{or}   all having distinct east or north glues.

Proof.

In the subpattern pp, each of the eight tiles t1,,t8t_{1},\ldots,t_{8} with colors   𝖸𝟣\mathsf{Y_{1}}   to   𝖸𝟪\mathsf{Y_{8}}   has south and west neighbors colored by   𝗈𝗋\mathsf{or}  . Since these tiles have mutually distinct colors they are all of different types as their inputs (south and west edges) have to differ. Therefore, the combination of outputs (north and east edges) of the tile types with color   𝗈𝗋\mathsf{or}   cannot be less than eight.

More formally, let OTO\subseteq T be the set of tiles with color   𝗈𝗋\mathsf{or}  . Let i=|{t(N)|tO}|i=\left|\mathinner{\left\{t(N)\mathrel{\left|\vphantom{t(N)}\vphantom{t\in O}\right.}t\in O\right\}}\right| be the number of distinct north glues on tiles from OO and let j=|{t(E)|tO}|j=\left|\mathinner{\left\{t(E)\mathrel{\left|\vphantom{t(E)}\vphantom{t\in O}\right.}t\in O\right\}}\right| be the number of distinct east glues. If iji\cdot j were less than 88, at least the inputs of two of the eight tiles t1,,t8t_{1},\ldots,t_{8} would coincide as their placement solely depends on the outputs of tiles from OO. There are four possibilities:

  1. i.)

    i3i\geq 3 and j3j\geq 3, therefore, |O|3\left|\mathinner{O}\right|\geq 3,

  2. ii.)

    i4i\geq 4 and j=2j=2, therefore, |O|4\left|\mathinner{O}\right|\geq 4,

  3. iii.)

    i=2i=2 and j4j\geq 4, therefore, |O|4\left|\mathinner{O}\right|\geq 4, or

  4. iv.)

    i8i\geq 8 or j8j\geq 8, therefore, |O|8\left|\mathinner{O}\right|\geq 8.

We aim to have statement ii.) of Lemma 5 satisfied, but so far all four statements are possible. Note that this lemma is independent of the number of tile types in the DRTAS TT, which is a crucial difference to the observations that will follow. The subpatterns q1q_{1} to q5q_{5} in Fig. 4 will enforce the functionality of the 𝗈𝗋\mathsf{or}-gate tile types.

𝖹𝟣\mathsf{Z_{1}}𝖹𝟤\mathsf{Z_{2}}𝖹𝟥\mathsf{Z_{3}}𝖺\mathsf{a}0\overset{0}{\rightarrow}0\overset{0}{\rightarrow}0\uparrow\!_{0}0\uparrow\!_{0}𝗈𝗋\mathsf{or}𝖻\mathsf{b}𝖻\mathsf{b}\boldsymbol{-}𝖽\mathsf{d}𝖼\mathsf{c}𝖼\mathsf{c}𝖠\mathsf{A}q1q_{1}𝖹𝟣\mathsf{Z_{1}}𝖹𝟤\mathsf{Z_{2}}𝖹𝟥\mathsf{Z_{3}}𝖺\mathsf{a}0\overset{0}{\rightarrow}0\overset{0}{\rightarrow}1\uparrow\!_{1}1\uparrow\!_{1}𝗈𝗋\mathsf{or}𝖻\mathsf{b}𝖻\mathsf{b}+\boldsymbol{+}𝖽\mathsf{d}𝖼\mathsf{c}𝖼\mathsf{c}𝖡\mathsf{B}q2q_{2}𝖹𝟣\mathsf{Z_{1}}𝖹𝟤\mathsf{Z_{2}}𝖹𝟥\mathsf{Z_{3}}𝖺\mathsf{a}1\overset{1}{\rightarrow}1\overset{1}{\rightarrow}0\uparrow\!_{0}0\uparrow\!_{0}𝗈𝗋\mathsf{or}𝖻\mathsf{b}𝖻\mathsf{b}+\boldsymbol{+}𝖽\mathsf{d}𝖼\mathsf{c}𝖼\mathsf{c}𝖢\mathsf{C}q3q_{3}𝖹𝟣\mathsf{Z_{1}}𝖹𝟤\mathsf{Z_{2}}𝖹𝟥\mathsf{Z_{3}}𝖺\mathsf{a}1\overset{1}{\rightarrow}1\overset{1}{\rightarrow}1\uparrow\!_{1}1\uparrow\!_{1}𝗈𝗋\mathsf{or}𝖻\mathsf{b}𝖻\mathsf{b}+\boldsymbol{+}𝖽\mathsf{d}𝖼\mathsf{c}𝖼\mathsf{c}𝖣\mathsf{D}q4q_{4}𝖺\mathsf{a}0\uparrow\!_{0}1\uparrow\!_{1}0\uparrow\!_{0}1\uparrow\!_{1}𝖻\mathsf{b}0\overset{0}{\rightarrow}𝗈𝗋\mathsf{or}𝗈𝗋\mathsf{or}𝗈𝗋\mathsf{or}𝗈𝗋\mathsf{or}+\boldsymbol{+}𝖼\mathsf{c}𝖠\mathsf{A}𝖡\mathsf{B}𝖢\mathsf{C}𝖣\mathsf{D}𝖽\mathsf{d}q5q_{5}
Figure 4: The subpatterns q1q_{1} to q5q_{5}.
Lemma 6.

Let PP be a pattern that contains the subpatterns pp and q1q_{1} to q5q_{5}, and let m=|C(P)|+3m=\left|\mathinner{C(P)}\right|+3. A DRTAS TT with at most mm tile types which self-assembles pattern PP contains four tile types with color   𝗈𝗋\mathsf{or}   of the forms shown in Fig. 2. For every other color in C(P)C(P) there exists exactly one tile type in TT. Moreover, the tile type with color   0\overset{0}{\rightarrow}   has east output 00 and the tile type with color   +\boldsymbol{+}   has west input 11.

Proof.

By Lemma 5, the DRTAS TT contains at least three tile types with color   𝗈𝗋\mathsf{or}  . Since we need at least one tile type for each color in C(P)C(P), there is one tile type left in TT whose color is not determined yet. By oiTo_{i}\in T we denote the tile of color   𝗈𝗋\mathsf{or}   in subpattern qiq_{i} for i=1,2,3,4i=1,2,3,4. We will show that all four tiles o1,o2,o3,o4o_{1},o_{2},o_{3},o_{4} are of different types and are the tile types shown in Fig. 2, from left to right.

Suppose by contradiction, there were only three tile types with color   𝗈𝗋\mathsf{or}   and only one tile type with color   𝖼\mathsf{c}  . Two of the tiles with colors   𝖠\mathsf{A}  ,   𝖡\mathsf{B}  ,   𝖢\mathsf{C}  , and   𝖣\mathsf{D}   in patterns q1q_{1} to q4q_{4} would have the same south and west neighbors and, hence, the inputs of the two corresponding tile types would coincide — a property which is forbidden for DRTASs. Thus, either there are four tile types with color   𝗈𝗋\mathsf{or}   or two tile types with color   𝖼\mathsf{c}  . For every other color there is exactly one tile type.

As there is only one tile type with color   𝖻\mathsf{b}   the tile o1o_{1} and o2o_{2} have to be of different types; otherwise, the tiles with colors   \boldsymbol{-}   and   +\boldsymbol{+}   would have the same inputs in subpatterns q1q_{1} and q2q_{2}. Because tiles o1o_{1} and o2o_{2} have the same west neighbor, the tiles with colors   0\uparrow\!_{0}   and   1\uparrow\!_{1}   are responsible for the placement of o1o_{1} and o2o_{2}, respectively; this means the north glues of the tile types with colors   0\uparrow\!_{0}   and   1\uparrow\!_{1}   differ. Symmetrically, o1o_{1} and o3o_{3} are of different types and the east glues of the tile types with colors   0\overset{0}{\rightarrow}   and   1\overset{1}{\rightarrow}   differ. Next, we see that the four tiles o1o_{1} to o4o_{4} all have different inputs, thus, the types of o1o_{1} to o4o_{4} are mutually distinct and their is only one tile type with color   𝖼\mathsf{c}  .

By the freedom of naming the used glues, see Remark 2, we assume that the tile type with color   0\overset{0}{\rightarrow}   has east output 00, and the tile type with   1\overset{1}{\rightarrow}   has east output 11, the tile type with color   0\uparrow\!_{0}   has north output 00, and the tile type with color   1\uparrow\!_{1}   has north output 11. The two tiles with colors   +\boldsymbol{+}   and   \boldsymbol{-}   have the same south input whence their west input differs and depends on the neighboring 𝗈𝗋\mathsf{or}-gate tile. We assume that the tile with color   \boldsymbol{-}   has west input 00^{\prime} and the tile with color   +\boldsymbol{+}   has west input 11^{\prime}. We have o1(E)=0o_{1}(E)=0^{\prime} and o2(E)=o3(E)=o4(E)=1o_{2}(E)=o_{3}(E)=o_{4}(E)=1^{\prime}. By Lemma 5, the north outputs of the four tiles o1o_{1} to o4o_{4} have to be distinct.

Next, we take a look at subpattern q5q_{5}. The tiles with colors   𝖠\mathsf{A}  ,   𝖡\mathsf{B}  ,   𝖢\mathsf{C}  , and   𝖣\mathsf{D}  , in the top row of subpattern q5q_{5} enforce that the four 𝗈𝗋\mathsf{or}-gates below are of the same types as o1o_{1}, o2o_{2}, o3o_{3}, and o4o_{4}, from left to right; otherwise the south inputs of the top row cannot match the north outputs of the middle row. By the placement of the four 𝗈𝗋\mathsf{or}-gate tiles it is clear that 0=00=0^{\prime} and 1=11=1^{\prime} as desired. ∎

𝖹𝟦\mathsf{Z_{4}}vvvvvvr1(v)r_{1}(v)𝖹𝟦\mathsf{Z_{4}}vv¬v\neg vv~\tilde{v}r2(v)r_{2}(v)𝖺\mathsf{a}vv¬v\neg v𝖻\mathsf{b}0\overset{0}{\rightarrow}𝗈𝗋\mathsf{or}𝗈𝗋\mathsf{or}+\boldsymbol{+}r3(v)r_{3}(v)𝖺\mathsf{a}c1c_{1}c2c_{2}c3c_{3}𝖻\mathsf{b}0\overset{0}{\rightarrow}𝗈𝗋\mathsf{or}𝗈𝗋\mathsf{or}𝗈𝗋\mathsf{or}+\boldsymbol{+}s(C)s(C)
Figure 5: The subpatterns r1(v)r_{1}(v) to r3(v)r_{3}(v) for a variable vVv\in V and the subpattern s(C)s(C) for a clause C=(c1c2c3)C=(c_{1}\lor c_{2}\lor c_{3}) in FF where ci=vc_{i}=v or ci=¬vc_{i}=\neg v for some variable vVv\in V and i=1,2,3i=1,2,3.

The subpatterns that we defined so far did not depend on the formula FF. Now, for each variable vVv\in V we define three subpatterns r1(v)r_{1}(v), r2(v)r_{2}(v), r3(v)r_{3}(v) and for a clause CC from FF we define one more subpattern s(C)s(C); these patterns are given by Fig. 5. For a formula FF in 3-CNF we let PFP_{F} be the pattern that contains all the subpatterns pp, q1q_{1} to q5q_{5}, r1(v)r_{1}(v) to r3(v)r_{3}(v) for each variable vVv\in V, and s(C)s(C) for each clause CC from FF, where each subpattern is placed to the right of the previous subpattern with one column of unique colors in between. Then, PFP_{F} has height 66, because the top and bottom rows contain unique colors only, and PFP_{F} has width 45+11|V|+645+11\cdot\left|\mathinner{V}\right|+6\cdot\ell. The next lemma follows from this observation.

Lemma 7.

Given a formula FF in 3-CNF, the pattern PFP_{F} can be computed from FF in polynomial time.

Proof.

This is obvious by the design of the pattern. ∎

The subpatterns r1(v)r_{1}(v) and r2(v)r_{2}(v) ensure that the two tile types with colors   vv   and   ¬v\neg v   have distinct north outputs. The subpattern r3(v)r_{3}(v) then implies that one of the north glues is 00 and the other one is 11.

Lemma 8.

Let PFP_{F} be the pattern for a formula FF over variables VV in 3-CNF and let TT be a DRTAS with at most m=|C(PF)|+3m=\left|\mathinner{C(P_{F})}\right|+3 tile types which self-assembles pattern PFP_{F}. For all variables vVv\in V, there is a unique tile type tvTt_{v}^{\oplus}\in T with color   vv   and a unique tile type tvTt_{v}^{\ominus}\in T with color   ¬v\neg v   such that either tv(N)=1t_{v}^{\oplus}(N)=1 and tv(N)=0t_{v}^{\ominus}(N)=0 or tv(N)=0t_{v}^{\oplus}(N)=0 and tv(N)=1t_{v}^{\ominus}(N)=1. Here, 00 and 11 are the south inputs of the 𝗈𝗋\mathsf{or}-gate tile types as shown in Fig. 2.

Proof.

Let vVv\in V, tvTt_{v}^{\oplus}\in T be the tile type with color   vv  , and tvTt_{v}^{\ominus}\in T be the tile type with color   ¬v\neg v  . The fact that tvt_{v}^{\oplus} and tvt_{v}^{\ominus} are unique is stated Lemma 6 and, furthermore, for every color in C(PF)C(P_{F}) except for   𝗈𝗋\mathsf{or}   there exists just one tile type in TT with that color. In particular, there is only one tile type with color   vv  . Since the north neighbors of the tile of type tvt_{v}^{\oplus} in subpattern r1(v)r_{1}(v) and the tile of type tvt_{v}^{\ominus} in subpattern r2(v)r_{2}(v) differ while their north neighbors have the same west input, we conclude that tv(N)tv(N)t_{v}^{\oplus}(N)\neq t_{v}^{\ominus}(N). Moreover, both of the tile types are a south neighbor of an 𝗈𝗋\mathsf{or}-gate tile in subpattern r3(v)r_{3}(v), hence, tv(N),tv(N){0,1}t_{v}^{\oplus}(N),t_{v}^{\ominus}(N)\in\left\{\mathinner{0,1}\right\}. ∎

Now, these glues serve as input for the 𝗈𝗋\mathsf{or}-gates in the subpatterns s(C)s(C). The following lemma concludes the proof of Theorem 3.

Lemma 9.

Let PFP_{F} be the pattern for a formula FF over variables VV in 3-CNF and let m=|C(PF)|+3m=\left|\mathinner{C(P_{F})}\right|+3. The formula FF is satisfiable if and only if PFP_{F} can be self-assembled by a DRTAS TT with at most mm tile types.

𝖸𝟣\mathsf{Y_{1}}00𝖠\mathsf{A}00𝖸𝟤\mathsf{Y_{2}}00𝖡\mathsf{B}00𝖸𝟥\mathsf{Y_{3}}00𝖢\mathsf{C}00𝖸𝟦\mathsf{Y_{4}}00𝖣\mathsf{D}00𝖸𝟧\mathsf{Y_{5}}00𝖠\mathsf{A}11𝖸𝟨\mathsf{Y_{6}}00𝖡\mathsf{B}11𝖸𝟩\mathsf{Y_{7}}00𝖢\mathsf{C}11𝖸𝟪\mathsf{Y_{8}}𝖣\mathsf{D}11𝖷𝟣\mathsf{X_{1}}0000𝖷𝟤\mathsf{X_{2}}000000𝖷𝟥\mathsf{X_{3}}001111𝖷𝟦\mathsf{X_{4}}001111𝖷𝟧\mathsf{X_{5}}110011𝖷𝟨\mathsf{X_{6}}110000𝖷𝟩\mathsf{X_{7}}111111𝖷𝟪\mathsf{X_{8}}1111110\overset{0}{\rightarrow}{\bullet}00{\bullet}000\overset{0}{\rightarrow}{\blacklozenge}00{\blacklozenge}001\overset{1}{\rightarrow}{\bullet}11{\bullet}111\overset{1}{\rightarrow}{\blacklozenge}11{\blacklozenge}110\uparrow\!_{0}00{\bullet}00{\bullet}0\uparrow\!_{0}00{\blacklozenge}00{\blacklozenge}1\uparrow\!_{1}11{\bullet}11{\bullet}1\uparrow\!_{1}11{\blacklozenge}11{\blacklozenge}𝖺\mathsf{a}{\blacklozenge}{\blacklozenge}{\blacklozenge}{\blacklozenge}𝖻\mathsf{b}{\bigstar}{\bullet}𝖻\mathsf{b}{\bigstar}{\bigstar}{\blacklozenge}𝖼\mathsf{c}{\bigstar}{\bullet}𝖼\mathsf{c}{\bigstar}{\blacklozenge}{\bigstar}𝖽\mathsf{d}{\bigstar}{\bigstar}+\boldsymbol{+}{\bigstar}{\bigstar}11\boldsymbol{-}{\bigstar}{\bigstar}00𝖠\mathsf{A}{\bigstar}𝖠\mathsf{A}{\bigstar}𝖡\mathsf{B}{\bigstar}𝖡\mathsf{B}{\bigstar}𝖢\mathsf{C}{\bigstar}𝖢\mathsf{C}{\bigstar}𝖣\mathsf{D}{\bigstar}𝖣\mathsf{D}{\bigstar}𝖹𝟣\mathsf{Z_{1}}{\bullet}{\bullet}𝖹𝟤\mathsf{Z_{2}}{\blacklozenge}{\bullet}{\bullet}𝖹𝟥\mathsf{Z_{3}}{\bullet}{\blacklozenge}{\bullet}𝖹𝟦\mathsf{Z_{4}}{\blacktriangle}{\blacklozenge}For vVv\in V where ,{0,1}\oplus,\ominus\in\left\{\mathinner{0,1}\right\} depend on the variable assignment of vv:vv\oplus{\blacklozenge}vv{\blacklozenge}¬v\neg v\ominus{\blacklozenge}¬v\neg v{\blacklozenge}vvvv{\blacktriangle}vv\boldsymbol{\oplus}vvv~\tilde{v}\boldsymbol{\ominus}vv
Figure 6: All tile types, except for the 𝗈𝗋\mathsf{or}-gate, used to self-assemble the subpatterns in PFP_{F}. Unlabeled edges only appear on the outside borders of subpatterns; unique glues on these edges can be used to attach the subpatterns to the remaining structure.
Proof.

The formula FF is satisfiable if and only if there is a variable assignment f:V{0,1}f\colon V\to\left\{\mathinner{0,1}\right\} which satisfies every clause in FF. Suppose such a variable assignment ff exists. For every variable vVv\in V we let tvTt_{v}^{\oplus}\in T be the tile type with color   vv   and tvTt_{v}^{\ominus}\in T be the tile type with color   ¬v\neg v  . In accordance with Lemma 8, we let tv(N)=f(v)t_{v}^{\oplus}(N)=f(v) and tv(N)=1f(v)t_{v}^{\ominus}(N)=1-f(v). The remaining glues on tvt_{v}^{\oplus} and tvt_{v}^{\ominus} and the other tile types are given in Fig. 6 plus the four 𝗈𝗋\mathsf{or}-gate tile types in Fig. 2. By design, it is clear that these tile types can self-assemble all the subpatterns pp, q1q_{1} to q5q_{5}, and r1(v)r_{1}(v) to r3(v)r_{3}(v) for vVv\in V; see also Sect. 3.1 where the subpatterns with their tile assignments are presented. Now, consider the subpattern s(C)s(C) for a clause C=(c1c2c3)C=(c_{1}\lor c_{2}\lor c_{3}) in FF. It is not difficult to observe that, since the clause CC is satisfied by the assignment ff, at least one of the north glues of the tiles in s(C)s(C) with colors   c1c_{1}  ,   c2c_{2}  , and   c3c_{3}   is 11. The design of the 𝗈𝗋\mathsf{or}-gate tile types ensures that the right 𝗈𝗋\mathsf{or}-gate tile in s(C)s(C) has east output 11 and the tile with color   +\boldsymbol{+}   can be placed — concluding that PFP_{F} can be self-assembled by the given DRTAS having mm tile types.

Conversely, suppose PFP_{F} can be self-assembled by a DRTAS with mm tile types. By Lemma 8, for each variable vVv\in V the tile type tvt_{v}^{\oplus} with color   vv   has either north output 00 or 11. We define a variable assignment f:V{0,1}f\colon V\to\left\{\mathinner{0,1}\right\} by vtv(N)v\mapsto t_{v}^{\oplus}(N). Recall from Lemma 6 that the four 𝗈𝗋\mathsf{or}-gate tile types in TT actually implement an 𝗈𝗋\mathsf{or}-gate. Furthermore, in a subpattern s(C)s(C) where C=(c1c2c3)C=(c_{1}\lor c_{2}\lor c_{3}) is a clause from FF, the west input of the left 𝗈𝗋\mathsf{or}-gate tile is 00, and if the east output of the right 𝗈𝗋\mathsf{or}-gate tile were 00, then the tile type with color   +\boldsymbol{+}   could not be placed in s(C)s(C) (instead the tile type with color   \boldsymbol{-}   would be placed). Hence, at least one of the north glues of the tiles with colors   c1c_{1}  ,   c2c_{2}  , and   c3c_{3}   is 11. Using the fact that for vVv\in V the north output of the tile type with color   ¬v\neg v   is 11 if and only if the north output of the tile type with color   vv   is 00, stated in Lemma 8, we infer that ff is a variable assignment that satisfies every clause in FF. Therefore, FF is satisfiable. ∎

3.1 Subpatterns in PFP_{F} with Tile Assignment

In this section we present the subpatterns pp, q1q_{1} to q5q_{5}, r1(v)r_{1}(v) to r3(v)r_{3}(v), r1(u)r_{1}(u) to r3(u)r_{3}(u), and s(C)s(C) in PFP_{F} with tile assignments, where C=(uv¬w)C=(u\lor v\lor\neg w) and u,v,wVu,v,w\in V with the variable assignment u0u\mapsto 0, v1v\mapsto 1, and w1w\mapsto 1. The used tiles are described in Fig. 2 and 6. The other subpatterns in PFP_{F} can be tiled analogously.

𝗈𝗋\mathsf{or}𝖠\mathsf{A}000000𝖸𝟣\mathsf{Y_{1}}00𝖠\mathsf{A}00𝗈𝗋\mathsf{or}𝖠\mathsf{A}000000𝖸𝟤\mathsf{Y_{2}}00𝖡\mathsf{B}00𝗈𝗋\mathsf{or}𝖠\mathsf{A}000000𝖸𝟥\mathsf{Y_{3}}00𝖢\mathsf{C}00𝗈𝗋\mathsf{or}𝖠\mathsf{A}000000𝖸𝟦\mathsf{Y_{4}}00𝖣\mathsf{D}00𝖷𝟣\mathsf{X_{1}}0000𝗈𝗋\mathsf{or}𝖠\mathsf{A}000000𝖷𝟤\mathsf{X_{2}}000000𝗈𝗋\mathsf{or}𝖡\mathsf{B}111100𝖷𝟥\mathsf{X_{3}}001111𝗈𝗋\mathsf{or}𝖢\mathsf{C}110011𝖷𝟦\mathsf{X_{4}}001111𝗈𝗋\mathsf{or}𝖣\mathsf{D}111111𝗈𝗋\mathsf{or}𝖡\mathsf{B}111100𝖸𝟧\mathsf{Y_{5}}00𝖠\mathsf{A}11𝗈𝗋\mathsf{or}𝖡\mathsf{B}111100𝖸𝟨\mathsf{Y_{6}}00𝖡\mathsf{B}11𝗈𝗋\mathsf{or}𝖡\mathsf{B}111100𝖸𝟩\mathsf{Y_{7}}00𝖢\mathsf{C}11𝗈𝗋\mathsf{or}𝖡\mathsf{B}111100𝖸𝟪\mathsf{Y_{8}}𝖣\mathsf{D}11𝖷𝟧\mathsf{X_{5}}110011𝗈𝗋\mathsf{or}𝖠\mathsf{A}000000𝖷𝟨\mathsf{X_{6}}110000𝗈𝗋\mathsf{or}𝖡\mathsf{B}111100𝖷𝟩\mathsf{X_{7}}111111𝗈𝗋\mathsf{or}𝖢\mathsf{C}110011𝖷𝟪\mathsf{X_{8}}111111𝗈𝗋\mathsf{or}𝖣\mathsf{D}111111\ldots\ldotspp𝖹𝟣\mathsf{Z_{1}}{\bullet}{\bullet}𝖹𝟤\mathsf{Z_{2}}{\blacklozenge}{\bullet}{\bullet}0\uparrow\!_{0}00{\bullet}00{\bullet}𝖻\mathsf{b}{\bigstar}{\bullet}𝖹𝟥\mathsf{Z_{3}}{\bullet}{\blacklozenge}{\bullet}𝖺\mathsf{a}{\blacklozenge}{\blacklozenge}{\blacklozenge}{\blacklozenge}0\uparrow\!_{0}00{\blacklozenge}00{\blacklozenge}𝖻\mathsf{b}{\bigstar}{\bigstar}{\blacklozenge}0\overset{0}{\rightarrow}{\bullet}00{\bullet}000\overset{0}{\rightarrow}{\blacklozenge}00{\blacklozenge}00𝗈𝗋\mathsf{or}𝖠\mathsf{A}000000\boldsymbol{-}{\bigstar}{\bigstar}00𝖼\mathsf{c}{\bigstar}{\bullet}𝖼\mathsf{c}{\bigstar}{\blacklozenge}{\bigstar}𝖠\mathsf{A}{\bigstar}𝖠\mathsf{A}{\bigstar}𝖽\mathsf{d}{\bigstar}{\bigstar}q1q_{1}𝖹𝟣\mathsf{Z_{1}}{\bullet}{\bullet}𝖹𝟤\mathsf{Z_{2}}{\blacklozenge}{\bullet}{\bullet}1\uparrow\!_{1}11{\bullet}11{\bullet}𝖻\mathsf{b}{\bigstar}{\bullet}𝖹𝟥\mathsf{Z_{3}}{\bullet}{\blacklozenge}{\bullet}𝖺\mathsf{a}{\blacklozenge}{\blacklozenge}{\blacklozenge}{\blacklozenge}1\uparrow\!_{1}11{\blacklozenge}11{\blacklozenge}𝖻\mathsf{b}{\bigstar}{\bigstar}{\blacklozenge}0\overset{0}{\rightarrow}{\bullet}00{\bullet}000\overset{0}{\rightarrow}{\blacklozenge}00{\blacklozenge}00𝗈𝗋\mathsf{or}𝖡\mathsf{B}111100+\boldsymbol{+}{\bigstar}{\bigstar}11𝖼\mathsf{c}{\bigstar}{\bullet}𝖼\mathsf{c}{\bigstar}{\blacklozenge}{\bigstar}𝖡\mathsf{B}{\bigstar}𝖡\mathsf{B}{\bigstar}𝖽\mathsf{d}{\bigstar}{\bigstar}q2q_{2}𝖹𝟣\mathsf{Z_{1}}{\bullet}{\bullet}𝖹𝟤\mathsf{Z_{2}}{\blacklozenge}{\bullet}{\bullet}0\uparrow\!_{0}00{\bullet}00{\bullet}𝖻\mathsf{b}{\bigstar}{\bullet}𝖹𝟥\mathsf{Z_{3}}{\bullet}{\blacklozenge}{\bullet}𝖺\mathsf{a}{\blacklozenge}{\blacklozenge}{\blacklozenge}{\blacklozenge}0\uparrow\!_{0}00{\blacklozenge}00{\blacklozenge}𝖻\mathsf{b}{\bigstar}{\bigstar}{\blacklozenge}1\overset{1}{\rightarrow}{\bullet}11{\bullet}111\overset{1}{\rightarrow}{\blacklozenge}11{\blacklozenge}11𝗈𝗋\mathsf{or}𝖢\mathsf{C}110011\boldsymbol{-}{\bigstar}{\bigstar}11𝖼\mathsf{c}{\bigstar}{\bullet}𝖼\mathsf{c}{\bigstar}{\blacklozenge}{\bigstar}𝖢\mathsf{C}{\bigstar}𝖢\mathsf{C}{\bigstar}𝖽\mathsf{d}{\bigstar}{\bigstar}q1q_{1}𝖹𝟣\mathsf{Z_{1}}{\bullet}{\bullet}𝖹𝟤\mathsf{Z_{2}}{\blacklozenge}{\bullet}{\bullet}1\uparrow\!_{1}11{\bullet}11{\bullet}𝖻\mathsf{b}{\bigstar}{\bullet}𝖹𝟥\mathsf{Z_{3}}{\bullet}{\blacklozenge}{\bullet}𝖺\mathsf{a}{\blacklozenge}{\blacklozenge}{\blacklozenge}{\blacklozenge}1\uparrow\!_{1}11{\blacklozenge}11{\blacklozenge}𝖻\mathsf{b}{\bigstar}{\bigstar}{\blacklozenge}1\overset{1}{\rightarrow}{\bullet}11{\bullet}111\overset{1}{\rightarrow}{\blacklozenge}11{\blacklozenge}11𝗈𝗋\mathsf{or}𝖣\mathsf{D}111111+\boldsymbol{+}{\bigstar}{\bigstar}11𝖼\mathsf{c}{\bigstar}{\bullet}𝖼\mathsf{c}{\bigstar}{\blacklozenge}{\bigstar}𝖣\mathsf{D}{\bigstar}𝖣\mathsf{D}{\bigstar}𝖽\mathsf{d}{\bigstar}{\bigstar}q2q_{2}𝖺\mathsf{a}{\blacklozenge}{\blacklozenge}{\blacklozenge}{\blacklozenge}0\uparrow\!_{0}00{\blacklozenge}00{\blacklozenge}1\uparrow\!_{1}11{\blacklozenge}11{\blacklozenge}0\uparrow\!_{0}00{\blacklozenge}00{\blacklozenge}1\uparrow\!_{1}11{\blacklozenge}11{\blacklozenge}𝖻\mathsf{b}{\bigstar}{\bigstar}{\blacklozenge}0\overset{0}{\rightarrow}{\blacklozenge}00{\blacklozenge}00𝗈𝗋\mathsf{or}𝖠\mathsf{A}000000𝗈𝗋\mathsf{or}𝖡\mathsf{B}111100𝗈𝗋\mathsf{or}𝖢\mathsf{C}110011𝗈𝗋\mathsf{or}𝖣\mathsf{D}111111+\boldsymbol{+}{\bigstar}{\bigstar}11𝖼\mathsf{c}{\bigstar}{\blacklozenge}{\bigstar}𝖠\mathsf{A}{\bigstar}𝖠\mathsf{A}{\bigstar}𝖡\mathsf{B}{\bigstar}𝖡\mathsf{B}{\bigstar}𝖢\mathsf{C}{\bigstar}𝖢\mathsf{C}{\bigstar}𝖣\mathsf{D}{\bigstar}𝖣\mathsf{D}{\bigstar}𝖽\mathsf{d}{\bigstar}{\bigstar}q5q_{5}𝖹𝟦\mathsf{Z_{4}}{\blacktriangle}{\blacklozenge}vv11{\blacklozenge}vv{\blacklozenge}vvvv{\blacktriangle}vv11vvr1(v)r_{1}(v)𝖹𝟦\mathsf{Z_{4}}{\blacktriangle}{\blacklozenge}¬v\neg v00{\blacklozenge}¬v\neg v{\blacklozenge}vvvv{\blacktriangle}v~\tilde{v}00vvr2(v)r_{2}(v)𝖺\mathsf{a}{\blacklozenge}{\blacklozenge}{\blacklozenge}{\blacklozenge}vv11{\blacklozenge}vv{\blacklozenge}¬v\neg v00{\blacklozenge}¬v\neg v{\blacklozenge}𝖻\mathsf{b}{\bigstar}{\bigstar}{\blacklozenge}0\overset{0}{\rightarrow}{\blacklozenge}00{\blacklozenge}00𝗈𝗋\mathsf{or}𝖡\mathsf{B}111100𝗈𝗋\mathsf{or}𝖢\mathsf{C}110011+\boldsymbol{+}{\bigstar}{\bigstar}11r3(v)r_{3}(v)𝖹𝟦\mathsf{Z_{4}}{\blacktriangle}{\blacklozenge}uu00{\blacklozenge}uu{\blacklozenge}uuuu{\blacktriangle}uu00uur1(u)r_{1}(u)𝖹𝟦\mathsf{Z_{4}}{\blacktriangle}{\blacklozenge}¬u\neg u11{\blacklozenge}¬u\neg u{\blacklozenge}uuuu{\blacktriangle}u~\tilde{u}11uur2(u)r_{2}(u)𝖺\mathsf{a}{\blacklozenge}{\blacklozenge}{\blacklozenge}{\blacklozenge}uu00{\blacklozenge}uu{\blacklozenge}¬u\neg u11{\blacklozenge}¬u\neg u{\blacklozenge}𝖻\mathsf{b}{\bigstar}{\bigstar}{\blacklozenge}0\overset{0}{\rightarrow}{\blacklozenge}00{\blacklozenge}00𝗈𝗋\mathsf{or}𝖠\mathsf{A}000000𝗈𝗋\mathsf{or}𝖡\mathsf{B}111100+\boldsymbol{+}{\bigstar}{\bigstar}11r3(u)r_{3}(u)𝖺\mathsf{a}{\blacklozenge}{\blacklozenge}{\blacklozenge}{\blacklozenge}uu00{\blacklozenge}uu{\blacklozenge}vv11{\blacklozenge}vv{\blacklozenge}¬w\neg w00{\blacklozenge}¬w\neg w{\blacklozenge}𝖻\mathsf{b}{\bigstar}{\bigstar}{\blacklozenge}0\overset{0}{\rightarrow}{\blacklozenge}00{\blacklozenge}00𝗈𝗋\mathsf{or}𝖠\mathsf{A}000000𝗈𝗋\mathsf{or}𝖡\mathsf{B}111100𝗈𝗋\mathsf{or}𝖢\mathsf{C}110011+\boldsymbol{+}{\bigstar}{\bigstar}11s(C)s(C)

4 NP\mathrm{NP}-hardness of 33-mbPats

The purpose of this section is to prove the NP\mathrm{NP}-hardness of 33-mbPats. Let us define a set of restricted input pairs \mathcal{I} for Pats. The set \mathcal{I} contains all pairs (P,m)(P,m) where P=PFP=P_{F} is the pattern for a formula FF in 3-CNF as defined in Sect. 3 and m=|C(P)|+3m=\left|\mathinner{C(P)}\right|+3. Consider the following restriction of Pats.

Problem (Modified Pats).


Given: A pair (P,m)(P,m) from \mathcal{I};

Output: “Yes” if PP can uniquely be self-assembled by using mm tile types.

As we choose exactly those pairs (P,m)(P,m) as input for the problem that are generated by the reduction, stated in Theorem 3, we obtain the following corollary which forms the foundation for the result in this section.

Corollary 10.

Modified Pats is NP\mathrm{NP}-hard.

The NP\mathrm{NP}-hardness of 33-mbPats follows by the polynomial-time reduction from Modified Pats to 33-mbPats, stated in Theorem 11.

Theorem 11.

For every input pair (P,m)(P,m)\in\mathcal{I} there exist a black/white/gray-colored pattern QQ and integers mb,mw,mgm_{b},m_{w},m_{g} such that: PP can be self-assembled by a DRTAS with at most mm tile types if and only if QQ can be self-assembled by a DRTAS with at most mbm_{b} black tile types, mwm_{w} white tile types, and mgm_{g} gray tile types. Moreover, the tuple (Q,mb,mw,mg)(Q,m_{b},m_{w},m_{g}) can be computed from PP in polynomial time.

Lemma 21 states the “if part” and Lemma 16 states the “only if part” of Theorem 11. Lemma 13 states that (Q,mb,mw,mg)(Q,m_{b},m_{w},m_{g}) can be computed from PP in polynomial time.

Corollary 12.

33-mbPats is NP\mathrm{NP}-hard.

For the remainder of this section, let (P,m)(P,m)\in\mathcal{I} be one fixed pair, let C=C(P)C=C(P) and k=|C|k=\left|\mathinner{C}\right|. We may assume that C=[k]C=[k] is a subset of the positive integers. The tile bounds are

mb=1m_{b}=1for black tile types, mw=5k3(w(P)+h(P))+14m_{w}=5k-3(w(P)+h(P))+14for white tile types, and mg=2k+3m_{g}=2k+3for gray tile types.

Note that, due to the pattern design in Sect. 3, h(P)=6h(P)=6 is constant.

𝖠\mathsf{A}𝖡𝟣\mathsf{B_{1}}𝖡𝟤\mathsf{B_{2}}𝖡𝟣\mathsf{B_{1}}𝖡𝟤\mathsf{B_{2}}𝖡𝟣\mathsf{B_{1}}𝖡𝟤\mathsf{B_{2}}𝖡𝟣\mathsf{B_{1}}𝖡𝟤\mathsf{B_{2}}𝖡𝟣\mathsf{B_{1}}𝖡𝟤\mathsf{B_{2}}𝖡𝟣\mathsf{B_{1}}𝖡𝟤\mathsf{B_{2}}𝖡𝟣\mathsf{B_{1}}𝖡𝟤\mathsf{B_{2}}𝖡𝟣\mathsf{B_{1}}𝖡𝟤\mathsf{B_{2}}𝖡𝟣\mathsf{B_{1}}𝖡𝟤\mathsf{B_{2}}𝖢𝟣\mathsf{C_{1}}𝖢𝟤\mathsf{C_{2}}𝖣𝟤\mathsf{D_{2}}𝖣𝟣\mathsf{D_{1}}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}cc\cdots2211cc\vdots\vphantom{g_{g}}2211𝖥𝟤\mathsf{F_{2}}𝖥𝟣\mathsf{F_{1}}𝖥𝟤\mathsf{F_{2}}𝖥𝟣\mathsf{F_{1}}𝖥𝟤\mathsf{F_{2}}𝖥𝟣\mathsf{F_{1}}𝖥𝟤\mathsf{F_{2}}𝖥𝟣\mathsf{F_{1}}𝖦\mathsf{G}countercounter\ell tiles\ell tiles
Figure 7: Black/white/gray supertile which portrays a color cCc\in C.

Let =5k+8\ell=5k+8. For a color cCc\in C, we define an ×\ell\times\ell square pattern as shown in Fig. 7. We refer to this pattern as well as to its underlying tile assignment as supertile. The blowup of such a supertile with a possible tile assignment is shown in Figure 8. In contrast to the previous section, the positions in the supertile are labeled which does not mean that the colors or the tiles used to self-assemble the pattern are labeled; the colors are black, white, or gray. The horizontal and vertical color counters are the cc gray positions in the top row, respectively right column, which are succeeded by a white tile in position 𝖣𝟤\mathsf{D_{2}}, respectively 𝖣𝟣\mathsf{D_{1}}. The color counters illustrate the color cc that is portrayed by the supertile. The patterns of two supertiles which portray two distinct colors differ only in the place the white tile is positioned in its top row and right column.

𝖠\mathsf{A}(𝗇,c)(\mathsf{n},c)(𝖾,c)(\mathsf{e},c)𝗌\mathsf{s}𝗐\mathsf{w}𝖡𝟣\mathsf{B_{1}}{\bullet}(𝖾,c)(\mathsf{e},c){\bullet}(𝖾,c)(\mathsf{e},c)𝖡𝟤\mathsf{B_{2}}(𝗇,c)(\mathsf{n},c){\bullet}(𝗇,c)(\mathsf{n},c){\bullet}𝖡𝟣\mathsf{B_{1}}{\bullet}(𝖾,c)(\mathsf{e},c){\bullet}(𝖾,c)(\mathsf{e},c)𝖡𝟤\mathsf{B_{2}}(𝗇,c)(\mathsf{n},c){\bullet}(𝗇,c)(\mathsf{n},c){\bullet}𝖡𝟣\mathsf{B_{1}}{\bullet}(𝖾,c)(\mathsf{e},c){\bullet}(𝖾,c)(\mathsf{e},c)𝖡𝟤\mathsf{B_{2}}(𝗇,c)(\mathsf{n},c){\bullet}(𝗇,c)(\mathsf{n},c){\bullet}𝖡𝟣\mathsf{B_{1}}{\bullet}(𝖾,c)(\mathsf{e},c){\bullet}(𝖾,c)(\mathsf{e},c)𝖡𝟤\mathsf{B_{2}}(𝗇,c)(\mathsf{n},c){\bullet}(𝗇,c)(\mathsf{n},c){\bullet}𝖡𝟣\mathsf{B_{1}}{\bullet}(𝖾,c)(\mathsf{e},c){\bullet}(𝖾,c)(\mathsf{e},c)𝖡𝟤\mathsf{B_{2}}(𝗇,c)(\mathsf{n},c){\bullet}(𝗇,c)(\mathsf{n},c){\bullet}𝖡𝟣\mathsf{B_{1}}{\bullet}(𝖾,c)(\mathsf{e},c){\bullet}(𝖾,c)(\mathsf{e},c)𝖡𝟤\mathsf{B_{2}}(𝗇,c)(\mathsf{n},c){\bullet}(𝗇,c)(\mathsf{n},c){\bullet}𝖢𝟣\mathsf{C_{1}}cc𝖾\mathsf{e}{\blacklozenge}(𝖾,c)(\mathsf{e},c)𝖢𝟤\mathsf{C_{2}}𝗇\mathsf{n}cc(𝗇,c)(\mathsf{n},c){\blacklozenge}𝖣𝟤\mathsf{D_{2}}{\bullet}{\blacklozenge}{\bullet}00𝖣𝟣\mathsf{D_{1}}{\blacklozenge}{\bullet}00{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}𝖤\mathsf{E}{\bullet}{\bullet}{\bullet}{\bullet}c1c{-}1{\bullet}cc{\bullet}c2c{-}2{\bullet}c1c{-}1{\bullet}00{\bullet}11{\bullet}𝖥𝟣\mathsf{F_{1}}{\blacklozenge}{\bullet}{\blacklozenge}{\bullet}𝖥𝟣\mathsf{F_{1}}{\blacklozenge}{\bullet}{\blacklozenge}{\bullet}{\bullet}c1c{-}1{\bullet}cc{\bullet}c2c{-}2{\bullet}c1c{-}1{\bullet}00{\bullet}11𝖥𝟤\mathsf{F_{2}}{\bullet}{\blacklozenge}{\bullet}{\blacklozenge}𝖥𝟤\mathsf{F_{2}}{\bullet}{\blacklozenge}{\bullet}{\blacklozenge}𝖦\mathsf{G}{\blacklozenge}{\blacklozenge}{\blacklozenge}{\blacklozenge}hor. countervert. counter\vdots\vdots\cdots\cdots\vdots\vdots\cdots\cdots\vdots\vdots\cdots\cdots\vdots\vdots\cdots\cdots\vdots\vdots\cdots\cdots\vdots\vdots\cdots\cdots\vdots\vdots\cdots\cdots\vdots\vdots\cdots\cdots\iddots\iddots\iddots\iddots
Figure 8: Blowup of one supertile with possible tile assignment, representing a tile with color cc and glues 𝗇\mathsf{n}, 𝖾\mathsf{e}, 𝗌\mathsf{s}, and 𝗐\mathsf{w} on its north, east, south, and west edges, respectively.

For colors in the bottom row and left column of the pattern PP we use incomplete supertiles: a supertile portraying a color cc in the bottom row of pattern PP lacks the white row with positions 𝖠\mathsf{A}, 𝖡𝟣\mathsf{B_{1}}, and 𝖢𝟣\mathsf{C_{1}}; a supertile representing a color cc in the left column of pattern PP lacks the white column with positions 𝖠\mathsf{A}, 𝖡𝟤\mathsf{B_{2}}, and 𝖢𝟤\mathsf{C_{2}}. In particular, the supertile portraying color P(1,1)P(1,1) does not contain any of the positions 𝖠\mathsf{A}, 𝖡𝟣\mathsf{B_{1}}, 𝖡𝟤\mathsf{B_{2}}, 𝖢𝟣\mathsf{C_{1}}, and 𝖢𝟤\mathsf{C_{2}}. Recall that all incomplete supertiles portray a color cc that is unique in PP.

supertile portraying P(1,1)P(1,1) supertile portraying P(2,1)P(2,1) supertile portraying P(3,1)P(3,1) supertile portraying P(1,2)P(1,2) supertile portraying P(2,2)P(2,2) supertile portraying P(3,2)P(3,2) supertile portraying P(𝗐1,1)P(\mathsf{w}{-}1,1) supertile portraying P(𝗐,1)P(\mathsf{w},1) supertile portraying P(𝗐1,2)P(\mathsf{w}{-}1,2) supertile portraying P(𝗐,2)P(\mathsf{w},2) supertile portraying P(1,𝗁)P(1,\mathsf{h}) supertile portraying P(2,𝗁)P(2,\mathsf{h}) supertile portraying P(3,𝗁)P(3,\mathsf{h}) supertile portraying P(𝗐1,𝗁)P(\mathsf{w}{-}1,\mathsf{h}) supertile portraying P(𝗐,𝗁)P(\mathsf{w},\mathsf{h})
Figure 9: Black/white/gray pattern QQ defined by the kk-color pattern PP with 𝗐=w(P)\mathsf{w}=w(P) and 𝗁=h(P)\mathsf{h}=h(P).

The pattern QQ is shown in Fig. 9. By Qx,yQ\langle\mathinner{x,y}\rangle we denote the pattern of the supertile covering the square area spanned by positions ((x1),(y1))((x-1)\cdot\ell,(y-1)\cdot\ell) and (x1,y1)(x\cdot\ell-1,y\cdot\ell-1) in QQ; the incomplete supertiles cover one row and/or column less. The pattern is designed such that supertile Qx,yQ\langle\mathinner{x,y}\rangle portrays the color P(x,y)P(x,y) for all x[w(P)]x\in[w(P)] and y[h(P)]y\in[h(P)]. Additionally, QQ contains three gadget rows and three gadget columns which are explained in Fig. 10. The purpose of these gadget rows and columns is to ensure that the color counters can only be implemented in one way when using no more than mgm_{g} gray tile types. All together QQ is of dimensions w(Q)=w(P)+2w(Q)=\ell\cdot w(P)+2 times h(Q)=h(P)+2h(Q)=\ell\cdot h(P)+2. Obviously, the pattern QQ can be computed from PP in polynomial time.

Lemma 13.

(Q,mb,mw,mg)(Q,m_{b},m_{w},m_{g}) can be computed from PP in polynomial time.

Proof.

This is obvious by the design of the pattern. ∎

𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}𝖤\mathsf{E}\cdots\cdots\cdots\cdots\cdots\cdotskk\cdots2211𝖥𝟤\mathsf{F_{2}}\cdots𝖥𝟤\mathsf{F_{2}}𝖦\mathsf{G}𝖥𝟤\mathsf{F_{2}}𝖥𝟤\mathsf{F_{2}}\cdots𝖥𝟤\mathsf{F_{2}}𝖥𝟤\mathsf{F_{2}}𝖦\mathsf{G}𝖥𝟤\mathsf{F_{2}}𝖦\mathsf{G}𝖥𝟤\mathsf{F_{2}}𝖥𝟣\mathsf{F_{1}}𝖥𝟣\mathsf{F_{1}}𝖥𝟣\mathsf{F_{1}}𝖥𝟣\mathsf{F_{1}}𝖥𝟣\mathsf{F_{1}}𝖥𝟣\mathsf{F_{1}}𝖣𝟤\mathsf{D_{2}}kk1\ell{-}1\ell
Figure 10: The gadget rows on the north border of the pattern QQ, the gadget columns are symmetrical: the middle row (resp., column) contains gray tiles except for one white tile in position k+1k+1; the upper and lower rows (resp., left and right columns) contain gray tiles in positions above the gray column (resp., right of the gray row) of a supertile, the other tiles are black.

For a DRTAS Θ\Theta which self-assembles QQ, we extend our previous notion such that QΘx,yQ_{\Theta}\langle\mathinner{x,y}\rangle denotes the tile assignment of supertile Qx,yQ\langle\mathinner{x,y}\rangle given by Θ\Theta. In the following, we will prove properties of such a DRTAS Θ\Theta. Our first observation is about the black and gray tile types plus two of the white tile types.

𝖤\mathsf{E}\bullet\bullet\bullet\bullet𝖣𝟣\mathsf{D_{1}}\blacklozenge\bullet00\bullet𝖣𝟤\mathsf{D_{2}}\bullet\blacklozenge\bullet00i1i{-}1\bulletii\bullet\bulleti1i{-}1\bulletii𝖥𝟣\mathsf{F_{1}}\blacklozenge\bullet\blacklozenge\bullet𝖥𝟤\mathsf{F_{2}}\bullet\blacklozenge\bullet\blacklozenge𝖦\mathsf{G}\blacklozenge\blacklozenge\blacklozenge\blacklozenge
Figure 11: The black tile type, two of the white tile types, and all gray tile types: the labeled tile types are used in the corresponding positions of each supertile and the gadget pattern; the unlabeled tile types, called counter tiles for i[k]i\in[k], implement the vertical and horizontal color counters.
Lemma 14.

Let Θ\Theta be a DRTAS which self-assembles the pattern QQ using at most mb=1m_{b}=1 black tile types and mg=2k+3m_{g}=2k+3 gray tile types. The black and gray tile types in Θ\Theta are of the form shown in Fig. 11 and Θ\Theta contains two white tiles of the form shown in the figure. In every supertile, the horizontal and vertical color counters are implemented by a subset of the counter tile types and for a position 𝖤\mathsf{E}, 𝖣𝟣\mathsf{D_{1}}, 𝖣𝟤\mathsf{D_{2}}, 𝖥𝟣\mathsf{F_{1}}, 𝖥𝟤\mathsf{F_{2}}, or 𝖦\mathsf{G} the correspondingly labeled tile type is used. Furthermore, the glues ,,0,1,,k{\bullet},{\blacklozenge},0,1,\ldots,k are all distinct.

Proof.

In every supertile we find a black square that consists of more than just one tile, therefore, the sole black tile type must have the same north and south glues, respectively east and west glues. We may assume that {\bullet} is the glue on all four edges of the black tile type.

Now, we have a look at the tile assignment of the three gadget rows; see Fig. 10. In the middle row, the first kk gray tiles are succeeded by a white tile. As the south input of all kk tiles is the north glue {\bullet} of the black tiles, if the same tile type would be used in two of these kk positions, there were a cycle in the gray tile types used which would be repeated over and over and no white tile could occur after kk gray tiles; furthermore, all the east outputs (resp., west inputs) of these tiles are distinct. Thus, these tiles implement a horizontal counter which is capable of counting to kk, or more intuitively, counting from kk downto 11. Next a white tile is used whose west input is distinct from its east output; otherwise, the same white tile type would be used again. As the white tile is succeeded by 4k+64k+6 gray tiles with south input {\bullet}, all gray tiles used in this row have to occur at least twice, therefore, all tiles, used in these positions, have to be distinct from the tiles implementing the horizontal counter; we use the label {\blacklozenge} for the east output of the white tile in position 𝖣𝟤\mathsf{D_{2}} and the west input of the gray tile in left-most position 𝖥𝟤\mathsf{F_{2}}. Finally, observe that all tiles described so far have south and north glue {\bullet} and that their east and west glues are distinct from {\bullet}.

From the three gadget columns we obtain analogous results for the vertical counter, the white tile in position 𝖣𝟣\mathsf{D_{1}}, and the gray tiles in the first 4k+64k+6 positions 𝖥𝟣\mathsf{F_{1}}. None of the tiles in the middle column can coincide with a tile in the middle row since they have the glue {\bullet} on different inputs.

Since we need at least one tile for each of the positions 𝖥𝟣\mathsf{F_{1}} and 𝖥𝟤\mathsf{F_{2}}, there is only one gray tile type left in Θ\Theta. Any tile at position 𝖦\mathsf{G} has north and east outputs from ,0,1,,k{\blacklozenge},0,1,\ldots,k as these edges are adjacent to gray tiles. We cannot use a tile which we have described so far for any of the positions 𝖦\mathsf{G}. Therefore, all tiles in positions 𝖥𝟣\mathsf{F_{1}} (resp., 𝖥𝟤\mathsf{F_{2}}) in the gadget are of the same type whose north and south (resp., east and west) glues equal. All positions 𝖦\mathsf{G} share the same tile type τ\tau whose south and west inputs are {\blacklozenge}. If the east output of τ\tau were one of 0,1,,k0,1,\ldots,k, then a white tile were among the k+1k+1 tiles succeeding the left-most position 𝖦\mathsf{G} in the middle gadget row; hence, τ(E)=\tau(E)={\blacklozenge} and, symmetrically, τ(N)=\tau(N)={\blacklozenge}.

All supertiles have to share the same black and gray tile types as there are no other black and gray tile types in Θ\Theta. The color counters have to be implemented by the counter tile types. As the south and west inputs of the tiles in positions 𝖣𝟣\mathsf{D_{1}} and 𝖣𝟤\mathsf{D_{2}} are determined by its gray and black neighbors, it is also clear that only the described white tiles can be used in these positions. Now, the types of the tiles in positions 𝖥𝟣\mathsf{F_{1}}, 𝖥𝟤\mathsf{F_{2}}, and 𝖦\mathsf{G} are also determined by their inputs. ∎

Remark 15.

Consider a DRTAS Θ\Theta that self-assembles the pattern QQ using most mbm_{b} black tile types and mgm_{g} gray tiletypes. If we have a look at the tile assignment of the black square plus the gray column and row in a supertile, we see that this block has inputs {\bullet} on all edges except for edges where the color counters are initialized and it has outputs {\bullet} on all edges, except for its right-most and top-most output edges which are {\blacklozenge}. This means that all information on how to initialize the color counters has to be carried through the white lines and rows, that are, the tiles in positions 𝖠\mathsf{A}, 𝖡𝟣\mathsf{B_{1}}, 𝖡𝟤\mathsf{B_{2}}, 𝖢𝟣\mathsf{C_{1}}, 𝖢𝟤\mathsf{C_{2}}. Moreover, the tile in position 𝖠\mathsf{A} is the only one with non-generic input from other supertiles. This tile fully determines the tile assignment of the supertile and can be seen as the control tile or seed of the supertile. Henceforth, for a supertile s=QΘx,ys=Q_{\Theta}\langle\mathinner{x,y}\rangle we extend our notion of glues such that s(S)s(S) and s(W)s(W) denote the south and west input of the tile in position 𝖠\mathsf{A}, respectively, s(N)s(N) and s(E)s(E) denote the north and east output of the tiles in positions 𝖢𝟤\mathsf{C_{2}} and 𝖢𝟣\mathsf{C_{1}}, respectively. For incomplete supertiles only one of s(N)s(N) or s(E)s(E) is defined.

Two supertiles in QΘQ_{\Theta} are considered distinct if their tile assignment differs in at least one position. By the observations above, two complete supertiles are distinct if and only if their control tiles are of distinct types; this is equivalent to require that the inputs of the two supertiles differ. Since incomplete supertiles portray unique colors in PP, they are distinct from any supertile in QΘQ_{\Theta} but itself.

There is some flexibility in how the white tile types are implemented in a DRTAS Θ\Theta which self-assembles QQ. Let us present one possibility which proves the “only if part” of Theorem 11.

Lemma 16.

If PP can be self-assembled by a DRTAS TT with mm tile types, then QQ can be self-assembled by a DRTAS Θ\Theta using mbm_{b} black tile types, mwm_{w} white tile types, and mgm_{g} gray tile types.

Proof.

Let the DRTAS Θ\Theta contain the tile types given in Fig. 11. By Lemma 14, the tiles of these types can self-assemble the gadget pattern and the black square plus color counters in every supertile. Recall from Lemma 6 that TT contains four tile types for the 𝗈𝗋\mathsf{or}-gate and only one tile type for every other color in CC.

𝖠\mathsf{A}(𝗇,c)(\mathsf{n},c)(𝖾,c)(\mathsf{e},c)𝗌\mathsf{s}𝗐\mathsf{w}𝖡𝟣\mathsf{B_{1}}{\bullet}(𝖾,c)(\mathsf{e},c){\bullet}(𝖾,c)(\mathsf{e},c)𝖢𝟣\mathsf{C_{1}}cc𝖾\mathsf{e}{\blacklozenge}(𝖾,c)(\mathsf{e},c)𝖡𝟤\mathsf{B_{2}}(𝗇,c)(\mathsf{n},c){\bullet}(𝗇,c)(\mathsf{n},c){\bullet}𝖢𝟤\mathsf{C_{2}}𝗇\mathsf{n}cc(𝗇,c)(\mathsf{n},c){\blacklozenge}
Figure 12: White tile types for the supertile portraying a color cCc\in C, except for the 𝗈𝗋\mathsf{or}-gate, where tTt\in T with c=χ(t)c=\chi(t), 𝗇=t(N)\mathsf{n}=t(N), 𝖾=t(E)\mathsf{e}=t(E), 𝗌=t(S)\mathsf{s}=t(S), and 𝗐=t(W)\mathsf{w}=t(W).

First, consider cC{        𝗈𝗋     }c\in C\setminus\left\{\mathinner{\mbox{\hskip 6.40204pt\hbox to0pt{\vbox to0pt{\pgfpicture\makeatletter\hbox{\hskip 0.0pt\lower 0.0pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin} \lxSVG@begingroup@{stroke} \lxSVG@begingroup@{fill} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{stroke-width} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin} {{\lx@inpgf@ignorespaces}}{ \lxSVG@begingroup@{_scopebegin} {{\lx@inpgf@ignorespaces}}{{\lx@inpgf@ignorespaces}} {}{{}}{} {}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin} \color[rgb]{0,0,0}\lxSVG@begingroup@{fill} {}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M -7.53 -7.53 M -7.53 -7.53 L -7.53 7.53 L 7.53 7.53 L 7.53 -7.53 Z M 7.53 7.53}{} \lx@inpgf@ignorespaces \lxSVG@closescope {{}}{{\lx@inpgf@ignorespaces}}\lx@inpgf@ignorespaces\hbox{\hbox{{\lxSVG@begingroup@{_scopebegin} {{}{}{{ {}{}}}{ {}{}} {{}{{\lx@inpgf@ignorespaces}}}{{}{\lx@inpgf@ignorespaces}}{}{{}{\lx@inpgf@ignorespaces}} {\lx@inpgf@ignorespaces }{{{{\lx@inpgf@ignorespaces}}\lxSVG@begingroup@{_scopebegin} \lxSVG@transformcm{1.0}{0.0}{0.0}{1.0}{-3.45837pt}{-1.77777pt}\lxSVG@begingroup@{transform} \pgfsys@hbox{58}\lxSVG@closescope }}} \lxSVG@closescope }}} \lxSVG@closescope } \lxSVG@closescope {\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}\hskip 6.40204pt}}\right\} and let tTt\in T be the tile type with color cc. We use the tile types in Fig. 12 for the supertile portraying cc. Note that none of the five tile types share the same inputs. The labels on the them depict the positions in the supertile where each tile is used. We do not need any of these white tile types for the incomplete supertile representing the color P(1,1)P(1,1). For the other incomplete supertiles we only need two of these tile types. Recall that, by design, a color which is portrayed by an incomplete supertile in QQ is unique in PP. This amounts to 5(|C|1)3(h(P)+w(P))+15\cdot(\left|\mathinner{C}\right|-1)-3\cdot(h(P)+w(P))+1 white tile types in Θ\Theta for all the supertiles portraying colors in C{        𝗈𝗋     }C\setminus\left\{\mathinner{\mbox{\hskip 6.40204pt\hbox to0pt{\vbox to0pt{\pgfpicture\makeatletter\hbox{\hskip 0.0pt\lower 0.0pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin} \lxSVG@begingroup@{stroke} \lxSVG@begingroup@{fill} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{stroke-width} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin} {{\lx@inpgf@ignorespaces}}{ \lxSVG@begingroup@{_scopebegin} {{\lx@inpgf@ignorespaces}}{{\lx@inpgf@ignorespaces}} {}{{}}{} {}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin} \color[rgb]{0,0,0}\lxSVG@begingroup@{fill} {}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M -7.53 -7.53 M -7.53 -7.53 L -7.53 7.53 L 7.53 7.53 L 7.53 -7.53 Z M 7.53 7.53}{} \lx@inpgf@ignorespaces \lxSVG@closescope {{}}{{\lx@inpgf@ignorespaces}}\lx@inpgf@ignorespaces\hbox{\hbox{{\lxSVG@begingroup@{_scopebegin} {{}{}{{ {}{}}}{ {}{}} {{}{{\lx@inpgf@ignorespaces}}}{{}{\lx@inpgf@ignorespaces}}{}{{}{\lx@inpgf@ignorespaces}} {\lx@inpgf@ignorespaces }{{{{\lx@inpgf@ignorespaces}}\lxSVG@begingroup@{_scopebegin} \lxSVG@transformcm{1.0}{0.0}{0.0}{1.0}{-3.45837pt}{-1.77777pt}\lxSVG@begingroup@{transform} \pgfsys@hbox{58}\lxSVG@closescope }}} \lxSVG@closescope }}} \lxSVG@closescope } \lxSVG@closescope {\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}\hskip 6.40204pt}}\right\}. We have one remark for the colors in the top row and right column of PP: since these colors do not occur in any other position of the pattern and the north and/or east glues of the respective tiles are not used in PP, we may assume that all these glues are {\bullet}; this allows for the proper attachment of the gadget pattern.

o1o_{1}:𝖠\mathsf{A}(𝖠,c)(\mathsf{A},c)(0,c)(0,c)0000𝖡𝟤\mathsf{B_{2}}(𝖠,c)(\mathsf{A},c){\bullet}(𝖠,c)(\mathsf{A},c){\bullet}𝖢𝟤\mathsf{C_{2}}𝖠\mathsf{A}cc(𝖠,c)(\mathsf{A},c){\blacklozenge}𝖡𝟣\mathsf{B_{1}}{\bullet}(0,c)(0,c){\bullet}(0,c)(0,c)𝖢𝟣\mathsf{C_{1}}cc00{\blacklozenge}(0,c)(0,c)o2o_{2}:𝖠\mathsf{A}(𝖡,c)(\mathsf{B},c)(1,c)(1,c)1100𝖡𝟤\mathsf{B_{2}}(𝖡,c)(\mathsf{B},c){\bullet}(𝖡,c)(\mathsf{B},c){\bullet}𝖢𝟤\mathsf{C_{2}}𝖡\mathsf{B}cc(𝖡,c)(\mathsf{B},c){\blacklozenge}o3o_{3}:𝖠\mathsf{A}(𝖢,c)(\mathsf{C},c)(1,c)(1,c)0011𝖡𝟤\mathsf{B_{2}}(𝖢,c)(\mathsf{C},c){\bullet}(𝖢,c)(\mathsf{C},c){\bullet}𝖢𝟤\mathsf{C_{2}}𝖢\mathsf{C}cc(𝖢,c)(\mathsf{C},c){\blacklozenge}𝖡𝟣\mathsf{B_{1}}{\bullet}(1,c)(1,c){\bullet}(1,c)(1,c)𝖢𝟣\mathsf{C_{1}}cc11{\blacklozenge}(1,c)(1,c)o4o_{4}:𝖠\mathsf{A}(𝖣,c)(\mathsf{D},c)(1,c)(1,c)1111𝖡𝟤\mathsf{B_{2}}(𝖣,c)(\mathsf{D},c){\bullet}(𝖣,c)(\mathsf{D},c){\bullet}𝖢𝟤\mathsf{C_{2}}𝖣\mathsf{D}cc(𝖣,c)(\mathsf{D},c){\blacklozenge}
Figure 13: White tile types for supertiles portraying the 𝗈𝗋\mathsf{or}-gate where o1,o2,o3,o4To_{1},o_{2},o_{3},o_{4}\in T are defined in Fig. 2.

Now, consider c=        𝗈𝗋     c=\mbox{\hskip 6.40204pt\hbox to0pt{\vbox to0pt{\pgfpicture\makeatletter\hbox{\hskip 0.0pt\lower 0.0pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin} \lxSVG@begingroup@{stroke} \lxSVG@begingroup@{fill} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{stroke-width} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin} {{\lx@inpgf@ignorespaces}}{ \lxSVG@begingroup@{_scopebegin} {{\lx@inpgf@ignorespaces}}{{\lx@inpgf@ignorespaces}} {}{{}}{} {}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin} \color[rgb]{0,0,0}\lxSVG@begingroup@{fill} {}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M -7.53 -7.53 M -7.53 -7.53 L -7.53 7.53 L 7.53 7.53 L 7.53 -7.53 Z M 7.53 7.53}{} \lx@inpgf@ignorespaces \lxSVG@closescope {{}}{{\lx@inpgf@ignorespaces}}\lx@inpgf@ignorespaces\hbox{\hbox{{\lxSVG@begingroup@{_scopebegin} {{}{}{{ {}{}}}{ {}{}} {{}{{\lx@inpgf@ignorespaces}}}{{}{\lx@inpgf@ignorespaces}}{}{{}{\lx@inpgf@ignorespaces}} {\lx@inpgf@ignorespaces }{{{{\lx@inpgf@ignorespaces}}\lxSVG@begingroup@{_scopebegin} \lxSVG@transformcm{1.0}{0.0}{0.0}{1.0}{-3.45837pt}{-1.77777pt}\lxSVG@begingroup@{transform} \pgfsys@hbox{58}\lxSVG@closescope }}} \lxSVG@closescope }}} \lxSVG@closescope } \lxSVG@closescope {\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}\hskip 6.40204pt}. Recall from Lemma 6 that there are o1,o2,o3,o4To_{1},o_{2},o_{3},o_{4}\in T with color cc as depicted in Fig. 2. We use the 16 white tile types in Fig. 13 for the four supertiles portraying cc. The supertiles for o2o_{2}, o3o_{3}, and o4o_{4} share tile types in positions 𝖡𝟣\mathsf{B_{1}} and 𝖢𝟣\mathsf{C_{1}}, as labelled. Note that the inputs of the 16 tile types are mutually distinct.

Let Θ\Theta contain all the white tile types we have defined plus the two white tile types from Fig. 11 and note that the white tile types add up to

mw=5|C|3(h(P)+w(P))+14m_{w}=5\cdot\left|\mathinner{C}\right|-3\cdot(h(P)+w(P))+14

as desired. If two distinct tile types in Θ\Theta had the same inputs, it had to be two tile types for position 𝖠\mathsf{A} which implies that two distinct tile types in TT would have same inputs as well; thus, Θ\Theta is a properly defined DRTAS. The LL-shaped seed of Θ\Theta is defined such that the incomplete supertiles for the bottom row and left column, as well as the gadgets, can properly attach.

By Remark 15, it is clear that, starting from its control tile (or the LL-shaped seed), every supertile properly self-assembles as long as its west and south neighboring supertiles are present. Let QQ^{\prime} be the pattern that is self-assembled by Θ\Theta. Using induction over xx and yy, the supertile s=QΘx,ys=Q^{\prime}_{\Theta}\langle\mathinner{x,y}\rangle represents the tile t=PT(x,y)t=P_{T}(x,y) because the respective glues of ss and tt coincide, for all x[w(P)]x\in[w(P)] and y[h(P)]y\in[h(P)]. Furthermore, by design of the supertiles in the top row and right column of QQ^{\prime}, the gadget rows and columns can self-assemble. We conclude that Θ\Theta self-assembles Q=QQ=Q^{\prime}. ∎

For the converse implication of Theorem 11, let us show how to obtain a DRTAS that self-assembles PP from the supertiles in QΘQ_{\Theta}. The following result follows from the bijection between supertiles in QΘQ_{\Theta} and tiles in PTP_{T}.

Lemma 17.

Let Θ\Theta be a DRTAS which self-assembles QQ using at most mbm_{b} black tile types and mgm_{g} gray tile types, and let

S={QΘx,y|x[w(P)],y[h(P)]}S=\left\{Q_{\Theta}\langle\mathinner{x,y}\rangle\mathrel{\left|\vphantom{Q_{\Theta}\langle\mathinner{x,y}\rangle}\vphantom{x\in[w(P)],y\in[h(P)]}\right.}x\in[w(P)],y\in[h(P)]\right\}

be the set of all distinct supertiles in QΘQ_{\Theta}. There exists a DRTAS TT with |S|\left|\mathinner{S}\right| tile types which self-assembles PP such that for each supertile sSs\in S there exists a tile type tsTt_{s}\in T with the same glues on the respective edges and ss portrays the color of tst_{s}. For an incomplete supertile the statement holds for the defined glue.

Proof.

Note that, except for the tiles with colors in the first row and column of PP, the tiles in TT are fully defined. For the undefined glues on tile types, representing incomplete supertiles, we introduce unique matching glues; the LL-shaped seed of TT is defined to match these glues. Clearly, the first column and row of PP can be self-assembled by TT. Recall from Remark 15 that the control tile in position 𝖠\mathsf{A} of a complete supertile ss fully determines the supertile and its outputs. The placement of the control tile is determined by the east output of the west neighbor and the north output of the south neighbor of ss. Let PP^{\prime} be the pattern which is self-assembled by TT. Using induction over xx and yy, we see that if s=QΘx,ys=Q_{\Theta}\langle\mathinner{x,y}\rangle, then ts=PT(x,y)t_{s}=P^{\prime}_{T}(x,y) for all x[w(P)]x\in[w(P)] and y[h(P)]y\in[h(P)]; thus, TT self-assembles P=PP=P^{\prime}. ∎

We continue with the investigation of the white tile types that are used to self-assemble the pattern QQ. The next lemma follows by a case study of what would go wrong if one tile type were used in two of the positions.

Lemma 18.

Let Θ\Theta be a DRTAS which self-assembles the pattern QQ using at most mbm_{b} black tile types and mgm_{g} gray tile types. A white tile type from Θ\Theta which is used in one of the positions 𝖠\mathsf{A}, 𝖡𝟣\mathsf{B_{1}}, 𝖡𝟤\mathsf{B_{2}}, 𝖢𝟣\mathsf{C_{1}}, 𝖢𝟤\mathsf{C_{2}}, 𝖣𝟣\mathsf{D_{1}}, or 𝖣𝟤\mathsf{D_{2}} cannot be used in another position in any supertile.

Proof.

Clearly, we do not have to argue about positions which are gray or black. By Lemma 14 and the design of supertiles, a tile type used in a position

  1. 1.)

    𝖡𝟣\mathsf{B_{1}} has south and north glue {\bullet};

  2. 2.)

    𝖡𝟤\mathsf{B_{2}} has west and east glue {\bullet},

  3. 3.)

    𝖢𝟣\mathsf{C_{1}} has south glue {\blacklozenge} and north glue in [k][k];

  4. 4.)

    𝖢𝟤\mathsf{C_{2}} has west glue {\blacklozenge} and east glue in [k][k];

  5. 5.)

    𝖣𝟣\mathsf{D_{1}} has east and west glue {\bullet}, south glue 00, and north glue {\blacklozenge};

  6. 6.)

    𝖣𝟤\mathsf{D_{2}} has south and north glue {\bullet}, west glue 00, and east glue {\blacklozenge}.

First, suppose the same tile type would be used in position 𝖠\mathsf{A} and one of the positions 𝖡𝟣\mathsf{B_{1}}, 𝖡𝟤\mathsf{B_{2}}, 𝖢𝟣\mathsf{C_{1}}, 𝖢𝟤\mathsf{C_{2}}, 𝖣𝟣\mathsf{D_{1}}, or 𝖣𝟤\mathsf{D_{2}}. The tile type had north or east output from ,,1,,k{\bullet},{\blacklozenge},1,\ldots,k; therefore, the north or east neighbor of the tile of this type in position 𝖠\mathsf{A} would be black or gray — a contradiction.

Due to the distinction in their inputs, the same tile type cannot be used in the following pairs of positions: (𝖡𝟣,𝖢𝟣)(\mathsf{B_{1}},\mathsf{C_{1}}), (𝖡𝟣,𝖣𝟣)(\mathsf{B_{1}},\mathsf{D_{1}}), (𝖡𝟤,𝖢𝟤)(\mathsf{B_{2}},\mathsf{C_{2}}), (𝖡𝟤,𝖣𝟤)(\mathsf{B_{2}},\mathsf{D_{2}}), (𝖢𝟣,𝖣𝟣)(\mathsf{C_{1}},\mathsf{D_{1}}), (𝖢𝟣,𝖣𝟤)(\mathsf{C_{1}},\mathsf{D_{2}}), (𝖢𝟤,𝖣𝟣)(\mathsf{C_{2}},\mathsf{D_{1}}), (𝖢𝟤,𝖣𝟤)(\mathsf{C_{2}},\mathsf{D_{2}}), (𝖣𝟣,𝖣𝟤)(\mathsf{D_{1}},\mathsf{D_{2}}).

If a tile type were used in any pair of positions (𝖡𝟣,𝖡𝟤)(\mathsf{B_{1}},\mathsf{B_{2}}), (𝖡𝟣,𝖢𝟤)(\mathsf{B_{1}},\mathsf{C_{2}}), (𝖡𝟤,𝖢𝟣)(\mathsf{B_{2}},\mathsf{C_{1}}), or (𝖢𝟣,𝖢𝟤)(\mathsf{C_{1}},\mathsf{C_{2}}) it would have the same inputs as one of the gray or black tiles.

If a tile type were used in position 𝖡𝟣\mathsf{B_{1}} and 𝖣𝟤\mathsf{D_{2}}, then the east neighbor of the tile of this type in position 𝖡𝟣\mathsf{B_{1}} would be the gray tile labelled F2F_{2} or GG from Fig. 11. Symmetrically, no tile type can be used in both positions 𝖡𝟤\mathsf{B_{2}} and 𝖣𝟣\mathsf{D_{1}}. ∎

Let 𝖡𝟣\mathsf{B_{1}^{*}} be the right-most position 𝖡𝟣\mathsf{B_{1}} in a supertile, adjacent to position 𝖢𝟣\mathsf{C_{1}}, and let 𝖡𝟤\mathsf{B_{2}^{*}} be the top-most position 𝖡𝟤\mathsf{B_{2}} in a supertile, adjacent to position 𝖢𝟤\mathsf{C_{2}}. The following argument is about tiles in the five positions K={𝖠,𝖡𝟣,𝖡𝟤,𝖢𝟣,𝖢𝟤}K=\left\{\mathinner{\mathsf{A},\mathsf{B_{1}^{*}},\mathsf{B_{2}^{*}},\mathsf{C_{1}},\mathsf{C_{2}}}\right\} of each supertile. Following Remark 15 it is clear that a tile in position 𝖠\mathsf{A} fully determines the supertile, tiles in positions 𝖡𝟣\mathsf{B_{1}^{*}} and 𝖢𝟣\mathsf{C_{1}} carry the color and the east glue of a supertile, whereas tiles in positions 𝖡𝟤\mathsf{B_{2}^{*}} and 𝖢𝟤\mathsf{C_{2}} carry the color and the north glue.

Lemma 19.

Let Θ\Theta be a DRTAS which self-assembles QQ using at most mbm_{b} black tile types and mgm_{g} gray tile types. Let s1s_{1} and s2s_{2} be supertiles in QΘQ_{\Theta}.

  1. i.)

    If s1s_{1} and s2s_{2} portray different colors, they cannot share any tile types in positions from KK.

  2. ii.)

    If s1(E)s2(E)s_{1}(E)\neq s_{2}(E), they cannot share any tile types in 𝖠\mathsf{A}, 𝖡𝟣\mathsf{B_{1}^{*}}, or 𝖢𝟣\mathsf{C_{1}}.

  3. iii.)

    If s1(N)s2(N)s_{1}(N)\neq s_{2}(N), they cannot share any tile types in 𝖠\mathsf{A}, 𝖡𝟤\mathsf{B_{2}^{*}}, or 𝖢𝟤\mathsf{C_{2}}.

The three statements hold for all available positions in incomplete supertiles.

Proof.

By Lemma 18, we do not have to consider mixups of positions. Firstly, recall from Remark 15 that the tile in position 𝖠\mathsf{A} determines the supertile and its outputs. Two supertiles portraying different colors or having different outputs cannot share the same tile type in positions 𝖠\mathsf{A}.

Now, consider a supertile s1s_{1} representing the color cc. The type γ\gamma of the tile in position 𝖢𝟣\mathsf{C_{1}} defines the east output s1(E)=γ(E)s_{1}(E)=\gamma(E) and initializes the vertical color counter. If γ\gamma is used in another supertile s2s_{2} in position 𝖢𝟣\mathsf{C_{1}}, then s2s_{2} portrays the same color cc and s1(E)=s2(E)s_{1}(E)=s_{2}(E). As the south input of every tile in a position 𝖢𝟣\mathsf{C_{1}} is {\blacklozenge}, the type β\beta of the tile in position 𝖡𝟣\mathsf{B_{1}^{*}} of s1s_{1} determines the placement of γ\gamma in position 𝖢𝟣\mathsf{C_{1}}. Thus, if β\beta is used in another supertile s2s_{2} in position 𝖡𝟣\mathsf{B_{1}^{*}}, then s2s_{2} portrays the same color cc and s1(E)=s2(E)s_{1}(E)=s_{2}(E). This concludes the proof of statement ii.). Statements i.) and iii.) follow by symmetric arguments on the tile types in positions 𝖢𝟤\mathsf{C_{2}} an 𝖡𝟤\mathsf{B_{2}^{*}}. ∎

Remark 20.

We do not claim that two supertiles could not share any tile types in positions 𝖡𝟣\mathsf{B_{1}} or 𝖡𝟤\mathsf{B_{2}} while portraying different colors or having different output. Indeed, consider two supertiles s1s_{1} and s2s_{2} portraying different colors and let β\beta and β\beta^{\prime} be tile types for positions 𝖡𝟣\mathsf{B_{1}} with β(E)=β(W)=𝗑\beta(E)=\beta^{\prime}(W)=\mathsf{x} and β(W)=β(E)=𝗒\beta(W)=\beta^{\prime}(E)=\mathsf{y}. If the control tile of s1s_{1} has east glue 𝗑\mathsf{x} while the control tile of s2s_{2} has east glue 𝗒\mathsf{y}, these supertiles have different tile types in positions 𝖢𝟣\mathsf{C_{1}} but share the tile types β\beta and β\beta^{\prime} in their positions 𝖡𝟣\mathsf{B_{1}}.

Let us conclude the proof of Theorem 11.

Lemma 21.

The pattern PP can be self-assembled by a DRTAS TT with mm tile types if QQ can be self-assembled by a DRTAS Θ\Theta with mbm_{b} black tile types, mwm_{w} white tile types, and mgm_{g} gray tile types.

Proof.

We will prove that QΘQ_{\Theta} cannot contain more than mm distinct supertiles while Θ\Theta respects the given tile bounds. Then, the claim follows from Lemma 17. The black, gray, and two white tile types in Θ\Theta are defined by Lemma 14. We are now counting the minimal number of white tile types that we need to self-assemble the pattern QQ. The number of distinct tile types used as control tiles, in positions 𝖠\mathsf{A}, equals to the number of distinct complete supertiles of QΘQ_{\Theta}.

Consider a color cCc\in C. There is at least one supertile in QΘQ_{\Theta} which portrays color cc and, assuming the supertile is complete, we need five white tile types in positions from KK of the supertile, by Lemma 18, and these five tile types cannot be used for any of positions from KK of a supertile portraying another color, by Lemma 19. If the supertile is incomplete but cP(1,1)c\neq P(1,1), hence cc is unique in PP, we only need two white tile types which cannot be used in any of the positions from KK of another supertile. We do not need any additional white tile types for the supertile portraying P(1,1)P(1,1). For the supertiles portraying colors in C{        𝗈𝗋     }C\setminus\left\{\mathinner{\mbox{\hskip 6.40204pt\hbox to0pt{\vbox to0pt{\pgfpicture\makeatletter\hbox{\hskip 0.0pt\lower 0.0pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin} \lxSVG@begingroup@{stroke} \lxSVG@begingroup@{fill} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{stroke-width} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin} {{\lx@inpgf@ignorespaces}}{ \lxSVG@begingroup@{_scopebegin} {{\lx@inpgf@ignorespaces}}{{\lx@inpgf@ignorespaces}} {}{{}}{} {}{{}}{}{}{}{}{{}}{}\lxSVG@begingroup@{_scopebegin} \color[rgb]{0,0,0}\lxSVG@begingroup@{fill} {}\lxSVG@fillstroke\lxSVG@drawpath@unclipped{M -7.53 -7.53 M -7.53 -7.53 L -7.53 7.53 L 7.53 7.53 L 7.53 -7.53 Z M 7.53 7.53}{} \lx@inpgf@ignorespaces \lxSVG@closescope {{}}{{\lx@inpgf@ignorespaces}}\lx@inpgf@ignorespaces\hbox{\hbox{{\lxSVG@begingroup@{_scopebegin} {{}{}{{ {}{}}}{ {}{}} {{}{{\lx@inpgf@ignorespaces}}}{{}{\lx@inpgf@ignorespaces}}{}{{}{\lx@inpgf@ignorespaces}} {\lx@inpgf@ignorespaces }{{{{\lx@inpgf@ignorespaces}}\lxSVG@begingroup@{_scopebegin} \lxSVG@transformcm{1.0}{0.0}{0.0}{1.0}{-3.45837pt}{-1.77777pt}\lxSVG@begingroup@{transform} \pgfsys@hbox{58}\lxSVG@closescope }}} \lxSVG@closescope }}} \lxSVG@closescope } \lxSVG@closescope {\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}\hskip 6.40204pt}}\right\} we need 5(|C|1)3(w(P)+h(P))+15\cdot(\left|\mathinner{C}\right|-1)-3\cdot(w(P)+h(P))+1 white tiles which cannot be used in a position from KK in a supertile representing the 𝗈𝗋\mathsf{or}-gate; furthermore, the two white tile types for positions 𝖣𝟣\mathsf{D_{1}} and 𝖣𝟤\mathsf{D_{2}} also cannot be used in a position from KK. Among these white tile types we find only OPEN|C|w(P)h(P))\left|\mathinner{C}\right|-w(P)-h(P)) types used as control tiles.

We only have 16 white tile types left for the 𝗈𝗋\mathsf{or}-gate supertiles. From Lemma 5 and Lemma 17 we infer that QΘQ_{\Theta} contains either

  1. i.)

    three distinct supertiles s1,s2,s3Ts_{1},s_{2},s_{3}\in T portraying   𝗈𝗋\mathsf{or}   all having distinct north and east glues,

  2. ii.)

    four distinct supertiles s1,s2,s3,s4Ts_{1},s_{2},s_{3},s_{4}\in T portraying   𝗈𝗋\mathsf{or}   all having distinct north glues and together having at least two distinct east glues,

  3. iii.)

    four distinct supertiles s1,s2,s3,s4Ts_{1},s_{2},s_{3},s_{4}\in T portraying   𝗈𝗋\mathsf{or}   all having distinct east glues and together having at least two north glues, or

  4. iv.)

    eight distinct supertiles s1,,s8Ts_{1},\ldots,s_{8}\in T portraying   𝗈𝗋\mathsf{or}   all having distinct east or north glues.

Indeed, if none of these conditions were true for QΘQ_{\Theta}, then, using the construction given in Lemma 17, we could generate a DRTAS TT which self-assembled PP and invalidated Lemma 5.

By Lemma 19, two distinct supertiles portraying   𝗈𝗋\mathsf{or}   cannot share tile types in positions 𝖠\mathsf{A}, they can only share tile types in positions 𝖡𝟣\mathsf{B_{1}^{*}} and 𝖢𝟣\mathsf{C_{1}} if their east outputs equal, and they can only share tile types in positions 𝖡𝟣\mathsf{B_{1}^{*}}, 𝖢𝟣\mathsf{C_{1}} if their north outputs equal. For case i.) we need at least 15 white tile types of which three can be used as control tiles; the left over tile type might be used as another control tile. For cases ii.) and iii.) we need at least 16 white tile types of which four can be used as control tiles. Case iv.) is not possible because we would need at least 26 white tile types. A more involved analysis reveals that only case ii.) is possible, but for our purpose it is enough that the remaining 16 white tile types contain at most four types that can be used as control tiles.

The number of distinct supertiles in QΘQ_{\Theta} is limited by the number of tile types that can be used as control tiles plus the number incomplete supertiles. We obtain that QΘQ_{\Theta} contains k+3=mk+3=m distinct supertiles as desired. Using Lemma 17, the pattern PP can be self-assembled by a DRTAS TT with mm tile types. ∎

Conclusions

We prove that kk-mbPats, a natural variant of kk-Pats, is NP\mathrm{NP}-complete for k=3k=3. Furthermore, we present a novel proof for the NP\mathrm{NP}-completeness of Pats and our proof is more concise than previous proofs. We introduce several new techniques for pattern design in our proofs, in particular in Sect. 4, and we anticipate that these techniques can ultimately be used to prove that 22-mbPats and also 22-Pats are NP\mathrm{NP}-hard.

References

  • [1] E. Czeizler and A. Popa. Synthesizing minimal tile sets for complex patterns in the framework of patterned DNA self-assembly. In DNA computing and molecular programming, pages 58–72. Springer, 2012.
  • [2] M. Göös and P. Orponen. Synthesizing minimal tile sets for patterned DNA self-assembly. In DNA computing and molecular programming, pages 71–82. Springer, 2011.
  • [3] X. Ma and F. Lombardi. Synthesis of tile sets for DNA self-assembly. Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on, 27(5):963–967, 2008.
  • [4] C. H. Papadimitriou. Computational complexity. John Wiley and Sons Ltd., 2003.
  • [5] P. W. Rothemund, N. Papadakis, and E. Winfree. Algorithmic self-assembly of DNA Sierpinski triangles. PLoS Biology, 2(12):e424, 2004.
  • [6] P. W. Rothemund and E. Winfree. The program-size complexity of self-assembled squares. In Proceedings of the thirty-second annual ACM Symposium on Theory of Computing, pages 459–468. ACM, 2000.
  • [7] S. Seki. Combinatorial optimization in pattern assembly (extended abstract). In Prodeedings of Unconventional Computation and Natural Computation, 12th International Conference, volume 7956 of LNCS, pages 220–231, 2013.
  • [8] E. Winfree. Algorithmic self-assembly of DNA. PhD thesis, California Institute of Technology, 1998.
  • [9] E. Winfree, F. Liu, L. A. Wenzler, and N. C. Seeman. Design and self-assembly of two-dimensional DNA crystals. Nature, 394(6693):539–544, 1998.