Simplify a Boolean expression using K-maps?
I don't get it, aren't K-Maps for simplifying expressions when all the terms have the same variables? Every term has a different number or type of variable, how am I supposed to use K-maps here?
- husoskiLv 72 months agoFavorite Answer
No, you don't need every variable in every term in order to use a Karnaugh map. You just need to write out the truth table for the boolean expression. That truth table is effectively an equivalent representation of your expression as a sum of minterms. (Each 1 or T in the final column corresponds to a minterm.)
If you don't want to do the truth table, you can use boolean algebra to get those entries to plug into a K-map grid. Pardon me if I use A' for "not A" instead of the C-like !A. First, use de Morgan to get rid of parentheses:
A' B' + A' B C' + (A + C')' = A' B' + A' B C' + A' C
Then add (x + x') factors in all terms with a missing variable x. (This is the magic step to make every term a minterm.)
= A' B' (C + C') + A' B C' + A' C (B + B')
That's valid because C + C' = 1 and B + B' = 1. Now use the distributive property to get rid of parentheses:
= A' B' C + A' B' C' + A' B C' + A' B C + A' B' C
Finally, remove duplicate minterms if there are any. This is easier to do if you reorder the term in "index order". You find that A' B' C occurs twice:
= A' B' C' + A' B' C + A' B C + A' B' C'
In indexed minterm "m_x for the minterm with index x" form, that's:
= m_0 + m_1 + m_2 + m_3
Those are the index spots in your K-map grid that get ones. All the rest are zeroes.
If you've done more than a half dozen or so K-maps (or had any practice with boolean algebra), it's pretty obvious now that the answer will be simply A'. Or !A in your notation.