Mapas de Karnaugh

Unidad de Apoyo para el Aprendizaje

Iniciar

Introducción

Los mapas de Karnaugh son una herramienta utilizada para la simplificación de funciones lógicas booleanas, a diferencia de la resolución por álgebra de Boole, este es un método gráfico que implica conocer las representaciones canónicas de las funciones.

El Mapa de Karnaugh tiene la característica de que puede ser visto como una representación bidimensional de una tabla de verdad. En la tabla de verdad, se colocan las variables por columnas y las combinaciones de tales variables determinan un valor de salida 0 ó 1, sin embargo, en el mapa las variables se colocan como si de un plano cartesiano se tratará, respetando cada una de las combinaciones que de ellas se genere, y colocando en la intersección de las combinaciones, el valor de salida.

Una de las ventajas de estos elementos gráficos, es que evitan la realización de cálculos algebraicos, y al determinar la función de salida, esta se encuentra minimizada.


Wikipedia. (s.a.). Ejemplo de mapa de Karnaugh. [imagen]. Tomada de: https://es.wikipedia.org/wiki/Mapa_de_Karnaugh#/media/Archivo:K-map_6,8,9,10,11,12,13,14_anti-race.svg


Al término del tema, el participante: Simplificará expresiones booleanas haciendo uso de los mapas de Karnaugh, así como de las reglas de construcción de mapas para la simplificación de cualquier expresión booleana canónica.

Mapas de Karnaugh


Los mapas de Karnaugh son utilizados para la simplificación de funciones lógicas, estas funciones pueden ser representativas de circuitos digitales lógicos.

Los mapas muestran la relación que existe entre las entradas y las salidas de un circuito lógico, si se aplica adecuadamente, el resultado será el más simplificado posible. Pueden ser utilizados para cualquier número de variables de entrada, sin embargo, se recomienda un máximo de seis variables.



En la Figura 1, vemos dos ejemplos de la representación de los mapas de Karnaugh, como ya se mencionó, se pueden utilizar más variables, pero en este caso nos enfocaremos a mapas con 3 y 4 variables.

Fig. 1. Representación base de los mapas de Karnaugh, del lado izquierdo se tiene un mapa de tres variables, y del lado derecho se tiene un mapa de 4 variables. En los mapas se puede ver la forma de ordenar las variables y los valores lógicos que puede tener cada variable o combinación de variables. [Elaboración propia].


El mapa de Karnaugh es una representación en dos dimensiones de una tabla de verdad, en la Figura 2, podemos ver la forma en la que una tabla de verdad es representada por un mapa.


Fig. 2. Forma de pasar una tabla de verdad a un mapa de Karnaugh. [Elaboración propia].


En la Figura 2, también se observa o se muestra que la tabla tiene 4 variables colocadas de la A a la D, ordenadas en columnas. Estas 4 variables forman diferentes combinaciones y cada combinación tiene una salida lógica {0, 1}, por ejemplo; la combinación mostrada en amarillo puede ser representada como , esta es la representación canónica, es decir, es una combinación que involucra a todas las variables y que tiene como salida un 1, hay que hacer notar que cuando el valor de la variable es 1, solo se representa con el nombre de la variable, sin embargo, cuando el valor de la variable es 0, se representa con la variable negada.

Como se aprecia en la Figura 2, las variables A y B, encerradas en anaranjado, son pasadas al mapa como si se tratara del eje de las Y de un plano cartesiano; las variables C y D son pasadas al mapa como si se tratara del eje de las X dentro del plano.


Ahora, para saber dónde colocar los valores vamos a utilizar la combinación enmarcada con verde, podemos ver que a las variables A y B les corresponden los valores 0 y 1 respectivamente, buscamos en el eje de las Y en donde se encuentra esa combinación de valores, y lo podemos ver también enmarcado con verde; para las variables C y D, se tienen los valores 0 y 0, por lo que, buscamos en el eje de las X tal combinación, la cual también es marcada con verde, ahora el valor que le corresponde, en este caso 1, se coloca en la casilla donde ambas combinaciones se intersectan. Este mismo procedimiento se puede ver para la combinación enmarcada en amarillo. Obviamente, todas las casillas del mapa deben de ser llenadas en la misma forma.

Una vez definida la manera en cómo se llena un mapa, vamos a proporcionar unos puntos con los cuales se obtienen las funciones booleanas simplificadas.

Puntos importantes que deben tomarse en cuenta para la formación de grupos dentro del mapa de Karnaugh.

Los grupos deben contener posiciones en potencias de 2. Es decir, los grupos sólo podrán realizarse con cantidades iguales a las potencias de dos: 1, 2, 4, 8, 16, 32, etc.

Grupos en extremos y esquinas. Pueden generarse grupos con las posiciones que estén en las esquinas.

Grupos de unos, darán lugar a una suma de productos.

Grupos de ceros, darán lugar a un producto de sumas.

Los grupos deben ser lo más grande posible. Se buscará realizar grupos con la mayor cantidad de posiciones posibles.

No se pueden generar grupos en diagonal. Solo se permitirán grupos en vertical y horizontal dentro del mapa.

Puede existir solapamiento de grupos.



Ejemplos

En los siguientes ejemplos se mostrará la aplicación de cada uno de los puntos referidos para la formación de grupos dentro del mapa de Karnaugh.


Encontrar la función que representa al siguiente mapa de Karnaugh:

En este ejemplo se puede ver con facilidad el número de grupos que se podrán realizar, debes recordar que no es posible hacer grupos en diagonales y que se hacen con potencias de 2.

Como primera parte, vamos a ver un error que se puede cometer al resolver este tipo de casos, esto se puede observar en la siguiente figura:

No se pueden realizar grupos con posiciones discontinuas, es decir, solo podrás formar tus grupos con aquellas posiciones que se encuentren de manera continua en horizontal y vertical y que contengan las cantidades aceptables (1, 2, 4, 8, etc.), en este caso la columna AB está vacía, lo que impide que se puedan agrupar los unos existentes.

Por lo tanto, en este ejercicio es posible hacer dos grupos con dos posiciones, los grupos fueron marcados con colores distintos para que puedas notar que cada grupo va a corresponder a un elemento diferente dentro del resultado, la forma correcta de los grupos puede verse en la siguiente figura:

Dando como resultado:

Para obtener el resultado final debes poner atención en aquellas variables que no tienen ningún cambio dentro del grupo. Es importante que recuerdes que las variables que sufren cambio no son parte del resultado.

El resultado esta dado por los valores lógicos que le corresponden a la posición de cada variable en donde se encuentra el grupo, en este caso B tiene el valor 0 por lo que corresponde una negación y C tiene el valor 1 por lo que se mantiene como verdadera.

Explicado de otra forma, si cada uno de los unos que se encuentran en el grupo azul lo convertimos a su posición binaria dentro de una tabla de verdad, se tiene la siguiente tabla.

A B C
0 0 1
1 0 1

Es posible ver que en la columna correspondiente a la variable A, existe un cambio entre sus filas; en la columna correspondiente a la variable B, se mantiene el valor de 0; y en la columna que le corresponde a la variable C, se mantiene constante el valor de 1. Por lo que, en la función resultante, A no forma parte de la ecuación, B es negado y C es no negado.

Para el resultado , este lo podemos explicar en la misma forma que el anterior, si cada uno de los unos que se encuentran en el grupo morado lo convertimos a su posición binaria dentro de una tabla de verdad, se tiene la siguiente tabla, en donde es posible ver que en la columna correspondiente a la variable A, existe un cambio entre sus filas; en la columna correspondiente a la variable B, se mantiene el valor de 1; y en la columna que le corresponde a la variable C, se mantiene constante el valor de 0. Por lo que, en la función resultante, A no forma parte de la ecuación, B es no negado y C es negado.

A B C
0 1 0
1 1 0

¡Listo para el segundo ejemplo! ¡Adelante, vamos a continuar!

Obtener la función booleana del siguiente mapa de Karnaugh:

En este ejemplo es necesario recordar que se busca hacer grupos lo más grande posible, por lo que se tiene la posibilidad de un solo grupo de 4 posiciones, recordando también que el 4 es una potencia de 2, por lo que este grupo si está permitido.

El resultado correcto se muestra en la siguiente forma:

El resultado de este mapa es A ya que como se mencionó anteriormente esta es la única variable que no sufre cambios en sus valores lógicos dentro del grupo. Nuevamente podemos representar las posiciones de todos los unos que se encuentran dentro del grupo verde dentro de una tabla de verdad en la siguiente forma:

A B C
1 0 0
1 0 1
1 1 1
1 1 0

Podemos observar en la tabla de verdad que dentro de la columna que representa a la variable B, existen cambios entre sus filas, hay valores 1 y valores 0; lo mismo sucede con la columna que representa a la variable C, sin embargo, es posible observar que en la columna que representa a la variable A, no existen cambios entre sus filas, permaneciendo constante el valor de 1, por lo que, se mantiene como verdadera o no negada.

Ahora, si el grupo se hubiera posicionado en donde se encuentra la fila de A=0, entonces el resultado sería una negación , tal como se puede observar en la siguiente figura:


¡Qué tal ahora! ¡Listo para el siguiente ejemplo!

Obtener la función booleana del siguiente mapa de Karnaugh:


La particularidad de este ejemplo es que con él, se puede mostrar la unión de las celdas de las esquinas. En este caso, es posible realizar un solo grupo, un grupo en el que se junten las 4 esquinas, tal como lo podemos observar en la siguiente figura:



De igual forma que en los ejemplos anteriores vamos a convertir las posiciones de cada uno de los unos que componen el grupo verde a su representación en tabla de verdad para poder explicar el resultado obtenido.

La tabla de verdad que representa cada una de las 4 posiciones agrupadas, se muestra a continuación:

A B C D
0 0 0 0
0 0 1 0
1 0 0 0
1 0 1 0

Como es posible ver en la tabla, las columnas que representan a A y a C, tienen cambios de valores entre sus filas, sin embargo, la columna que representa a B permanece con valores constantes iguales a 0 y la columna que representa a D también permanece con valores constantes iguales a 0, por lo que las variables A y C no forman parte de la función, mientras B y D permanecen como variables negadas.

¡Vamos por un ejemplo más!

Obtener la función booleana del siguiente mapa de Karnaugh:


Para resolver este ejemplo y encontrar la solución más reducida, es indispensable recordar dos de los puntos anteriores, esto son: los grupos deben ser lo más grande posibles en cuanto sean formados por una cantidad de unos que represente un conjunto de elementos y los grupos pueden empalmarse siempre y cuando exista al menos un 1 sin agrupar. Una vez recordado esto la solución se muestra a continuación.



Si has llegado hasta ese punto, ya tienes los conocimientos para poder resolver cualquier mapa de Karnaugh que se te presente. Con este tema has reflexionado sobre la importancia que tienen los mapas en el diseño de sistemas digitales y como éstos te ayudarán a simplificar funciones lógicas complejas.

Recuerda que este tema es sumamente importante para tu formación como Ingeniero.

¡Felicidades!

Actividad 1. Eligiendo el mapa de Karnaugh más reducido.

Después de haber estudiado el tema sobre los mapas de Karnaugh donde se pudo apreciar que es una herramienta que se utiliza para la simplificación de funciones lógicas Booleanas y que mediante la aplicación de ciertas reglas se logra simplificar cualquier expresión booleana canónica, presta atención a los siguientes ejercicios y simplifica las funciones que se te piden.

Observa el siguiente mapa de Karnaugh, resuélvelo en tu cuaderno y elige la respuesta correcta.

Recuerda que la solución debe ser lo más reducida posible.



Actividad 2. Eligiendo el mapa de Karnaugh canónico.

Continuemos con las simplificaciones de las expresiones booleanas haciendo uso de los mapas de Karnaugh y utilizando las reglas de construcción para la simplificación de cualquier expresión booleana canónica.

Observa el siguiente mapa de Karnaugh, resuélvelo en tu cuaderno y posteriormente elige la respuesta correcta.



Autoevaluación 1. El reto de la teoría y su importancia para la resolución de las prácticas.

Con el estudio del tema sobre los mapas de Karnaugh te has percatado sobre la importancia que tienen los conceptos y la necesidad de comprenderlos y además memorizarlos para poder realizar la práctica.

Lee con atención los siguientes enunciados y elige la respuesta correcta.

Arrastra los elementos de la columna del lado derecho al lugar que les corresponda en la columna del lado izquierdo.

Dispones de dos intentos por cada reactivo para realizar la actividad. Al finalizar podrás conocer tu desempeño.


Autoevaluación 2. Poniendo a prueba lo aprendido.

Con lo aprendido hasta este momento, es posible realizar una autoevaluación, con la intención de verificar que tan claro o cuánto te has familiarizado con el tema de los mapas de Karnaugh, así como de la puesta en práctica.

Para ello te pido resolver el siguiente ejercicio en tu cuaderno y posteriormente elegir la respuesta correcta.



Fuentes de información

Bibliografía

Floyd Thomas, L. (2010). Fundamentos de sistemas digitales. 9na. Ed; Madrid. Pearson educación.

Morris, M. M. (2003). Diseño digital. México. Prentice Hall.

Tocci, R. J. y Winder, N. (2003). Sistemas digitales: Principios y aplicaciones. 8va. Ed. México. Pearson educación.



Bibliografía complementaria

Deschamps, Jean-Pierre, Valderrama, Terés, Ll. (2017). Digital Systems. From Logic Gates to Processors. España. Springer.

Donzellini, G; Oneto, L; Ponta, D; Anguita, D. (2019). Introduction to Digital Systems Design. Italia. Springer.

Morfin, R. J. (2013). Sistemas Digitales: Una perspectiva de diseño. Universidad Iberoamericana.

Sajjan, G. S. (1998). Introducción al diseño lógico. México. Trillas.

Nelson, P. V; Troy, N. H. Carrol, D. V. e Irwin, D. J. (1996). Análisis y diseño de circuitos lógicos digitales. México. Pearson.

Tokheim, R; Sánchez, J; y Vaquero, A. (1995). Electrónica digital. Principios digitales. México. McGraw-Hill.



Cómo citar


Tinoco, D. y Cabrera, A. (2021). Mapas de Karnaugh. Unidades de Apoyo para el Aprendizaje. CUAIEED/SUAYED FESC-UNAM. Consultado el (fecha) de (vínculo)