Mapas de Karnogh

El mapa de Karnaugh o mapa-k es un diagrama utilizado para la simplificación de funciones algebraicas booleanas permitiendo de manera gráfica reconocer patrones y así reduce la necesidad de hacer cálculos extensos para la simplificación de expresiones booleanas.

Reglas del mapa de Karnaugh
  1. Las agrupaciones o el término a considerar únicamente será del número “1”.
    0011CORRECTO0011INCORRECTO
  2. Las agrupaciones únicamente se deben hacer en horizontal y vertical.
    1011CORRECTO1001INCORRECTO
  3. Las agrupaciones a considerar deben contener 2n elementos. Es decir cada agrupación que contiene cada grupo tendrá 1, 2, 4,8,…, 2n cantidad de número de uno o unos.
    00001111CORRECTO00001110INCORRECTO
  4. Para una mejor simplificación se debe considerar el grupo más grande posible.
    11001111CORRECTO11001111INCORRECTO
  5. Se debe considerar todo número “1”.
    00101100CORRECTO00101100INCORRECTO
  6. Es posible solapar grupos de “1”.
    11001111CORRECTO11001111INCORRECTO
  7. La formación de grupos también se pueden producir con las celdas extremas de la tabla.
  8. Debemos considerar el menor número de agrupaciones o grupos posibles obedeciendo las reglas anteriores.

Simplificación de funciones con mapas de Karnaugh

Obtener la función de un Mapa de Karnaugh es el procedimiento inverso a la de la realización del mapa. Un termino de la función coloca uno o mas "unos" en el mapa de Karnaugh.
Tomar esos unos, agrupándolos de la forma adecuada, nos permite obtener los términos de la función

Utilizaremos los Mapas de Karnaugh para obtener una función mínima de dos niveles Suma de Productos.

Una expresión de dos niveles sdp se considerará la expresión mínima si:
1. no existe otra expresión equivalente que incluya menos productos.
2. No hay otra expresión equivalente que conste con el mismo numero de productos, pero con un menor numero de literales.

Observe que hablamos de UNA expresión mínima y lo LA expresión mínima. Esto porque pueden existir varias expresiones distintas, pero equivalentes, que satisfagan esta definición y tengan el mismo numero de productos y literales.

La minimización de funciones sobre el mapa de Karnaugh se aprovecha del hecho de que las casillas del mapa están arregladas de tal forma  que entre una casilla y otra, en forma horizontal o vertical existe ADYACENCIA LOGICA. Esto quiere decir que entre una casilla y otra solo cambia una variable.
Definimos los mintérminos adyacentes desde el punto de vista lógico como dos mintérminos que difieren solo en una variable. Agrupando casillas adyacentes obtenemos términos productos que eliminan las variables que se complementan, resultando esto en una versión simplificada de la expresión.

El procedimiento es el de agrupar "unos" adyacentes en el mapa; cada grupo corresponderá a un termino producto, y la expresión final dará un OR (suma) de todos los términos producto. Se busca obtener el menor numero de términos productos posible, lo que implica que cada termino producto debe contener el mayor numero de mintérminos posibles.

Antes de comenzar formalmente con la discusión sobre minimización veamos por un momento el  siguiente mapa de Karnaugh, resultado de la función:

 

 

_

_

_

_

 

_

 

_

_

 

 

 

_

_

 

 

_

_

_

 

_

 

_

 

 

 

 

_

 

 

 

_

_

 

 

 

 

 

 

 

 

_

 

 

 

_

_

 

_

 

_

 

 

_

 

 

 

 

_

 

_ _

f

=

A

B

C

D

+

A

B

C

D

+

A

B

C

D

+

A

B

C

D

+

A

B

C

D

+

A

B

C

D

+

A

B

C

D

+

A

B

C

D

+

A

B

C

D

+

A

B

C

D

+

A

B

C

D

+

A

B

C

D

+

AB C D

 

 

Como podemos notar, la función está expresada en forma canónica, por lo que cada mintérmino "colocará" un 1 en su casilla correspondiente como se muestra en el mapa de Karnaugh correspondiente.

MDK4ABCDuno.gif (2574 bytes)

 

MDK4ABCDtres.gif (5712 bytes)

Supongamos por un momento que agrupemos los "unos" del mapa de Karnaugh como se muestra en la figura.
Según esto tenemos cuatro términos que son:

 

 

 

 

 

 

termino I   

A

 

 

 

  (agrupa 8 unos y es de 1 variable)

 

 

_

 

 

 

termino II  

B

C

 

 

  (agrupa 4 unos y es de 2 variables)

 

_

 

_

 

 

termino III 

A

C

D

 

  (agrupa 2 unos y es de 3 variables)

 

_

_

_

_

 

termino IV

A

B

C

D

  (agrupa 1 uno   y es de 4 variables)

Puede verse que a medida que agrupamos mayor cantidad de "unos", el termino tiene menos literales. El agrupamiento se hace con una cantidad de "unos" que son potencias de 2. Así agrupamos 2 mintérminos, 4 mintérminos y 8 mintérminos. Cada vez que aumentamos, el termino va eliminando una variable. En una función de 4 variables, un termino que tenga un solo "uno" tendrá las cuatro variables. De hecho es un termino canónico. Al agrupar dos mintérminos eliminaremos  una variable y el termino quedará de tres variables. Si agrupamos cuatro "unos" eliminaremos dos variable quedando un termino de dos variables y finalmente si agrupamos ocho "unos" se eliminaran tres variable para quedar un termino de una variable.
Todo esto se debe a la adyacencia entre casillas y cada vez que agrupamos, se eliminan las variables que se complementan
.

En el ejemplo anterior la función obtenida es:

 

 

 

_

_

_

_

 

_

 

_

 

 

_

 

 


f

=

A

B

C

D

+

A

C

D

+

B

C

+

A

Pero, ¿será esta la función mínima? 

Si vemos la figura a la derecha, la forma de agrupar nos da como resultado:

 

 

_

 

 

_

 

 

 

f

=

D

+

B

C

+

A

        que sí es expresión mínima.

Es importante que al "tomar" un uno, se agrupe con todos los unos adyacentes, aunque estos uno sean parte de otros grupos. Fíjese que el mintérmino 13 (11002) es común a los tres términos.

MDK4ABCDcuatro.gif (6161 bytes)

Para simplificar funciones utilizando mapas de Karnaugh hay que tener en cuenta que:

·         Cada casilla (mintérmino) en un mapa de Karnaugh de n variable tiene n casillas adyacentes lógicamente, de modo que cada par de casillas defiere en una variable

·         Al combinar las casillas en un mapa de Karnaugh, agruparemos un número de min. términos que sea potencia de dos. Así agrupar dos casillas eliminamos una variable, al agrupar cuatro casillas eliminamos dos variables, y así sucesivamente. En general, al agrupar 2n casillas eliminamos n variables.

·         Debemos agrupar tantas casillas como sea posible; cuanto mayor sea el grupo, el termino producto resultante tendrá menos literales. Es importante incluir todos los "unos" adyacentes a un mintérmino que sea igual a uno.

·         Para que hayan menos términos en la función simplificada, debemos formar el menor numero de grupos posibles que cubran todas las casillas(mintérminos) que sean iguales a uno. Un "uno"  puede ser utilizado por varios grupos, no importa si los grupos se solapan. Lo importante es que si un grupo está incluido completamente en otro grupo, o sus "unos" están cubiertos por otros grupos, no hace falta incluirlo como termino.

Bibliografía 

LATAM, M. (2020b, 21 de febrero). Mapa de Karnaugh. Mecatrónica LATAM. https://www.mecatronicalatam.com/es/tutoriales/teoria/algebra-booleana/mapa-de-karnaugh/



Comentarios

Entradas populares de este blog

Dispositivos Digitales Programables Pal y Gal

Arquitectura de los DSP y sus módulos embebidos

Bloques funcionales en PLD