Normalmente un mapa es una cosa que usas para llegar a un sitio.

Y en el caso de los mapas de Karnaugh es lo mismo.

Tienes una tabla de verdad con un par de señales de entrada y sus correspondientes salidas ante las distintas combinaciones posibles.

Algo así:

Y ahora quieres plantear la función $f(A,B,C)$ como una expresión de álgebra booleana, porque tu intención es diseñar un circuito electrónico formado por puertas lógicas que te dé la señal de salida correspondiente a cada combinación de señales de entrada.

Y para eso, necesitas tener representado tu comportamiento lógico en una expresión booleana.

Podrías hacerlo tanto por términos mínimos como por términos máximos.

Y obtener un churro como este: $f(A,B,C)\:=\:A'B'C'\:+\:A'B'C\:+\:A'BC\:+\:ABC'\:+\:ABC$

Lo que te llevaría a idear un circuito con numerosas puertas lógicas:

Este circuito no solo tiene demasiadas puertas lógicas, sino que además se puede simplificar bastante.

Y precisamente a eso es a lo que nos ayudan los mapas de Karnaugh.

Para ello separaremos las señales en distintos grupos para simplificar los valores de un solo vistazo.

Utilizamos el código gray para los índices de filas y columnas:

Y luego transportaremos los datos desde la tabla de verdad, respetando las combinaciones y su salida.

Antes de seguir leyendo observa bien cómo estos valores coinciden con los valores de la tabla de verdad.

Agruparemos los $1$ adyacentes en grupos de 1, 2, 4, 8, … (potencias de 2).

Atención: potencias de 2. Un fallo común es hacer grupos de 6 unos. Y el 6 no es potencia de 2.

Ahora que ya hemos hecho las agrupaciones de unos, dejamos de mirar los valores, y nos centramos en los índices de la tabla, mirando cuándo cambian y cuándo no, dentro de cada grupo:

Para el grupo marcado en rojo:

  • La C vale 0 en la primera fila y 1 en la segunda, luego la ignoramos.
  • La A vale 0 en la primera fila y 0 en la segunda, luego su valor queda reflejado como A' (A negado, por ser 0).
  • La B vale 0 en la primera fila y 0 en la segunda, luego su valor queda reflejado como B' (B negado, por ser 0).
  • El grupo rojo queda simplificado como A'B'

Para el grupo marcado en azul:

  • La C vale 1 en la primera columna y 1 en la segunda, luego su valor queda reflejado como C (C sin negar, por ser 1)
  • La A vale 0 en la primera columna y 0 en la segunda, luego su valor queda reflejado como A' (A negado, por ser 0).
  • La B sí cambia de valor entre la primera y la segunda columna, por lo que la ignoramos.
  • El grupo azul queda simplificado como A'C

Para el grupo marcado en verde:

  • La C vale 0 en la primera fila y 1 en la segunda, luego la ignoramos.
  • La A vale 1 en la primera fila y 1 en la segunda, luego su valor queda reflejado como A (A sin negar, por ser 1).
  • La B vale 1 en la primera fila y 1 en la segunda, luego su valor queda reflejado como B (B sin negar, por ser 1).
  • El grupo verde queda simplificado como AB

Es decir, hemos obtenido de cada grupo estas expresiones:

Con lo que al final nos queda que la expresión total se reduce a:

$f(A,B,C)\:=\:A’B’\:+\:A’C\:+\:AB$

Y el circuito se hace mucho más simple:

El objetivo es eliminar variables que no importan.

Debes tener en cuenta

Las agrupaciones deben ser en rectángulos, no vale agrupar términos en diagonales.

Además, si hay términos que pueden agruparse al principio al final de la tabla, lo haremos, porque podemos considerar que están pegados.

Más información

  1. Ejemplo resuelto con Karnaugh

  2. Mapa de Karnaugh de 4 variables

  3. Añadir enlace
En internet hay millones de contenidos gratuitos que merece la pena compartir. Si conoces algún recurso interesante que debería estar en la lista, puedes añadirlo aquí: