MAPAS DE KARNAUGH
Un mapa de Karnaugh proporciona un método sistemático de simplificación de expresiones
booleanas. Aplicado adecuadamente genera las expresiones suma de productos y producto
de sumas más simples posibles.
Un mapa de Karnaugh es similar a una tabla de verdad, ya que muestra todos los posibles
valores de las variables de entrada y la salida resultante para cada valor. El mapa de
Karnaugh es una secuencia de celdas en la que cada celda representa un valor binario de
las variables de entrada.
Las celdas se disponen de tal manera que la simplificación de una determinada expresión
consiste en agrupar adecuadamente las celdas.Los mapas de Karnaugh pueden utilizarse
para expresiones de dos, tres, cuatro y cinco variables.
Al igual que ocurría con el número de filas de una tabla de verdad, el número de celdas de
un mapa de Karnaugh es igual al número total de combinaciones de las variables de
entrada. Para tres variables, el número de celdas necesarias es 23=8. Para cuatro variables,
el número de celdas es 24=16 celdas.
Mapa de Karnaugh de tres variables
La tabla de verdad se convierte en un mapa de Karnaugh como sigue:
Las variables en la parte superior del mapa de Karnaugh no están escritas de forma
ordenada 00, 01, 10, 11 en binario. De hecho, cada columna difiere de la columna previa
justo en un solo bit. Esto es conocido como código Grey.
En el mapa de Karnaugh puedes identificar 3 grupos de a dos “1”, como está indicado. El
grupo horizontal del lado izquierdo combina las celdas (A.B.C) y (A.B.C). Dentro de este
grupo el valor de A cambia, esto significa que esta variable, A, no afecta los valores de las
celdas. Entonces A puede ser eliminada de la expresión, quedando (B.C). Operando sobre
los otros grupos de forma similar observamos que en el agrupamiento horizontal de “1” de la
derecha, que incluye los términos (minitérminos) (A.B.C) y (A.B.C), la variable que cambia es
la B por lo tano se puede eliminar y quedaría (A.C). Por último, la agrupación de “1” vertical
involucra los términos ( minitérminos) (A.B.C) y (A.B.C) lo que dá como resultado que
cambie la variable C y es ésta la que se puede eliminar quedando: (A.B).
El resultado o expresión final simplificada es: A.B + A.C + B.C
Reglas de simplificación
1. Las agrupaciones son exclusivamente de unos. Esto implica que ningún
grupo puede contener ningún cero.
2. Las agrupaciones únicamente pueden hacerse en horizontal y
vertical. Esto implica que las diagonales están prohibidas.
3. Los grupos han de contener 2n elementos. Es decir que cada grupo tendrá
1,2,4,8... número de unos.
4. Cada grupo ha de ser tan grande como sea posible. Tal y como lo
ilustramos en el ejemplo.
5. Todos los unos tienen que pertenecer como mínimo a un grupo. Aunque
pueden pertenecer a más de uno.
6. Pueden existir solapamiento de grupos.
7. La formación de grupos también se puede producir con las celdas
extremas de la tabla. De tal forma que la parte inferior se podría agrupar con la
superior y la izquierda con la derecha tal y como se explica en el ejemplo.
8. Tiene que resultar el menor número de grupos posibles siempre y cuando
no contradiga ninguna de las reglas anteriores. Esto es, el número de grupos
ha de ser mínima.
Metodología
Vamos a indicar cada uno de los pasos para obtener la expresión MSP (mínima
suma de productos). Para ello vamos a ilustrarlo con el ejemplo:
F(x, y, z) = x’ y’ z’ + x’ y’ z + x’ y z’+ x y’ z’+ x y z’
Los pasos a seguir para conseguir reducir esta expresión son:
1. Convertir la expresión a una suma de productos si es necesario. Esto se
puede realizar de varias maneras:
Algebraicamente.
Construyendo una tabla de verdad, trasladando los valores al mapa de
Karnaugh. Esta es la forma que vamos a utilizar.
X Y Z Resultado
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
2. Cubrir todos los unos del mapa mediante rectángulos de 2N elementos,
donde N = 0 ... número de variables. Ninguno de esos rectángulos debe
contener ningún cero (tal y como indicábamos en el apartado anterior).
Para minimizar el número de términos resultantes se hará el mínimo número
posible de rectángulos que cubran todos los unos.
Para minimizar el número de variables se hará cada rectángulo tan grande
como sea posible.
Véase que en este caso se ha unido la columna izquierda con la derecha para
formar un único rectángulo.
3. Encontrar la MSP (suma de productos minimal). Ojo porque podemos
encontrarnos con que puede haber más de una MSP.
Cada rectángulo pertenece a un término producto.
Cada término se define encontrando las variables que hay en común en tal
rectángulo.
En nuestro ejemplo tenemos F(X, Y, Z) = Z’ + X’Y’ nótese que las variables
resultado son las que tienen un valor común en cada rectángulo.
Rectángulos y productos.
Cada rectángulo representa un término. El tamaño del rectángulo y el del término
resultante son inversamente, es decir que, cuanto más largo sea el rectángulo
menor será el tamaño del término final.
En general, si tenemos una función con n variables :
Un rectángulo que ocupa una celda equivale a un término con n variables.
Un rectángulo que ocupa dos celdas equivale a un término con n-1 variables.
Un rectángulo que ocupa 2n celdas equivale al término de valor 1.
Por lo tanto, para encontrar el MSP se debe:
Minimizar el número de rectángulos que se hacen en el mapa de Karnaugh,
para minimizar el número de términos resultantes.
Maximizar el tamaño de cada rectángulo, para minimizar el número de
variables de cada término resultante.
Agrupación de rectángulos.
Cuando tenemos distintas posibilidades de agrupar rectángulos hay que seguir
ciertos criterios:
1. Localiza todos los rectángulos más grandes posibles, agrupando todos los
unos. Estos se llamarán implicantes primos.
2. Si alguno de los rectángulos anteriores contiene algún uno que no aparece
en ningún otro rectángulo entonces es un implicante primo esencial. Éstos han
de aparecer en el resultado final de manera obligatoria.
El resto de implicantes primos se podrán combinar para obtener distintas
soluciones.
Véase este ejemplo que ilustra lo que les planteamos. Aquí los implicantes primos
son cada uno de los diferentes rectángulos obtenidos. Los primos implicantes
esenciales son el rectángulo rojo y el verde, por contener unos que no son
cubiertos por otros rectángulos. Así todas las posibles soluciones han de contener
estos dos implicantes.
Solución: F( X, Y, Z, T ) = X’Y’ + XYT’ + XZT