Está en la página 1de 36

1

Captulo 6

Algoritmos de minimizacin

Durante 40 aos el algoritmo de minimizacin conocido como mtodo de Quine-McCluskey


permaneci prcticamente sin cambios. En 1992 aparecen dos mtodos, fundamentalmente
nuevos, que permiten desarrollar algoritmos ms eficientes para encontrar soluciones exactas.

El mtodo de minimizacin de Quine-McCluskey, consiste en encontrar los implicantes primos


y luego seleccionar un conjunto de stos que cubran la funcin; esto ltimo se efecta mediante
la reduccin de la tabla de implicantes.
Como alternativa se describe el mtodo de Tison, de consenso reiterado, para determinar los
implicantes primos.

La tabla de implicantes tiene como columnas los mintrminos y como renglones los cubos que
son implicantes primos. Para n variables, se tienen 2 n mintrminos o columnas; y se dispone de
3n
un resultado que establece que se pueden tener del orden de implicantes primos. Con lo cual
n
los algoritmos para reducir la tabla, en forma exacta, tienen un costo exponencial.

Por esta razn se han desarrollado heursticas de minimizacin que estn basadas en
propiedades de las funciones booleanas y que producen resultados bastante satisfactorios, desde
un punto de vista de ingeniera. Un excelente ejemplo de estos programas es espresso, que se
trata en el Apndice 3.

6.1. Implicacin

Un implicante es un mintrmino o un grupo de stos que formen un sub-cubo.

Una expresin X implica la funcin f, si y solamente si f=1 para cualquier combinacin de


valores para los cuales X=1.

Se anota la implicacin de la siguiente forma: X f

f X

Figura 6.1 Implicacin.

Puede verse que si X f, con g una funcin booleana, puede anotarse: f = X + g.

Profesor Leopoldo Silva Bijit 19-01-2010


2 Sistemas Digitales
Es decir, X es un trmino o parte de f. Tambin suele decirse que f cubre a X.

En un mapa de f, si X corresponde a un grupo de mintrminos, g corresponder al resto de los


mintrminos de f, no considerados en X, si la interseccin de g y X es vaca; si la interseccin no
es vaca, pueden existir algunos mintrminos comunes a X y g.

Se desea ahora definir las componentes de f que sean ms primitivas.

6.2. Implicantes primos

Un implicante primo es un implicante que no puede ser agrupado con otros implicantes, para
formar un sub-cubo de mayor dimensin.

Se dice que X (producto de literales) es un implicante primo de f si y slo si:


Xf
No existe y tal que X y f, donde el nmero de literales de y es menor que el nmero de
literales de X. No puede encontrarse un grupo mayor que X. Si existe y; entonces y es un
implicante primo.
Bsicamente, un implicante primo es un producto de literales que no puede ser combinado con
otros para obtener un trmino con menos literales. Se dice primo o primitivo en el sentido de ser
componente bsica o elemental de una funcin.

Algunas propiedades de un implicante primo:


No contiene literales repetidos.
No contiene a una variable y a su complemento.
No contiene variables redundantes. Es decir, si se descarta un literal del implicante, el resto
no ser implicante.
Si x e y son implicantes primos de f, entonces: x no cubre a y; y viceversa.

Encontrar los implicantes primos es determinar los grupos de mintrminos que pueden
escribirse con menos literales.

Pasar de un implicante a un implicante primo est asociado a un proceso de crecimiento; es


decir, a encontrar un grupo de mintrminos que forman el sub-cubo mayor posible.

6.3. Implicante primo esencial

Es aqul que cubre a lo menos un mintrmino de la funcin que no es cubierto por otros
implicantes primos. Deben estar presentes en la forma mnima.

Los mintrminos superfluos pueden emplearse para formar implicantes primos; pero no deben
considerarse para los implicantes primos esenciales.

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 3
Ejemplo 6.1.

Para una funcin de 4 variables, cuyo mapa es de la figura 6.2, se tienen los siguientes
implicantes primos:
A'B'D, BC', AC, A'C'D, AB, B'CD

De los 6 implicantes primos, slo AC es esencial, ya que contiene al mintrmino: AB'CD' que
no es cubierto por ningn otro implicante primo.
A

0 d 1 0

1 1 1 0
D
1 0 1 1
C
0 0 1 1
B
Figura 6.2 Implicantes primos

Puede comprobarse que se logra una mnima cobertura de la funcin con:


AC + BC' + A'B'D

Para un diseo libre de perturbaciones deben agregarse: AB, ACD y BCD.

Ejemplo 6.2.

Minimizar, determinando implicantes, observando el mapa de la Figura 6.3.


A

0 0 1 0

1 1 1 0
D
0 1 1 1
C
0 1 0 0
B
Figura 6.3 Implicantes primos ejemplo 6.2

Profesor Leopoldo Silva Bijit 19-01-2010


4 Sistemas Digitales
Para la funcin de 4 variables, cuyo mapa es el de la figura 6.3, se tienen los siguientes
implicantes primos:
BD, ABC', ACD, A'BC, A'C'D

Slo BD es no esencial, ya que los dems contienen un mintrmino no cubierto por los otros
implicantes primos.
La funcin mnima debe contener los esenciales, y con stos se logra cubrir completamente a la
funcin:
f = ABC' + ACD + A'BC + A'C'D

Para un diseo libre de perturbaciones debe agregarse el cubo BD.

6.4. Mtodo de Quine (1952)

Es un mtodo sistemtico para encontrar la expresin mnima de una funcin, que no depende
de la habilidad para reconocer agrupaciones en un mapa de Karnaugh.

Bsicamente, es una bsqueda exhaustiva de todas las adyacencias entre los mintrminos de la
funcin, mediante la aplicacin sistemtica del teorema de fusin ( a ab ab ) a todos los
trminos de la forma cannica.

6.4.1. Obtencin de implicantes primos

Se forma una primera columna con los mintrminos de la funcin.


Se forma la siguiente columna segn:
Se revisa el primer elemento de la columna con todos los siguientes; si se encuentra
un trmino que slo difiera en una variable, se lo anota en la nueva columna,
omitiendo el literal correspondiente; se marcan los trminos en la columna actual.
Se repite el proceso para todos los elementos de la columna.
Se vuelve a repetir el paso anterior hasta que no se puedan formar nuevas columnas.

Los trminos que originan nuevas entradas, en la prxima columna, slo necesitan marcarse una
vez. Pero pueden usarse las veces que sea necesario.

Ntese que la segunda columna lista todos los grupos de dos mintrminos. La tercera, lista
grupos de cuatro mintrminos adyacentes, y as sucesivamente. Al finalizar el proceso anterior,
los elementos no marcados en las columnas, corresponden a los implicantes primos.

Ejemplo 6.3.
Obtener los implicantes primos de: f (a, b, c) m(0, 2,5, 6, 7)

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 5

Primera columna Segunda columna


m min. marcas Grupos Implicantes
0 a'b'c' (0,2) a'c'
2 a'bc' (2,6) bc'
5 ab'c (5,7) ac
6 abc' (6,7) ab
7 abc

Figura 6.4 Obtencin de implicantes primos

No se pueden formar nuevas columnas, por lo tanto los implicantes primos son:

a'c', bc', ac, ab

Ntese que en la segunda columna, se han identificado los renglones con los grupos de
mintrminos.

Cuando se escribe, en la segunda columna: a'c', se marcan con el 0 y el 2 en la primera


columna.
Cuando se escribe, en la segunda columna: bc', se marcan con los mintrminos 2 y 6.

6.4.2. Tabla de implicantes

La tabla de implicantes se forma empleando los implicantes primos en los renglones y los
mintrminos de la funcin en las columnas. Luego, en cada rengln, se marca con valor 1 las
columnas de los mintrminos pertenecientes al implicante considerado.

Aquellas columnas que tengan slo una marca, permiten detectar a los implicantes primos
esenciales. En esta tabla debe escogerse el menor nmero de implicantes primos que cubran
todos los mintrminos de la funcin. Evidentemente, deben estar presentes todos los implicantes
primitivos esenciales en la expresin mnima de una funcin.
Ejemplo 6.4.
La tabla de implicantes, para el ejemplo anterior:

0 2 5 6 7
a'c' 1 1
bc' 1 1
ac 1 1
ab 1 1

Figura 6.5 Tabla de implicantes primos

La columna 0, por tener slo un rengln marcado, permite identificar a: a'c' como implicante
primo esencial.

Profesor Leopoldo Silva Bijit 19-01-2010


6 Sistemas Digitales
Igualmente la columna 5 indica que el implicante ac tambin es esencial.

Se acostumbra encerrar con un crculo las marcas en las columnas que definen los implicantes
primos esenciales.

Ntese que slo resta cubrir el mintrmino 6, lo que puede lograrse eligiendo: bc' o ab.

Finalmente, la forma mnima es: f = a'c' + ac + bc'

o, alternativamente: f = a'c' + ac + ab

6.4.3. Reduccin de tablas

En caso de tener tablas complejas, stas pueden reducirse mediante el siguiente mtodo.

Cada vez que se selecciona un implicante para formar la funcin, se remueve el rengln
correspondiente.

Cuando se remueve un rengln, tambin se eliminan las columnas que tienen marcas en dicho
rengln.

Se comienza eliminando los implicantes primos esenciales. Luego la tabla puede seguir
reducindose, aplicando las siguientes reglas:

Un rengln cubierto por otro, puede eliminarse (slo el rengln).


Una columna que cubre a otra puede eliminarse (slo la columna).

Un rengln cubre a otro, si tiene marcas en las columnas marcadas del otro, pudiendo adems
tener columnas adicionales marcadas. Podra decirse que el rengln eliminado es menos
importante, debido a su menor cobertura de la funcin.
Una columna cubre a otra, si contiene marcas en cada rengln que esa otra columna tiene
marcas, pudiendo adems tener renglones adicionales marcados.
Ejemplo 6.5.
En la Figura 6.6, el implicante primo ipa cubre al implicante primo ipb. Puede eliminarse
rengln ipb; ya que si luego se eligiese ipa, m1 y m3 quedaran considerados en la funcin.

Si se elimina ipa, en lugar de ipb, no queda garantizada la cobertura de m2.

m1 m2 m3
ipa 1 1 1
ipb 1 1

Figura 6.6 Rengln cubierto por otro.

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 7
Para la funcin: f(A, B, C, D) = m(0, 4, 5, 11, 13, 15) segn el mapa de la Figura 6.7, se tienen
los siguientes implicantes primos: ACD (0, 4) , ABC (4, 5), BCD (5, 13), ABD (13, 15),
ACD (11, 15). Todos ellos deben considerarse para un diseo libre de perturbaciones.
AB
CD 00 01 11 10
0 4 12 8
00 1 1

1 5 13 9
01 1 1

3 7 15 11
11 1 1

2 6 14 10
10

f(A, B, C, D)=m(0,4,5,11,13,15)
Figura 6.7 Mapa con implicantes.

La tabla de implicantes resulta:

0 4 5 11 13 15
ACD 1 1
ABC 1 1
BCD 1 1
ABD 1 1
ACD 1 1

Figura 6.8 Tabla de implicantes.

Se tiene que ACD y ACD son implicantes primos esenciales. Reduciendo la tabla de la Figura
6.8, se obtiene:

5 13
ABC 1
BCD 1 1
ABD 1

Figura 6.9 Tabla de implicantes reducida.

Profesor Leopoldo Silva Bijit 19-01-2010


8 Sistemas Digitales
El cubo BCD cubre a los implicantes ABC y ABD. Si se eliminan los renglones cubiertos, slo
queda el rengln dominante BCD; luego de esto queda una tabla con un solo implicante. La
funcin mnima resulta:
f(A, B, C, D) = ACD + ACD + BCD
Ejemplo 6.6.
m1 m2 m3
ipa 1 1
ipb 1 1
ipc 1 1
ipd 1

Figura 6.10 Columna cubierta por otra.

La columna m2 cubre a la columna m1; puede eliminarse la columna m2.

El mintrmino de la columna eliminada tiene asegurada su consideracin.

Si se elimina columna m2, para cubrir al mintrmino m1 debe seleccionarse uno de los cubos:
ipb o ipc; y como cualquiera de stos contiene a m2, se considera automticamente a m2 en la
cobertura.

No es correcta la eliminacin de columna m1, ya que si se eliminara la columna m1, en lugar de


m2, quedaran para seleccionar los implicantes ipa, ipb e ipc; pero si luego se eligiera a ipa, no
se incluira a m1 en la funcin.

Para la funcin: f(A, B, C, D) = m(1, 2, 3, 5, 7) +d(0, 6, 9, 13) segn el mapa de la Figura


6.11, se tienen los siguientes implicantes primos: AB (1, 2, 3), CD (1, 5), AD (1, 3, 5, 7), AC
(2, 3, 7).
AB
CD 00 01 11 10
0 4 12 8
00 d

1 5 13 9
01 1 1 d d

3 7 15 11
11 1 1

2 6 14 10
10 1 d

Figura 6.11 Mapa con implicantes.

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 9
La tabla de implicantes de la Figura 6.12, muestra que no hay implicantes primos esenciales. En
la tabla de implicantes no se colocan los mintrminos superfluos.

1 2 3 5 7
AB 1 1 1
CD 1 1
AD 1 1 1 1
AC 1 1 1

Figura 6.12 Tabla implicantes con columnas cubiertas por otras.

La columna 1 cubre a la columna 5; la columna 3 cubre a las columnas 2 y 7. Pueden eliminarse


las columnas 1 y 3.
Si se elimina la columna 1, dejando la 5; si se eligen cualquiera de los implicantes marcados en
la columna 5, es decir: CD o AD, se estar cubriendo al mintrmino 1.

2 5 7
AB 1
CD 1
AD 1 1
AC 1 1

Figura 6.13. Tabla reducida, por eliminacin de columnas.

En la Figura 6.13, se tiene que el cubo AD cubre al cubo CD; y que el implicante AC cubre al
implicante AB. Eliminando los renglones cubiertos, resulta:

2 5 7
AD 1 1
AC 1 1

Figura 6.14. Tabla reducida, por eliminacin de renglones.

En la tabla reducida de la Figura 6.14, los cubos AD y AC deben formar parte de la funcin ya
que tienen una columna con una sola marca; stos podra denominarse implicantes primos
esenciales secundarios. Resulta:

f(A, B, C, D) = AD + AC

Tambin se tiene, observando la Figura 6.13, las coberturas:

f(A, B, C, D) = AD + AB
f(A, B, C, D) = AC + CD

Profesor Leopoldo Silva Bijit 19-01-2010


10 Sistemas Digitales
6.5. Tabla reducida cclica.

Se repite la aplicacin de las reglas hasta agotar la tabla. Siempre se remueven aquellos
renglones que contengan columnas con una sola marca; se tratan en la tabla reducida, en forma
similar a los implicantes primos esenciales en la tabla completa.

La funcin se forma con los implicantes de los renglones removidos por contener columnas con
una sola marca.

En determinados casos, luego de remover los implicantes primos esenciales, los renglones
cubiertos por otros, y las columnas que cubren a otras, no puede seguir reducindose la tabla.
Se denominan tablas reducidas cclicas, aqullas que no pueden reducirse segn el mtodo
recin planteado.

Para resolver tablas cclicas se tienen varios mtodos; uno es una heurstica conocida como
bifurcacin y acotamiento, otro es el algoritmo o mtodo exacto de Petrick.

Cuando se tienen condiciones superfluas, el mtodo es similar, excepto que en la tabla no se


consideran las columnas de mintrminos superfluos, debido a que stos no requieren ser
cubiertos.

El mtodo anterior es adecuado para un nmero reducido de variables.

6.5.1. Bifurcacin.

En la heurstica de bifurcacin se elige un implicante primo Pi.


Se resuelve la tabla cclica considerando que Pi forma parte de la cobertura final y tambin
considerando que no forma parte; se escoge entre las dos, la solucin con mnimo costo. Se
almacena el costo y se vara la eleccin del implicante primo; se vuelve a realizar el proceso
anterior y se compara costos almacenados hasta encontrar el menor.
Puede escogerse el implicante que tenga menos literales, es decir el que cubra la mayor cantidad
de mintrminos; tambin es buen candidato el cubo que contenga un mintrmino que es cubierto
por el menor nmero de implicantes, es decir un implicante que sea casi un implicante primo
esencial. Existen en la literatura otras heursticas para escoger al implicante primo que permite
resolver una tabla cclica.
Ejemplo 6.7.
Costo m1 m2 m3
Ip1 2 1 1
Ip2 4 1 1
Ip3 2 1 1

Figura 6.15. Mtodo de bifurcacin (branching).

La columna costo puede ser el nmero de literales del implicante primo. Se escoge,
tentativamente, uno de los implicantes, removindolo junto a los mintrminos que cubre; se

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 11
resuelve el subproblema y se calcula el costo. Finalmente se escoge la bifurcacin que conduzca
al costo menor.

Para el caso de la tabla cclica de la Figura 6.15, se escoge en primer lugar Ip1, con costo 2,
queda, luego de la reduccin:
Costo m3
Ip2 4 1
Ip3 2 1

Figura 6.16. Bifurcacin con Ip1.

Se escoge Ip3, por ser de menor costo, resulta un costo total de (2 + 2) = 4.

Luego, en segundo lugar, se escoge Ip2, resultando:

Costo m1
Ip1 2 1
Ip3 2 1

Figura 6.17. Bifurcacin con Ip2.

Puede elegirse, luego Ip1 o Ip3, resultando un costo total de ( 4 + 2) = 6.


Podra haberse descartado la eleccin de Ip2, ya que tendra mayor costo que la anterior.

Finalmente, en este ejemplo, se escoge Ip3, resultando:

Costo m2
Ip1 2 1
Ip2 4 1

Figura 6.18. Bifurcacin con Ip3.

Se escoge Ip1, con un costo total de: (2 + 2) = 4.

Entonces tenemos dos soluciones con costo total 4, para la solucin de la tabla cclica. A este
costo habra que sumarle el debido a la seleccin de implicantes primos antes de la tabla cclica.
Si el subproblema resulta cclico, debe repetirse el procedimiento en forma recursiva.

6.5.2. Petrick (1956).

Se plantea una expresin booleana P, como producto de sumas, que garantice que la cobertura
considera todos los mintrminos de la tabla, sea sta cclica o no, y que a la vez entregue todas
las soluciones de cobertura posibles.

Profesor Leopoldo Silva Bijit 19-01-2010


12 Sistemas Digitales
En la Figura 6.19 se han identificado los implicantes primos y los mintrminos de una tabla
cclica.
m1 m2 m3 m4
Ip1 1 1
Ip2 1 1
Ip3 1 1
Ip4 1 1

Figura 6.19. Tabla cclica.

Si definimos Pi como verdadera si el implicante primo Ipi est presente en la cobertura; y falsa
si no est presente, podemos plantear, observando la Figura 6.19, que para que el mintrmino
m1 est presente en la cobertura, debe cumplirse que debe estar presente el implicante Ip1 o el
implicante Ip4; es decir: (P1+P4).

Que estn presentes todos los mintrminos, puede escribirse:

P = (P1+P4)(P2+P3)(P1+P3)(P2+P4)

La proposicin anterior debe satisfacerse, lo cual se logra con P=1.


Puede expresarse P, como una suma de productos. Cada producto es una posible solucin.

En el caso del ejemplo, efectuando los productos y empleando el teorema de idempotencia:


P= (P1P2+P1P3+P2P4+P3P4)(P1P2+P1P4+P2P3+P3P4)
P=P1P2+P1P2P4+P1P2P3+P1P2P3P4+P1P3P4+P2P3P4+P3P4
P=P1P2(1+P4+P3+P3P4) +P3P4(1+P1+P2)
P=P1P2 + P3P4.

Conviene emplear: (X + Y)(X + Z) = X + YZ, en la reduccin a suma de productos.

Se tienen dos soluciones, que resuelven la tabla cclica: los implicantes Ip1 e Ip2, o bien los
implicantes Ip3 e Ip4. Puede verificarse que ambas son coberturas, con la tabla de la Figura
6.19.
Se elige la de menor costo.
Ejemplo 6.8.
Si una columna cubre a otra, puede eliminarse la columna que cubre a las otras. Por ejemplo si
un mintrmino tiene garantizada su inclusin, si (P6 + P7 + P8) y si otro mintrmino tiene
asegurada su cobertura si: (P6 + P7); entonces puede comprobarse que:

(P6 + P7 + P8) (P6 + P7) = (P6 + P7) usando (a+b) a = a.

Esto implica conservar el mintrmino con menos marcas en las columnas.

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 13
El mtodo de Petrick puede aplicarse a tablas de implicantes primos, incluidos los esenciales.
En caso de estar presentes, estos ltimos, la expresin que debe satisfacerse, para incluir todos
los mintrminos, tendr la forma:

P= (Pp1)(...)(Ppm)(Pa+Pb)()

Donde (Pp1)()( Ppm) son los m implicantes primos esenciales. El resto de las sumas deben
garantizar la inclusin de los mintrminos no esenciales en la cobertura de la funcin. De esta
forma el tratamiento algebraico para reducir los productos de sumas a suma de productos se
complica un tanto, pero se obtienen todas las formas de implementacin posibles. En todas stas
deben estar presentes los m implicantes primos esenciales.

Ejemplo 6.9.
Si se toma la tabla de la Figura 6.13, y se enumeran los implicantes segn:

2 5 7
IP1 AB 1
IP2 CD 1
IP3 AD 1 1
IP4 AC 1 1

Figura 6.20. Implicantes primos de Ejemplo 6.6.

Que estn presentes todos los mintrminos, puede escribirse:

P = (P1+P4)(P2+P3)(P3+P4)

Efectuando los productos, se obtiene:


P = P1P3+P2P4+P3P4

Generando las tres soluciones con dos productos:


f1(A, B, C, D) = AB + AD
f2(A, B, C, D) = CD + AC
f3(A, B, C, D) = AD + AC

Lo cual muestra que el mtodo de Petrick obtiene todas las soluciones posibles.
Debe notarse que si se eliminan los renglones que son cubiertos por otros, no se obtienen todas
las soluciones. En el caso del ejemplo de la Figura 6.20, deberan eliminarse el rengln IP1, que
es cubierto por IP4; y el implicante primo IP2 que es cubierto por el rengln IP3.
Ejemplo 6.10.
Reducir la tabla de implicantes de la funcin f(a,b,c,d) que se muestra en la Figura 6.21.
Notar que el costo de todos los implicantes primos es similar, ya que todos contienen dos
mintrminos.

Profesor Leopoldo Silva Bijit 19-01-2010


14 Sistemas Digitales

1 3 4 6 7 9 13 15
ipa 1 1
ipb 1 1
ipc 1 1
ipd 1 1
ipe 1 1
ipf 1 1
ipg 1 1
iph 1 1

Figura 6.21. Tabla de implicantes Ejemplo 6.10.

Observar que el implicante primo b es esencial. Removiendo el rengln asociado a b, deben


tambin removerse columnas asociadas a los mintrminos 4 y 6.

Queda la siguiente tabla reducida:

1 3 7 9 13 15
ipa 1 1
ipc 1 1
ipd 1
ipe 1 1
ipf 1 1
ipg 1 1
iph 1 1

Figura 6.22 Remocin implicante primo esencial

El rengln ipc cubre a ipd; por lo tanto, puede eliminarse el rengln ipd.

1 3 7 9 13 15
ipa 1 1
ipc 1 1
ipe 1 1
ipf 1 1
ipg 1 1
iph 1 1

Figura 6.23. Remocin rengln ipd

La tabla resultante es cclica.


Una heurstica simple es seleccionar a uno de los implicantes de la tabla reducida cclica,
posiblemente el que tenga mayor nmero de marcas en las columnas. Este procedimiento no
obtiene todas las soluciones posibles.

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 15
Se escoge arbitrariamente al primitivo ipa para formar la funcin, esto elimina columnas 1 y 3,
quedando:
7 9 13 15
ipc 1
ipe 1 1
ipf 1 1
ipg 1 1
iph 1

Figura 6.24. Remocin implicante primo ipa, en tabla cclica.

Ahora, ipe cubre a ipc; e ipg cubre a iph, queda eliminando a ipc e iph:

7 9 13 15
ipe 1 1
ipf 1 1
ipg 1 1

Figura 6.25 Remocin renglones ipc e iph.

ipe e ipg deben formar parte de la funcin; pues contienen a las columnas 7 y 9, que en la tabla
reducida slo tienen una marca. Luego de esto, la tabla queda vaca.
Finalmente:
f = ipb + ipa + ipe + ipg

Entonces, se tiene, en trminos de las variables:

f=abd+abd+bcd+acd

Solucin con 12 literales y 16 entradas.

Existen otras formas posibles. stas se obtienen eliminando otro implicante cuando la tabla
result cclica. Por ejemplo, eliminando ipc, en la Figura 6.18, resulta:

1 9 13 15
ipa 1
ipe 1
ipf 1 1
ipg 1 1
iph 1 1

Figura 6.26 Remocin implicante primo ipc, en tabla cclica.

ipf cubre a ipe. iph cubre a ipa.

Eliminando ipa e ipe, se obtiene:

Profesor Leopoldo Silva Bijit 19-01-2010


16 Sistemas Digitales

1 9 13 15
ipf 1 1
ipg 1 1
iph 1 1

Figura 6.27 Remocin implicantes primos ipa e ipe.

En la cual deben escogerse: ipf e iph.

Entonces resulta otra funcin mnima:

f = ipb +ipc + ipf + iph

En trminos de las variables:


f=abd+bcd+acd+abd

Solucin con 12 literales y 16 entradas.

Aplicando el mtodo de Petrick a la tabla de la Figura 6.21, se debe satisfacer p, para cubrir
todos los mintrminos:

p= (pa+ph)*(pa+pc)*(pb)*(pb+pd)*(pc+pd+pe)*(pg+ph)*(pf+pg)*(pe+pf);

Expresando como suma de productos, se obtienen siete soluciones, debe notarse que pb, est
presente en todos los productos, ya que es esencial. A continuacin debe evaluarse el costo de
cada una de las soluciones para seleccionar cuales son mnimas.

p = pb*pc*pe*pg*ph + pa*pb*pe*pf*ph + pa*pb*pd*pf*ph + pa*pb*pd*pf*pg +


pa*pb*pc*pf*pg + pb*pc*pf*ph + pa*pb*pe*pg;

Los dos ltimos productos, formados por cuatro implicantes primos son las dos soluciones
obtenidas antes, con 16 entradas. Los primeros cuatro productos del mtodo de Petrick,
conducen a soluciones con 15 literales y 20 entradas, por lo cual no son considerados soluciones
mnimas.

Adicionalmente debe resolverse para la forma producto de sumas, considerando la funcin:


f '(a, b, c, d ) m(0, 2,5,8,10,11,12,14)
En la cual se encuentran cuatro implicantes primos, todos esenciales. Lo cual conduce a una
solucin:
f= bd+ad+abc+abcd

Obtenindose la expresin con 11 literales y 15 entradas, la cual es la solucin mnima:

f= (b+d)(a+d)(a+b+c)(a+b+c+d)

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 17
6.6. Mtodo de Quine-McCluskey (1956)

Es una variante para encontrar los implicantes primos, representando en forma digital el mtodo
de Quine, y es adecuado para ser programado en un computador.
Su complejidad, de tipo exponencial, lo convierte en un problema intratable para elevados
valores de variables.

Se forma la columna de mintrminos, codificada en binario o decimal, en grupos, de acuerdo al


nmero de unos. De esta forma slo ser necesario comparar los mintrminos de grupos
adyacentes, disminuyendo significativamente las comparaciones que deben realizarse para
formar las columnas con cubos mayores. Por ejemplo: el grupo que contiene un uno no puede
ser adyacente a los mintrminos que contengan tres unos; no pueden estar a distancia uno.

Se comparan los elementos de cada grupo, buscando adyacencias, y se forman las siguientes
columnas en forma similar al mtodo de Quine. Notando que en la representacin decimal,
diferencias de 1, 2, 4, 8 y, en general, de una potencia de 2, indican una diferencia en un bit.
Tambin se mantiene la separacin en grupos en las nuevas columnas.

Es posible encontrar una funcin que entregue el nmero de unos en representacin binaria de
un nmero decimal. La cual facilita la formacin de los grupos.
La segunda columna representa todas las agrupaciones posibles de dos mintrminos. La tercera
columna representa grupos de cuatro mintrminos, y as sucesivamente.

El algoritmo permite trabajar con dgitos decimales o binarios. Se anotan en los ejemplos
columnas binarias y decimales.
En la segunda y siguientes columnas, las variables eliminadas se denotarn con un guin
(tambin es posible anotar la posicin del guin con un nmero decimal potencia de dos).

Pueden combinarse dos trminos si ellos difieren solamente en un literal; por esta razn, no
podrn combinarse dos trminos en un mismo grupo. Los miembros de un grupo de un solo "1",
difieren en dos variables por lo menos; lo mismo puede establecerse para los otros grupos. Esta
observacin organiza la bsqueda de adyacencias, ya que slo es preciso comparar entre grupos
adyacentes.

Ejemplo 6.11.

Aplicar mtodo de Quine-McCluskey para minimizar la siguiente funcin:

g(a, b, c, d, e, f) = m(0,2,6,7,8,10,12,14,15,41)

Considerando la equivalencia binaria de los mintrminos decimales, se tienen:

m0 = 000000 m12 = 001100


m2 = 000010 m7 = 000111
m8 = 001000 m14 = 001110
m6 = 000110 m41 = 101001
m10 = 001010 m15 = 001111

Profesor Leopoldo Silva Bijit 19-01-2010


18 Sistemas Digitales

Formando grupos, de acuerdo al nmero de unos, se obtiene la siguiente tabla:

Decimal Binario
mintrmino a b c d e f Nmero de unos
0 0 0 0 0 0 0 0
2 0 0 0 0 1 0 1
8 0 0 1 0 0 0
6 0 0 0 1 1 0 2
10 0 0 1 0 1 0
12 0 0 1 1 0 0
7 0 0 0 1 1 1 3
14 0 0 1 1 1 0
41 1 0 1 0 0 1
15 0 0 1 1 1 1 4

Figura 6.28 Agrupacin segn nmero de unos.

Los mintrminos del grupo con n unos, se comparan con todos los del grupo con (n+1) unos.

En la representacin decimal se buscan diferencias de potencias de dos; en binario, se busca la


diferencia en un bit. Puede formarse la siguiente tabla, que contiene los implicantes formados
por dos mintrminos:

Decimal Binario
Grupo Posicin a b c d e f Nmero de unos
0,2 2 0 0 0 0 - 0 0
0.8 8 0 0 - 0 0 0
2,6 4 0 0 0 - 1 0 1
2,10 8 0 0 - 0 1 0
8,10 2 0 0 1 0 - 0
8,12 4 0 0 1 - 0 0
6,7 1 0 0 0 1 1 - 2
6,14 8 0 0 - 1 1 0
10,14 4 0 0 1 - 1 0
12,14 2 0 0 1 1 - 0
7,15 8 0 0 - 1 1 1 3
14,15 1 0 0 1 1 1 -

Figura 6.29 Grupos de dos mintrminos adyacentes.

En la notacin decimal, se anota la lista de mintrminos y la posicin de la variable eliminada se


registra con una potencia de dos entre parntesis. Ntese que se mantiene el concepto de grupos,
mediante lneas horizontales. A medida que se forma la segunda tabla, se van marcando los
mintrminos utilizados en la primera tabla.

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 19
En el ejemplo no queda marcado el 41, ya que no puede agruparse con ningn otro mintrmino;
en este caso el mintrmino 41 es implicante primo esencial.
Para formar la tercera tabla, que contendr grupos de cuatro mintrminos; se buscan diferencias
de potencias de dos entre grupos adyacentes, pero adems deben tener igual diferencia (o
posicin de variable eliminada). Por ejemplo la componente del grupo 0,2 es necesario
compararla solamente con 8,10 del segundo grupo, debido a la diferencia comn (2).

No importa el orden de las listas de mintrminos, slo se anotan una vez. Por ejemplo, entre los
primeros grupos se tiene:

0, 2 (2)
8, 10 (2)
Diferencia: 8, 8 generando: 0, 2, 8, 10 (2,8)

0, 8 (8)
2, 10 (8)
Diferencia: 2, 2 generando: 0, 8, 2, 10 (8,2)

Estas dos agrupaciones se consideran iguales. Desarrollando en forma similar, se genera la


siguiente tabla:

Decimal Binario
Grupo Posicin a b c d e f Nmero de unos
0, 2, 8, 10 2,8 0 0 - 0 - 0 0
2, 6, 10, 14 4,8 0 0 - - 1 0 1
8, 10,12,14 2,4 0 0 1 - - 0
6, 7, 14, 15 1,8 0 0 - 1 1 - 2

Figura 6.30. Grupos de cuatro mintrminos agrupables.

De este modo quedan marcados todos los grupos de la segunda lista.


Ntese que, en la tabla anterior, no hay diferencias comunes entre grupos, por lo tanto, no puede
formarse una siguiente tabla. Es decir, no hay implicantes formados por 8 mintrminos que
estn formando un 3-cubo.
La tabla de implicantes resulta:

Implicantes 0 2 8 6 10 12 7 14 41 15
primos
41 1
0, 2, 8, 10 1 1 1 1
2, 6, 10, 14 1 1 1 1
8, 10, 12, 14 1 1 1 1
6, 7, 14, 15 1 1 1 1

Figura 6.31. Tabla de implicantes ejemplo 6.8.

Profesor Leopoldo Silva Bijit 19-01-2010


20 Sistemas Digitales
Removiendo los implicantes primos esenciales, la funcin mnima queda:

g = ab'cd'e'f + a'b'd'f' + a'b'cf' + a'b'de

Es conveniente realizar el ejemplo, desarrollando agrupaciones en un mapa de Karnaugh, a


medida que se forman las tablas.

Ntese que todo el proceso podra haberse realizado slo considerando la informacin binaria, o
solamente la informacin decimal.

6.7. Mtodo de Tison (1965) para encontrar implicantes primos. Consenso


reiterado.

6.7.1. Fundamentos.

Se tiene una funcin f, definida por una suma de productos:

f p1 p2 ... pk
Si se tiene:
pi a p j con a 1 , siendo a una de las variables de f .
Se puede descartar pi de f.
Esto debido a que:
pi p j a p j p j (a 1) p j p j
Lo cual puede anotarse:
pi p j

El mtodo consiste en introducir trminos implicados, de tal manera de eliminar los trminos
que los implican. Es decir, se introduce p j , en la suma de productos, y se elimina pi .

Si por ejemplo, se tiene:


f xT x ' yT

Debido a que yT es el trmino de consenso entre x ' yT y xT , puede escribirse:

f xT x ' yT yT
Como se tiene que:
x ' yT yT

Entonces, se puede cambiar el producto x ' yT por el implicado yT , resultando:

f xT yT

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 21
Logrando, de este modo, una suma de productos con menos literales.

La formacin de implicantes basada en el teorema de fusin, sobre la que est basado el mtodo
de Quine, tambin puede verse como la eliminacin de productos que implican a otros
productos:
f xT x ' T

El consenso de xT y x ' T es T . Y se tiene que: xT T y que x 'T T , con lo cual puede


escribirse: f T .

Los productos S y R tienen consenso S0 R0 , si existe una variable x tal que S xS0 y R x ' R0 ;
y no existe una variable y , en el producto S 0 , que aparezca como y ' en R0 . Si existe la variable
y , el trmino S0 R0 es cero, y no hay consenso. Se dice que la variable x es biforme en el
conjunto: S , R . Los productos S y R estn formados por conjuntos disjuntos de mintrminos.
El consenso es el implicante primo de los mintrminos de S y R , y es la mxima cobertura entre
las fronteras de la exclusin mutua entre S y R .

AB S AB
CD 00 01 11 10 CD 00 01 11 10
0 4 12 8 0 4 12 8
00 1 00 1 1
1 5 13 9 1 5 13 9
01 1 01 1 1
3 7 15 11 3 7 15 11
11 1 1 1 1 11 1 1 1 1
2 6 14 10 2 6 14 10
10 10

S0R0=ABD R S0R0=AD

Figura 6.32. Trmino de consenso.

6.7.2. Algoritmo de Tison.

Sea una funcin f, definida por una suma de productos:

f p1 p2 ... pk
Sea el conjunto:
L p1 , p2 ,..., pk

Profesor Leopoldo Silva Bijit 19-01-2010


22 Sistemas Digitales

El algoritmo de Tison, encuentra todos los implicantes primos de f.

Para cada variable biforme x de f:


{
Para (cada par pi , p j de L: )
{ Si (existe consenso q, para x) L L Q ; }
Para (cada pi de L: )
{ Si (existe p j de L, tal que: pi p j ) L L pi ; }
}
Ejemplo 6.12.
Sea una funcin f, definida por sus mintrminos.
AB
CD 00 01 11 10
0 4 12 8
00 1
1 5 13 9
01 1 1
15 11
11 13 17 1
2 6 14 10
10 1 1

Figura 6.33. Mintrminos de f.

Si se inicia L con los mintrminos de la funcin:

L 0000, 0001, 0011, 0101, 0110, 0111,1110,1111

La variable C es biforme, se tiene consenso ABD entre: (0001,0011) ; y ABD entre


(0101,0111).

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 23

AB
CD 00 01 11 10
0 4 12 8
00 1
1 5 13 9
01 1 1
15 11
11 13 17 1
2 6 14 10
10 1 1

Figura 6.34. Productos de consenso para variable C.

Agregando los trminos de consenso a L, queda:


L 0000, 0001, 0011, 0101, 0110, 0111,1110,1111, 00 _1, 01_1
Eliminando los que implican el consenso:
L 0000, 0110,1110,1111, 00 _1, 01_1

D es biforme, se tiene consenso ABC entre (0000, 00_1), ABC entre (0110, 01_1) y ABC
entre (1110, 1111).
AB
CD 00 01 11 10
0 4 12 8
00 1
1 5 13 9
01 1 1
3 7 15 11
11 1 1 1
2 6 14 10
10 1 1

Figura 6.35. Productos de consenso para variable D.

Agregndolos a L:
L 0000, 0110,1110,1111, 00 _1, 01_1, 000 _, 011_,111_
Eliminando los que implican consensos:
L 00 _1, 01_1, 000 _, 011_,111_

Profesor Leopoldo Silva Bijit 19-01-2010


24 Sistemas Digitales

A es biforme, se tiene consenso BC entre (011_, 111_).


AB
CD 00 01 11 10
0 4 12 8
00 1
1 5 13 9
01 1 1
3 7 15 11
11 1 1 1
2 6 14 10
10 1 1

Figura 6.36. Productos de consenso para variable A.

Agregando (_11_) a L:
L 00 _1, 01_1, 000 _, 011_,111_, _11_
Eliminando los que implican consenso:
L 00 _1, 01_1, 000 _, _11_
Finalmente B, es biforme, se tiene consenso AD entre (00_1,01_1),
AB
CD 00 01 11 10
0 4 12 8
00 1
1 5 13 9
01 1 1
15 11
11 13 17 1
2 6 14 10
10 1 1

Figura 6.37. Productos de consenso para variable B.

Agregando (0__1) a L:
L 00 _1, 01_1, 000 _, _11_, 0 __1
Eliminando los que implican consenso, se obtienen los implicantes primos:
L 000 _, _11_, 0 __1

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 25

AB
CD 00 01 11 10
0 4 12 8
00 1
1 5 13 9
01 1 1
3 7 15 11
11 1 1 1
2 6 14 10
10 1 1

Figura 6.38. Implicantes primos para f.

Finalmente, debido a que todos son implicantes primos esenciales:

f A ' B ' C ' BC A ' D

6.7.3. Operaciones para desarrollar el algoritmo,

La elaboracin de algoritmos est basada en desarrollar funciones que determinen:


a) Obtener trminos de consenso.
Para encontrar la idea general, puede observarse el siguiente ejemplo:
S 10 1 0 0
R 11 0
Slo la cuarta variable es biforme, y no existe otra que presente conflicto binario.

Entonces:
S0 R0 1 1 0 0

Debido a que el producto de una variable o su complemento en S, cuando no est presente esa
variable en R, deja la variable en el trmino de consenso.

Lo anterior puede comprobarse en el siguiente ejemplo. El producto: (ab ' e ')(ab ' cde) ab ' cd
Puede representarse, empleando notacin de cubos, por:

S 10--0
R =10111
S0 R0 1011-

Profesor Leopoldo Silva Bijit 19-01-2010


26 Sistemas Digitales
Considerando un cubo como una secuencia de caracteres, pueden compararse uno a uno los
caracteres de dos cubos.

Para obtener el trmino de consenso:


Si los caracteres son iguales, queda el carcter; si son diferentes en binario queda ; si uno de
los caracteres es , queda el otro carcter.
b) Un producto que implica otro: pi p j

El cdigo, con notacin de subcubo, para pi , sintoniza con todos los caracteres binarios de p j ;
y pi tiene unos o ceros en posiciones donde p j tiene .
Ejemplo: 1011 1 1 1 1

Ejemplo 6.13.

Aplicando las operaciones binarias anteriores, pueden determinarse los implicantes primos de f,
debe observarse que L puede estar formado por productos, no necesariamente mintrminos.

Para: f ( x1 , x2 , x3 , x4 , x5 , x6 ) , se tiene:
L 0 11 1, 0 0 1,1 11 0,1 1 1

x1 es biforme en L, en 0 11 1,1 1 1 con consenso: 11 1


L 0 11 1, 0 0 1,1 11 0,1 1 1, 11 1

Se tiene la nica implicacin: 0 11 1 11 1 .


Entonces L queda:
L 0 0 1,1 11 0,1 1 1, 11 1
x2 no es biforme en L.
x3 es biforme en L, en 0 0 1,1 11 1 con consenso: 0 1 1
L 0 0 1,1 11 0,1 1 1, 11 1, 0 1 1
No se encuentran implicaciones. L conserva sus valores.

x4 y x5 no son biformes en L.
x6 es biforme en L, en 1 11 0,1 1 1 con consenso: 1 11 y tambin en:
1 11 0, 11 1 con consenso: 1 11
L 0 0 1,1 11 0,1 1 1, 11 1, 0 1 1,1 11
Se tiene la nica implicacin: 1 11 0 1 11 .

Se tienen entonces los implicantes primos:

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 27

L 0 0 1,1 1 1, 11 1, 0 1 1,1 11

Ejemplo 6.14.

Minimizar: bef+acdefgh+bgh

Se tiene una funcin de ocho variables, para la cual es difcil emplear mapas de Karnaugh.
Con b biforme, el consenso entre el primer y ltimo trmino es: efgh.
Pero acdefgh implica efgh. A su vez efgh es trmino de consenso, e implica a bef y bgh.
Entonces resulta: bef + bgh

Ejemplo 6.15.

Minimizar: acde+d+e+c.

c es biforme, el consenso es ade, y acde implica a ade. Queda ade+d+e+c.


d es biforme, el consenso entre ade y d es ae. Pero ade implica a ae. Queda ae+d+e+c.
e es biforme, el consenso entre ae y e es a; pero ae implica a e, queda finalmente: a+d+e+c.

Profesor Leopoldo Silva Bijit 19-01-2010


28 Sistemas Digitales

Problemas resueltos.

Problema 6.1.

Se tiene la funcin g(A, B, C, D, E, F) = m( 8, 10, 24, 26, 42, 58, 59 )


a) Determinar los implicantes primos aplicando el mtodo de Quine McCluskey.
b) Indicar cules son esenciales, justificando su respuesta.
c) Minimizar la funcin g.

Solucin.
Se ordena segn nmero de unos de los mintrminos. En la primera columna quedan todos los
mintrminos marcados, en el proceso de formar la siguiente columna de 1-cubos.
un uno
8 001000
10 001010 dos unos
24 011000
26 011010 tres unos
42 101010
58 111010 cuatro unos
59 111011
cinco unos

Figura P6.1. Ordenamiento segn nmero de unos.

En la segunda columna, de 1-cubos, queda sin marcar el grupo 58,59.

8,10 0010_0
8,24 0_1000
10,26 0_1010
10,42 _01010
24,26 0110_0
26,58 _11010
42,58 1_1010
58,59 11101_ ip1 queda sin marcar

Figura P6.2. Implicantes formados por dos mintrminos.

La tercera columna, de los 2-cubos, es la ltima que puede formarse. Y por lo tanto los
renglones quedan sin marcar.

8,10,24,26 0 _10_0 ip2


10,26,42,58 _ _1010 ip3

Figura P6.3. 2 cubos.

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 29
Finalmente los implicantes son: ip1 = ABCD'E ; ip2 = A'CD'F' ; ip3 = CD'EF'

Determinacin de los implicantes primos.


ip1 es esencial porque es el nico que contiene al 8 y 24.
ip2 es esencial porque es el nico que contiene al 42.
ip3 es esencial porque es el nico que contiene al 59.

Resultando la siguiente funcin mnima: g = ABCD'E + A'CD'F' + CD'EF'

Problema 6.2.

En el proceso de reduccin de tablas se tiene la siguiente tabla reducida.

2 3 4 5 8 10
ip1 x x x
ip2 x x x x
ip3 x x
ip4 x x x x
ip5 x x

Figura P6.4. Tabla Problema 6.2.

a) Determinar cules renglones pueden eliminarse por estar cubiertos por otro.
b) Determinar cules columnas pueden eliminarse.
c) Explicar la razn por la que ip2 e ip4 figuran con los mismos mintrminos.

Solucin.
a) ip1 cubre a ip3 y tambin a ip5. Podran eliminarse renglones asociados a ip3 e ip5.
ip2 cubre a ip4 y viceversa; puede eliminarse uno de ellos.
b) Columna 3 puede eliminarse, ya que est cubierta por la columna 2. (el mintrmino 3 tiene
asegurada su consideracin)
Columna 4 puede eliminarse, ya que est cubierta por las columnas 5, 8 y 10. (el mintrmino 4
tiene asegurada su consideracin)
Columnas 5, 8 y 10 se cubren entre s. Pueden eliminarse dos cualesquiera.
c) ip2 e ip4 tienen iguales mintrminos, se diferencian en implicantes superfluos; los cules no
se indican en la tabla.

Ejercicios propuestos.

Ejercicio 6.1.

Verificar, aplicando mtodo de Quine-McCluskey, que la minimizacin de:


f(a, b, c, d) = m(0, 2, 5, 6, 7, 8, 10, 12, 13, 14, 15) resulta:
f(a, b, c, d) = bd + bd + cd + ad

Profesor Leopoldo Silva Bijit 19-01-2010


30 Sistemas Digitales
Ejercicio 6.2.

Verificar, aplicando mtodo de Quine-McCluskey, que la minimizacin de:


f(a, b, c, d) = m(0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13) tiene las siguientes soluciones:
f1(a, b, c, d) =ab + ac + bc + ad P3*P5*P7*P8
f2(a, b, c, d) =ab + bc + ac + ad P2*P4*P6*P8
f3(a, b, c, d) =ab + bc + ac + bd P2*P4*P6*P9
f4(a, b, c, d) =cd + ab + ac + bc P1*P3*P5*P7
f5(a, b, c, d) =cd + ab + bc + ac P1*P2*P4*P6
f6(a, b, c, d) =ab + ac + bc + bd P3*P5*P7*P9

Todas de 12 entradas y 8 literales.

Pero el diseo mnimo se obtiene con la forma producto de sumas:


f(a, b, c , d)= (a + b+ c)(a + b + c + d) con 8 entradas y 7 literales.

Verificar que se tienen 9 implicantes primos, todos de igual costo en literales:

IP1 IP2 IP3 IP4 IP5 IP6 IP7 IP8 IP9


cd ab ab bc ac ac bc ad bd

Y para que estn presentes todos los mintrminos, debe cumplirse, aplicando el mtodo de
Petrick:

P = (P1+P8+P9)*(P6+P7+P8+P9)*(P6+P7)*(P1+P3+P4+P9)*(P3+P4)*(P3+P6+P9)*
(P3+P6)* (P1+P2+P5+P8)*(P2+P5)*(P2+P7+P8)*(P2+P7)*(P1+P4+P5)*(P4+P5);

Lo cual entrega 15 soluciones, seis de ellas formadas por cuatro implicantes, que resultan las
formas mnimas.

P = P4*P5*P6*P7*P9 + P2*P3*P4*P7*P9 + P2*P3*P5*P6*P9 + P4*P5*P6*P7*P8 +


P2*P3*P4*P7*P8 + P2*P3*P5*P6*P8 + P1*P4*P5*P6*P7 + P1*P2*P3*P4*P7 +
P1*P2*P3*P5*P6 + P3*P5*P7*P9 +P2*P4*P6*P9 +P3*P5*P7*P8 +P2*P4*P6*P8 +
P1*P3*P5*P7 + P1*P2*P4*P6;

La reduccin a producto de sumas puede lograrse escribiendo en un archivo eq.eqn, el


contenido:

INORDER = P1 P2 P3 P4 P5 P6 P7 P8 P9;
OUTORDER = P;
P = (P1+P8+P9)*(P6+P7+P8+P9)*(P6+P7)*(P1+P3+P4+P9)*(P3+P4)*(P3+P6+P9)*(P3+P6)*
(P1+P2+P5+P8)*(P2+P5)*(P2+P7+P8)*(P2+P7)*(P1+P4+P5)*(P4+P5);

Luego empleando sis (ver Apndice 6), se ejecutan los comandos:


sis> read_eqn eq.eqn
sis> write_eqn res.eqn

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 31

Lo cual produce el archivo res.eqn, con los productos:


INORDER = P1 P2 P3 P4 P5 P6 P7 P8 P9;
OUTORDER = P;
P = P4*P5*P6*P7*P9 + P2*P3*P4*P7*P9 + P2*P3*P5*P6*P9 + P4*P5*P6*P7*P8 +
P2*P3*P4*P7*P8 + P2*P3*P5*P6*P8 + P1*P4*P5*P6*P7 + P1*P2*P3*P4*P7 +
P1*P2*P3*P5*P6 + P3*P5*P7*P9 + P2*P4*P6*P9 + P3*P5*P7*P8 + P2*P4*P6*P8 +
P1*P3*P5*P7 + P1*P2*P4*P6;

Los ltimos seis productos son las formas mnimas, y se han anotado a la derecha de las
funciones en el enunciado del problema.

Ejercicio 6.3.

Verificar, aplicando mtodo de Quine-McCluskey, que la minimizacin de:


f(a, b, c, d) = m(2, 3, 7, 9, 11, 13) +d(1, 10, 15) resulta:
f(a, b, c, d) = ad + bc + cd
Con implicantes primos: ad , bc , cd, bd

Ejercicio 6.4.

Verificar, aplicando mtodo de Quine-McCluskey, que la minimizacin de:


f(a, b, c, d) = m(1, 5, 7, 8, 9, 13, 15) + d(4, 12, 14) resulta:
f(a, b, c, d) = ab + ac+ cd

Ejercicio 6.5.

Verificar que el diseo mnimo de:


f(a, b, c) = m(0, 1, 2, 5, 6, 7)
resulta: f(a, b, c) = a'b'+ bc'+ ac = a'c'+ b'c + ab

Ejercicio 6.6.

Verificar que el diseo mnimo de:


f(a, b, c, d) = m(2, 5, 6, 11, 12, 14, 15) + d(0, 3, 4)
resulta: f(a, b, c, d) = a'bc' + bd' + acd + a'd'

Ejercicio 6.7.

Demostrar
f g f g g y f g f
f g ( f g) y (g f )

Profesor Leopoldo Silva Bijit 19-01-2010


32 Sistemas Digitales
Referencias.

W.V. Quine. "The problem of simplifying truth functions." American Mathematical Monthly
Vol. 59. Octubre 1952. pgs 521-531.
W.V. Quine. "A way to simplify truth functions." American Mathematical Monthly Vol. 62.
Noviembre 1955. pgs 627-631.

E.J. McCluskey. "Minimization of Boolean Functions". Bell Syst. Tech. Journal N6,
Noviembre 1956. pgs. 1417-1444.

P. Tison. "Thorie des consensus. These prsente La Faculte des Sciences de L'Universite
de Grenoble. Junio 1965.
P. Tison, "Generalization of consensus theory and application to the minimization of Boolean
functions," IEEE Trans. Electron. Comput., vol. EC-16, pp. 446-456, Aug. 1967.

Petrick, S. R. A Direct Determination of the Irredundant Forms of a Boolean Function from the
Set of Prime Implicants. Technical Report AFCRC-TR-56-110, Air Force Cambridge Research
Center, Cambridge, MA, USA. 1956.

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 33

ndice general.

CAPTULO 6 ............................................................................................................................................. 1
ALGORITMOS DE MINIMIZACIN ................................................................................................... 1
6.1. IMPLICACIN ..................................................................................................................................... 1
6.2. IMPLICANTES PRIMOS ........................................................................................................................ 2
6.3. IMPLICANTE PRIMO ESENCIAL ............................................................................................................ 2
Ejemplo 6.1. ........................................................................................................................................ 3
Ejemplo 6.2. ........................................................................................................................................ 3
6.4. MTODO DE QUINE (1952) ................................................................................................................ 4
6.4.1. Obtencin de implicantes primos .............................................................................................. 4
Ejemplo 6.3. ..................................................................................................................................................... 4
6.4.2. Tabla de implicantes ................................................................................................................. 5
Ejemplo 6.4. ..................................................................................................................................................... 5
6.4.3. Reduccin de tablas................................................................................................................... 6
Ejemplo 6.5. ..................................................................................................................................................... 6
Ejemplo 6.6. ..................................................................................................................................................... 8
6.5. TABLA REDUCIDA CCLICA. ............................................................................................................. 10
6.5.1. Bifurcacin. ............................................................................................................................. 10
Ejemplo 6.7. ................................................................................................................................................... 10
6.5.2. Petrick (1956). ......................................................................................................................... 11
Ejemplo 6.8. ................................................................................................................................................... 12
Ejemplo 6.9. ................................................................................................................................................... 13
Ejemplo 6.10. ................................................................................................................................................. 13
6.6. MTODO DE QUINE-MCCLUSKEY (1956) ........................................................................................ 17
Ejemplo 6.11...................................................................................................................................... 17
6.7. MTODO DE TISON (1965) PARA ENCONTRAR IMPLICANTES PRIMOS. CONSENSO REITERADO. ........ 20
6.7.1. Fundamentos. .......................................................................................................................... 20
6.7.2. Algoritmo de Tison. ................................................................................................................. 21
Ejemplo 6.12. ................................................................................................................................................. 22
6.7.3. Operaciones para desarrollar el algoritmo, ........................................................................... 25
a) Obtener trminos de consenso. .................................................................................................................. 25
b) Un producto que implica otro: pi p j ............................................................................................... 26
Ejemplo 6.13...................................................................................................................................... 26
Ejemplo 6.14...................................................................................................................................... 27
Ejemplo 6.15...................................................................................................................................... 27
PROBLEMAS RESUELTOS. ........................................................................................................................ 28
Problema 6.1. .................................................................................................................................... 28
Problema 6.2. .................................................................................................................................... 29
EJERCICIOS PROPUESTOS. ....................................................................................................................... 29
Ejercicio 6.1. ..................................................................................................................................... 29
Ejercicio 6.2. ..................................................................................................................................... 30
Ejercicio 6.3. ..................................................................................................................................... 31
Ejercicio 6.4. ..................................................................................................................................... 31
Ejercicio 6.5. ..................................................................................................................................... 31

Profesor Leopoldo Silva Bijit 19-01-2010


34 Sistemas Digitales
Ejercicio 6.6. ......................................................................................................................................31
Ejercicio 6.7. ......................................................................................................................................31
REFERENCIAS. .........................................................................................................................................32
NDICE GENERAL. ....................................................................................................................................33
NDICE DE FIGURAS .................................................................................................................................35

Profesor Leopoldo Silva Bijit 19-01-2010


Captulo 6. Algoritmos de minimizacin 35

ndice de figuras

Figura 6.1 Implicacin. ................................................................................................................. 1


Figura 6.2 Implicantes primos ....................................................................................................... 3
Figura 6.3 Implicantes primos ejemplo 6.2 ................................................................................... 3
Figura 6.4 Obtencin de implicantes primos ................................................................................. 5
Figura 6.5 Tabla de implicantes primos ........................................................................................ 5
Figura 6.6 Rengln cubierto por otro. .......................................................................................... 6
Figura 6.7 Mapa con implicantes. ................................................................................................ 7
Figura 6.8 Tabla de implicantes. ................................................................................................... 7
Figura 6.9 Tabla de implicantes reducida...................................................................................... 7
Figura 6.10 Columna cubierta por otra.......................................................................................... 8
Figura 6.11 Mapa con implicantes. ............................................................................................... 8
Figura 6.12 Tabla implicantes con columnas cubiertas por otras.................................................. 9
Figura 6.13. Tabla reducida, por eliminacin de columnas........................................................... 9
Figura 6.14. Tabla reducida, por eliminacin de renglones. ......................................................... 9
Figura 6.15. Mtodo de bifurcacin (branching)......................................................................... 10
Figura 6.16. Bifurcacin con Ip1................................................................................................. 11
Figura 6.17. Bifurcacin con Ip2................................................................................................. 11
Figura 6.18. Bifurcacin con Ip3................................................................................................. 11
Figura 6.19. Tabla cclica. ........................................................................................................... 12
Figura 6.20. Implicantes primos de Ejemplo 6.6......................................................................... 13
Figura 6.21. Tabla de implicantes Ejemplo 6.10. ........................................................................ 14
Figura 6.22 Remocin implicante primo esencial ....................................................................... 14
Figura 6.23. Remocin rengln ipd ............................................................................................. 14
Figura 6.24. Remocin implicante primo ipa, en tabla cclica. ................................................... 15
Figura 6.25 Remocin renglones ipc e iph. ................................................................................. 15
Figura 6.26 Remocin implicante primo ipc, en tabla cclica. .................................................... 15
Figura 6.27 Remocin implicantes primos ipa e ipe. .................................................................. 16
Figura 6.28 Agrupacin segn nmero de unos. ......................................................................... 18
Figura 6.29 Grupos de dos mintrminos adyacentes. .................................................................. 18
Figura 6.30. Grupos de cuatro mintrminos agrupables.............................................................. 19
Figura 6.31. Tabla de implicantes ejemplo 6.8. .......................................................................... 19
Figura 6.32. Trmino de consenso. ............................................................................................ 21
Figura 6.33. Mintrminos de f. ................................................................................................... 22
Figura 6.34. Productos de consenso para variable C. ................................................................. 23
Figura 6.35. Productos de consenso para variable D.................................................................. 23
Figura 6.36. Productos de consenso para variable A. ................................................................. 24
Figura 6.37. Productos de consenso para variable B. ................................................................. 24
Figura 6.38. Implicantes primos para f. ...................................................................................... 25
Figura P6.1. Ordenamiento segn nmero de unos. .................................................................... 28
Figura P6.2. Implicantes formados por dos mintrminos............................................................ 28
Figura P6.3. 2 cubos. ................................................................................................................... 28
Figura P6.4. Tabla Problema 6.2. ................................................................................................ 29

Profesor Leopoldo Silva Bijit 19-01-2010


36 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

También podría gustarte