21
CS1022 Computer Programming & Principles Lecture 2 Boolean Algebra

CS1022 Computer Programming & Principles

Embed Size (px)

DESCRIPTION

CS1022 Computer Programming & Principles. Lecture 2 Boolean Algebra. Plan of lecture. Simplifying Boolean expressions Karnaugh maps Logic circuits. Simplifying Boolean expressions (1). Given a Boolean expression, can we find a “simpler” equivalent expression? - PowerPoint PPT Presentation

Citation preview

CS1022 Computer Programming &

Principles

Lecture 2Boolean Algebra

Plan of lecture• Simplifying Boolean expressions• Karnaugh maps• Logic circuits

2CS1022

Simplifying Boolean expressions (1)• Given a Boolean expression, can we find a “simpler”

equivalent expression?– “Simpler” = “fewer symbols”

• Technique applied to disjunctive normal form (DNF)– Even though it might be more complex than original– Process: original expr. DNF simplified expr.

• Technique restricted to at most 3 Boolean variables– Extension to more variables is possible

3CS1022

Simplifying Boolean expressions (2)• To simplify, let’s suppress “”– Just like “” in algebra can be dropped (e.g., 2y = 2 y)– For instance, the expression in disjunctive normal form

(p q r) (p q r) (p q r)Will be represented as

pqr pqr pqr• We can simplify the above expression as follows:

4CS1022

pqr pqr pqr (prq prq) pqr Comm.& assoc. Laws

pr(q q) pqr Distr. Law pr pqr Since q q = 1

Simplifying Boolean expressions (3)• Compare pr pqr and pqr pqr pqr– They are equivalent – all changes done via a “law”– It is much simpler than original expression

• Very important: simplification can be automated– Each step in the process is an operation– Sequence of steps terminates at some point

• Notice:– First step puts together two minterms which differed by

one symbol– Second step reduced two terms to one

5CS1022

Karnaugh maps (1)• Simplification done via a Karnaugh map– “Device” invented in the 1950s to help circuit design– Uses a visual display to indicate which pairs of minterms

can be merged as a simpler expression• For Boolean expressions with 3 variables (p, q and r)– Karnaugh map is a table with 2 rows and 4 columns– Columns labelled with all possible disjunctions of p and q

and their negations– Rows labelled with r and r

6CS1022

pq pq pq pq rr

Karnaugh maps (2)• As we move from column to column precisely one

change occurs in the column label• Cells correspond to 8 different minterms stemming

from 3 Boolean variables• For a given Boolean expression, we write “1” in

each cell whose row/column expression appears• For instance, pqr pqr pqr has map

7CS1022

pq pq pq pq r 1 1r 1

Karnaugh maps (3)• Required simplification suggested by “clusters” of 1s– Shaded in green here

• There is only one such cluster in the example– Corresponds to terms we combined using the laws

8CS1022

pq pq pq pq r 1 1r 1

Karnaugh maps (3)• Relabelling columns preserves adjacency– Some clusters may be “hidden”– NB relabelling must be consistent with requirement that

adjacent columns differ by one symbol only• Example: Karnaugh map of pqr pqr pqr

– Relabelling columns produces an alternative Karnaugh map and reveals a pair of adjacent minterms

9CS1022

pq pq pq pq r 1 1r 1

pq pq pq pqr 1 1r 1

Karnaugh maps (4)• Hence,

10CS1022

pq pq pq pqr 1 1r 1

pqr pqr pqr pqr (pqr pqr) pqr pr(q q) pqr pr

Karnaugh maps (5)Let’s simplify pqr pqr pqr pqr pqr• Karnaugh map:

• It contains a cluster of 4 (A) and a pair (B)– There are no hidden pairs – We must try relabelling exhaustively

11CS1022

pq pq pq pqr 1 1r 1 1 1

Karnaugh maps (6)Cluster (A) corresponds to

12CS1022

pq pq pq pqr 1 1r 1 1 1

pqr pqr pqr pqr (p p)qr (p p)qr qr qr q(r r) q

Karnaugh maps (7)Cluster (B) corresponds to

So, simplified expression is q pr

13CS1022

pq pq pq pqr 1 1r 1 1 1

pqr pqr pr(q q) pr

Logic circuits (1)• One of the main application of Boolean algebra is

the design of binary devices– They accept a (finite) number of inputs– They produce a (finite) number of outputs– Binary: only two possible values for each input & output

• Circuits as “black boxes”:

14CS1022

?...

p1p2p3

pn

...q1q2q3

qm

Logic circuits (2)• Devices are built of logic gates which perform basic

Boolean operations (, , and )

15CS1022

a

ba b

a

ba b

a a

a

b(a b)

OR gate

AND gate

NOT gate

NAND gate

• Interconnecting gates produces a logical circuit• A logical circuit evaluates a Boolean expression• Example: What is the final output of this circuit?

Logic circuits (3)

16CS1022

4

3

2

1pq

r5

6

7

4

3

2

1pq

r5

6

7

• Example: What is the final output of this circuit?Logic circuits (4)

17CS1022

4

3

2

1pq

r5

6

7

pq

4

3

2

1pq

r5

6

74

3

2

1pq

r5

6

7

pq pqr pqr pqr pqr pqr

pqr pqr pqr

• Solution: pqr pqr pqrLogic circuits (5)

18CS1022

Gate Inputs Output1 p, q pq2 p, q pq3 pq, r pqr4 pq, r pqr5 pq, r pqr6 pqr, pqr pqr pqr7 pqr pqr, pqr pqr pqr pqr

• Logic circuits can be simplified if we allow AND and OR gates to have more than 2 inputs

• More dramatic simplifications w/ Karnaugh maps– 2 clusters (one hidden)

• We can simplify things:– pqr pqr pq(r r) pq– pqr pqr (q q)pr pr

• That is, pqr pqr pqr pq pr– We can further simplify this as p(q r)

Logic circuits (6)

19CS1022

pq pq pq pqr 1 1r 1

• With p(q r), we simplify previous circuit to obtainLogic circuits (7)

20CS1022

p

qr

Further reading• R. Haggarty. “Discrete Mathematics for

Computing”. Pearson Education Ltd. 2002. (Chapter 9)

• Wikipedia’s entry on Boolean algebra• Wikibooks entry on Boolean algebra

21CS1022