Los MAPAS DE KARNAUGH son esquemas de representación del hipercubo
. En la figura 2.1 presentamos los mapas correspondientes a .
Figure 2.1:
Mapas de Karnaugh correspondientes a .
La manera de leerlos se ajusta a varias convenciones y conveniencias:
Cada entrada en un mapa representa un vértice en el hipercubo. En esa entrada se puede colocar un valor 0 o 1 asignado al correspondiente vértice por una función
. Así pues cada mapa representa a una función booleana.
Dos entradas vecinas por una arista forman una arista en el hipercubo. Por ejemplo, para las entradas marcadas en el mapa
corresponden a la arista tal que & :
Cuatro entradas en una misma columna, en un mismo renglón o con un vértice común forman una ``cara'', es decir un cubo cuya dimensión es 2.
Por ejemplo, para las entradas marcadas en el mapa
corresponden a la cara tal que & :
Las líneas ``fronterizas'' en un mapa han de identificarse (tal como si los mapas estuvieran dibujados en un toro). Por ejemplo, para en el mapa
las entradas marcadas con forman la arista & & :
y las entradas marcadas con , con las esquinas como vértice común, forman la cara & :
En el mapa de , casillas correspondientes en ambos mapas de dimensión 4 son vecinas.
Ocho casillas que contengan coordenadas constantes, es decir tres coordenadas variables, forman un cubo de dimensión 3.
De manera sucesiva, un mapa de dimensión puede verse como dos mapas de dimensión superpuestos.
Ejemplo 1.6
Se quiere construir un circuito que reciba un dígito decimal y lo incremente en 3.
Explicación.
Ya que
hemos de necesitar 4 bits para representar a los dígitos decimales. Si expresamos a un dígito como
, donde
, , entonces se ha de calcular
. En la tabla 2.1 presentamos los valores de cada en términos de .
Table 2.1:
En la tabla 2.3 presentamos los correspondientes mapas de Karnaugh:
Table 2.2:
Mapas de Karnaugh del incrementador en tres de dígitos decimales.
(a)
(b)
(a)
(b)
En los mapas el valor significa un valor irrelevante (recuérdese que sólo nos interesan los 10 dígitos decimales.
En la tabla 2.2 presentamos, en cada mapa, al conjunto de vértices con valores 1 o como una unión de cubos maximales. A los valores que quedan fuera de los cubos marcados se les ha hecho tomar el valor 0. Cada cubo se nombra consecutivamente con una letra mayúscula a partir de . Así, las entradas marcadas con varias letras pertenecen a varios cubos. Debajo de cada mapa ponemos a las correspondientes formas disyuntivas utilizando las frases correspondientes a los cuos maximales localizados.
Estas expresiones son mínimas en cuanto a la longitud de las frases.
Table 2.3:
Cubos maximales en el incrementador en tres de dígitos decimales.
(a)
(b)
(a)
(b)
Para finalizar esta presentación introductoria de los mapas de Karnaugh, mencionaremos que la enumeración de las columnas y renglones en un tal mapa sigue el esquema de un CÓDIGO DE GRAY. Un tal código es una enumeración de los vértices del hipercubo tal que cualesquiera dos vértices consecutivos difieren en a lo sumo un bit. De hecho, un código de Gray es un recorrido hamiltoniano de la gráfica de adyacencias del hipercubo. Una manera de construir un código de Gray se obtiene fácilmente por recursión.
En efecto, denotemos por a la enumeración del hipercubo de dimensión que corresponda al código de Gray a construir. Entonces:
Caso base.
Sea
, .
Caso recursivo.
Escribamos
. La lista la obtenemos de anteponerle 0 a los elementos de la lista y de anteponerle 1 a los elementos de la lista
:
.
En la tabla 2.4 presentamos el listado del código de Gray siguiendo el algoritmo descrito.
Table 2.4:
Código de Gray para .
Hemos visto que para dos proposiciones
se tiene si y sólo si
es una tautología.
Si es una frase, es decir, una conjunción de literales, siempre que , para una proposición
, entonces se dice que la frase es un IMPLICANTE de . La frase se dice ser un IMPLICANTE PRIMO de si es un implicante y además ninguna subfrase de es un implicante. Es decir, los implicantes primos son las frases de longitudes minimales, las cuales a su vez corresponden a subcubos de dimensiones maximales incluídos en el soporte de .
Ya que el soporte de la disyunción de dos proposiciones es la unión de los soportes de esas proposiciones, tenemos que al expresar al soporte de una proposición como una unión de subcubos maximales estamos, en realidad, expresando a esa proposición como la disyunción de sus implicantes primos, es decir, la expresamos en su forma disyuntiva mínima.
El procedimiento de optimización con mapas de Karnaugh es puramente visual y consiste en localizar los cubos de dimensión maximal que cubran a los puntos marcados en un mapa.
Ejemplo 1.7
Sea
.
La forma disyuntiva mínima de ,
, consiste de 6 implicantes primos de 2 literales cada uno.
Explicación.
Los valores de verdad de se muestran en el siguiente mapa de Karnaugh:
y ahí vemos que su soporte es la unión de 6 aristas: