Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Section 10.1 Boolean Functions 1 Computers & Boolean Algebra • Circuits in computers have inputs whose values are either 0 or 1 • Mathematician George Boole set forth basic rules of logic, which subsequently were adapted to define basic circuits; these rules form basis of Boolean algebra • Operation of a circuit is defined by a Boolean function that specifies the output for each set of inputs 2 Boolean algebra • Boolean algebra provides operations and rules for working with set {0,1} • Most common operations are: – complement (NOT) – Boolean sum (OR) – Boolean product (AND) • Rules of precedence: 1) complement, 2) product, 3) sum 3 Notation for Boolean algebra Complement is denoted by bar: 0 = 1 and 1 =0 Boolean sum is denoted by +: 1+1=1 1+0=1 0+1=1 0+0=0 0.1=0 0.0=0 Boolean product is denoted by . Symbol may be omitted 1.1=1 1.0=0 4 Example 1 Find the value of 1 . 0 + (0 + 1) =0 + 1 =0+0 =0 5 Boolean algebra & logical operations • Boolean algebraic operations correspond to logical operations: – – – – complement = sum = product = 0 = F, 1 = T • Results of Boolean algebra can be directly translated into results about propositions, and vice-versa 6 Boolean functions • Let B = {0, 1} – a variable x is a Boolean variable if it assumes values only from B – a function from Bn = {(x1, x2, … xn) | xi B, 1<=i<= n} to B is a Boolean function of degree n • Values of a Boolean function are often displayed in tables resembling truth tables 7 Boolean expressions • Boolean functions can be represented using expressions made up from the variables and Boolean operations • Boolean expressions in the variables x1, x2, … xn are defined recursively as: – 0, 1, x1, x2, …. ,xn are Boolean expressions; – if E1 and E2 are Boolean expressions, then their complements, (E1E2) and (E1+E2) are Boolean expressions • Each Boolean expression represents a Boolean function; values of the function are obtained by substituting 0 and 1 for variables in the expression 8 Example 2 Find the values of the Boolean function represented by F(x,y,z) = xy + z x y z xy z F(x,y,z) 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 9 Properties & Operations on Boolean Functions • Boolean functions F and G of n variables are equal if and only if F(b1, b2, … bn) = G(b1, b2, … bn) whenever b1, b2, … bn B • Boolean expressions that represent the same function are equivalent- e.g. xy, xy+0, xy.1 • Complement of a Boolean function F is the function F where F(x1,…,xn) = F(x1,…,xn) 10 Boolean sums & products of functions • Let F and G be Boolean functions of degree n – Boolean sum F+G is defined by (F+G)(x1,…,xn) = F(x1,…,xn) + G(x1,… ,xn) – Boolean product FG is defined by (FG)(x1,…,xn) = F(x1,…,xn)G(x1,…,xn) 11 Boolean functions of degree n • A Boolean function of degree 2 is a function from a set of 4 elements (pairs of elements from B={0,1}) to B, a set with 2 elements • There are 16 different Boolean functions of degree 2: x 1 1 0 0 y 1 0 1 0 f1 1 1 1 1 f2 1 1 1 0 f3 1 1 0 1 f4 1 1 0 0 f5 1 0 1 1 f6 1 0 1 0 f7 1 0 0 1 f8 1 0 0 0 f9 f10 f11 0 0 0 1 1 1 1 1 0 1 0 1 f12 0 1 0 0 f13 0 0 1 1 f14 0 0 1 0 f15 f16 0 0 0 0 0 0 1 0 12 Identities of Boolean algebra • Identities of Boolean algebra are analogous to logical equivalences • These identities are useful in simplifying circuit design • Each identity can be proven using a table • Identities can be used to prove further identities 13 Boolean identities Law of the double complement: x = x Idempotent laws: x + x = x and x . x = x Identity laws: x + 0 = x and x . 1 = x Dominance laws: x + 1 = 1 and x . 0 = 0 Commutative laws: x + y = y + x and xy = yx Associative laws: x + (y + z) = (x + y) + z and x(yz) = (xy)z Distributive laws: x + yz = (x + y)(x + z) and x(y + z) = xy + xz DeMorgan’s laws: (xy) = x + y and (x + y) = x . y 14 Example 3: Proof of DeMorgan’s first law x y x y xy xy x+y 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 1 1 15 Example 4 Prove the absorption law: x(x + y) = x using the identities of Boolean algebra x(x + y) = (x + 0)(x + y) =x+0.y =x+y.0 =x+0 =x identity law for Boolean sum distributive law of Boolean sum over Boolean product commutative law for Boolean product dominance law for Boolean product identity law for Boolean sum 16 Duality • Note that most identities come in pairs • The relationship between the 2 identities in a pair can be explained using the concept of a dual: the dual of a Boolean expression is obtained by interchanging Boolean sums and Boolean products, and 1s and 0s 17 Example 5 Find the dual of x(y + 0) Substitute . for + and + for .: x + (y . 0) Substitute 0 for 1: x + (y . 1) 18 Duality • The dual of a Boolean function F represented by a Boolean expression is the function represented by the dual of the expression • This dual function Fd, does not depend of the particular Boolean expression used to represent F; an identity between functions represented by Boolean expressions remains valid when the duals of both sides of the identity are taken • This duality principle is useful for obtaining new identities 19 Example 6 • Construct an identity from the absorption law: x(x + y) = x • Taking duals of both sides: – x + (x . y) –x • Result is x + xy = x, also called the absorption law 20 Abstract definition of a Boolean algebra • Most common way to define a Boolean algebra is to specify properties that operations must satisfy • Next slide illustrates such a definition 21 Definition of a Boolean algebra A Boolean algebra is a set B with two binary operations and , _ elements 0 and 1 and a unary operation properties hold for all x, y and z in B: such that the following Identity laws: x 0 = x and x 1 = x Domination laws: x x = 1 and x x = 0 Associative laws: (x y) z = x (y z) and (x y) z = x (y z) Commutative laws: x y = y x and x y = y x Distributive laws: x (y z) = (x y) (x z) and x (y z) = (x y) (x z) 22 Section 10.1 Boolean Functions 23