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.

Boolean algebra<br />

2.2 Algorithms <strong>and</strong> Automata 25<br />

A Boolean function has one or more input variables <strong>and</strong> yields a result that<br />

depends only on the values of those variables. One function may be defined<br />

by saying that f(X) is1ifX is 0, <strong>and</strong> F (X) is0ifX is 1. This is obviously<br />

the NOT function described above.<br />

Because each Boolean function of n variables has only 2 n possible combinations<br />

of input values, we can describe the function completely by listing a<br />

table of 2 n rows, each specifying a unique set of input values with the corresponding<br />

value for the function. Such tables are known as truth tables, <strong>and</strong><br />

the tables of Fig. 2.1 are examples of these.<br />

We may combine gates to form circuits to evaluate more complicated functions.<br />

For example, we may want to say “if the car ignition is on <strong>and</strong> the<br />

seatbelt is not fastened then sound the buzzer.” The circuit to implement this<br />

function is depicted in Fig. 2.2.<br />

X<br />

Y<br />

X Y Z<br />

0 0 0<br />

0 1 0<br />

1 0 1<br />

1 1 0<br />

Fig. 2.2. Example circuit<br />

Here, X represents the state of the ignition, <strong>and</strong> Y the state of the seatbelt.<br />

The buzzer sounds (Z =1)onlyifX is 1 (i.e., the ignition is on) <strong>and</strong> Y is 0<br />

(i.e., not 1, or the seatbelt is not on).<br />

Boolean logic circuits implement computations by taking in inputs, applying<br />

some function, <strong>and</strong> producing an output. We now examine the nature of<br />

computation in more detail.<br />

2.2 Algorithms <strong>and</strong> Automata<br />

An algorithm is a mathematical procedure for performing a computation. To<br />

phrase it another way, an algorithm is “a computable set of steps to achieve a<br />

Z

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

Saved successfully!

Ooh no, something went wrong!