domingo, 7 de diciembre de 2008

Función Booleana

Se denomina función lógica o booleana a aquella función matemática cuyas variables son binarias y están unidas mediante los operadores del álgebra de Boole suma lógica (+), producto lógico (•) o negación(').

Modos de representación

Existen distintas formas de representar una función lógica, entre las que podemos destacar las siguientes:

* Algebraica
* Por tabla de verdad
* Numérica
* Gráfica

El uso de una u otra, como veremos, dependerá de las necesidades concretas en cada caso.

Algebraica

Se utiliza cuando se realizan operaciones algebraicas. A continuación se ofrece un ejemplo con distintas formas en las que se puede expresar algebraicamente una misma función de tres variables.

a) F = [(A + BC’)’ + ABC]’ + AB’C
b) F = A’BC’ + AB’C’ + AB’C + ABC’
c) F = (A + B + C)(A + B + C’)(A + B’ + C’)(A’ + B’ + C’)
d) F = BC’ + AB’
e) F = (A + B)(B’ + C’)
f) F = [(BC’)’ • (AB’)’]’
g) F = [(A + B)’ + (B’ + C’)’]’

La expresión a) puede proceder de un problema lógico planteado o del paso de unas especificaciones a lenguaje algebraico. Las formas b) y c) reciben el nombre expresiones canónicas de suma de productos (sum-of-products, SOP, en inglés), la b), y de productos de sumas (product-of-sums, POS, en inglés), la c); su característica principal es la aparición de cada una de las variables (A, B y C) en cada uno de los sumandos o productos. Las d) y e) son funciones simplificadas, esto es, reducidas a su mínima expresión. Las dos últimas expresiones tienen la particularidad de que exclusivamente utiliza funciones NO-Y, la f), o funciones NO-O, la g).

Por tabla de verdad

Una tabla de verdad contiene todos los valores posibles de una función lógica dependiendo del valor de sus variables. El número de combinaciones posibles para una función de n variables vendrá dado por 2n. Una función lógica puede representarse algebraicamente de distintas formas como acabamos de ver, pero sólo tiene una tabla de verdad. La siguiente tabla corresponde a la función lógica del punto anterior.



La forma más cómodo para ver la equivalencia entre una tabla de verdad y una expresión algebraica es cuando esta última se da en su forma canónica. Así, la función canónica de suma de productos

F = A’BC’ + AB’C’ + AB’C + ABC’

nos indica que será 1 cuando lo sea uno de sus sumandos, lo que significa que tendrá por lo tanto cuatro combinaciones que lo serán (010 para A’BC’, 100 para AB’C’, 101 para AB’C y 110 para ABC’) siendo el resto de combiaciones 0. Con la función canónica de producto de sumas se puede razonar de forma análoga, pero en este caso observando que la función será 0 cuando lo sea uno de sus productos.

También es fácil obtener la tabla de verdad a partir de la función simplificada, pero no así a la inversa.

Numérica

La representación numérica es una forma simplificada de representar las expresiones canónicas. Si consideramos el criterio de sustituir una variable sin negar por un 1 y una negada por un 0, podremos representar el término, ya sea una suma o un producto, por un número decimal equivalente al valor binario de la combinación. Por ejemplo, los siguientes términos canónicos se representarán del siguiente modo (observe que se toma el orden de A a D como de mayor a menor peso):

AB’CD = 10112 = 1110
A’ + B + C’ + D’ = 01002 = 410

Para representar una función canónica en suma de productos utilizaremos el símbolo Σn (sigma) y en producto de sumas Πn (pi), donde n indicará el número de variables. Así, la representación numérica correspondiente a la tabla de verdad del punto anterior quedará como:

F = Σ3(2, 4, 5, 6) = Π3(0, 1, 3, 7)

Matemáticamente se demuestra, que para todo término i de una función, se cumple la siguiente ecuación:

F = [Σn(i)]' = Πn(2n-1-i )

A modo de ejemplo se puede utilizar esta igualdad para obtener el producto de sumas a partir de la suma de productos del ejemplo anterior:

F = Σ3(2, 4, 5, 6) = [Σ3(2, 4, 5, 6)]' ' = [Σ3(0, 1, 3, 7)]' = Π3(0, 4, 6, 7)

Gráfica


La representación gráfica es la que se utiliza en circuitos y esquemas electrónicos. En la siguiente figura se representan gráficamente dos funciones algebraicas, una con símbolos no normalizados, superior, y la otra con normalizados, inferior (véanse los símbolos de las puertas lógicas)



Métodos de simplificación

Por simplificación de una función lógica se entiende la obtención de su mínima expresión. A la hora de implementar físicamente una función lógica se suele simplificar para reducir así la compejidad del circuiuto.

A continuación se indican los modos más usuales de simplificar una función lógica.

Algebraico

Para la simplificación por este método no sólo bastará con conocer todas las propiedades y teoremas del álgebra de Boole, además se debe desarrollar una cierta habilidad lógico-matemática que se adquiere fundamentalmente con la experiencia.

Como ejemplo se simplificará la siguiente función:

F = A’C’ + ABC + BC’ + A’B’C + A’BC

Observando cada uno de los sumando podemos ver que hay factores comunes en los sumandos 2º con 5º y 4 con 5º que conllevan simplificación:

F = A’C’ + BC’ + BC(A + A’) + A’C(B + B’)

Note que el término 5º se ha tomado dos veces, de acuerdo con la propiedad que diceque A + A´ = 1. Aplicando las propiedades del álgebra de Boole, queda

F = A’C’ + BC’ + BC + A’C

Repitiendo nuevamente el proceso,

F = A’( C’ + C) + B( C’ + C) = A’ + B

No siempre las funciones son tan fáciles de simplificar como la anterior. El método algebraico, por lo general, no resulta cómodo para los no expertos, a los cuales, una vez simplificada una ecuación le pueden quedar serias dudas de haber conseguido la máxima simplificación.

Gráfico de Karnaugh

Este método consiste en formar diagramas de 2n cuadros, siendo n el número de variables. Cada cuadro representa una de las diferentes combinaciones posibles y se disponen de tal forma que se puede pasar de un cuadro a otro en las direcciones horizontal o vertical, cambiando únicamente una variable, ya sea en forma negada o directa.

Este método se emplea fundamentalmente para simplificar funciones de hasta cuatro variables. Para un número superior utilizan otros métodos como el numérico. A continuación pueden observarse los diagramas, también llamados mapas de Karnaugh, para dos, tres y cuatro variables.

Es una práctica común numerar cada celda con el número decimal correspondiente al término canónico que albergue, para facilitar el trabajo a la hora de plasmar una función canónica.

Para simplificar una función lógica por el método de Karnaugh se seguirán los siguientes pasos:

1º) Se dibuja el diagrama correspondiente al número de variables de la función a simplificar.

2º) Se coloca un 1 en los cuadros correspondientes a los términos canónicos que forman parte de la función.

3º) Se agrupan mediante lazos los unos de casillas adyacentes siguiendo estrictamente las siguientes reglas:

a) Dos casillas son adyacentes cuando se diferencian únicamente en el estado de una sola variable.

b) Cada lazo debe contener el mayor número de unos posible, siempre que dicho número sea potencia de dos (1, 2, 4, etc.)

c) Los lazos pueden quedar superpuestos y no importa que haya cuadrículas que pertenezcan a dos o más lazos diferentes.

d) Se debe tratar de conseguir el menor número de lazos con el mayor número de unos posible.

4º) La función simplificada tendrá tantos términos como lazos posea el diagrama. Cada término se obtiene eliminando la o las variables que cambien de estado en el mismo lazo.

A modo de ejemplo se realizan dos simplificaciones de una misma función a partir de sus dos formas canónicas:

F = Σ3(0,2,3,4,7) = Π3(1,2,6)

De acuerdo con los pasos vistos anteriormente, el diagrama de cada función quedará del siguiente modo:

No hay comentarios: