Guía · Lógica digital

Cómo funcionan los mapas de Karnaugh

Por qué el orden Gray permite simplificar, las reglas de agrupación, implicantes primos esenciales, funciones con dos soluciones y cómo obtener un producto de sumas.

Revisada el con las herramientas del sitio.

Un mapa de Karnaugh es una tabla de verdad dibujada de forma que las filas que se pueden combinar algebraicamente quedan físicamente juntas. Entender por qué funciona evita los errores típicos: grupos de tamaño incorrecto, olvidar que los bordes se tocan o no aprovechar las indiferencias.

La idea: combinar términos que difieren en una variable

Todo el método se apoya en una identidad del álgebra de Boole:

X·Y + X·Y' = X·(Y + Y') = X

Si dos minitérminos son iguales salvo en una variable, su suma se simplifica eliminando esa variable. Por ejemplo, A'BC'D (m5) + A'BCD (m7) = A'BD. Aplicado dos veces, cuatro minitérminos que difieren en dos variables se reducen a un producto de dos literales menos, y así sucesivamente.

Por qué el orden Gray

El mapa numera filas y columnas en código Gray: 00, 01, 11, 10. Entre dos posiciones consecutivas cambia un solo bit, y también entre la última y la primera (10 → 00). Con el orden binario habitual (00, 01, 10, 11) el paso de 01 a 10 cambiaría dos bits a la vez y dos celdas vecinas no serían combinables. Gracias al orden Gray, celdas vecinas en el mapa = minitérminos que difieren en una variable, incluidas las que están en bordes opuestos.

AB \ CD00011110
0000010302
0104050706
11012013015014
101809011010
Vecinas de m8: m0 (borde superior), m9, m10 (otro extremo de la fila) y m12, resaltadas.

Reglas para agrupar

  1. Los grupos contienen solo unos (o indiferencias) y tienen 1, 2, 4, 8 o 16 celdas.
  2. Son rectangulares, contando que el mapa se «dobla» por los bordes: las cuatro esquinas de un mapa de 4 variables forman un grupo.
  3. Cada grupo debe ser lo más grande posible: un grupo mayor elimina más variables.
  4. Los grupos pueden solaparse, y cada 1 debe quedar en al menos un grupo.
  5. Se usan los menos grupos posibles.

Para leer un grupo, mira qué variables mantienen el mismo valor en todas sus celdas: esas forman el producto (negadas si valen 0). Las que cambian desaparecen.

Implicantes primos y esenciales

Un implicante primo es un grupo que no se puede agrandar más. Es esencial si cubre algún 1 que ningún otro implicante primo cubre: entonces tiene que estar en la solución. El procedimiento práctico es:

  1. Encuentra los unos que solo pueden agruparse de una manera y toma esos grupos (son esenciales).
  2. Con los unos que queden, elige los grupos que los cubran con el menor número de términos.

El minimizador del sitio hace exactamente esto, pero de forma exhaustiva: calcula todos los implicantes primos con el método de Quine-McCluskey, toma los esenciales y busca la mejor cobertura para el resto.

Cuando hay más de una solución mínima

F(A,B,C) = Σm(0, 1, 2, 5, 6, 7) no tiene ningún implicante primo esencial: cada 1 se puede cubrir de dos maneras. Es un caso cíclico, y tiene dos soluciones igual de buenas:

A \ BC00011110
010110312
104151716
A'B' + BC' + AC
A \ BC00011110
010110312
104151716
A'C' + B'C + AB

Las dos tienen 3 términos y 6 literales. El minimizador muestra la primera. Si tu solución es la otra, también es correcta; el ejercicio de verificación usa esta misma función.

Indiferencias

Una indiferencia (X) es una combinación de entradas que nunca se produce o cuya salida no importa. Se puede tratar como 1 si ayuda a formar un grupo mayor y como 0 en caso contrario. No hace falta cubrirlas. El itinerario de lógica digital muestra cómo las indiferencias de una entrada BCD reducen un detector de primos de 4 términos a 2.

Producto de sumas agrupando ceros

El mismo mapa sirve para obtener un producto de sumas (POS): se agrupan los ceros, lo que da una expresión de F', y se aplica De Morgan. Para F = Σm(0, 2, 5, 7, 8, 10, 13, 15), los ceros son las celdas donde B ≠ D:

AB \ CD00011110
0010010312
0104151706
11012113115014
101809011110
Ceros: m1, m3, m4, m6, m9, m11, m12, m14
F' = BD' + B'D   →   F = (B' + D)(B + D')

El resultado es equivalente a la suma de productos B'D' + BD. El minimizador del sitio solo genera la forma SOP, así que el POS hay que obtenerlo a mano de esta manera.

Más allá de 4 variables

Con 5 o 6 variables se pueden usar varios mapas superpuestos, pero las adyacencias entre mapas son fáciles de pasar por alto. A partir de ahí se usan métodos tabulares como Quine-McCluskey, que no dependen de la vista y se pueden programar.

Practica lo que has leído

Coloca los minitérminos en el mapa

Marca en el mapa de 4 variables las celdas de F(A,B,C,D) = Σm(3, 6, 11, 12, 14). Las filas son AB y las columnas CD, ambas en código Gray.

AB \ CD00011110
00
01
11
10
Abrir en la herramienta

Encuentra las celdas adyacentes

En un mapa de 4 variables, ¿qué celdas son adyacentes a m8? Marca todas: recuerda que los bordes opuestos también se tocan.

AB \ CD00011110
00
01
11
10
Abrir en la herramienta

Comprueba la solución de otra persona

Un compañero propone F = A'B' + BC' + AB para F(A,B,C) = Σm(0, 1, 2, 5, 6, 7). ¿Es correcta? Si no lo es, marca un minitérmino donde falle.

F = A'B' + BC' + AB

¿Es correcta la expresión?
Abrir en la herramienta

Referencias

  • M. Karnaugh, “The Map Method for Synthesis of Combinational Logic Circuits”, Transactions of the AIEE, Part I, vol. 72, no. 5, 1953 — artículo original del método de mapas
  • W. V. Quine, “The Problem of Simplifying Truth Functions”, The American Mathematical Monthly, vol. 59, no. 8, 1952 — implicantes primos y simplificación de funciones
  • E. J. McCluskey, “Minimization of Boolean Functions”, Bell System Technical Journal, vol. 35, no. 6, 1956 — método tabular que usa el minimizador para obtener los implicantes primos