Quine-Mccluskey Algorithm: Boolean Functions W.V. Quine Edward J. Mccluskey Karnaugh Mapping
Quine-Mccluskey Algorithm: Boolean Functions W.V. Quine Edward J. Mccluskey Karnaugh Mapping
Quine–McCluskey algorithm
Implicant: In Boolean logic, an implicant is a "covering" (sum term or product term) of one or more minterms in a
sum of products (or maxterms in a product of sums) of a boolean function
Complexity
Although more practical than Karnaugh mapping when dealing with more than four variables, the
Quine–McCluskey algorithm also has a limited range of use since the problem it solves is NP-hard:
the runtime of the Quine–McCluskey algorithm grows exponentially with the number of variables. It
can be shown that for a function of n variables the upper bound on the number of prime implicants is
3n/n. If n = 32 there may be over 6.5 * 1015 prime implicants. Functions with a large number of
variables have to be minimized with potentially non-optimal heuristic methods, of which
the Espresso heuristic logic minimizer is the de-facto standard.[1]
Example
m2 0 0 1 0 0
A B C D f
m3 0 0 1 1 0
m0 0 0 0 0 0
m4 0 1 0 0 1
m1 0 0 0 1 0
m5 0 1 0 1 0
2
m7 0 1 1 1 0 Number Binary
Minterm
of 1s Representation
m8 1 0 0 0 1
m4 0100
1
m9 1 0 0 1 x
m8 1000
m10 1 0 1 0 1
m9 1001
m11 1 0 1 1 1
2 m10 1010
m12 1 1 0 0 1
m12 1100
m13 1 1 0 1 0
m11 1011
3
m14 1 1 1 0 x
m14 1110
m15 1 1 1 1 1
4 m15 1111
1
m(8,9,10 = Both of those final
XX X 0- 10- -
,11) >
- equations are
functionally equivalent
to this original (very
m(8,10,1 1- =
XX X 1- - 0 area-expensive)
2,14) -0 >
equation:
m(10,11, 1- =
X X X 1- 1-
14,15)* 1- >