Download Boolean Functions

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Birkhoff's representation theorem wikipedia , lookup

History of algebra wikipedia , lookup

Propositional calculus wikipedia , lookup

Heyting algebra wikipedia , lookup

George Boole wikipedia , lookup

Transcript
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