Theoretical and Experimental DNA Computation (Natural ...
Theoretical and Experimental DNA Computation (Natural ...
Theoretical and Experimental DNA Computation (Natural ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2.6 <strong>Computation</strong>al Complexity 39<br />
Another problem may be concerned with cliques. A clique is a set of vertices<br />
in an undirected graph in which each vertex is connected to every other<br />
vertex. Cliques are complete graphs on n vertices, where n is the number of<br />
vertices in the clique. The maximum clique problem is concerned with finding<br />
the largest clique in a graph.<br />
For example, consider the graph depicted in Fig. 2.13. It contains a subgraph<br />
that is a clique of size 4.<br />
Fig. 2.13. Graph containing a clique (shown in bold)<br />
The problem of identifying “clusters” of related objects is often equivalent to<br />
finding cliques in graphs. One “real world” application of this was developed<br />
by the US Internal Revenue Service to detect organized tax fraud, where<br />
groups of “phony” tax forms are submitted. A graph is constructed, where<br />
vertices correspond to tax return forms <strong>and</strong> edges link any forms that look<br />
similar. The existence of a large clique suggests large-scale organized fraud<br />
[146].<br />
As we can see, our problem is to either decide if a graph has certain properties<br />
or construct from it a path or subgraph with certain properties. We show in<br />
a later chapter how this may be achieved in the context of models of <strong>DNA</strong><br />
computation.<br />
Another type of graph is the tree. These are connected, undirected, acyclic<br />
graphs. This structure is accessed at the root vertex (usually drawn, perhaps<br />
confusingly, at the top of any diagrammatic representation). Each vertex in a<br />
tree is either a leaf node or an internal node (the terms vertex <strong>and</strong> node are<br />
interchangeable). An internal node has one or more child nodes, <strong>and</strong> is called<br />
the parent of the child node. An example tree is depicted in Fig. 2.14.<br />
2.6 <strong>Computation</strong>al Complexity<br />
It should be clear that different algorithms require different resources. A program<br />
to sort one hundred integers into ascending order will “obviously” run