En álgebras de Boole, se conoce como término canónico de una función lógica a todo producto o suma donde aparecen todas las variables. Toda función lógica puede ser expresada en forma canónica utilizando los conceptos de minitérmino y maxitérmino. Esto permite un mejor análisis para la simplificación de las funciones, lo que es de gran importancia para la minimización de circuitos digitales.



Un minitérmino es un término producto donde aparecen todas las variables de la función (en su forma directa o negada) una y sólo una vez. De esta forma, un minitérmino tiene la característica de evaluar 1 (verdadero o activo) para una única combinación de valores de las variables.

A la inversa, un maxitérmino es un término suma donde aparecen todas las variables una y sólo una vez, y evalúa verdadero para todas las combinaciones de valores de las variables excepto una. Dicho de otra forma, evalúa 0 (falso) para una única combinación de variables.

Sea f(A,B,C,D), el término A.B.C.D es un minitérmino (o minterm), pues es verdadero para una única combinación de las variables: A=0, B=1, C=0 y D=1. Tal como se observa en el siguiente mapa de Karnaugh:

Minitérmino A.B.C.D:

Por otro lado, el término A+B+C+D es un maxitérmino (o maxterm), pues es falso para úna única combinación de variables: A=1, B=1, C=1 y D=0. Tal como se observa en el siguiente mapa de Karnaugh:

Maxitérmino A+B+C+D:

Ambos minitérminos y maxitérminos sirven para "construir" funciones booleanas ya que tienen la capacidad de generar 1's (unos) y 0's (ceros) respectivamente. Es posible construir cualquier función booleana como suma de minitérminos o producto de maxitérminos. Como suma de minitérminos se comienza con un mapa lleno de ceros (es decir f(A,B,C,D)=0) y se comienzan a sumar minitérminos para hacer aparecer a los unos de la función. A la inversa, como producto de maxitérminos se comienza con un mapa llenos de unos (f(A,B,C,D)=1) y se hace producto de maxitérminos para ir insertando los ceros de la función.

Supongamos la función f(A,B) = AB + AB:

Expresada como suma de productos, esta ecuación corresponde a la suma de los minitérminos m0 y m3 (tal como veremos más adelante):

Sin embargo, la función puede expresarse también como producto de sumas: f(A,B) = (A + B) . (A + B). Lo cual corresponde al producto de los maxitérminos M2 y M1 respectivamente:

De esta forma se observa cómo los minitérminos y maxitérminos se encargan de inyectar 1's y 0's en una función cuando se utiliza una suma de productos y producto de sumas respectivamente.

Una función booleana expresada como una disyunción lógica (OR) de minterms es usualmente conocida la "suma de productos", y su Dual de De Morgan es el "producto de sumas", la cual es una función expresada como una conjunción lógica (AND) de maxterms. Expresar una función lógica como suma de minitérminos o producto de maxitérminos se denomina forma canónica.

Qué forma canónica utilizar (suma o producto) dependerá si la función tiene más unos o ceros.

Las formas canónicas tienen la ventaja de que poder reducir funciones mediante el método de Quine-McCluskey. Se trata de un método de minimización exhaustivo que permite reducir funciones con un gran número de variables mediante un algoritmo.

Para expresar las formas canónicas de manera compacta, es necesario numerar los minitérminos (o maxitérminos) de acuerdo a la ubicación del uno (o cero) en el mapa de Karnaugh según el equivalente decimal que evalúa la combinación de variables. Por supuesto, el orden de las variables altera el número de minitérmino o maxitérmino. Por ejemplo, con f(A,B,C,D), la combinación de valores A=0, B=1, C=0 y D=1 evalúa 5 en decimal, mientras que A=1, B=1, C=1 y D=0 evalúa 14 en decimal.

La siguiente tabla de verdad demuestra otro ejemplo:

Aquí se observa que el término AB no es minitérmino, pues evalúa verdadero para dos combinaciones de las variables A, B y C. Por otro lado los términos ABC, ABC y ABC corresponden con los minitérminos m7, m6 y m3 respectivamente.

Las formas canónicas compactas permiten expresar una función booleana fácilmente. Para la forma suma de productos (suma de minitérminos) se utiliza el operador de suma (Σ) y para la forma producto de sumas (producto de maxitérminos) se utiliza el operador producto (Π).

Por ejemplo, la función f(A,B,C,D) = Σ(4,11,15) corresponde a la suma de los minitérminos 4, 11 y 15:


Se rellena el mapa con 0's por defecto

La forma canónica compacta f(A,B,C,D) = Σ(4,11,15) corresponde a la forma canónica expandida f(A,B,C,D) = A.B.C.D + A.B.C.D + A.B.C.D, lo cual equivale a la función f(A,B,C,D) = A.B.C.D + A.C.D (reducida combinando los minitérminos 11 y 15).

Cuando se trabaja con maxitérminos ocurre exactamente lo mismo. La forma canónica compacta f(A,B,C,D) = Π(1,8,12) corresponde al producto de los maxitérminos 1, 8 y 12:


Se rellena el mapa con 1's por defecto

La forma canónica compacta f(A,B,C,D) = Π(1,8,12) corresponde a la forma canónica expandida f(A,B,C,D) = (A+B+C+D) . (A+B+C+D) . (A+B+C+D), lo cual equivale a la función f(A,B,C,D) = (A+B+C+D) . (A+C+D) (reducida combinando los maxitérminos 8 y 12).

Referencias


Tal vez pueda interesarte


Compartí este artículo