210 likes | 305 Views
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?
E N D
CS1022Computer Programming & Principles Lecture 2 Boolean Algebra
Plan of lecture • Simplifying Boolean expressions • Karnaugh maps • Logic circuits CS1022
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
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: CS1022
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 CS1022
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 CS1022
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 CS1022
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 CS1022
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 CS1022
Karnaugh maps (4) • Hence, CS1022
Karnaugh maps (5) Let’s simplify pqr pqr pqrpqr pqr • Karnaugh map: • It contains a cluster of 4 (A) and a pair (B) • There are no hidden pairs • We must try relabelling exhaustively CS1022
Karnaugh maps (6) Cluster (A) corresponds to CS1022
Karnaugh maps (7) Cluster (B) corresponds to So, simplified expression is q pr CS1022
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”: ? q1 p1 q2 p2 q3 p3 ... ... qm pn CS1022
Logic circuits (2) • Devices are built of logic gates which perform basic Boolean operations (, , and ) OR gate ANDgate NOT gate a a a a a b a (a b) a b b b b NANDgate CS1022
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? p 4 3 1 5 q 6 7 2 r CS1022
Logic circuits (4) • Example: What is the final output of this circuit? pqr pqr pqr pqr pqr pq pq pqr pqr pqr p p p p 3 5 5 4 3 1 4 1 3 3 1 5 4 1 5 4 q q q q 6 7 6 7 6 6 7 7 2 2 2 2 r r r r CS1022
Logic circuits (5) • Solution: pqr pqr pqr CS1022
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: • pqrpqr 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) CS1022
Logic circuits (7) • With p(q r), we simplify previous circuit to obtain p q r CS1022
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 CS1022