13.12.2012 Views

Theoretical and Experimental DNA Computation (Natural ...

Theoretical and Experimental DNA Computation (Natural ...

Theoretical and Experimental DNA Computation (Natural ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!