El método de minimización Quine - McCluskey es un método tabular que a partir de los minterminos de una función booleana permite encontrar los implicantes primos de la función con el menor numero de variables. El programa está basado en una publican aparecida en la revista EDN en la sección Design Ideas a comienzo de la década de los 90, originalmente fue escrito en basic. En ese tiempo ya programaba en lenguaje C y tomaba como reto actualizar los programas al mismo, lo que me permitía aprender mucho más.
La versión de este programa admite como entrada un archivo llamado MIN.MIN en el que se especifican los datos de la función a minimizar. El formato usado es el llamado libre, con las siguientes palabras claves:
:bit
:n
:minterminos
:variables
observe que las etiquetas comienzan con dos puntos seguido de la palabra clave, en la linea siguiente se especifica el valor correspondiente. Un ejemplo se este archivo es:
:bit
4
:n
9
:minterminos
1101
0111
1010
1001
0110
0011
1000
0010
0000
:variables
T
U
V
W
note que los minterminos están ordenados de acuerdo al número de 1's. Al correr el programa la salida correspondiente es:
pi[ 1 ] = 1-01
pi[ 2 ] = 0-1-
pi[ 3 ] = -0-0
pi[ 4 ] = 100-
Tabla de implicantes primos
13 7 10 9 6 3 8 2 0
=============================================
1-01 | ¹ --- --- ¹ --- --- --- --- ---
0-1- | --- ¹ --- --- ¹ ¹ --- ¹ ---
-0-0 | --- --- ¹ --- --- --- ¹ ¹ ¹
100- | --- --- --- ¹ --- --- ¹ --- ---
=============================================
f = T . V' . W
+ T' . V
+ U' . W'
+ T . U' . V'
f = T.V'.W + T'.V + U'.W' + T.U'.V'