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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

44 2 <strong>Theoretical</strong> Computer Science: A Primer<br />

<strong>and</strong> showed how they may be pieced together to perform computations. We<br />

then considered the nature of computation itself, <strong>and</strong> introduced the concept<br />

of an algorithm. This motivated the study of machine models, or models of<br />

computation. We introduced several such models (the finite-state automaton,<br />

the Turing machine, <strong>and</strong>theR<strong>and</strong>om Access Machine), <strong>and</strong> described their<br />

features, strengths, <strong>and</strong> weaknesses. We then considered the implementation<br />

of algorithms within these models, introducing the organization of information<br />

into data structures. We examined a simple data structure, the array, before<br />

considering a more complex structure, the graph. We then highlighted the<br />

fact that different algorithms require different resources, introducing the key<br />

concept of computational complexity. We described the importance of this<br />

idea, <strong>and</strong> showed how to calculate the complexity of algorithms. This then<br />

motivated a discussion of how to choose an algorithm for a particular problem.<br />

We concluded with a description of complexity classes, <strong>and</strong> introduced the<br />

NP-complete problems, for which no fast algorithms yet exist.<br />

2.9 Bibliographical Notes<br />

A st<strong>and</strong>ard textbook on computer architecture is [149], which includes a treatment<br />

of Boolean algebra. Algorithms <strong>and</strong> complexity are introduced in [48]<br />

(which also covers sorting networks, encountered in Chap. 5). Another classic<br />

text on data structures <strong>and</strong> algorithms is [5]. For an excellent introduction to<br />

the theory of graphs, see [67]. The controversial 2 paper that first established<br />

that any planar graph is four colorable is published as both a book [16] <strong>and</strong> a<br />

paper [15]. Finally, a discussion of why some problems are inherently difficult<br />

<strong>and</strong> a treatment of state-of-the art solution methods are given in [107].<br />

2 Due to its reliance on computer-assisted proof.

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

Saved successfully!

Ooh no, something went wrong!