Anda di halaman 1dari 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
un resultado que establece que se pueden tener del orden de

3n
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

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

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

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
C
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

D
C

B
Figura 6.3 Implicantes primos ejemplo 6.2

Profesor Leopoldo Silva Bijit

19-01-2010

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)

Profesor Leopoldo Silva Bijit

m(0, 2,5, 6, 7)

19-01-2010

Captulo 6. Algoritmos de minimizacin


Primera columna
m
min.
0
a'b'c'
2
a'bc'
5
ab'c
6
abc'
7
abc

marcas

Segunda columna
Grupos Implicantes
(0,2)
a'c'
(2,6)
bc'
(5,7)
ac
(6,7)
ab

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:
a'c'
bc'
ac
ab

0
1

2
1
1

1
1
1

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

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.
ipa
ipb

m1 m2 m3
1 1 1
1
1

Figura 6.6 Rengln cubierto por otro.

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 6. Algoritmos de minimizacin

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
00

CD
00

01
0
1

01
11

1
1

4
5

11
12

1
1

10
8

13

15

14

11
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

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
ipa
ipb
ipc
ipd

1
1

m2
1
1
1

m3
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

00

CD
00

01

11

10

01
0
1

3
2

1
1
d

11
12

13

10
8
9

15

11

14

10

Figura 6.11 Mapa con implicantes.

Profesor Leopoldo Silva Bijit

19-01-2010

Captulo 6. Algoritmos de minimizacin

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
AB 1 1
CD 1
AD 1
AC
1

3 5 7
1
1
1 1 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.
Ip1
Ip2
Ip3

Costo m1 m2 m3
2
1 1
4
1 1
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,
queda, luego de la reduccin:
Costo
Ip2
4
Ip3
2

se escoge en primer lugar Ip1, con costo 2,


m3
1
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:

Ip1
Ip3

Costo m1
2
1
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:

Ip1
Ip2

Costo m2
2
1
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:

IP1
IP2
IP3
IP4

2 5 7
AB 1
CD
1
AD
1 1
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
1

ipa
ipb
ipc
ipd
ipe
ipf
ipg
iph

3
1

13

15

1
1
1

1
1

1
1

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
1

ipa
ipc
ipd
ipe
ipf
ipg
iph

3
1
1

13

15

1
1
1
1
1

1
1

1
1

Figura 6.22 Remocin implicante primo esencial


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

ipa
ipc
ipe
ipf
ipg
iph

1
1

3
1
1

13

1
1
1
1

1
1

15
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
1

ipe
ipf
ipg

13

1
1

15
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:

ipa
ipe
ipf
ipg
iph

1
1

1
1

13
1
1

15
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

ipf
ipg
iph

1
1

13
1
1

15
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
m2 = 000010
m8 = 001000
m6 = 000110
m10 = 001010

Profesor Leopoldo Silva Bijit

m12 = 001100
m7 = 000111
m14 = 001110
m41 = 101001
m15 = 001111

19-01-2010

18

Sistemas Digitales

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


Decimal
mintrmino
0
2
8
6
10
12
7
14
41
15

Binario
b
c
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1

a
0
0
0
0
0
0
0
0
1
0

d
0
0
0
1
0
1
1
1
0
1

e
0
1
0
1
1
0
1
1
0
1

f
0
0
0
0
0
0
1
0
1
1

Nmero de unos
0
1
2

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
Grupo
Posicin
0,2
2
0.8
8
2,6
4
2,10
8
8,10
2
8,12
4
6,7
1
6,14
8
10,14
4
12,14
2
7,15
8
14,15
1

a
0
0
0
0
0
0
0
0
0
0
0
0

b
0
0
0
0
0
0
0
0
0
0
0
0

c
0
0
1
1
0
1
1
1

d
0
0
0
0
1
1
1
1
1

Binario
e
0
1
1
0
1
1
1
1
1

f
0
0
0
0
0
0
0
0
0
1
-

Nmero de unos
0
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:

Diferencia:

0, 2
8, 10
8, 8

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

Diferencia:

0, 8
2, 10
2, 2

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

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


siguiente tabla:
Decimal
Grupo
Posicin
0, 2, 8, 10
2,8
2, 6, 10, 14
4,8
8, 10,12,14
2,4
6, 7, 14, 15
1,8

a
0
0
0
0

b
0
0
0
0

c
1
-

Binario
e
1
1

d
0
1

f
0
0
0
-

Nmero de unos
0
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
primos
41
0, 2, 8, 10
2, 6, 10, 14
8, 10, 12, 14
6, 7, 14, 15

1
1

10

1
1
1

12

14

41

15

1
1

1
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
00 01
CD
0

00

01
11

3
2

10

1
1
1

11

AB
00
CD

10

12

13

7
6

S0R0=ABD

15

14

11
10

00

01

11

10

01
0
1
3
2

1
1
1

11

10

12

13

7
6

15

14

11
10

S0R0=AD

R
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:

Profesor Leopoldo Silva Bijit

L p1 , p2 ,..., pk
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
00
CD

11

10

12

13

15
13 17 1

11

14

10

00

01

11
10

01
0
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
00
CD

01
0

11

10

12

00

01

13

11

15
13 17 1

11

14

10

10

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
00
CD
00

01

11

10

01
0
1

11

10

12

13

15

11

14

10

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
00
CD
00

01

11

10

01
0
1

11

10

12

13

15

11

14

10

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
00
CD

11

10

12

13

15
13 17 1

11

14

10

00

01

11
10

01
0
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
00
CD
00

01

11

10

01
0
1

11

10

12

13

15

11

14

10

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.

1 11 0,1 1 1 con consenso: 1 11 y


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
x6 es biforme en L, en

tambin en:

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
cuatro unos
58 111010
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
8,24
10,26
10,42
24,26
26,58
42,58
58,59

0010_0
0_1000
0_1010
_01010
0110_0
_11010
1_1010
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
10,26,42,58

0 _10_0
_ _1010

ip2
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.

ip1
ip2
ip3
ip4
ip5

2
x

3
x
x

4
x
x
x
x

10

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

Profesor Leopoldo Silva Bijit

Sistemas Digitales

19-01-2010

Anda mungkin juga menyukai