Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Simplificación de funciones
1. Simplificación de funciones
REPRESENTACION DE FUNCIONES
Expresión algebraica
Una función puede representarse mediante su formulación algebraica, que consiste en una combinación
de variables relacionadas por las tres operaciones lógicas básicas.
Ejemplo: f( A, B, C ) = A · B · C + A' · B · C + A' · B · C'
Tabla de verdad
Otra forma de representar una función lógica consiste en utilizar una tabla en la que figuren todas las
combinaciones posibles de las variables de entrada y el valor correspondiente de la función para cada una
de
dichas combinaciones.
Ejemplo: f( A, B, C ) = A · B · C + A' · B · C + A' · B · C'
A B C f
=========
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
Transformación
A menudo resulta interesante obtener la función algebraica equivalente de una tabla de verdad. Para ello
existe un procedimiento que consiste en escribir la ecuación de la función como suma de los términos
cuyas combinaciones en la tabla de verdad tengan asignados el valor 1. Cada término consistirá en un
producto de todas las variables de las que depende la función, escritas en su forma natural o
complementada, según que en la combinación correspondiente a dicho término en la tabla aparezcan con
un 1 o con un 0 respectivamente.
Ejemplo: obtener un expresión algebraica de la siguiente tabla de verdad.
A B C f
=========
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 0
f( A, B, C ) = A' · B' · C' + A' · B · C + A · B · C'
2. FORMAS CANONICAS
Concepto
Una suma de productos de todas las variables.
Un producto de sumas de todas las variables.
Teorema de transformabilidad
Toda función booleana puede transformarse en una forma canónica, y esta transformación es única. Si n
es el número de variables, existen 2^n términos canónicos, y el número posible de funciones canónicas es
igual al
de variaciones con repetición de dos elementos, 0 y 1, tomados de 2^n en 2^n, es decir:
Nº funciones posibles = 2^2^n
Expresión en minterms
Suele utilizarse la siguiente notación para referirse a los productos que aparecen en la primera forma
canónica: cada producto se denomina mi, siendo i el valor decimal de la combinación binaria que se
obtiene al sustituir por 1 las variables que, en el producto, aparecen en forma natural, y por 0 las que lo
hacen en forma complementada. Estos términos reciben el nombre de minterms, que es contracción de
minimumterm, y que indica que los productos de conjuntos constituyen los conjuntos mínimos que se
pueden formar operando con las variables.
Ejemplo: utilizando la función del ejemplo anterior m3 representa
A' · B · C = 011
Expresión en maxterms
Análogamente se representan por Mi las sumas canónicas de la segunda forma, teniendo el índice i el
mismo significado que en la definición de minterms. Estos términos Mi reciben la denominación de
maxterms, nombre
que ahora corresponde a la contracción de maximumterm, y que indica que las sumas de conjuntos
constituyen los conjuntos máximos que pueden formarse operando con las variables.
Ejemplo: utilizando la función del ejemplo anterior M5 representa
A + B' + C = 101
Transformación entre minterms y maxterms
Si se representa ahora por f( i ) el valor que adopta la función al sustituir las variables por 1 o 0, según el
valor indicado por la combinación binaria correspondiente a i, las dos expresiones generales anteriores
pueden escribirse así:
f( A, B, C,... ) = Suma [0, 2^n - 1] f( i ) · mi = Producto [0, 2^n - 1] ( f( 2^n - 1 - i ) + Mi )
Por tanto, si en la primera forma canónica aparece en término mi, el término M^2n - 1 - i de la segunda
forma canónica no aparecerá, y para pasar de la primera a la segunda forma canónica bastará con escribir
los términos cuyo índice sea el complementario a 2^n - 1 de los productos canónicos que no aparecen en
la primera forma.
Ejemplo: pasar a la segunda forma canónica la función
3. f( A, B, C ) = m1 + m2 + m7
m1 + m2 + m7 = A' · B' · C + A' · B · C' + A · B · C
Los productos no utilizados en la primera forma canónica son:
m0 + m3 + m4 + m5 + m6 = A' · B' · C' + A' · B · C + A · B' · C' + A · B' · C + A · B · C'
mi = M2^n - 1 - i
====================
A' .B' . C' = A + B + C
A' .B . C = A + B' + C'
A .B' . C' = A' + B + C
A .B' . C = A' + B + C'
A .B . C' = A' + B' + C
f(A,B,C) = M1 · M2 · M3 · M4 · M7 = (A'+B'+C) · (A'+B+C') · (A'+B+C) · (A+B'+C') ·
(A+B+C)
Obtención de las formas canónicas a partir de las tablas de verdad
La parte izquierda de la tabla representa todos los productos canónicos posibles, en los que las variables
figuran en su forma natural o complementada según que en la combinación correspondiente de la tabla
aparezca, para esa variable, un 1 o un 0, respectivamente. En la parte derecha de la tabla aparecen los
coeficientes f( i ), es decir, el valor que adopta la función al sustituir las variables por 1 o 0 según la
regla anterior. La función, en su primera forma canónica, será la suma de los productos canónicos cuyos
coeficientes sean 1, es decir, la suma de términos cuyo valor resultante en la tabla de verdad sea un 1. La
segunda forma canónica de una función puede obtenerse también de la tabla de verdad buscando las
combinaciones para las que el valor de f es igual a 0, y escribiendo el término correspondiente como
suma de variables que figurarán en su forma directa si en la tabla hay un 0, o en su forma complementada
si en la tabla hay un 1.
Ejemplo: dada la función booleanan determinada por la siguiente tabla de verdad.
A B C f
=============
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
1ª forma canónica: f(A,B,C) = A'·B'·C' + A'·B·C' + A'·B·C + A·B·C = m0 + m2 + m3 + m7
2ª forma canónica: f(A,B,C) = (A+B+C') · (A'+B+C) · (A'+B+C') · (A'+B'+C) =
M1·M2·M3·M6
SIMPLIFICACION DE FUNCIONES
Significado
La teoría de la conmutación tiene dos objetivos fundamentales:
4. Obtener los circuitos lógicos que representan a las diferentes funciones booleanas.
Obtener, de entre los muchos circuitos lógicos que pueden representar a una función dada, el circuito
de coste mínimo.
El problema de hallar la forma mínima de una expresión booleana, entendiendo por mínima las más
económica posible, no está resuelto de una forma general y sistematizada. Existen varios procedimientos
sistemáticos, pero que no llegan a proporcionar de forma categórica la simplificación máxima para las
diferentes funciones booleanas que se pueden presentar en la práctica. De entre ellos se describirá el
procedimiento basado en los mapas de Karnaugh, que probablemente es el más simple y conocido.
Orden de un circuito lógico
La solución simplificada de una función booleana no es única, pudiéndose obtener varias funciones
distintas con igual grado de minimización, es decir, con el mismo coste. Cualquiera de esas funciones es
válida y la elección de una u otra dependerá del usuario y de la consideración del orden de un circuito
lógico. Se define el orden como el número máximo de veces que una variable booleana debe atravesar
circuitos lógicos en serie antes de alcanzar la salida. Normalmente, se elige siempre un orden inferior por
las siguientes razones:
Las señales se atenúan y deforman cada vez que se realiza con ellas una operación lógica.
Los retardos en la señal que cada nivel produce.
Método del mapa de Karnaugh
Un mapa de Karnaugh para funciones de n variables consiste en un conjunto de 2^n cuadrados, cada uno
de los cuales se encuentra asociado a un minterm o a un maxterm, y dispuestos de tal forma que para
pasar de un minterm a otro a lo largo de una de las dos direcciones posibles, horizontal o vertical,
únicamente es preciso cambiar una variable.
Mapa de Karnaugh para dos variables:
B' B
=============
A' - m0 - m1 -
- A' · B' - A' · B -
=============
A - m2 - m3 -
- A · B' - A · B -
=============
Mapa de Karnaugh para tres variables:
B' B' B B
======================================
A' - m0 - m1 - m3 - m2 -
- A' · B' · C' - A' · B' · C - A' · B · C - A' · B · C' -
======================================
A - m4 - m5 - m7 - m6 -
- A · B' · C' - A · B' · C - A · B · C - A · B · C' -
======================================
C' C CC'
Mapa de Karnaugh para cuatro variables:
C' C' C C
5. ======================================
A' - m0 - m1 - m3 - m2 - B'
- A'·B'·C'·D' - A'·B'·C'·D - A'·B'·C·D - A'·B'·C·D' -
======================================
A' - m4 - m5 - m7 - m6 - B
- A'·B·C'·D' - A'·B·C'·D - A'·B·C·D - A'·B·C·D' -
======================================
A - m12 - m13 - m15 - m14 - B
- A·B·C'·D' - A·B·C'·D - A·B·C·D - A·B·C·D' -
======================================
A - m8 - m9 - m11 - m10 - B'
- A·B'·C'·D' - A·B'·C'·D - A·B'·C·D - A·B'·C·D' -
======================================
D' D DD'
Para agrupar la función en términos más simplificados, se agrupan las casillas que contienen un 1
mediante potencias en base 2, es decir, 2, 4, 8, ... y se expresar mediante una suma de productos, ya
que, el caso más
usual es que venga expresada en minterms. En el caso de que la función booleana esté expresada en
maxterms, el método de Karnaugh se aplica de la misma forma que en el caso de minterms, la única
diferencia estriba en que
los unos que deben ponerse en las casillas son los correspondientes a los maxterms existentes en la
función.
Redundancias
A menudo, en el diseño de sistemas digitales sucede que ciertas combinaciones de las variables, es decir,
ciertos minterms, son prohibidos por alguna razón. Estas combinaciones prohibidas reciben el nombre de
redundancias y pueden utilizarse para simplificar funciones booleanas. Para minimizar una función
booleana que presente redundancias, pueden utilizarse los mapas de Karnaugh del mismo modo que en la
subsección precedente, y puesto que los minterms correspondientes a las combinaciones prohibidas nunca
se van a producir, los cuadros correspondientes en el mapa de Karnaugh pueden hacerse ceros o unos, en
función de lo que interese al diseñador. Cada minterm que sea redundante se indicará con una cruz en la
casilla correspondiente del mapa de Karnaugh, y a continuación se pondrán unos o ceros en lugar de las
cruces, según convenga en la simplificación.
Criterios de valoración
Simplificar la función con las reglas dadas de modo que se obtenga la expresión que contenga menos
sumandos (si está expresada en forma de minterms) o menos productos (si está expresada en forma
de maxterms).
Si se obtienen varias funciones equivalentes desde el punto de vista considerado anteriormente, se
tomará como más simple la expresión que contenga menos variables.
Se hallará la forma dual para ver si es más simple.
Se estudiará, en caso de tener varias expresiones equivalentes (es decir, con el mismo número de
términos y variables), cuál es la de menor orden.
Si se tuviese que decidir finalmente entre varias funciones posibles con el mismo número de
términos, de variables e igual orden, se elegirá la más económica, es decir, la que necesite menor
número de diodos y transistores evaluando los circuitos AND, OR y NOT necesarios.
6. BIBLIOGRAFÍA
Sistemas de Numeración: http://www.dc.uba.ar/people/materias/oc1/apuntes.htm
Mapas de Karnaugh, http://www.ronda.net/ocio/domingo/tema3.htm
Códigos Binarios (Numéricos y alfanuméricos): http://eia.udg.es/~ramon/ib/t1/tema1.htm