Está en la página 1de 3

2.3.3.

Algoritmo QuineMcCluskey El Algoritmo QuineMcCluskey es un mtodo de simplificacin de funciones booleanas desarrollado por Willard Van Orman Quine y Edward J. McCluskey. Es funcionalmente idntico a la utilizacin del mapa de Karnaugh, pero su forma tabular lo hace ms eficiente para su implementacin en lenguajes computacionales, y provee un mtodo determinstico de conseguir la mnima expresin de una funcin booleana. Aunque cuando se trata de trabajar con ms de cuatro variables, el tiempo de resolucin del algoritmo Quine-McCluskey crece de forma exponencial con el aumento del nmero de variables. Se puede demostrar que para una funcin de n variables el lmite superior del nmero de implicantes primos es 3n/n. Si n=32 habr ms de 6.5*1015 implicantes primos. Funciones con un nmero grande de variables tienen que ser minimizadas con otros mtodos heursticos. Terminologa para la simplificacin A continuacin definiremos algunos trminos comnmente utilizados en los procesos de simplificacin de funciones lgicas. Implicante: Conjunto de unos en un mapa de Karnaugh que representa un trmino producto de variables. Se denomina implicante porque cuando este trmino toma el valor 1, implica que tambin la funcin toma el valor 1. Un mintrmino solo es un implicante. Implicante Primo: Implicante que no est incluido completamente dentro de otro implicante. No puede combinarse con otro implicante para eliminar un literal. Implicante Primo Esencial: Implicante primo que contiene uno o mas mintrminos que no estn incluidos en cualquier otro implicante primo. En el siguiente mapa de Karnaugh: Los trminos I II y III son implicantes primos El termino IV no es implicante primo Los trminos I y III son implicantes primos esenciales El termino II no es un implicante primo esenciales La funcin se obtiene con los trminos I y III

Pasos para la Simplificacin El algoritmo de Quine-McCluskey consta de dos pasos: 1. Encontrar todos los implicantes primos de la funcin. 2. Usar esos implicantes en una tabla de implicantes primos para encontrar los implicantes primos esenciales, los cuales son necesarios y suficientes para generar la funcin.

Ejemplo Minimice la funcin siguiente utilizando el mtodo de Quine-McCluskey:

Paso 1: Se colocan en una tabla todos los minitrminos evaluados en la funcin como agrupndolos respecto a la cantidad de unos que contienen. Los trminos prescindibles tambin son agregados a la tabla, estos pueden combinarse con los minitrminos:

En este punto, uno puede empezar a combinar los minitrminos entre s. Si dos minitrminos slo varan en un solo dgito, ese dgito debe reemplazarse por un guin "-" indicando que ese bit no importa. Los trminos que ya no pueden combinarse ms son marcados con "*".

Paso 2: Los trminos marcados con "*" ya no pueden combinarse ms, en este punto ya tenemos la tabla de implicantes primos. En el costado van los implicantes primos recientemente generados, y en la parte superior los minitrminos utilizados. Los minitrminos correspondientes a los prescindibles son omitidos en este paso, no se colocan en la parte superior.

En esta tabla vemos los minitrminos que "cubre" cada implicante primo. Ninguno de los implicantes de esta tabla est incluido dentro de otro (esto queda garantizado en el paso uno), pero si puede estar "cubierto" por dos o ms implicantes. Es el caso de m(8,9,10,11) que est cubierto por m(8,10,12,14) y m(10,11,14,15) o m(8,10,12,14) que est cubierto por m(8,9,10,11) y m(4,12). Por este motivo, cada uno de estos dos implicantes slo son esenciales en ausencia del otro. Un proceso adicional simple para reducir estos implicantes es prueba y error, pero un proceso ms sistemtico es el mtodo de Petrick. En el caso que estamos analizando, los dos implicantes primos m(4,12) y m(10,11,14,15) no llegan a incluir todos los minitrminos por lo que podemos combinar estos implicantes con cada uno de los implicantes no esenciales para conseguir dos funciones mnimas:

También podría gustarte