Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS1022 Computer Programming & Principles

Similar presentations


Presentation on theme: "CS1022 Computer Programming & Principles"— Presentation transcript:

1 CS1022 Computer Programming & Principles
Lecture 2 Boolean Algebra

2 Plan of lecture Simplifying Boolean expressions Karnaugh maps
Logic circuits CS1022

3 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 CS1022

4 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 pqr  pqr  pqr We can simplify the above expression as follows: pqr  pqr  pqr (prq  prq)  pqr Comm.& assoc. Laws pr(q q)  pqr Distr. Law pr  pqr Since q q = 1 CS1022

5 Simplifying Boolean expressions (3)
Compare pr  pqr and pqr  pqr  pqr 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 CS1022

6 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 pq pq pq pq r r CS1022

7 Karnaugh maps (2) pq pq pq pq r 1 r
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, pqr  pqr  pqr has map pq pq pq pq r 1 r CS1022

8 Karnaugh maps (3) pq pq pq pq r 1 r
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 pq pq pq pq r 1 r CS1022

9 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  pqr  pqr Relabelling columns produces an alternative Karnaugh map and reveals a pair of adjacent minterms pq pq pq pq r 1 r pq pq pq pq r 1 r CS1022

10 Karnaugh maps (4) pq pq pq pq r 1 r Hence, pqr  pqr  pqr 
pqr  pr(q q) pqr  pr pq pq pq pq r 1 r CS1022

11 Karnaugh maps (5) Let’s simplify pqr  pqr  pqr  pqr  pqr
It contains a cluster of 4 (A) and a pair (B) There are no hidden pairs We must try relabelling exhaustively pq pq pq pq r 1 r CS1022

12 Karnaugh maps (6) Cluster (A) corresponds to pq pq pq pq r 1 r
pqr  pqr  pqr  pqr (p  p)qr  (p  p)qr qr  qr q(r  r) q CS1022

13 Karnaugh maps (7) Cluster (B) corresponds to So, simplified expression is q  pr pq pq pq pq r 1 r pqr  pqr pr(q  q) pr CS1022

14 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”: ? p1 q1 p2 q2 p3 q3 ... ... pn qm CS1022

15 Logic circuits (2) Devices are built of logic gates which perform basic Boolean operations (, , and ) a b a  b OR gate a b a  b AND gate a a NOT gate a b (a  b) NAND gate CS1022

16 Logic circuits (3) Interconnecting gates produces a logical circuit
A logical circuit evaluates a Boolean expression Example: What is the final output of this circuit? 4 3 2 1 p q r 5 6 7 CS1022

17 Logic circuits (4) Example: What is the final output of this circuit?
pq pq pqr pqr pqr pqr  pqr 4 3 2 1 p q r 5 6 7 4 3 2 1 p q r 5 6 7 4 3 2 1 p q r 5 6 7 4 3 2 1 p q r 5 6 7 pqr  pqr  pqr CS1022

18 Logic circuits (5) Solution: pqr  pqr  pqr Gate Inputs Output 1
2 p, q pq 3 pq, r pqr 4 pq, r pqr 5 pq, r pqr 6 pqr, pqr pqr  pqr 7 pqr  pqr, pqr pqr  pqr  pqr CS1022

19 Logic circuits (6) 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  pqr  (q  q)pr  pr That is, pqr  pqr  pqr  pq  pr We can further simplify this as p(q  r) pq pq pq pq r 1 r CS1022

20 Logic circuits (7) With p(q  r), we simplify previous circuit to obtain p q r CS1022

21 Further reading R. Haggarty. “Discrete Mathematics for Computing”. Pearson Education Ltd (Chapter 9) Wikipedia’s entry on Boolean algebra Wikibooks entry on Boolean algebra CS1022


Download ppt "CS1022 Computer Programming & Principles"

Similar presentations


Ads by Google