GUIA 6 MAPAS DE KARNAUGH REPRESENTACION

MAPAS DE KARNAUGH

Los mapas de Karnaugh constituyen un método sencillo y apropiado para la minimización de funciones lógicas. El tamaño del mapa depende depende del numero de variables, y el método de minimización es efectivo para expresiones de hasta 6 variables.

Representación de funciones con mapas de Karnaugh
Un mapa de Karnaugh es una representación gráfica de una tabla de verdad, y por lo tanto existe una asociación unívoca entre ambas. La tabla de verdad tiene una fila por cada mintérmino, mientras que el mapa de Karnaugh tiene una celda por cada mintérmino. De manera análoga, también existe una correspondencia unívoca entre las filas de la tabla de verdad y las celdas del mapa de Karnaugh si se utilizan maxtérminos.

El proceso de minimización usando como herramienta los mapas de Karnaugh se basa en la forma en como se acomodan las celdas del mapa que representan cada una un mintérmino.

Al igual que en una tabla de verdad, en la que colocamos 1 o 0 en el valor de la función correspondiente a una de las 2n combinaciones, así hacemos en un mapa de Karnaugh, colocando un 1 en la celda correspondiente a la combinación para la cual la función vale 1 y dejando en blanco las celda correspondientes a la combinación para  la cual  la función vale 0.

Para entender como se representa un mapa de Karnaugh, supongamos que K sea el conjunto de los ceros y unos de una función y su representación sea un rectángulo o un cuadrado, Como se muestra en la figura. 

Una variable A podrá asumir sólo dos valores de verdad: 0 o 1, por lo que podemos dividir K en dos porciones:
una donde A vale cero ( A no existe)
otra donde A vale uno  ( A existe)

Colocamos la A a un lado del rectángulo para definir a cual  variable corresponde la distribución de K.
Observe que el contrario de A ( Ane.gif (848 bytes) existe donde A no existe y viceversa; en esta forma podemos añadir al mapa de A dos letras indicando el lugar en donde son válidas A y
Ane.gif (848 bytes).

 

Ordinariamente solo se coloca la variable A y el 0 y 1 para indicar las áreas de existencia de A y Ane.gif (848 bytes).
Si deseamos representar en el mapa una función dependiente de A, solo necesitaremos indicar en que parte se encuentra. Sea por ejemplo f = A : f existe en el área en que A existe ( f = 1 si A = 1). Podemos entonces señalar el área de A como la región de existencia de f. Esto lo hacemos colocando un 1 donde f = 1.

 

Si la función fuera g = Ane.gif (848 bytes), colocaríamos un 1 en el área donde A es igual a cero ( Ane.gif (848 bytes) ) como se muestra en la figura.

Consideremos ahora dos variables A y B que deben tener una representación en K. Cuatro son las formas posibles de combinar A y B:

A=0 y B=0,  A=0 y B=1,  A=1 y B=0,   A=1 y B=1.

Note que cada uno de los 4 cuadrados en los que se subdivide el mapa corresponde a un mintérmino. Por ejemplo el cuadrado superior izquierdo corresponde a la combinación A = 0 y B = 0. Esto es la INTERSECCION del área donde A vale 0 con el área donde B vale 0, lo que podemos expresar como Ane.gif (848 bytes)·Bne.gif (846 bytes) .

Recuerde que la combinación  Ane.gif (848 bytes)·Bne.gif (846 bytes)  en una función de 2 variables es el mintérmino m0 .
SI TODAVIA TIENE DUDAS CON LAS DEFINICIONES DE MINTÉRMINO Y MAXTÉRMINO REPASE LA GUIA DE ALGEBRA DE BOOLE

 

Mapas de Karnaugh de 2 variables

Sea f una función de 2 variables f (A,B)

Para elaborar el mapa de Karnaugh tendremos 22 = 4 combinaciones.
En la figura se muestra la tabla de verdad con la lista de los mintérminos y el lugar que ocupa cada uno de ellos en un mapa.

 

Una manera mas sencilla de representar el mintérmino en la casilla correspondiente es señalando su valor decimal.


Por ejemplo la combinación A=1 y B=1 es el termino AB cuyo valor binario es 11 y que convertido a decimal da 3. (Mintérmino m3).

 

Mapas de Karnaugh de 3 variables

Sea f una función de 3 variables:f (A,B,C)

Para elaborar el mapa de Karnaugh tendremos 23 = 8 combinaciones.
Al igual que antes cada casilla del mapa corresponde a un mintémino de la tabla de verdad.
Es importante colocar las variables en el orden indicado de mas significativo a menos significativo (A, B, C), de otra forma el valor decimal de las casilla sería diferente.

 

CUIDADO: Note que en las columnas AB no se sigue el orden progresivo de valores, 00, 01, 10, 11 sino 00, 01,11,10.
Esto es muy importante, ya que el proceso de minimización depende de la ubicación de las casillas en el mdk. Esto se hace para que entre una casilla y otra, en forma horizontal o vertical solo cambie una variable, lo que llamamos ADYACENCIA LOGICA.
Por ejemplo la casilla 2 (010) es adyacente a las casillas 0 (000)(cambia B), a la 3 (011)(cambia C) y a la 6 (110)(cambia A).
¿ Cuales son las casillas adyacentes a la casilla 4? Note que además de la 6 y la 5 también es adyacente a la 0 ( entre 100 (4) y 000 (0) cambia A)

Antes de seguir con 4, 5 y 6 variables veamos como se representa una función en un mapa de Karnaugh:

1. Desde la tabla de verdad

Supongamos que tenemos la siguiente tabla de verdad para una función de 3 variables f(ABC):

mdk3var3.gif (2382 bytes)

El mapa de Karnaugh se obtiene colocando un 1 en las casillas correspondientes a las combinaciones para las cuales la función es igual a 1.

En este caso para las combinaciones:

_ _   _ _ _
A B C , A B C , A B C , A B C

2. Directamente desde una función.

Para este caso la función puede ser o no canónica. Si es canónica cada termino producto es un mintérmino, por lo que tiene una casilla especifica en el mapa de karnaugh.

_ _   _ _ _
Por ejemplo la función  f = A B C + A B C + A B C + A B C

Es una función canónica (cada termino producto posee todos los literales de la función) y tendrá la misma representación que el mdk anterior ya que corresponde a la función de la tabla de verdad.

En este punto es bueno recordar el significado geométrico de los mapas de Karnaugh. Si tomamos una función de 3 variables, f( A,B,C), en el mdk debemos poder representar lo siguiente el área de existencia de A, de Ane.gif (848 bytes), de B, de Bne.gif (846 bytes), de C y de Cneg.gif (845 bytes) .

Esto se realiza de la siguiente manera:


Area de existencia de A


Area de existencia de B

Area de existencia de C

Area de existencia de Ane.gif (848 bytes)

Area de existencia de Bne.gif (846 bytes)

Area de existencia de Cneg.gif (845 bytes)

Una casilla del mapa corresponde a un mintérmino. Por ejemplo la casilla 6 corresponde a la combinación ABCneg.gif (845 bytes) que quiere decir A=1 Y B=1 Y C=0. Esto es el AND de A, B y Cneg.gif (845 bytes).
Geométricamente se representa como la INTERSECCION de las áreas donde A existe , B existe y Cneg.gif (845 bytes)  existe. Si sobreponemos estas áreas, la única casilla común es la casilla 6 y es la representación de ABCneg.gif (845 bytes)

Siguiendo esta misma relación el OR es la UNION de áreas. Pruebe como ejercicio a representar en un mapa de Karnaugh de 2 variables la función f = A+B y compárela con la tabla de verdad del OR.

Con lo dicho anteriormente, cuando la función es canónica, la intersección de las áreas que representan a los literales del termino solo coinciden en una casilla y por eso cada mintérmino tiene su casilla correspondiente.

¿ Que sucede cuando la función no es canónica? 

Pruebe a representar la función f(A,B,C)= A B + Ane.gif (848 bytes) B Cneg.gif (845 bytes) +Ane.gif (848 bytes) Bne.gif (846 bytes) C

Esta función no es canónica ( el primer termino no tiene todas las variables de la función). Si utilizamos el mismo razonamiento gráfico podemos decir que la función es la UNION de las áreas que representan cada uno de los términos, y cada termino es la INTERSECCION de las áreas que representan sus literales.

El termino AB será la intersección de las áreas de A=1 y B=1, el termino  Ane.gif (848 bytes) B Cneg.gif (845 bytes)  la intersección de las áreas de A=0, B=1 y C=0  y el termino Ane.gif (848 bytes) Bne.gif (846 bytes) C la intersección de las áreas de A=0, B=0 y C=1 . El mapa final se obtiene con la unión de los tres resultados.


Termino AB


Termino Ane.gif (848 bytes)
B Cneg.gif (845 bytes)

Termino Ane.gif (848 bytes) Bne.gif (846 bytes)
Si unimos los resultados tendremos:

Colocando un 1 en las casillas correspondientes:

:

Si vemos este resultado es el mismo que obtuvimos para el ejemplo anterior. Su representación en un mapa de karnaugh es la misma por lo que las funciones son equivalente. Esto quiere decir que:

A B Cneg.gif (845 bytes) + A B C + Ane.gif (848 bytes) B Cneg.gif (845 bytes) + Ane.gif (848 bytes) Bne.gif (846 bytes) C = A B + Ane.gif (848 bytes) B Cneg.gif (845 bytes) + Ane.gif (848 bytes) Bne.gif (846 bytes) C

Si lo demostramos utilizando álgebra de Boole :

AB(C+ Cneg.gif (845 bytes)) + Ane.gif (848 bytes) B Cneg.gif (845 bytes) + Ane.gif (848 bytes) Bne.gif (846 bytes) C = A B + Ane.gif (848 bytes) B Cneg.gif (845 bytes) + Ane.gif (848 bytes) Bne.gif (846 bytes) C

AB +Ane.gif (848 bytes) B Cneg.gif (845 bytes) + Ane.gif (848 bytes) Bne.gif (846 bytes) C = A B + Ane.gif (848 bytes) B Cneg.gif (845 bytes) + Ane.gif (848 bytes) Bne.gif (846 bytes) C

El hecho de simplificar AB(C+ Cneg.gif (845 bytes)) = AB  es lo que gráficamente llamamos ADYACENCIA LOGICA y que nos servirá para minimizar directamente desde el mdk sin utilizar manejo algebraico.

Problema: Demuestre con mapas de Karnaugh que  Ane.gif (848 bytes) Bne.gif (846 bytes) Cneg.gif (845 bytes) +A Bne.gif (846 bytes) Cneg.gif (845 bytes) + A Bne.gif (846 bytes) C + A B C = AC +  Bne.gif (846 bytes) Cneg.gif (845 bytes)

 

Mapas de Karnaugh de 4 variables

Sea f una función de 4 variables:f (A,B,C,D)

Para elaborar el mapa de Karnaugh tendremos 24 = 16 combinaciones.
Siguiendo el mismo procedimiento que para la función de 3 variables obtenemos el mapa que se muestra en la figura.
Note el orden en que se colocan las variables A, B,C y   mas significativo a menos significativo.
También como antes  para las columnas AB, las filas CD siguen el orden  00, 01, 11, 00 para que haya adyacencia lógica


 

Mapas de Karnaugh de 5 variables

Sea f una función de 5 variables:f (A,B,C,D,E)

Para elaborar el mdk tendremos 25 = 32 combinaciones.
Note que ahora una casilla, además de ser adyacente en forma horizontal o vertical, es adyacente  a la casilla que ocupa la misma posición en el cuadrado cercano.

Por ejemplo la casilla 15(01111) es adyacente al las casillas 13, 7, 14, 11 y a la 31(1111)

Esto porque cambia una sola variable entre una casilla y otra.


 

Mapas de Karnaugh de 6 variables

Sea f una función de 6 variables:f (A,B,C,D,E,F)

Para elaborar el mdk tendremos 26 = 64 combinaciones.
Note que ahora una casilla, además de ser adyacente en forma horizontal o vertical, es adyacente  a la casilla que ocupa la misma posición en el cuadrado cercano horizontal y en el cuadrado cercano vertical.

Por ejemplo la casilla 10 (001010) es adyacente a las casillas 11(001011), 14(001110), 8(001000), 2(000010) y a las casillas 26(011010) y 42 (101010)