1 3 2 5 1 2 1 x 2 This was adjacency matrix after k=x and k=1 steps. Notice the shorter (green) path from x to 4. Now use k=3 and see how we pick it up. We do get to look at paths of length > 2! 4 4 3 3 X 1 2 3 4 X 1 2 3 4 A[i,3]+A[3,j] < A[i,j] ?
7.2 Logic circuits • Boolean Expressions • Logic Networks • Truth Functions • Can every truth table be written as a Boolean expression? As a computer circuit?
Switches Control (off=false) + - Control (on=true) + -
A Or B A + - B
A and B A B + -
Not A A - +
And, Or and Not And ( . ) Or ( + ) Not (‘)
Boolean Expressions • A Boolean Expression in n variables x1,x2, .. Xn, is any string of finite symbols formed by the following rules • 1. x1,x2, .. Xn are Boolean expressions • 2. If P and Q are Boolean Expressions, then so are (P+Q), PQ , and P’.
Boolean Expressions (x + y) x + y’(xy+z) is a Boolean expression.
Truth Functions • A truth function is a truth table for Boolean expressions
Find a network for xy’+z X Y Z Exercise: Find a network for (xy’+z)’
Find a Boolean expression x y ? z
We can do the following Truth function Boolean expression Boolean expression logic network Can we find a Boolean expression for any truth function? Yes!
Canonical Form • For the truth function shown, find a Boolean expression: True for: xyz’ xy’z x’yz x’yz’ x’y’z
So the truth function is given by: xyz’+xy’z+x’yz+x’yz’+x’y’z This is the Canonical form for the truth function (a standard form into which we can place any two Boolean expressions for comparison.)
Simplify, using Boolean algebra: xyz’+xy’z+x’yz+x’yz’+x’y’z = xyz’+xy’z+x’yz+x’yz’+x’y’z+x’yz’ =y’z(x+x’)+x’y(z+z’)+yz’(x+x’) =y’z+x’y+yz’ Notice the groupings of two the same/ one different.
Half Adder • Design a circuit to add binary numbers
Half Adder-as two functions xy’+x’y=(x+y)(xy)’ xy
The half-adder (x+y)(xy)’ x sum y x y carry xy
To add two binary numbers Full adder Cprevious s Half adder x c s cnext Half Adder y c
General add: xyz+abc x Digit 1 Half adder a Digit 2 Full adder y b Digit 3 Full adder z c Digit 4