next up previous
Next: The three vertex colorability Up: Current status: Constructing graphs Previous: Current status: Constructing graphs

The Hamiltonian Cycle Problem.

Let G be a finite graph with V(G) the set of vertices and E(G) the set of edges. A Hamiltonian cycle c of G is a cycle that goes through every vertex exactly once. The Hamiltonian cycle problem (HCP) asks whether a given graph G has a Hamiltonian cycle.


  
Figure 2: An example of a graph.
\begin{figure}
\begin{center}
\mbox{
\epsfxsize=2.5in
\epsfbox{colorgraph2.eps}
}
\end{center}\end{figure}

We will consider the graph presented in Fig.2 as an example. The cycle v1v6v4v3v2v5v1 is a Hamiltonian cycle. Of course, there are many other cycles that are not Hamiltonian, for example, v1v6v5v1 or the loop v2v5v1v2v5v1v2.

We construct the graph by using k-armed branched molecules for each k-degree vertex. For the example presented in Fig.2, we will need one 2-armed branched molecule (which is just a regular double-stranded DNA molecule), four 3-armed branched molecules and one 4-armed branched molecule. The 3'end extension of each arm (representing one end of an edge) is complementary to the 3'end of the arm (representing the other end) of the same edge. Since a cycle passing through a vertex uses only two edges incident to the vertex, there are $\left( \begin{array}{c} k \\ 2
\end{array} \right)$ possible ways for a cycle to pass through a vertex. Every path may appear in two opposing DNA orientations within the molecule, hence, for each k-degree vertex we form $2\left( \begin{array}{c} k \\ 2
\end{array} \right)$ k-armed branched molecules that represent that vertex. Each one of these molecules will represent one way a cycle could pass through the vertex. To ensure that only that path will be used, we phosphorylate the 5'end of that connection. The ligase enzyme bonds, ``ligates'' the beginning of one DNA strand to the end of another DNA strand, but would not ligate (connect) ends if the 5'end is not phosphorylated at the appropriate place. We illustrate this in Fig.3 where we show six molecules representing six different paths through a vertex of degree 4. The stars indicate the 5'end that will be phosphorylated. There will be six other molecules that establish that same connections between the edges but with the other orientations.


  
Figure 3: Six molecules representing a vertex with degree 4. The four codes A,B,C,D within the single stranded 3'ends encode the four edges incident to the vertex.
\begin{figure}
\begin{center}
\mbox{
\epsfxsize=4.7in
\epsfbox{cyclevert.eps}
}
\end{center}\end{figure}

The molecules are designed such that each single strand of the k-armed branched molecule has a constant length (say n). All vertex building blocks are combined and their compatible ends are allowed to form double-stranded DNA. The resulting molecules that have no open ends represent graphs; copies of the original graph, or covering graphs of the original graphs.



Proposition. Let $C=\{G_1,\dots,G_m\}$ be the set of graph structures Gi that are obtained by adding all building block molecules in a test tube and allowing them to join. Assume that C contains all possible graph structures. Let c be a cycle in the graph G. Then there is $G_j\in C$ that contains a circular single-stranded DNA molecule that encodes c.

The proof of this proposition follows from the design of the vertex building blocks.



The algorithm for the HCP has the following four steps:


  
Figure 4: A graph structure that contains a Hamiltonian cycle.
\begin{figure}
\begin{center}
\mbox{
\epsfxsize=3in
\epsfbox{graphcycle2.eps}
}
\end{center}\end{figure}

One DNA graph structure for the graph in Fig. 2 that would be obtained after the first step of the algorithm is presented in Fig. 4. The colored lines indicate the three DNA single stranded molecules that make up the graph structure. The blue strand indicated with a dotted line is a circular single-stranded molecule that encodes the Hamiltonian Cycle. The stars indicate nicks that are ligated.


next up previous
Next: The three vertex colorability Up: Current status: Constructing graphs Previous: Current status: Constructing graphs
Natasha Jonoska
1999-09-14