Definición


Tiene las mismas propiedades que el Mapa de Karnaugh pero se puede implementar en software. Por lo tanto podemos reducir funciones donde la cantidad de variables de entrada son mayores a 5.

Este algoritmo se aprovecha de que para saber si dos implicantes son vecinos, entonces su representación en binario tiene un único valor distintio. Por lo tanto vamos construyendo de los implicantes más chicos a los más grandes, y aquellos implicantes que no se hayan usado para hacer implicantes más grandes, serán los implicantes primos.

Ejemplo


Tenemos la función que depende de , , y , y si los pensamos como números en base 2 las posibilidades, entonces esta función es cuando ese número es: , , , , , , , , , , donde el y el son redundantes. Entonces agrupamos esos números en binario por aquellos que tengan la misma cantidad de .

gruponúmerorepresentación
000000
110001
20010
81000
250101
60110
91001
101010
370111
141110

Notemos que los elementos que estan en el mismo grupo nunca van a poder ser adyacentes, como también pasa con los grupos que esten separados por otro, como el 0 y el 2, que estan separados por el grupo 1, ya que estos tiene 2, o más, números que se deberían cambiar para que sean iguales.

Entre grupos seguidos, vamos a ver cuales son adyacentes (matemáticamente si tienen un digito de diferencia, entonces su resta es un multiplo de 2). Vamos a anotar solo el valor que no cambia, de la siguiente forma:

gruponúmerosrepresentacióndiferencia
00, 1000-1
0, 200-02
0, 8-0008
11,5010-4
2, 601-04
1, 9100-8
8,9100-1
2, 1010-08
8, 10-0102
25, 701-12
6, 7011-1
6, 14-1108
10, 141-104

Logrando reducir el número de grupos por 1. Notemos que usamos todos los implicantes, eso de debe tener en cuenta para los últimos pasoso.

Ahora aplicaremos la misma regla, pero únicamente a los que tenga el mismo resultado de la resta, por ejemplo el y el . En el caso de repetirse los números este no lo usaremos, entonces nos queda:

gruponúmerosrepresentacióndiferenciausamos
00, 1, 8, 9-00-9Si
0, 2, 8, 10-0-010Si
0, 9, 1, 9-00-9No
0, 8, 2, 10-0-010No
12, 6, 10, 14—1012Si
2, 10, 6, 1—1012No

Notemos que ya no podemos reducir más pero sino se podría hacer un grupo más.

Por lo tanto ahora tenemos todos los implicantes primos, en este caso son

númerorepresentación
1, 50-01
5, 701-1
6, 7011-
0, 1, 8, 9-00-
0, 2, 8, 10-0-0
2, 6, 10, 14—10

Ahora tenemos que obtener únicamente los implicantes escenciales, para eso haremos una tabla de la siguiente forma

minitérminos0125681014Redundantes79
1, 5xx
5, 7xx
6, 7xx
0, 1, 8, 9xxxx
0, 2, 8, 10xxxx
2, 6, 10, 14xxxx

Los minitérminos que verticalmente tenga una única “x”, significa que solo esta incluido en ese implicante primo, y por definición es un implicante escencial.

En este caso sería el por lo que incluye a los minitérminos , y . Ahora como ya fueron incluidos en este, podemos ignorarlos y aquellas columnas que usan. Dejandonos con los minitérminos , , y .

minitérminos01-5-8--Redundantes79
1, 5xx
5, 7xx
6, 7-x
0, 1, 8, 9xxxx
0, 2, 8, 10x-x-
2, 6, 10, 14----

Notemos que si usamos el implicante anterior, nos quedamos sin implicantes escenciales, por lo tanto buscaremos aquellos implicantes primos que tengan la mayor cantidad de minitérmino no redundantes. Por lo tanto elegimos el implicante dejandonos con los minitérminos y .

minitérminos-1-5----Redundantes79
1, 5xx
5, 7xx
6, 7-x
0, 1, 8, 9-x-x
0, 2, 8, 10----
2, 6, 10, 14----

De nuevo, como no tenemos implicantes escenciales buscaremos aquellos implicantes primos que tengan la mayor cantidad de minitérminos no redundantes. Por lo tanto elegimos el implicante que no deja implicantes no redundantes sin usar.

Dejandonos con los implicantes:

númerorepresentación
1, 50-01
0, 2, 8, 10-0-0
2, 6, 10, 14—10

que podemos expresar como: