151 likes | 323 Views
Quine-McCluskey Minimization Algorithm. Section 4.4. What is it?. Karnaugh maps are nice, but only works for up to 6 variables because it is “manual.” Quine-McCluskey algorithm is similar, but is automated with a computer. Like Karnaugh maps, Q-M relies on “Theorem T10,” that is
E N D
Quine-McCluskey Minimization Algorithm Section 4.4
What is it? • Karnaugh maps are nice, but only works for up to 6 variables because it is “manual.” • Quine-McCluskey algorithm is similar, but is automated with a computer. • Like Karnaugh maps, Q-M relies on “Theorem T10,” that is • AB + AB’ = A.
Quine-McCluskey Algorithm • Computerized • Theoretically no limit to number of input variables • Effective, always finds all the prime implicants. • However, the complexity (worst case) is exponential in the number of variables! • But that may not be really “bad,” because the number of minterms that you’ll have to input is also exponential! • Q-M Algorithm, as is, is pretty “plain” (but still interesting enough) • No good strategy for always running it in a reasonable amount of time.
Representation of Product Terms • Must represent 3 possibilities for each variable • Uncomplemented (perhaps use 1) • Complemented (perhaps use 0) • Doesn’t appear (perhaps use X)
Quine-McCluskey Algorithm has two halves • Generate all prime implicants • A prime implicant is a product term where there’s no smaller product term that covers it • That is, a prime implicant corresponds to a biggest possible circle in a K-map where you circle groups of 1’s • Search for a set of prime implicants that give you a minimum-cost cover for all the minterms
The Algorithm – Intuitive explanation of the Tabular Method • For hand-computed version • Start with truth table (i.e. all minterms) • Group all minterms by the number of 1’s they contain in the input columns • Combine product terms from adjacent groups • Two product terms can be combined if they differ by exactly 1 bit (one minterm has a true version of the variable, the other a complemented version of same) • The combined product term has a 0 in that position • We’ll do an example on the board • The computer version doesn’t group minterms into groups like this – maybe that should be updated
The Algorithm – Intuitive explanation (cont’d) • After combining a pair of minterms or product terms in general, create new groups • Each member of a new group must have the same number of 1’s and -’s. • The dashes represent missing variables • Also, the -’s (missing variables) must be in the same positions.
The Algorithm – Intuitive explanation (cont’d) • Combine as much as possible. • Finally, when no more combination is possible, select prime implicants (like a biggest “circle” in a K-map) to “cover” all ones in the function.
Cube manipulations: • Determining whether 2 cubes are combinable by T10. • Combining cubes using T10.