![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00192v1-figure-9ff60bbf-428c-46fa-a267-e687451000b0.jpg)

Jacob Ashworth, Luca Grossmann, Fausto Navarro, Leyda Almodovar, Amanda Harsy, Cory Johnson, Jessica Sorrells

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00192v1-figure-bf99bc71-fd7e-43d7-bc0c-03c2d298bbc1.jpg)

## Highlights

## Algorithmic Pot Generation: Algorithms for the Flexible-Tile Model of DNA Self-Assembly

Jacob Ashworth, Luca Grossmann, Fausto Navarro, Leyda Almodovar, Amanda Harsy, Cory Johnson, Jessica Sorrells

- · Integer programming solves the Subgraph Realization Problem
- · Integer programming finds optimal assembly designs for a given structure
- · Many new optimal assembly designs are computationally generated and verified

## Algorithmic Pot Generation: Algorithms for the Flexible-Tile Model of DNA Self-Assembly

Jacob Ashworth a,b , Luca Grossmann a,c , Fausto Navarro a,1, ∗ , Leyda Almodovar a,f , Amanda Harsy a,g , Cory Johnson a,h , Jessica Sorrells a,e a Institute for Computational and Experimental Research in Mathematics, 121 S Main St, Providence, 02903, RI, USA

b Department of Mathematics, Rose-Hulman Institute of Technology, 5500 Wabash Ave, Terre Haute, 47803, IN, USA

c Department of Mathematics, Tufts University, 419 Boston Ave, Medford, 02155, MA, USA

d Department of Mathematics, Johns Hopkins University, 555 Pennsylvania Ave, Baltimore, 21218, MD, USA

e Department of Mathematics, Converse University, 580 E. Main Street, Spartanburg, 29302, SC, USA

f Department of Mathematics, Stonehill College, 320 Washington St, North Easton, 02357, MA, USA

g Department of Mathematics, Lewis University, 1 University Pkwy, Romeoville, 60446, IL, USA

h Department of Mathematics, California State University - San Bernardino, 5500 University Pkwy, San Bernardino, 92407, CA, USA

## Abstract

Recent advancements in microbiology have motivated the study of the production of nanostructures with applications such as biomedical computing and molecular robotics. One way to construct these structures is to construct branched DNA molecules that bond to each other at complementary cohesive ends. One practical question is: given a target nanostructure, what

∗ Corresponding author. Email: fnavarro0806@gmail.com

August 2, 2024

is the optimal set of DNA molecules that assemble such a structure? We use a flexible-tile graph theoretic model to develop several algorithmic approaches, including a integer programming approach. These approaches take a target undirected graph as an input and output an optimal collection of component building blocks to construct the desired structure.

Keywords: DNA self-assembly, DNA tiles, tile-based assembly, branched junction molecules, computational complexity, spectrum of a pot, nanotube, lattice graph

2020 MSC: 92E10, 05C90, 05C85, 92D20

## 1. Introduction

Recent advancements in microbiology have motivated the study of the production of nanostructures with applications from drug delivery to molecular robotics and biomedical computing [1, 2, 3, 4, 5, 6]. As these structures become smaller and more complex, production becomes increasingly difficult. As a result, laboratories exploit the Watson-Crick complementary basepairing properties of DNA strands to create synthetic DNA sub-components with the ability to self-assemble into a target structure [7, 8]. Determining which molecules will construct a target DNA nanostructure is a critical step in the production of many microbiological tools.

One prominent mathematical model of DNA self-assembly is referred to as the flexible-tile model, which was first introduced in [9]. This model refers to geometrically unrestrained abstractions of branched-junction DNA molecules as 'tiles.' Branched junction molecules are star-shaped, consisting of several arms with 'cohesive-ends' that can only bond with complementary cohesiveends, representing complementary sequences of base pairs (see Figure 2). In [10], the flexible-tile model is further developed as a graph theoretical problem in which each vertex in a graph represents a branched-junction molecule and each edge is a pair of complementary cohesive-ends that have bonded. The flexible-tile model creates a framework in which to explore two design questions pertinent to laboratories: (1) Given a desired target nanostructure, how many distinct molecule types are required for self-assembly of the target? (2) Given a collection of molecule types, what types of nanostructures can be self-assembled from them? In [10] Ellis-Monaghan et. al. also introduce three 'scenarios,' representing increasingly constrained levels of laboratory

requirements, in which to consider these questions. These scenarios categorize the extent to which creation of byproducts (i.e. structures different from the target structure) are tolerated in the self-assembly process. We recap the relevant mathematical details of the model in Section 2.2.

In this paper, we develop algorithms to find the optimal multi-set of branchedjunction molecules realizing a target DNA nanostructure. This requires engagement with two main combinatorial problems, both of which were shown to be NP-hard in [11].

The first problem is to determine whether a chosen set of branched-junction molecules could self-assemble into a nanostructure of a smaller order than the target structure. This is known as the Subgraph Realization Problem (SRP). A previous algorithm introduced in [11] addresses the SRP in a limited range of cases. Motivated by that work, we formulate the SRP as an integer program In Section 2.3, allowing us to solve it for arbitrary numbers of molecules under feasible computational constraints. Our integer programming based approach is capable of finding minimal tile sets for arbitrary pots with dozens of tiles and bond-edge types in less than a tenth of a second (see Table 1).

The second problem, which we refer to as the Optimal Pot Problem (OPP), is to determine whether a given set of molecules assembles into a graph. We construct another integer program that achieves this goal in Section 2.4. We use this integer program in Section 2.5 to solve the problem in the 'scenario' where all byproducts are tolerated. We then combine this integer program with the SRP integer program to address a more difficult version of the problem in which no byproduct structures of smaller size than the target structure are permitted to form from the proposed set of molecules in Section 2.6. As a result, we are able to computationally determine minimal sets of tiles, i.e. abstract representations of molecules, for a wide variety of graphs in two of the three 'scenarios' of restriction described in [10].

The algorithms presented in this paper (shown in Figure 1) can serve not only as a tool for laboratories seeking to produce target graph structures, but also for researchers looking to generalize patterns in families of graphs. Section 3 discusses the implementation details, including verification of known optimal solutions and reporting of new solutions found by the algorithm for a variety of graphs.

## Substructure Realization Problem (SRP) Algorithm

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00192v1-figure-100ef00c-34c2-47a0-a961-1292737b2b78.jpg)

Figure 1: Overview of the three algorithms presented in this paper. The SRP algorithm is addressed in Section 2.3, the S1 algorithm is addressed in Section 2.5, and the S2 algorithm in Section 2.6.

## 2. Methods

## 2.1. Graph Theoretical Formalism

Throughout the paper, we will denote the set of nonnegative integers as Z + and the set of nonnegative integers less than or equal to k as Z k .

A discrete graph G consists of a set V = V ( G ) of vertices and a set E = E G ( ) of edges together with a map µ : E → V (2) where V (2) is the set of (not necessarily distinct) unordered pairs of elements of V . If µ e ( ) = { u, v } , then u and v are the vertices incident with edge e . We allow graphs to have loops and multiple edges, so that it is possible for µ e ( ) = { u, v } with u = v (in the case of a loop edge) or for µ e ( ) = µ f ( ) (in the case of multiple edges). We use the notation # to denote size or quantity, so that e.g. # ( V G ) will denote the order of G .

We denote a half-edge of a vertex v as ( v, e ) if v ∈ µ e ( ). H shall denote the set of half edges of G .

For vertex v i , we denote its degree (the number of incident edges to v i ) as d i . For a graph G , we denote the maximum vertex degree as ∆( G ) and the minimum vertex degree in G as δ G ( ). We denote the neighborhood of vertex v , the set of all vertices adjacent to v , as N G ( v ).

When two graphs G 1 and G 2 are isomorphic, we denote this as G 1 ∼ = G 2 .

## 2.2. Graph Assembly Model

To model the process of DNA self-assembly, we employ the graph-theoretical formalism described in [10, 12]. For the convenience of the reader, we include some of the relevant definitions in this section and introduce several new convenient tools for our purposes.

The k -armed branched junction molecule is the basic unit of this model. A k-armed branched junction molecule is a star-shaped molecule whose arms are formed from strands of DNA (see left image in Figure 2). At the end of each of these arms is a region of unpaired bases, forming a cohesive-end (also known informally as a sticky end ). We encode cohesive ends using symbols.

Definition 1. A cohesive-end type is an element of a finite set S = Σ ∪ ˆ , Σ where Σ is the set of hatted symbols and Σ is the set of un-hatted symbols. ˆ Each cohesive-end type corresponds to a distinct arrangement of bases forming a cohesive-end on the end of a branched junction molecule arm, such that

Figure 2: The tile t = { a , b 2 ˆ } (set notation) or aaB (string notation), and its corresponding k -armed branched junction molecule

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00192v1-figure-7382bb88-4dae-4586-8d3c-cc66cf9fdabf.jpg)

a hatted and an un-hatted symbol, say a and ˆ, correspond to complementary a cohesive-ends. We do not allow palindromic cohesive-ends, so a cohesive-end corresponding to a is complementary to but different from the cohesive-end corresponding to ˆ for all a a ∈ Σ. Moreover we use the convention that ˆ = ˆ a a .

Definition 2. A cohesive-end type joined to its complement forms a bondedge type , which we identify by the un-hatted symbol. That is, Σ represents the set of all bond-edge types.

Example 1 . Cohesive-end types a and ˆ may join to form a bond-edge of type a a . This process is shown in Figure 6.

Arms with complementary cohesive-ends can bond via Watson-Crick base pairing. In the simplest setting, the arms of a branched junction molecule are double stranded DNA with one strand extending beyond the other to form a cohesive region (see [13]). In this case, the molecules are quite flexible. The mathematical model we employ here assumes there are no geometric restrictions, for example on the inter-arm angles or arm lengths. See [14] for a model that encompasses such geometric constraints.

In this graph theoretical framework, we encode a k -armed branched junction molecule and its un-bonded cohesive ends as follows.

Definition 3. A k -armed branched junction molecule is represented by a

vertex of degree k with k incident half-edges called a tile . Thus, a tile type t is a classification of a flexible-armed branched junction molecule according to its set of cohesive-end types. The half-edges of a tile are labeled by the cohesive-end types corresponding to the cohesive-ends on the arms of the molecule the tile represents. The tile type of a tile is thus given by the multiset of its cohesive-end types whose multiple entries of the same cohesive-end type are indicated by the exponent to the corresponding symbol.

For simplicity of computation, throughout this paper we often write a tile as a lexicographically ordered string.

Example 2 . A tile of degree 3 with cohesive ends denoted as a, a, and ˆ is b pictured in Figure 2. This tile would typically be written as { a , b 2 ˆ } , but here we use aaB , where B is used in place of ˆ . b

Tiles as we have defined them here are sometimes referred to as 'flexible tiles' to avoid conflation with rigid tiles seen in Wang tilings or tile assembly models (TAM) (see [15]). Note that a self-assembled structure may contain several tiles of the same tile type. For greater mathematical simplicity, we assume that once a lab creates a particular tile, an unlimited number of tiles of that type is available to be used in the self-assembly process. To these ends, we define a working collection of tiles as the set of distinct tile types it contains.

Definition 4. A pot is a collection of tiles. More precisely, a pot is given by its collection of tile types, and this is represented by a set P = { t 1 , ..., t k } where each t i is a tile type for some tile in P , and for all a ∈ Σ, if there is i such that a ∈ t i then there is j ∈ { 1 , ..., k } such that ˆ a ∈ t j . We arbitrarily choose an ordering of the tiles, although all orderings represent the same pot. The set of bond-edge types that appear in tile types of P is denoted with Σ( P ), and we write # P to denote the number of distinct tile types in P and #Σ( P ) to denote the number of distinct bond-edge types that appear in P .

Definition 5. An assembly design of a graph G is a labeling λ : G → Σ ∪ ˆ Σ of the half-edges of G with the elements of Σ and Σ such that if ˆ e ∈ E G ( ) and µ e ( ) = { u, v } , then ̂ λ (( v, e )) = λ (( u, e )). This means that each edge of G receives both a hatted and an un-hatted version of the same symbol, one on each of its half-edges.

Definition 6. Given an assembly design λ , the labelled degree d σ i ( v ) denotes

Figure 3: A visual representation of the assembly of K 3 with the pot { ab, ba, a ˆ ˆ 2 }

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00192v1-figure-e02456de-4548-4681-a867-6c3313568f17.jpg)

the number of half edges incident to vertex v which are labelled with cohesiveend type σ i (i.e. such that λ (( v, e )) = σ i ∈ Σ ∪ ˆ ) . Σ

Definition 7. An assembling pot P λ ( G ) for a graph G with assembly design λ is the set P λ ( G ) = { t v | v ∈ V ( G ) } where t v = { λ v, e ( ) | v ∈ µ e , e ( ) ∈ E G ( ) } .

Definition 8. We say a pot P realizes the graph G if there exists an assembly design λ : H → Σ ∪ ˆ Σ such that P λ ( G ) ⊆ P .

Definition 9. The set of graphs with their associated assembly designs realized by a pot P , namely { ( G,λ ) : P λ ( G ) ⊆ P } , is called the output of P and is denoted by O ( P ).

Definition 10. Given an an assembly design λ , its realization function f : V ( G ) → P λ ( G ) maps v to the tile type used to label v , i.e.

$$f ( v ) = \{ \sigma _ { i } ^ { d _ { \sigma _ { i } } ( v ) } \colon i \in \mathbb { Z } _ { N } \} \cup \{ \hat { \sigma } _ { i } ^ { d _ { \sigma _ { i } } ( v ) } \colon i \in \mathbb { Z } _ { N } \},$$

where d σ i ( v ) denotes the number of half edges incident to v which are labelled σ i (see Definition 6).

Example 3 . Figure 3 shows an assembly design for K 3 . Its realization function can be defined as f ( v 1 ) = { a, b } , f ( v 2 ) = { a, b ˆ } , f ( v 3 ) = { ˆ a 2 } .

Within the flexible tile model of DNA self-assembly, we can consider the strategic design of pots that can assemble given graphs. An overarching goal is to find pots with the fewest numbers of tile and/or bond-edge types, and thus to theoretically determine the minimum number of branched junction

molecules needed for self-assembly of certain DNA nanostructures. Given a target graph G , we seek minimal pots P under consideration of three levels of restriction, which are the 'scenarios' described in [10].

- · Scenario 1. Least Restrictive: G ∈ O ( P ). Note: This allows the possibility that there exists H ∈ O ( P ) such that # V ( H &lt; ) # ( V G ).

̸

- · Scenario 2. Moderately Restrictive: G ∈ O ( P ) and for all H ∈ O ( P ), # ( V H ) ≥ # ( V G ). Note: This allows the possibility that there exists H ∈ O ( P ) such that # V ( H ) = # V ( G ) but H ∼ = G .
- · Scenario 3. Highly Restrictive: G ∈ O ( P ), and for all H ∈ O ( P ), # ( V H ) ≥ # ( V G ), and if # V ( H ) = # V ( G ) then H ∼ = G .

Example 4 . Consider the different ways of assembling the graph K 4 shown in Figure 4. The left column shows a specific pot and how it realizes (selfassembles) K 4 . This pot uses only one bond-edge type and is satisfactory in Scenario 1. At the bottom of the column is another, smaller order graph also realized by the same pot, which disqualifies the pot from Scenario 2. The middle column shows how another pot with three bond-edge types realizes K 4 . The pot does not assemble into any smaller order graphs, so it is satisfactory for Scenario 2. At the bottom of the middle column is a graph non-isomorphic to K 4 with equal order to K 4 , which disqualifies this pot from Scenario 3. Finally, the right column shows a realization of K 4 using a third pot. This pot cannot realize any graphs of smaller order or of equal order but non-isomorphic to K 4 , so this pot is valid in Scenario 3.

Given the three theoretical laboratory scenarios, we can search for pots in each scenario that consist of the fewest tile types or fewest bond-edge types. This is analogous to seeking the smallest collections of molecules that will self-assemble into a given target nanostructure while also potentially avoiding byproduct structures, or waste. The following definitions provide notation for minimality with respect to tile types and bond-edge types.

Definition 11. T i ( G ) = min { # P | P realizes G according to Scenario i } .

Definition 12. B G i ( ) = min { #Σ( P ) | P realizes G according to Scenario i } .

This paper focuses on finding optimal pots in Scenarios 1 and 2. This amounts to solving the following problem:

Optimal Pot Problem (OPP). Given a graph G and scenario S i , find

Figure 4: Illustration of three pots, each realizing K 4 in a different scenario, and examples of other graphs realized by those pots within the confines of the given scenario.

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00192v1-figure-60ec85ce-4fe2-49dd-b018-e3599df29858.jpg)

pots with T i ( G ) tile types and/or B G i ( ) bond-edge types.

Remark. It was shown in [11] that it is always possible to find a pot simultaneously achieving T 1 ( G ) and B 1 ( G ), but that graphs exist such that no pot will simultaneously achieve T 3 ( G ) and B 3 ( G ). It was conjectured that there existed no pot realizing the cube graph and simultaneously achieving T 2 ( G ) and B 2 ( G ), but this was disproved in [16]. The term 'biminimal pot' was coined in [16] to describe pots simultaneously achieving a minimum number of tile types and bond-edge types. The question of whether a biminimal pot satisfying Scenario 2 exists for every graph remained an open question until Toby Anderson, Olivia Greinke, Iskandar Nazhar, Luis Santori, discovered that the Y 3 3 , stacked prism graph does not have a biminimal Scenario 2 pot (pending citation). Thus, for Scenario 2 we present an algorithm to search for pots that are minimal with respect to either the number of tile types and the number of bond-edge types, with the knowledge that there might exist two distinct pots achieving these values.

From Scenario 2 (and Scenario 3) arises two problems that must be grappled with when attempting to design an assembling pot: (1) determining if a given pot will realize a graph of a given order, (2) determining whether a pot that realizes a given graph can also realize any smaller graph. These two problems and their computational complexity were studied in [11]. Below we reproduce the formulations of these problems.

Pot Realization Problem (PRP). Given a pot P and a positive integer k , does P realize a graph G with k vertices?

Substructure Realization Problem (SRP). Given an assembling pot P λ ( H ) for a graph H of order n and an integer ℓ with 0 &lt; ℓ &lt; n , does P λ ( H ) realize a graph F with ℓ vertices?

## 2.3. SRP Integer Program

Recall that in order to determine whether a pot P is valid for a given target graph G in Scenarios 2 or 3, it must be known whether any graphs of order smaller than # V ( G ) are in O ( P ). To begin, we follow [10] and [11] to describe the original framework for the SRP and the challenges presented by certain cases. In [10] the augmented matrix of a linear system encoding some constraints on an assembling pot P λ ( G ) for a given graph G is introduced as a first-line computational approach for determining whether P is valid in Scenario 2.

The following definitions and propositions relating to the construction matrix are given in [10].

Definition 13. Let P = { t 1 , ..., t p } be a pot and let z i,j denote the net number of cohesive-ends of type a i on tile t j , where un-hatted cohesive-ends are counted positively and hatted cohesive-ends are counted negatively. Then the following system of equations must be satisfied by any connected graph in O ( P ):

$$z _ { 1, 1 } r _ { 1 } + z _ { 1, 2 } r _ { 2 } + \dots + z _ { 1, p } r _ { p } \ & = \ 0 \\ & \vdots \\ z _ { m, 1 } r _ { 1 } + z _ { m, 2 } r _ { 2 } + \dots + z _ { m, p } r _ { p } \ & = \ 0 \\ r _ { 1 } + r _ { 2 } + \dots + r _ { p } \ & = \ 1$$

The construction matrix of P , denoted M P ( ), is the corresponding augmented matrix:

$$M ( P ) = \left [ \begin{array} { c c c c } z _ { 1, 1 } & z _ { 1, 2 } & \dots & z _ { 1, p } & 0 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ z _ { m, 1 } & z _ { m, 2 } & \dots & z _ { m, p } & 0 \\ 1 & 1 & \dots & 1 & 1 \end{array} \right ].$$

Definition 14. The solution space of the construction matrix of a pot P is called the spectrum of P , and is denoted S ( P ).

The construction matrix is used primarily to determine whether there exists in O ( P ) a graph of smaller order than the desired target graph. For a given solution ⟨ r , ..., r 1 p ⟩ to M P ( ), the least common denominator of the r i 's gives the smallest order of a graph in O ( P ). This is detailed in the following result from [10].

Theorem 5. Let P = { t 1 , . . . , t p } be a pot. Then:

- 1. If a graph G of order n is realized by P using R j tiles of type t j , then 1 n ⟨ R , . . . , R 1 p ⟩ is a solution of the construction matrix M P ( ), i.e. is in S ( P ).

- 2. If ⟨ r , . . . , r 1 p ⟩ ∈ S ( P ), and n is a positive integer such that nr j ∈ Z ≥ 0 for all j , then there is a graph of order n in O ( P ) that is realized by using nr j tiles of type t j .

̸

- 3. The smallest order of a graph in O ( P ) is min lcm b { { j | r j = 0 and r j = a /b j j }} where the minimum is taken over all ⟨ r , . . . , r 1 p ⟩ ∈ S ( P ) such that r j ≥ 0 and a /b j j is in reduced form for all j .

In the cases where S ( P ) consists of a unique solution, the construction matrix quickly provides a solution to the SRP. However, if the system of equations defined by the construction matrix does not have a unique solution, this approach does not give an immediate answer to the SRP [11]. The spectrum S ( P ) will have degrees of freedom whenever # P &gt; #Σ( P ) + 1, as then the dimensions of M P ( ) will be (#Σ( P ) + 1) × # . P This occurs even in examples of quite simple target graphs and small pots, as we demonstrate in the following example.

Example 6 . The pot P = {{ a , } { ˆ a , } { a, a ˆ }} realizes the graph P 3 , the path graph of order 3. Since # P = 3 &gt; 2 = #Σ( P ) + 1 (i.e. M P ( ), shown below, has two more columns than rows), the system has one degree of freedom.

$$M ( P ) = \begin{bmatrix} 1 & - 1 & 0 & 0 \\ 1 & 1 & 1 & 1 \end{bmatrix}$$

It is easy to verify,

$$\mathcal { S } ( P ) = \left \{ \frac { 1 } { 2 r } \langle r - t, r - t, 2 t \rangle \Big | \, r \in \mathbb { Z } ^ { + }, t \in ( \mathbb { Z } \cap [ 0, r ] ) \right \}.$$

Here, r is a scaling factor and t represents the free variable. In this instance, there exist multiple H ∈ O ( P ) such that # V ( H ) &lt; # ( V G ). A graph of order one, a self-loop with the tile { a, a ˆ } , can be realized with the solution corresponding to r = . The path graph t P 2 can be realized (using tiles { a } and { ˆ a } ) with the solution corresponding to t = 0. Note that the target graph, P 3 , is realized in accordance with r = 3 , t = 1.

As can be observed in Example 6, when S ( P ) has degrees of freedom, one must check all valid values of the free variable(s) in order to determine if there exist smaller order graphs in O ( P ). In cases of larger graphs and pots,

this becomes tedious and time-consuming. In addition to these difficulties, it was shown in [11] that an optimal pot in Scenario 2 might correspond to multiple distinct solutions (arising from distinct values of the free variable(s)) of M P ( ).

In [11], an hmhm which checks all possible tile distributions with non-negative integer tile quantities was proposed to handle cases where S ( P ) has degrees of freedom. In theory, the algorithm can solve the SRP for systems with any number of free variables. However, in cases with more than two free variables, the algorithm presents inhibitory runtime costs. Thus, the algorithm is only implemented for pots with one or two free variables.

Instead, we reframe the SRP as an integer program. By using this program, we can efficiently determine the smallest order graph realized by a given pot without trying to find a solution to the construction matrix, allowing us to solve the SRP no matter how many free variables the spectrum of the pot has.

Notice that the R j in the first part of Theorem 5 describe the number of tiles used in a specific assembly design of G .

Definition 15. Given a pot P , a tile distribution is a tuple Ω( P ) = ( R , 1 · · · R # P ), where R i represents the number of tiles of type t i .

Note that if Ω( P ) describes the multi-set of tiles used to build a graph G , then

$$\sum _ { i = 1 } ^ { \# P } R _ { i } = \# V ( G ).$$

Remark. Let Ω( P ) = ( R , ..., R 1 # P ) be a tile distribution of a given pot P = { t 1 , ...t p } . Then Ω( P ) corresponds to some ⟨ r , ..., r 1 p ⟩ ∈ S ( P ) such that

$$r _ { i } = \frac { R _ { i } } { \sum _ { k = 1 } ^ { \# P } R _ { k } }.$$

Example 7 . The tile distribution associated with the realization of C 4 by the pot P = { aa, ab, bb ˆ ˆ } as shown in Figure 5 is Ω( P ) = (1 , 2 1). ,

Using tile distributions, the SRP can be reformulated as follows:

Figure 5: Optimal Scenario 2 Construction of C 4

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00192v1-figure-593b1cb9-6cd5-4097-9035-43c00847cbb3.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00192v1-figure-c6e922c8-7133-4fd2-a50a-d28d5ad49eed.jpg)

Substructure Realization Problem (SRP). Given a graph G of order N and a pot P which realizes G , does P realize a graph of order less than N with some tile distribution Ω( P )?

The following lemma presents the SRP in terms of tile distributions, and thus as integer-valued equations.

Lemma 1. Given a pot P = { t 1 , · · · , t n } , P realizes a graph G of order N if and only if there exists a tile distribution Ω( P ) = ( R , 1 · · · , R n ) such that

$$\sum _ { j = 1 } ^ { n } R _ { j } = \# V ( G ) \quad \text{and} \quad \sum _ { j = 1 } ^ { n } R _ { j } z _ { i, j } = 0 \text{ for each } i \in \{ 1, \dots, | \Sigma | \}.$$

Finding the smallest graph that can be realized by a pot amounts to minimizing ∑ n i =1 R i . Thus, we can see that the SRP is equivalent to the following integer programming problem.

$$\lambda \quad \begin{array} { c c } \lambda \end{array} \lambda \quad \begin{array} { c c } \lambda \end{array} \lambda \quad \begin{array} { c c } \lambda \end{array} \lambda \quad \begin{array} { c c } \lambda \end{array} \lambda \quad \begin{array} { c c } \lambda \end{array} \lambda \quad \begin{array} { c c } \lambda \end{array} \lambda \quad \begin{array} { c c } \lambda \end{array} \lambda \quad \begin{array} { c c } \lambda \end{array} \lambda \quad \begin{array} { c c } \lambda \end{array} \lambda \quad \begin{array} { c c } \lambda \end{array} \lambda \quad \begin{array} { c c } \lambda \end{array}$$

Section 3 details the computational tools we use to solve this integer program as well as example use cases.

## 2.4. Optimal Pot Problem Integer Program

Now we turn to solving the Optimal Pot Problem in Scenarios 1 and 2. The primary roadblock is the PRP (2.2), i.e. being able to check whether a given pot realizes a given graph efficiently. This problem is known to be NP-hard, and since it will need to be answered for every possible pot of each size (of which there are combinatorially many), the number of necessary computations quickly becomes unreasonable.

In this section, we reformulate the Optimal Pot Problem in Scenario 1 as an integer program. The overall approach will be to efficiently search the space of assembly designs of a given target graph G .

Recall that pot P realizes a graph if there exists an assembly design with assembling pot containing the tiles of P . Since we only care about minimal pots, we can restrict our attention to assembly designs whose assembly pots are equal to P . In other words, a pot P realizes a graph via assembly design λ if its realization function f (Definition 10) is surjective; i.e. im f = P .

To solve the OPP, we will express the constraint im f = P as a series of linear inequalities (see Definition 17). To do this, we must have some way of describing an assembly design λ as a fixed length integer vector. This vector will depend on the maximum possible size of a minimal pot realizing G , which we denote as θ , and the maximum possible number of bond-edge types in a minimal pot realizing G , which we denote as β . In an extension of the notation from Definition 1, we define Σ β = { σ , σ 1 2 , · · · σ β } and Σ ˆ β = { ˆ σ , σ 1 ˆ 2 , · · · ˆ σ β } , so that Σ β ∪ ˆ Σ β will give all the half-edge labels we are considering.

Definition 16. Given an assembly design λ of G with realization function f such that im f = P = { t 1 , · · · , t N } for N ≤ θ , V ar λ ( ) is the following collection of decision variables describing λ :

- · t n,a ∈ Z + : the number of half-edges of type a on t n
- · w i,a ∈ Z + : the number of half-edges of type a on xx v i , or d σ i ( v )
- · x i,n ∈ { 0 1 , } : 1 if f ( v i ) = t n ( v i uses tile type t n ), and 0 otherwise
- · k n ∈ { 0 1 , } : 0 if t n is an 'empty' tile. This allows us to represent pots with less than θ tiles.

- · e i,j,a ∈ { 0 1 , } : 1 if λ (( v , i { v , v i j } )) = a (i.e. if the half-edge ( v , i { v , v i j } ) is labeled with cohesive-end type a ), 0 otherwise.

Thus, to search over the space of labeled orientations of a given graph G , our integer program will search over the space of tuples:

$$C = \{ ( t _ { n, a }, w _ { i, a }, x _ { i, n }, k _ { n }, e _ { i, j, a } ) \, \colon a \in \Sigma _ { \beta } \cup \ddot { \Sigma } _ { \beta }, i, j \in \mathbb { Z } _ { N }, n \in \mathbb { Z } _ { \theta } \}.$$

Each element of C can be encoded as an integer-valued vector with nonnegative entries.

Example 8 . Consider the realization of L = O C ( 4 ) using the pot P = { t 1 = { a 2 } , t 2 = { ˆ a 2 }} pictured in Figure 6. The k i and t i,σ decision variables and values are shown on the left for each tile in the pot. Select e i,j,σ decision variables are shown on the right, although most are omitted as every edge has 2 sets of variables for each σ ∈ Σ ∪ ˆ . Σ In the center, the x i,j decision variables are shown for i = 1 and i = 3, and arrows demonstrate how these decision variables control the mapping of tiles onto vertices.

The following definition describes several linear constraints encoding the PRP in terms of the decision variables defined above.

Definition 17. The following will be referred to as the Pot Construction Constraints on β bond-edge types, denoted PCC β ( ). The constraints describe pots realizing a graph G with at most β bond-edge types. Here, ( X ) → Y denotes that the constraint Y must be satisfied only if the Boolean expression X is true.

C1: The net number of cohesive-end types is zero

$$\sum _ { i = 1 } ^ { N } w _ { i, \sigma } - w _ { i, \hat { \sigma } } = 0 \quad \forall \sigma \in \Sigma _ { \beta }$$

C2: The total number of cohesive-end types on a vertex (i.e. its number of half-edges) is equal to the degree of the vertex:

$$\sum _ { \sigma \in \Sigma _ { \beta } \cup \widehat { \Sigma } _ { \beta } } w _ { i, \sigma } = d _ { i } \quad \forall i \in \mathbb { Z } _ { N }$$

C3: Each vertex is assigned exactly one tile type:

$$\sum _ { n = 1 } ^ { N } x _ { i, n } = 1 \quad \forall i \in \mathbb { Z } _ { N }$$

Figure 6: Example realization of C 4 with values of decision variables as given in Definition 16.

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00192v1-figure-ce43fc66-56bb-48b1-b7ba-41b41f018650.jpg)

C4: Tile selections are enforced:

$$( x _ { i, n } = 1 ) \to w _ { i, \sigma } - t _ { n, \sigma } \leq 0 \quad \forall i, n \in \mathbb { Z } _ { N }, \sigma \in \Sigma _ { \beta } \cup \ddot { \Sigma } _ { \beta }$$

- C5: Each tile is assigned to a vertex of degree equal to the number of halfedges on the tile (indicator):

$$( x _ { i, n } = 1 ) \rightarrow \sum _ { \sigma \in \Sigma _ { \beta } \cup \widehat { \Sigma } _ { \beta } } w _ { i, \sigma } - t _ { n, \sigma } = 0 \quad \forall i, n \in \mathbb { Z } _ { N }$$

C6: k n decision variables are non-zero if and only if tile n is used (recall ∆( G ) is the maximum degree of a vertex of G ):

$$- \Delta ( G ) k _ { n } + \sum _ { \sigma \in \Sigma _ { \beta } \cup \widehat { \Sigma } _ { \beta } } t _ { n, \sigma } \leq 0 \quad \forall n \in \mathbb { Z } _ { N }$$

This constraint effectively enforces the following 2 conditions:

- 1. If tile t n is empty, k n must be 0, because the total number of cohesive ends on tile n is 0.
- 2. If tile n is non-empty, the equation ensures that we get less than 0 on the left-hand side of the inequality for every vertex since the sum cannot be greater than ∆.
- C7: Edge decision variables count the number of incident half-edges of each cohesive end-type:

$$w _ { i, \sigma } - \sum _ { v _ { j } \in N _ { G } ( v _ { i } ) } e _ { i, j, \sigma } = 0 \quad \forall i \in \mathbb { Z } _ { N }, \sigma \in \Sigma _ { \beta } \cup \widehat { \Sigma } _ { \beta }$$

C8: Each edge is labeled with exactly two cohesive-end types:

$$\sum _ { \sigma \in \Sigma _ { \beta } \cup \widehat { \Sigma } _ { \beta } } e _ { i, j, \sigma } + e _ { j, i, \sigma } = 2 \quad \forall ( v _ { i }, v _ { j } ) \in E ( O ( G ) )$$

- C9: Each edge consists of two half-edges labeled with a hatted and unhatted version of the same bond-edge type:

$$e _ { i, j, \sigma } - e _ { j, i, \hat { \sigma } } = 0 \quad \forall ( v _ { i }, v _ { j } ) \in E ( G ), \sigma \in \Sigma _ { \beta } \cup \ddot { \Sigma } _ { \beta }$$

Remark. The constraints are written to allow integer programming solvers as much flexibility as possible in finding the optimal solution, and as such may be less specific than necessary.

The following theorem proves that the PCC constraints are equivalent to the constraint that for a given pot P and a given realization function f , im f = P , or in other words, that P realizes G via f .

Theorem 9. A pot P = { t 1 , · · · t N } realizes a graph G using β bond-edge types if and only V ar λ ( ) satisfies PCC β ( ).

Proof. Assume that a pot P = { t 1 , · · · t n } realizes a graph G with realization function f . We prove that V ar λ ( ) satisfies all of the pot construction constraints given in Definition 17.

C1 follows from Lemma 1. C2 follows from the definition of labelled degree. C3, C4, C5, C7, C8, and C9 directly follow from the definition of a realization function (the fact that it is well defined and surjective on P ).

For C6, we must consider two cases that depend on the value of k n . If k n = 0, then t n is an empty tile, and Σ σ ∈ Σ β ∪ ˆ Σ β t n,σ = 0. If k n = 1, then there exists a vertex v i such that f ( v i ) = t n , which implies x i,n = 1. From C2 and C5 we obtain the following.

$$\sum _ { \sigma \in \Sigma _ { \beta } \cup \widehat { \Sigma } _ { \beta } } t _ { n, \sigma } = \sum _ { \sigma \in \Sigma _ { \beta } \cup \widehat { \Sigma } _ { \beta } } w _ { i, \sigma } = d _ { i }$$

Since ∆( G ) ≥ d i ,

$$- \Delta ( G ) k _ { n } + \sum _ { \sigma \in \Sigma _ { \beta } \cup \widehat { \Sigma } _ { \beta } } t _ { n, \sigma } = - \Delta ( G ) + d _ { i } \leq 0.$$

In either case, we have shown the inequality holds.

Conversely, now assume that the decision variable tuples

$$C = \left \{ ( t _ { n, \sigma }, w _ { i, \sigma }, x _ { i, n }, k _ { n }, e _ { i, j, \sigma } ) \ | \ \sigma \in \Sigma _ { \beta } \cup \overset {. } { \Sigma } _ { \beta }, i, j, n \in \mathbb { Z } _ { N } \right \}$$

satisfies PCC β ( ).

We construct assembly design λ so that V ar λ ( ) = C using the e i,j,σ variables.

$$\text{Let } \lambda ( ( v _ { i }, \{ v _ { i }, v _ { j } \} ) ) = a \text{ if and only if } e _ { i, j, a } = 1.$$

First, we must show that λ is well defined. Thus, we must show λ (( v , i { v , v i j } )) is the corresponding hatted symbol to λ (( v , j { v , v i j } )) (see Definition 5). For example, if λ (( v , i { v , v i j } )) = σ 1 , then λ (( v , j { v , v i j } )) = ˆ σ 1 Rearranging the sum in order to group the hatted and unhatted terms together in C8 gives the following.

$$\sum _ { \sigma \in \Sigma _ { \beta } \cup \widehat { \Sigma } _ { \beta } } e _ { i, j, \sigma } + e _ { j, i, \sigma } = \sum _ { \sigma \in \Sigma _ { \beta } \cup \widehat { \Sigma } _ { \beta } } e _ { i, j, \sigma } + e _ { j, i, \hat { \sigma } } = 2$$

C9 ensures that e i,j,σ = e j,i,σ ˆ , so exactly one of the terms e i,j,σ + e j,i,σ ˆ is equal to 2, which shows that both e i,j,σ and e j,i,σ ˆ are 1, so λ is well defined.

Now, we show that V ar λ ( ) = C . The e i,j,a decision variables in C and V ar λ ( ) are the same by construction. C7 ensures that w i,σ equals the labelled degree of v i , so the w i,a decision variables are the same in C and V ar λ ( ). C4, C5, and C6 ensure that the t n,a , k n , and x i,n decision variables match, as well.

C4 also tells us that for each i , there is some unique n i such that x i,n i = 1. Combining this with C5, we get that t n ,σ i = w i,σ . Since f ( v i ) is a tile with cohesive ends w i,σ , f ( v i ) = t n i as desired.

## 2.5. Scenario 1 OPP Algorithm

In Scenario 1, we can restrict ourselves to β = 1, since all optimal pots in Scenario 1 use only one bond-edge type [10]. Thus, we employ the following integer program to solve the OPP.

$$\min _ { C } \sum _ { n = 1 } ^ { | G | } k _ { n } \text{ subject to } P C C ( 1 )$$

where C ranges over all tuples

$$\{ ( t _ { n, b }, w _ { i, \sigma }, x _ { i, n }, k _ { n }, e _ { i, j, b } ) \, \colon \lambda \in \Sigma _ { 1 } \cup \vec { \Sigma } _ { 1 }, i, j, n \in \mathbb { Z } _ { | G | } \}$$

. This gives rise to the following algorithm.

Theorem 10. Algorithm 1 solves the OPP in Scenario 1.

Proof. A solution to the Scenario 1 integer program satisfies PCC (1), so by Theorem 9 there exists an assembly design λ such that V ar λ ( ) = C and the pot with tiles t n , where t n has t n,σ cohesive end types of type σ , realizes G .

| Algorithm 1 Scenario 1 algorithm                                                                                                                                                     |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Input: Graph G Output: Pot P such that G ∈ O ( P ) 1: C ← the solution to LP 2 2: return P = { t 1 , · · · t N } , where ∀ i : t i = { a t n,a ˆ a t n,a ˆ } for t n,a , t n,a ˆ ∈ C |

Now, suppose there is a pot P ′ realizing G such that # P ′ &lt; # . P Let λ ′ be an assembly design corresponding to P ′ . Then, by Theorem 9, V ar λ ( ′ ) satisfies PCC (1). The sum of the k n decision variables in V ar λ ( ′ ), which counts the number of tile types of P ′ , would be less than the sum of the k n decision variables in V ar λ ( ), thus contradicting the minimality of C .

## 2.6. Scenario 2 OPP Algorithm

Now we consider the Optimal Pot Problem in Scenario 2. An ideal approach to Scenario 2 would combine a pot generation integer program similar to Algorithm 1 with the SRP integer program given in (1) into one integer program. Unfortunately, since the two integer programs employ different decision variables, this would require the ability to multiply decision variables, making the problem non-convex. Additionally, the objective functions for the two integer programs are conflicting, which creates a bilevel optimization problem. These two challenges make solving a single Scenario 2 integer program computationally infeasible. Instead, we will not combine Scenario 2 into a single integer program - we will run the integer programs separately.

In the algorithm presented here, a pot generation integer program similar to Algorithm 1 iteratively generates possible realizations of our graph, and then the SRP integer program given in (1) determines whether each generated realization satisfies the constraints of Scenario 2. If the SRP integer program determines that a pot realizes a graph of smaller order than the target (and hence is not a valid Scenario 2 solution), then the constraints of the pot generation integer program are modified to ensure that the offending pot is not generated again. An overview of this process is shown in Figure 7.

In order to efficiently track which pots have already been generated, we seek to create an ordering on the collection of pots. Since pots are defined by their tiles, which are defined by their cohesive-end types, we can fully specify a pot with an integer vector whose entries correspond to the cohesive-end types of its tiles. First, we encode tiles as positional integer vectors.

Figure 7: Illustration of Scenario 2 sub-algorithm to determine if there is a pot with θ bond-edge types and β bond-edge types realizing G .

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00192v1-figure-3be6e6cc-89fb-435e-a371-58918739b090.jpg)

Definition 18. The tile vector ⃗ v ( t n ) of tile t n in collection V ar λ ( ) is the vector whose i -th component, where i is odd, is the number of cohesive-ends of the type σ i , and whose j -th component, where j is even, is the number of cohesive-ends of type ˆ σ j -1 .

$$\vec { v } ( t _ { n } ) = \langle t _ { n, \sigma _ { 1 } }, t _ { n, \hat { \sigma } _ { 1 } }, t _ { n, \sigma _ { 2 } }, t _ { n, \hat { \sigma } _ { 2 } }, \cdots t _ { n, \sigma _ { \beta } }, t _ { n, \hat { \sigma } _ { \beta } } \rangle.$$

To these vectors we can assign an integer in a straightforward manner.

Definition 19. Let the q -value of t n be tile vector ⃗ v ( t n ) written as an integer in base ∆( G ), or formally

$$\sum _ { i = 1 } ^ { | v | } v ( t _ { n } ) [ i ] * \Delta ( G ) ^ { | v | - i }$$

A candidate for encoding for a pot P is the concatenation of all ⃗ v ( t n ) for all t n ∈ P . But, given that a pot is a set, we should expect all permutations of the tiles to yield the same pot vector. To make the pot vector invariant to permutations, we order the tile vectors lexicographically.

Definition 20. Given any two integer vectors ⃗ v = ⟨ v , 1 · · · v n ⟩ and ⃗ s = ⟨ s , 1 · · · s n ⟩ , v &lt; lex s if there is an integer m such that

$$1. \ 0 \leq m < n$$

$$2. \ v _ { i } = s _ { i } \text{ for all } i < m$$

$$3. \ v _ { m } < s _ { m }$$

Note that ⃗ v &lt; lex ⃗ s if and only if q v ( ) &lt; q s ( ).

Definition 21. Let ⟨ v 1 | · · · | v j ⟩ denote the concatenation of v , 1 · · · v j . Then the pot vector V ( P ) of P = { t 1 , · · · , t n } is the concatenation of its tile vectors

$$V ( P ) = \langle \vec { v } ( t _ { j _ { 1 } } ) | \cdots | \vec { v } ( t _ { j _ { n } } ) \rangle$$

where j , j 1 2 , · · · j n is the unique ordering of the tiles in decreasing lexicographic order (i.e. such that ⃗ v ( t j i ) &lt; lex ⃗ v ( t j i -1 ) for all 2 ≤ i ≤ n ).

Now that we have a well-defined encoding of a pot as a vector, we can encode that pot uniquely as an integer.

Definition 22. The characteristic value of P , q P ( ), is V ( P ) written as an integer in base ∆( G ). That is,

$$q ( P ) = \sum _ { i = 1 } ^ { \# V } V ( P ) [ i ] * \Delta ( G ) ^ { \# V - i }.$$

Example 11 . The pot vector for the pot P = { ac, ab, bcc, bc ˆ ˆ ˆ ˆ ˆ 2 } is as follows.

$$V ( P ) = \langle 1 0 0 0 0 1 \ | \ 0 1 0 1 0 0 \ | \ 0 0 1 0 1 1 \ | \ 0 0 0 1 2 0 \rangle$$

The characteristic value of P in base 10 is the following integer.

$$q ( P ) = 1 0 0, 0 0 1, 0 1 0, 1 0 0, 0 0 1, 0 1 1, 0 0 0, 1 2 0$$

We will now use the pot vector to build constraints for a modified pot generation integer program that returns a valid pot with the smallest characteristic value. We can only compare characteristic values for fixed-size vectors, so we design our integer program to search pots with fixed numbers of bond-edge and tile types. To achieve this, we define the Pot Restriction Constraints.

Definition 23. The following will be referred to as the Pot Restriction Constraints on θ tile types and β bond-edge types, denoted PRC θ,β ( ).

C1: P has exactly θ tiles:

$$t _ { \theta + 1, \sigma } = t _ { \theta + 2, \sigma } = \cdots t _ { N, \sigma } = 0 \quad \forall \sigma \in \Sigma _ { \beta } \cup \hat { \Sigma } _ { \beta }$$

C2: Each bond-edge type is used:

$$\sum _ { n = 1 } ^ { \theta } t _ { n, \sigma } \geq 1 \quad \forall \sigma \in \Sigma _ { \beta }$$

C3: Each tile type is used:

$$\sum _ { i = 1 } ^ { N } x _ { i, n } \geq 1 \quad \forall n \in \mathbb { Z } _ { \theta }$$

C4: The collection { t n,σ } is such that the tiles are in correct lexicographic order. That is,

$$q ( t _ { n } ) - q ( t _ { n + 1 } ) \geq 1 \quad \forall n \in \mathbb { Z } _ { N - 1 }$$

Extending Theorem 9 using these constraints is then fairly straightforward.

Theorem 12. There is an assembly design λ so that vectors

$$\vec { t _ { i } } = \langle t _ { i, \sigma _ { 1 } }, t _ { i, \hat { \sigma } _ { 1 } }, \cdots t _ { i, \sigma _ { n } }, t _ { i, \hat { \sigma } _ { n } } \rangle$$

assemble into a valid pot vector ⟨ ⃗ t 1 | · · · | ⃗ t n ⟩ with β bond-edge types and θ tiles if and only if V ar λ ( ) satisfies PCC θ ( ) and PRC θ,β ( ).

We are now ready to define the Scenario 2 pot generation integer program. The goal of this program is to find a pot with the minimum characteristic value that realizes G with β bond-edge types and θ tile types, such that the characteristic value q P ( ) is greater than some prespecified bound Q :

$$& \min _ { C } q ( P ) \\ & \text{subject to } P C C ( \beta ), \, P R C ( \theta, \beta ), \, q ( P ) \geq Q$$

$$( 3 )$$

The algorithm provided below incorporates LP (3) to find a valid Scenario 2 pot given bounds on the number of bond-edge and tile types.

We will now prove the correctness of Algorithm 2. We will need the following lemma.

Lemma 2. Let S = { P , ′ 1 · · · P ′ n } be the set of all pots P ′ such that:

- 1. P ′ i realizes G with θ tile types and β bond-edge types.
- 2. P ′ i is not a valid Scenario 2 pot, i.e. it realizes at least one smaller order graph.
- 3. q P ( ′ i ) &lt; q P ( ′ i +1 ) for all i such that 0 &lt; i ≤ n
- 4. q P ( ′ n ) &lt; q P ( ˜ ) for all i and any valid Scenario 2 pot ˜ . P

Then P i = P ′ and the algorithm continues to iteration i +1 for all 1 ≤ i ≤ n

Algorithm 2 finds valid Scenario 2 pot with β bond-edge types and θ tile types Input: A graph G , number of bond edge types β , and number of tile types θ Output: A valid Scenario 2 pot with β bond-edge types and θ tile types OR an indication that none exists 1: Q ← 0 2: while 1 = 1 do 3: C ← decision variables solving LP 3 with q P ( ) ≥ Q 4: if C is non-empty (a solution to LP 3 exists) then 5: P ←{ t 1 , · · · , t N } , where ∀ i : t i = ∏ σ ∈ Σ σ t n,σ ˆ σ t n,σ ˆ 6: M ← the smallest order of graph P realizes, found using LP 1 7: if M = N then 8: return P 9: else 10: Q ← q P ( ) + 1 11: end if 12: else 13: There is no pot of size θ with β bond-edge types realizing G 14: end if 15: end while

Proof. Let P i , Q i , M i be the values of P, Q, M in the i th iteration of Algorithm 2.

Now, since P ′ 1 has the smallest characteristic value among all non-valid Scenario 2 pots realizing G and by condition 4, has a smaller characteristic value than any valid Scenario 2 pot realizing G P , 1 is the solution to Integer Program 3, hence P 1 = P ′ 1 . Since it is not a valid Scenario 2 pot, the algorithm does not terminate.

Assume then that P j = P ′ j for j &lt; i . Thus, at the i th iteration of the algorithm, Q i = ( q P i -1 ) + 1 = q P ( ′ i -1 ) + 1

Consider any pot P satisfying LP 3 and not equal to P ′ j for j &lt; i . If P is not a valid S2 pot, then q P ( ′ i ) &lt; q P ( ) since otherwise P = P ′ j for j &lt; i . If it is a valid Scenario 2 pot, condition 4 guarantees that q P ( ′ i ) &lt; q P ( ). Furthermore, q P ( ′ i ) &gt; q P ( ′ i -1 ) by condition 3. Thus, P ′ i has minimal characteristic value

among all pots realizing G with characteristic value greater than or equal to Q i = ( q P ′ i -1 ) + 1, hence P i = P ′ i . By induction, the theorem is proved.

Theorem 13. Algorithm 2 determines if there is a pot P with β bondedge types and θ tile types such that G ∈ O ( P ) and for all H ∈ O ( P ), # ( V H ) ≥ # ( V G ). If at least one such pot exists, Algorithm 2 returns the pot with the minimum characteristic value Q ∗ .

Proof. Let C , P i i , Q i , M i be the values of C, P, Q, M in the i th iteration of Algorithm 2.

First, assume that there is no valid Scenario 2 pot. If there is no pot satisfying LP (3), then, Lemma 12 implies that C 1 is empty and we will conclude that there is no valid Scenario 2 pot. If there are pots satisfying LP (3), but all of those pots realize at least one graph of smaller order than G , then M &lt; N i in all iterations i of the algorithm. Since we increment Q at each iteration and the maximum characteristic value of all possible pots realizing G is finite, we will eventually create an instance of LP (3) which has no solution, and hence the algorithm will also determine that there is no valid Scenario 2 pot.

Conversely, assume that there is a valid Scenario 2 pot. Let S = { P , ′ 1 · · · , P ′ n } be the set of all pots realizing G with a characteristic value less than Q ∗ ordered by characteristic value. S satisfies all of the conditions of Lemma 2, and so there will be an iteration P n = P ′ n , the element with the maximal characteristic value in S . Since P ′ n ∈ S , M &lt; N i , and hence the algorithm will continue to iteration i + 1, where Q i +1 &gt; q P ( ′ ) for any P ′ ∈ S by the maximality of P ′ n . Therefore, P i +1 is not in S , which means that it must be a valid Scenario 2 pot realizing G . The SRP integer program will verify that M i +1 = N , so the algorithm returns a pot P i +1 , which is clearly the valid Scenario 2 pot with the minimal characteristic value.

We now have an algorithm that determines if there is a valid Scenario 2 pot with β bond-edge types and θ tile types. The final step to develop a full Scenario 2 algorithm is to search the space of possible tuples ( β, θ ) for an optimal pot. We rely on the following Theorem from [10] to increase search efficiency.

Theorem 14. If G is a graph with n &gt; 2 vertices, B 2 ( G ) + 1 ≤ T 2 ( G )

Theorem 14 implies that it is unnecessary to search tuples ( β, θ ) where β &gt; θ . It is sufficient to search the remaining region in order of increasing number of tile types ( θ ) to find a pot achieving ( β, T 2 ( G )) (see Figure 8). It is equivalent to search that same region in order of increasing number of bond-edge types to find a pot achieving ( B 2 ( G , θ ) ). We combine these procedures in the following algorithm.

Figure 8: Search space of the Scenario 2 algorithm: the valid search region is searched in the order enumerated in blue: once a solution is found (green cell), we can choose to verify B 2 ( G ) by searching the yellow region

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00192v1-figure-0b1d48f7-8674-46a0-9b93-30b0d7466c0a.jpg)

## Algorithm 3 Finds T 2 ( G ) for Scenario 2

- 1: find the minimum θ for which there is an Scenario 2 pot using Algorithm 2 and the search pattern pictured in Figure 8
- 2: T 2 ( G ) = θ
- 3: among all tuples ( β , θ ′ ′ ) where β ′ ≤ β, θ ′ ≥ θ , find the minimum β ′ for which there is a valid Scenario 2 pot using Algorithm 2
- 4: B 2 ( G ) = β ′

Table 1: SRP Algorithm Verification

| Pot                              |   Pot Size | Minimal Realization Size   | Tile Ratio            |   Runtime (s) |
|----------------------------------|------------|----------------------------|-----------------------|---------------|
| aa, ˆ ab, ˆ bA ˆ                 |          3 | 1                          | 1,0,0                 |          0.06 |
| ˆ abc, ˆ ˆ ccbb, ˆˆ abb, ˆˆ b    |          4 | 8                          | 1,1,1,5               |          0.02 |
| ˆ a, a 200                       |          2 | 201                        | 200,1                 |          0.02 |
| ˆ a, ab, ˆ bc, ˆ . . . , yz, ˆ z |         27 | 27                         | 1 , 1 , . . . , 1 , 1 |          0.04 |
| abc, ˆ ad, ˆ bd, cd ˆ 3          |          4 | Invalid Pot                | Invalid Pot           |          0.01 |

## 3. Results and Discussion

We have implemented the algorithms described in Sections 2.3, 2.5 and 2.6 in Python using the Gurobi MIP solver, which was chosen for its fast runtime and ability to handle many indicator constraints [17, 18]. The Oriented Optimal Pot Solver ( OOPS) for solving the OPP and the Subgraph Realization Problem Solver (SRPS) for solving the SRP are both available along with command-line interfaces and visualization tools to help with ease of use.

## 3.1. Implementation of SRP Algorithm

Even pushing the bounds beyond pots that would realistically be encountered (such as the 27-tile pot or the pot with a 200 half-edge time in Table 1), we see that our proposed algorithm is able to compute the minimal realization size of a graph in less than a tenth of a second. This is due to the fact that the SRP integer program is small, with a single constraint for each bond-edge type in the pot. Since integer programs are still relatively easy to solve with constraints numbering in the hundreds (see Table 2 for selected runtimes for the Scenario 1 algorithm), this means the SRP algorithm has a very high ceiling for solvable pots and is not a limiting constraint on the runtime of our larger Scenario 2 algorithm.

## 3.2. Implementation of Scenario 1 OPP

We use OOPS to compute optimal pots in Scenarios 1 and 2 for various graphs. This serves three separate purposes:

- 1. Algorithmic verification: We ensure the optimality of known pots.
- 2. Runtime analysis: Since the complexity of an integer program varies greatly depending upon the structure of the specific integer program,

runtimes for example graphs give a general idea of the scope of graphs for which we can feasibly compute optimal pots.

- 3. Discovery of new optimal pots: We search for optimal pots for previously unsolved graphs.

In each scenario, we provide two tables. The first (Tables 2 and 3.3) compares the algorithm's output on previously solved graphs to ensure that the output aligns with the expected results. The second (Tables 3 and 5) displays computed optimal pots on graphs that were previously unsolved in the specified scenario. The specific graphs are chosen somewhat arbitrarily, but represent a range of possible structures for the purpose of demonstrating the algorithm's potential.

In Scenario 1, we focus exclusively on optimizing tile types. Table 2 shows our algorithm's computed optimal pots, which demonstrate agreement with the proven T 1 values of various other papers. Table 3 shows the results of the algorithm on a set of various new graphs. These graphs include small examples of social networks, Cartesian products of two different graphs, and disconnected graphs. Each of these sets of graphs was chosen because they represent a possible new area of exploration in finding optimal pots, and they have varying structures that will challenge the algorithm in different ways.

Of the tested graphs, only Les Mis´rables, e K 100 , and Karate Club × Petersen have runtimes greater than one second. These are all graphs of substantial order, having 77, 100, and 170 vertices respectively. Furthermore, the Les Mis´ erables graph is slower ( × 1.62) than the K 100 graph, despite having far fewer edges (242 versus 4950). This suggests that the runtime is generally dependent on the number of vertices rather than the number of edges. This can be explained by the fact that C4 and C5 of the pot construction constraints each enforce N 2 constraints, so the number of constraints grows quadratically with the number of vertices.

We have also used this algorithm to find optimal pots in Scenario 1 for disconnected graphs. Since Scenario 1 is not concerned with the construction of smaller graphs, the question of an optimal pot for a disconnected graph is well-posed. At the time of this writing, there are no known previous results for disconnected graphs in the flexible-tile model. The optimal pot is not always simply the union of the optimal pots for each component, as proven by the disconnected graph consisting of K , S 4 3 , and P 2 . It is known that the

Table 2: Scenario 1 OOPS Verification

| Graph                        |   Vertices |   Edges | Known Value     | Computed Pot                                  |   Runtime (s) |
|------------------------------|------------|---------|-----------------|-----------------------------------------------|---------------|
| Octahedron [11]              |          6 |      12 | T 1 = 1 B 1 = 1 | aa ˆ                                          |          0.01 |
| Lollipop graph L 8 , 10 [19] |         18 |      38 | T 1 = 4 B 1 = 1 | a 3 ˆ a 4 , a 7 ˆ a, aa, ˆ a                  |          0.09 |
| Dodecahedron [11]            |         20 |      30 | T 1 = 2 B 1 = 1 | a 3 , aa ˆ 2                                  |          0.03 |
| Gear graph G 10 [20]         |         21 |      30 | T 1 = 3 B 1 = 1 | aa ˆ 2 , a 5 , aa ˆ                           |          0.04 |
| 5 × 5 Square Lattice [11]    |         25 |      60 | T 1 = 4 B 1 = 1 | ˆ a 2 , a 2 ˆ a, ˆ a 4 , a 2 ˆ a 2            |          0.11 |
| 5 × 5 Rook's Graph [21]      |         25 |     100 | T 1 = 1 B 1 = 1 | a 4 ˆ a 4                                     |          0.03 |
| Wheel graph W 30 [22]        |         30 |      58 | T 1 = 2 B 1 = 1 | ˆ a 15 , a 2 ˆ a                              |          0.05 |
| 4 × 10 Triangle Lattice [23] |         30 |      69 | T 1 = 5 B 1 = 1 | aa, ˆ aa ˆ 3 , aa ˆ 2 , a 2 ˆ a 3 , a 4 ˆ a 2 |          0.27 |
| K 100 [10]                   |        100 |    4950 | T 1 = 2 B 1 = 1 | ˆ a 99 , a 50 ˆ a 49                          |          2.21 |

optimal pots of these three graphs in Scenario 1 are { a a, aa 2 ˆ ˆ 2 } { , a , a 3 ˆ } , and { a, a ˆ } , respectively, which under a union create a pot P with #Σ( P ) = 4 (as shown in Figure 9). Our algorithm finds a pot P realizing this graph with P with #Σ( P ) = 3 (as shown in Figure 10). This opens the door for exploration of ways in which optimal pots for disconnected graphs relate to the optimal pots of graph's components.

## 3.3. Implementation of Scenario 2 OPP

In Scenario 2 there are two different versions of optimality: tile optimality and bond-edge optimality. Using the search process described in Section 2.6, our algorithm first optimizes over tile types, and then verifies the computed value for bond-edge types. In general, we see that the runtime of the algorithm grows with the size of the solution (so values of T 2 ( G ) and B 2 ( G )) rather than the size or order of the graph in question. For instance, the path graph P 10 has a much longer runtime than the complete graph K 100 despite having a far smaller size (9 vs. 4950) and order (10 vs 100) (as shown in Table 3.3). This is because the optimal pot for the path graph consists of six tile types and five bond-edge types, whereas the optimal pot for K 100 consists of only two tile types and 1 bond-edge type.

Figure 9: Union of separate optimal pots for T 1 ( K ,T 5 ) 1 ( S 4 ) , T 1 ( P 2 ), realizing the graph K 5 ∪ S 4 ∪ P 2 with the 4-tile pot { a a , a 2 ˆ 2 4 , a, a ˆ } . All edges are labeled a in Scenario 1, so only the orientation is shown.

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00192v1-figure-a5a5f616-bd1a-427a-aa00-73aef04aff02.jpg)

Figure 10: Optimal orientation for T 1 ( K 5 ∪ S 4 ∪ P 2 ), realized with the 3-tile pot { a a , a, a 2 ˆ 2 ˆ } .

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00192v1-figure-e85cbcdb-7048-4740-8f66-fb848a3d092c.jpg)

Table 3: Scenario 1 OOPS New Results

| Graph                    |   Vertices |   Edges | Computed values   | Optimal Pot                                                                                                                                                                                        |   Runtime (seconds) |
|--------------------------|------------|---------|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------|
| K 5 , S 4 , P 2          |         12 |      15 | T 1 = 3 B 1 = 1   | a 2 ˆ a 2 , ˆ a, a                                                                                                                                                                                 |                0.03 |
| Tadpole 3 × C 4          |         24 |      48 | T 1 = 3 B 1 = 1   | a 2 ˆ a 2 , a 2 ˆ a 3 , a 2 ˆ a                                                                                                                                                                    |                0.12 |
| Connected Caveman (5, 5) |         25 |      50 | T 1 = 3 B 1 = 1   | aa ˆ 3 , a 3 , a 4 ˆ a                                                                                                                                                                             |                0.08 |
| Karate Club              |         34 |      79 | T 1 = 11 B 1 = 1  | a 6 ˆ a 10 , aa ˆ 8 , a 3 ˆ a 7 , a 3 ˆ a 3 , a 2 ˆ a, aa ˆ 3 a 4 ˆ a, a 2 , ˆ a, a 2 ˆ a 10 , a 8 ˆ a 9                                                                                           |                0.58 |
| All Platonic Solids      |         50 |      90 | T 1 = 5 B 1 = 1   | a 2 ˆ a, aa ˆ 2 , a 2 ˆ a 3 , a 2 ˆ a 2 , a 3 ˆ a 2                                                                                                                                                |                0.53 |
| Les Mis´rables e         |         77 |     254 | T 1 = 18 B 1 = 1  | a, aa ˆ 9 , a 2 ˆ a, a 11 ˆ a 25 , aa, ˆ a 4 ˆ a 3 , a 5 ˆ a 4 a 7 ˆ a 8 , a 5 ˆ a 6 , a 8 ˆ a 8 , a 11 ˆ a 6 , a 2 ˆ a 2 , a 2 ˆ a 6 a 4 ˆ a 2 , a 12 ˆ a 10 , a 7 ˆ a 12 , a 8 ˆ a 5 , a 9 ˆ a 3 |                3.59 |
| 3 × 3-Sudoku             |         81 |     810 | T 1 = 1 B 1 = 1   | a 10 ˆ a 10                                                                                                                                                                                        |                0.34 |
| Karate Club × Petersen   |        340 |    1290 | T 1 = 11 B 1 = 1  | a 8 ˆ a 4 , a 11 ˆ a 9 , a 7 ˆ a 6 , a 5 ˆ a 4 , a 3 ˆ a 3 , a 4 ˆ a 3 a 4 ˆ a 4 , a 2 ˆ a 3 , a 2 ˆ a 2 , a 8 ˆ a 7 , a 7 ˆ a 12                                                                  |             1797.36 |

In addition to reproducing many known optimal pots in Scenario 2 (Table 3.3), we use our algorithm to compute many novel optimal pots. One solution of notable interest is the optimal pot for the dodecahedron, as it was the only remaining unsolved platonic solid in Scenario 2 [23]. The realization of this graph using the optimal pot can be seen in Fig. 11. Other examples of novel solutions we computed are listed in (Table 5). We provide optimal pots but do not provide realizations of each graph here (for the purposes of saving space), although all results can be easily reproduced by downloading and running OOPS (found at https://github.com/JacobAshw/OOPS), which displays a visual representation of the graph realization upon computation of the optimal pot.

It is important to note that the bond verification step of the program only improves upon the solution computed in the tile runtime step when no biminimal pot exists, i.e. the optimal number of tile and bond-edge types cannot be achieved in the same pot. In Scenario 2, an example of a graph that exhibits this property is Y 3 3 , (the stacked prism graph), discovered by Toby Anderson, Olivia Greinke, Iskandar Nazhar, and Luis Santori (pending

Table 4: Scenario 2 OOPS Verification

| Graph                     |   Vertices |   Edges | Known Values    | Computed Pot                     |   Tile Runtime (s) |   Bond Verification (s) |
|---------------------------|------------|---------|-----------------|----------------------------------|--------------------|-------------------------|
| Tetrahedron [11]          |          4 |       6 | T 2 = 2 B 2 = 1 | a 2 ˆ a, ˆ a 3                   |               0.02 |                    0    |
| Wheel W 5 [22]            |          5 |       8 | T 2 = 2 B 2 = 1 | a 2 ˆ a, ˆ a 4                   |               0.02 |                    0    |
| Lollipop L 3 , 3 [19]     |          6 |       6 | T 2 = 5 B 2 = 3 | ac, ˆ ˆ ab, ˆ bc 2 , b           |               4.29 |                   62.66 |
| 2 × 3 Square Lattice [23] |          6 |       7 | T 2 = 4 B 2 = 2 | ab ˆ 2 , ab, ˆ ˆ a 3 , bb        |               2.18 |                    0.25 |
| Path P 10 [10]            |         10 |       9 | T 2 = 6 B 2 = 5 | ae, ˆ ˆ a, be, ˆˆ bd, cd, ˆ cd   |            3233    |                62183    |
| Gear G 5 [20]             |         11 |      15 | T 2 = 3 B 2 = 2 | ab, ˆ ˆ abb, ˆ b 5               |               0.28 |                   15.57 |
| Icosahedron [23]          |         12 |      30 | T 2 = 3 B 2 = 2 | ab ˆ 4 , ˆ a 2 bb ˆ 2 , bbbb ˆ 2 |               2.4  |                    2.24 |
| K 100 [10]                |        100 |    4950 | T 2 = 2 B 2 = 1 | ˆ a 99 , a 50 ˆ a 49             |               8.96 |                    0    |

citation). In practice this property is exceedingly rare (currently Y 3 3 , is the only known example), so the bond verification step nearly never improves upon the pot found in the first step, despite taking much longer.

Figure 11: Optimal pot for T 2 and B 2 realizing the dodecahedron.

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00192v1-figure-d57380c4-feaa-436c-9a41-b502782d4f46.jpg)

Table 5: Scenario 2 OOPS New Results

| Graph                 |   Vertices |   Edges | Computed values   | Computed Pot                          |   Tile Runtime (s) | Bond Verification (s)   |
|-----------------------|------------|---------|-------------------|---------------------------------------|--------------------|-------------------------|
| 2 × 4 Square Lattice  |          8 |      10 | T 2 = 4 B 2 = 3   | ac, ˆ ˆ ab, ˆ bcc, ˆ ˆ bc 2           |              28.73 | 9744.89                 |
| Turan(8,4)            |          8 |      24 | T 2 = 3 B 2 = 2   | ab ˆ 5 , ˆ a 2 b 2 ˆ b 2 , b 4 ˆ b 2  |               1.82 | 5.40                    |
| 2 × 5 Square Lattice  |         10 |      13 | T 2 = 5 B 2 ≤ 3 ∗ | ac, ˆ ˆˆ ac, bc 2 , ˆ b 3 , cc ˆ 2    |             558.27 | N/A                     |
| Petersen Graph        |         10 |      15 | T 2 = 3 B 2 = 2   | ab ˆ 2 , ˆ ab ˆ 2 , b 3               |               0.31 | 0.38                    |
| Mobius Ladder M 10    |         10 |      15 | T 2 = 3 B 2 = 2   | ab ˆ 2 , ˆ a 3 , b 2 ˆ b              |               1.25 | 0.48                    |
| Truncated Tetrahedron |         12 |      18 | T 2 = 4 B 2 ≤ 3 ∗ | ac ˆ 2 , ˆ abc, ˆ ˆ bcc, ˆ ˆ bc 2     |             161.56 | N/A                     |
| 3 × 5 Square Lattice  |         15 |      22 | T 2 = 4 B 2 ≤ 3 ∗ | acc, ˆ ˆ a 2 ˆ b 2 , ˆ abc ˆ 2 , ˆ ac |              97.02 | N/A                     |
| Tesseract (4-cube)    |         16 |      32 | T 2 = 4 B 2 ≤ 3 ∗ | ac ˆ 3 , ˆˆ ac 3 , b 2 ˆ bc, ˆ b 3 c  |            9509.31 | N/A                     |
| Dodecahedron          |         20 |      30 | T 2 = 4 B 2 = 3   | ac ˆ 2 , ˆ abc, ˆ ˆ b 2 c, c 3        |             682.83 | 169285                  |

*indicates bond verification was unable to complete due to time constraints

## 4. Conclusion

This paper describes three separate computational tools to tackle some of the combinatorial problems associated with DNA self-assembly. The first tool, the SRP integer program, solves the Subgraph Realization Problem for any given pot. The second tool, the Scenario 1 integer program, solves the OPP in Scenario 1 on large graphs. The third tool, the Scenario 2 integer program, solves the OPP in Scenario 2, although it is much slower than the Scenario 1 integer program, and therefore cannot handle graphs with complex optimal pots. These tools provide researchers working on theoretical flexible tile selfassembly with ways to generate and verify solutions that were not previously possible. The SRP integer program allows researchers to verify the optimality of pots in Scenario 2, and the Scenario 1 and 2 integer programs allow for the generation of optimal pots which researchers may be able to generalize to wider families of graphs.

An immediate natural extension of this work is the creation of a Scenario 3 integer program. To do this, two primary challenges must be addressed. First, such a program would require the utilization of a computational tool to solve the non-isomorphic graph realization problem which defines Scenario 3. Once such a tool exists, it can be used similarly to the Scenario 2 integer program to create an additional verification loop in the algorithm. The second challenge is the growing search space. In general, Scenario 3 pots tend to be larger than those in Scenario 2. Since the runtime of our algorithm depends on the complexity of the optimal pot, this will result in significant slowdown.

There is also opportunity for future work in optimizing the Scenario 2 integer program. Several inefficiencies remain apparent in the algorithm presented here. Many of the different pots generated by the Scenario 2 integer program are equivalent (up to swapping tile labels), which results in the unnecessary checking of a significant number of pots. Additionally, the Scenario 2 integer program is still separated into two scripts. Unifying these into a single script could greatly improve efficiency.

Finally, it is possible to use the algorithms presented here to fully explore optimal solutions across broader families of graphs. Specifically, this could be used to algorithmically generate graphs for which a biminimal pot does not exist in Scenario 2. While it is known that such examples exist, there are no known characterizations of graphs with this property. This is also of great

interest to the development of the algorithm itself, as the slowest step of the algorithm is the verification of B 2 ( G ). This step would become unnecessary in the vast majority of cases if it were possible to accurately predict which graphs will exhibit this property.

## 5. Acknowledgements

We would like to thank faculty and staff at ICERM. Specifically, we want to thank the the Summer@ICERM TAs, Ryan Firestine, Michaela Fitzgerald, Eric Redmon, and Steph Reyes for their support. We would also like to thank our fellow students who participated in the Summer @ ICERM 2023 REU program.

## 6. Funding Sources

This material is based upon work supported by the National Science Foundation under Grant No. DMS-1929284 while the authors were in residence at the Institute for Computational and Experimental Research in Mathematics in Providence, RI, during the Summer@ICERM program.

## References

- [1] L. M. Adleman, Molecular computation of solutions to combinatorial problems, Nature 369 (1994) 40.
- [2] T. H. LaBean, H. Li, Constructing novel materials with dna, Nano Today 2 (2) (2007) 26-35.
- [3] K. Lund, A. J. Manzo, N. Dabby, N. Michelotti, A. Johnson-Buck, J. Nangreave, S. Taylor, R. Pei, M. N. Stojanovic, N. G. Walter, et al., Molecular robots guided by prescriptive landscapes, Nature 465 (7295) (2010) 206-210. doi:10.1038/nature09012 .
- [4] T. Omabegho, R. Sha, N. C. Seeman, A bipedal dna brownian motor with coordinated legs, Science 324 (5923) (2009) 67-71. doi:10.1126/ science.1170336 .
- [5] N. C. Seeman, An overview of structural dna nanotechnology, Molecular biotechnology 37 (3) (2007) 246.

| [6]   | H. Yan, S. H. Park, G. Finkelstein, J. H. Reif, T. H. LaBean, Dna-templated self-assembly of protein arrays and highly conductive nanowires, science 301 (5641) (2003) 1882-1884.                                                                                                                                   |
|-------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [7]   | N. Jonoska, N. C. Seeman, Computing by molecular self-assembly (Aug 2012). URL https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3363035/                                                                                                                                                                                |
| [8]   | W. Y. J. B. NC;, Assembly and characterization of five-arm and six-arm dna branched junctions (1991). URL https://pubmed.ncbi.nlm.nih.gov/1645997/                                                                                                                                                                  |
| [9]   | N. Jonoska, G. L. McColm, A. Staninska, Spectrum of a pot for dna com- plexes, in: International Workshop on DNA-Based Computers, Springer, 2006, pp. 83-94.                                                                                                                                                        |
| [10]  | J. Ellis-Monaghan, G. Pangborn, L. Beaudin, D. Miller, N. Bruno, A. Hashimoto, Minimal tile and bond-edge types for self-assembling dna graphs, in: Discrete and Topological Models in Molecular Biology, Springer, 2014, pp. 241-270.                                                                              |
| [11]  | L. Almod´var, o J. Ellis-Monaghan, A. Harsy, C. Johnson, J. Sorrells, Computational complexity and pragmatic solutions for flexible tile based DNA self-assembly, https://doi.org/10.48550/arXiv.2108.00035 (2021). arXiv:2108.00035 .                                                                              |
| [12]  | J. Ellis-Monaghan, N. Jonoska, G. Pangborn, Tile-based dna nanos- tructures: Mathematical design and problem encoding, in: Algebraic and Combinatorial Computational Biology, Elsevier, 2019, pp. 35-60.                                                                                                            |
| [13]  | N. C. Seeman, N. R. Kallenbach, DNA branched junctions, Annual Re- view of Biophysics and Biomolecular Structure 23 (1) (1994) 53-86, pMID: 7919792. arXiv:https://doi.org/10.1146/annurev.bb.23. 060194.000413 , doi:10.1146/annurev.bb.23.060194.000413 . URL https://doi.org/10.1146/annurev.bb.23.060194.000413 |
| [14]  | M. Ferrari, A. Cook, A. Houlihan, R. Roulaeu, N. Seeman, G. Pangborn, J. Ellis-Monaghan, Design formalism for dna self-assembly of polyhe- dral skeletons using rigid tiles, The Journal of Mathematical Chemistry 56 (5) (2018) 1365-1392.                                                                         |

| [15]   | C. G. Evans, E. Winfree, Physical principles for dna tile self-assembly, Chem. Soc. Rev. 46 (2017) 3808-3829.                                                                                                                                                                                                                                             |
|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [16]   | M. M. Ferrari, A. Pasotti, T. Traetta, On non-isomorphic biminimal pots realizing the cube, Bulletin of the Institute of Combinatorics and Applications (2022). URL https://api.semanticscholar.org/CorpusID:253157729                                                                                                                                    |
| [17]   | Gurobi Optimization, LLC, Gurobi Optimizer Reference Manual (2023). URL https://www.gurobi.com                                                                                                                                                                                                                                                            |
| [18]   | A. Luppold, D. Oehlert, H. Falk, Evaluating the performance of solvers for integer-linear programming, Tech. rep., Hamburg University of Tech- nology (2018).                                                                                                                                                                                             |
| [19]   | C. Griffin, J. Sorrells, Tile-based modeling of dna self-assembly for two graph families with appended paths, Involve, a Journal of Mathematics 16 (1) (2023) 69-106.                                                                                                                                                                                     |
| [20]   | C. Mattamira, Dna self-assembly design for gear graphs, Rose-Hulman Undergraduate Mathematics Journal 21 (1) (2020) 11.                                                                                                                                                                                                                                   |
| [21]   | E. Gonzalez, Tile based self-assembly of the rook's graph, Master's the- sis, California State University, San Bernadino (2020).                                                                                                                                                                                                                          |
| [22]   | G. Lopez, C. Johnson, Self-assembling dna complexes with a wheel graph structure, arXiv preprint arXiv:2302.13014 (2023).                                                                                                                                                                                                                                 |
| [23]   | L. Almodovar, J. Ellis-Monaghan, A. Harsy, C. Johnson, J. Sorrells, Optimal tile-based dna self-assembly designs for lattice graphs and platonic solids, tBD (2021). URL https://scholarworks.lib.csusb.edu/ mathematics-publications/1/?utm_source=scholarworks.lib. csusb.edu%2Fmathematics-publications%2F1&utm_medium=PDF& utm_campaign=PDFCoverPages |
Jacob Ashworth Luca Grossmann Fausto Navarro Leyda Almodovar Amanda Harsy Cory Johnson Jessica Sorrells
Algorithmic Pot Generation: Algorithms for the Flexible-Tile Model of DNA Self-Assembly
Recent advancements in microbiology have motivated the study of the
production of nanostructures with applications such as biomedical computing and
molecular robotics. One way to construct these structures is to construct
branched DNA molecules that bond to each other at complementary cohesive ends.
One practical question is: given a target nanostructure, what is the optimal
set of DNA molecules that assemble such a structure? We use a flexible-tile
graph theoretic model to develop several algorithmic approaches, including a
integer programming approach. These approaches take a target undirected graph
as an input and output an optimal collection of component building blocks to
construct the desired structure.