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.
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