El algoritmo de QUINE-MCCLUSKEY considera un subconjunto
y lo expresa como la unión, no necesariamente ajena, de los cubos maximales incluídos en él.
Si fuese el soporte de una proposición , entonces la expresión encontrada para da, sin más, la forma disyuntiva, consistente de frases minimales, equivalente a .
Si , en cambio, fuese el conjunto nulo de una proposición ,
, entonces la expresión encontrada para da, sin más, la forma disyuntiva, consistente de frases minimales, equivalente a , la cual, utilizando las Leyes de De Morgan, nos da la forma conjuntiva equivalente a .
Ejemplo 1.8
Calcular las formas normales disyuntiva y conjuntiva de la proposición
Explicación.
Gráficamente, en el mapa de Karnaugh siguiente, vemos los valores de :
El soporte de consta de los vértices marcados con 1 y los demás forman su conjunto nulo, es decir:
Por tanto, la forma disyuntiva de es la disyunción de las frases correspondientes a los puntos del soporte:
Ahora bien, si consideramos al conjunto nulo, éste puede expresarse como unión de las caras , , , marcadas como sigue:
por tanto la forma disyuntiva mínima de la negación de es
y, utilizando las leyes de De Morgan, se obtiene la forma conjuntiva mínima de :
Así pues es de suma importancia expresar a un subconjunto de
como la unión de los cubos maximales contenidos en él.
Primera etapa del procedimiento de Quine-McCluskey
Entrada.
Un subconjunto
.
Salida.
Una colección de cubos
tal que
(la unión no necesariamente es ajena).
Algoritmo.
Para cada
, sea
la colección de vectores en con exactamente entradas con valor 1.
Para cada se compara cada
con cada
:
Toda vez que
y
coincidan en todas sus entradas excepto en una sola, digamos ,
entonces se marca como ``cubiertos'' a
en , a
en y se añade el vector
a .
Se suprime a todos los vectores cubiertos.
Se repite desde el paso 2. en tanto haya habido vectores marcados.
Al concluir, la lista de vectores dará subcubos maximales.
Aunque ningún cubo maximal está incluido en ningún otro, bien puede ocurrir en este punto que un cubo maximal esté incluido en la unión de algunos otros cubos maximales.
Para ilustrar este procedimiento identificaremos a
con el intervalo de enteros
: al escribir cada uno de tales enteros en base 2, tendremos un vector de dimensión .
Ejemplo 1.9
Sea
visto como un subconjunto del hipercubo
. Expresarlo como una unión de cubos maximales.
Explicación.
Al clasificar a los elementos de según el número de 1's que contengan, obtenemos:
Al realizar las comparaciones en el paso 2. y reiterarlo consecutivamente, obtenemos las tablas siguientes:
Así pues
. Observamos que
aparece por dos vía y, en consecuencia, está repetido en esta etapa del procedimiento de Quine-McCluskey.
visto como un subconjunto del hipercubo
. Expresarlo como una unión de cubos maximales.
Explicación.
Al clasificar a los elementos de según el número de 1's que contengan, obtenemos la lista mostrada en la tabla 2.5.
Table 2.5:
Arreglo inicial del conjunto de entrada en el ejemplo 2.1.10
Al realizar las comparaciones en el paso 2. y reiterarlo consecutivamente, obtenemos, en una primera iteración las aristas enlistadas en la tabla 2.6,
Table 2.6:
Aristas en la primera iteración en el ejemplo 2.1.10
en una segunda iteración las caras enlistadas en la tabla 2.7,
Table 2.7:
Caras en la segunda iteración en el ejemplo 2.1.10
en una tercera iteración los cubos enlistados en la tabla 2.8,
Table 2.8:
Cubos en la segunda (y última) iteración en el ejemplo 2.1.10
Así pues, tomando la unión de los cubos que no hayan sido marcados, se obtiene
(en la ecuación anterior, escribimos en la primera línea los cubos de dimensión 1, en la segunda y la tercera los de dimensión 2 y en la última el de dimensión 3).
Ahora bien, podemos observar que
(las 5 coordenadas del primero empatan con las 5 del segundo),
y
.
Así pues, al suprimir los cubos cubiertos por los demás, se obtiene la expresión mínima,
La última simplificación hecha en el ejemplo anterior, ilustra lo que hace, más sistemáticamente, la segunda etapa del algoritmo de Quine-McCluskey, la cual selecciona un recubrimiento mínimo de un conjunto en el hipercubo, partiendo de un recubrimiento dado. Veamos los detalles de esta etapa:
Sea
un conjunto en el hipercubo y sea
un recubrimiento de , es decir,
. La TABLA DE ELECCIÓN de respecto al recubrimiento es un arreglo planar con columnas indicadas por los elementos del conjunto y con renglones por los elementos del recubrimiento . Toda vez que
, en la entrada correspondiente se coloca una marca y se dice que el punto
QUEDA CUBIERTO por el conjunto .
Por ejemplo, siguiendo el ejemplo 2.1.10, para
y el recubrimiento ahí calculado
la correspondiente tabla de elección se muestra en la tabla 2.9.
Diremos que un conjunto
es ESENCIAL si existe un punto
que sólo es cubierto por él. Todo conjunto esencial ha de ser incluído en todo recubrimiento mínimo.
En la tabla de elección, los conjuntos esenciales son los renglones de las marcas que corresponden a columnas que tienen una sola marca. En cada renglón hay tantas marcas como número de elementos tenga el conjunto correspondiente. En cada columna, digamos correspondiente a un punto
, el número de marcas
indica cuántos conjuntos cubren a ese punto.
es el peso del punto en el recubrimiento.
Un conjunto entonces es esencial si cubre a puntos de peso 1.
Segunda etapa del procedimiento de Quine-McCluskey
Entrada.
Un conjunto
y una colección de cubos
tal que
(la unión no necesariamente es ajena).
Salida.
Una subcolección mínima de
que siga siendo un recubrimiento de .
Algoritmo.
Fórmese la tabla de elección correspondiente.
Denotemos por al recubrimiento mínimo a construirse.
Colóquese en a todos los conjuntos esenciales y márquese a los puntos cubiertos por esos conjuntos.
En tanto queden puntos sin haber sido marcados:
elíjase al punto
que no haya sido marcado y que esté cubierto por un conjunto que abarque al mayor número de puntos no-marcados,
incorpórese a y
márquese a los puntos cubiertos por .
Dése a como resultado.
Por ejemplo, examinemos la tabla de elección 2.9 del ejemplo 2.1.10. Es claro que
es un cubo esencial. Al incorporarlo en el recubrimiento mínimo, quedan marcados los puntos 16, 17, 18, 19, 24, 25, 26, 27.
El cubo
es esencial pues sólo él cubre a 28. Al incorporarlo quedan marcados 12, 13, 28 y 29.
Elijamos ahora el punto no-marcado 2 el cual está cubierto por
y cubre a otros 3 no-marcados. Al incorporarlo quedan marcados 2, 3, 6 y 7. Hasta aquí llevamos 16 marcados.
Al incorporar
cubrimos a los dos restantes 4 y 5.
El recubrimiento mínimo es pues: