ALGEBRA BOOLEANA
ALGEBRA DE BOOLE 1 Introducción. El álgebra de Boole es una herramienta de fundamental importancia en el mundo de la computación. Las propiedades que se verifican en ella sirven de base al diseño y la construcción de las computadoras que trabajan con objetos cuyos valores son discretos, es decir las computadoras digitales, en particular las binarias (en las cuales los objetos básicos tienen solo 2 valores posibles) las que son, en definitiva, la totalidad de las computadoras de uso corriente. Desde ya adelantemos que no se verán aquí detalles formales de la construcción algebraica, ni todas las propiedades que se verifican, así como tampoco todos los métodos de síntesis de funciones booleanas que habitualmente se incluyen en este tema en cursos de lógica y/o diseño lógico. Como toda álgebra, la de Boole parte de un cuerpo axiomático, el cual puede adquirir diversas formas, variando la cantidad y calidad de los axiomas. Aquí en particular tomaremos uno: el propuesto por Huntington en 1904 que tiene la ventaja de ser consistente e independiente. 2 Axiomas. 1. Existe un conjunto G de objetos, sujetos a una relación de equivalencia, denotada por "=" que satisface el principio de sustitución. Esto significa que si a = b, b puede sustituir a a en cualquier expresión que la contenga, sin alterar la validez de la expresión. 2. (a) Se define una regla de combinación "+" en tal forma que a + b está en G siempre que al menos a o b lo estén. (b) Se define una regla de combinación "" en tal forma que a b está en G siempre que tanto a como b lo estén. 3. Neutros. (a) Existe un elemento 0 en G tal que para cada a de G: a + 0 = a (b) Existe un elemento 1 en G tal que para cada a de G: a 1 = a 4. Conmutativos. Para todo par de elementos a y b pertenecientes a G se cumple: (a) a + b = b + a (b) a b = b a 5. Distributivos. Para toda terna de elementos a, b, c pertenecientes a G se cumple: a (a) a + (b c) = (a + b) (a + c) b (b) a (b + c) = a . b + a c Fing/CETP – Tecnólogo en Informática 1 Arquitectura de Computadoras – Algebra de Boole Notas de Teórico Basadas en las Notas de Teórico Versión 5.0 del Dpto. de Arquitectura-InCo-FIng 6. Complemento. Para cada elemento a de G existe un elemento a tal que: 1 0 a a a a 7. Existen por lo menos dos elementos x, y en G tal que x <> y Existe similitud de muchos de estos postulados con los del álgebra común. Sin embargo, la primera de las reglas distributivas (sobre la suma) y la existencia del complemento diferencian en forma fundamental esta álgebra de la común. 3 Modelo aritmético. El ejemplo más simple del álgebra de Boole se compone de un conjunto G de 2 elementos: "0" y "1". Como es natural estos dos elementos deben coincidir con los neutros de las reglas de combinación para satisfacer el axioma 3. Las reglas de combinación debemos definirlas de manera de satisfacer los axiomas. Así de acuerdo al axioma 3 : de acuerdo al axioma 4 y teniendo presente el axioma 5 : 1 1 1 (por axioma 3) 1 0 (1 1) 1 1 (1 0) (1 1) (1 0) (5a con a 1, b 1, c 0) 0 0 0 (por axioma 3) 0 1 0 0 0 0 (0 1) 0 0 0 1 (5b con a 0,b 0,c 1) Por lo tanto las reglas completas son: Nosotros usaremos esta versión "binaria" del álgebra de Boole. Fing/CETP – Tecnólogo en Informática 2 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 Arquitectura de Computadoras – Algebra de Boole Notas de Teórico Basadas en las Notas de Teórico Versión 5.0 del Dpto. de Arquitectura-InCo-FIng 4 Propiedades. Dualidad Si analizamos los postulados veremos que los mismos se presentan de a pares y en tal forma que uno de la pareja se obtiene de otro cambiando "0" por "1" junto con "+" por "" (y viceversa). Esto asegura que cada propiedad que se demuestre en esta Álgebra tiene una "dual" que también es cierta (para demostrar la dual bastaría con repetir la demostración realizada sustituyendo cada postulado o propiedad utilizada por su dual). Asociativa a) a (b c) (a b) c b) a (b c) (a b) c Si bien las leyes asociativas son muchas veces incluidas dentro del cuerpo axiomático, de hecho son demostrables a partir de los axiomas aquí presentados (demostración que no haremos) por lo cual las presentamos como propiedades. Idempotencia Para todo elemento en G se cumple: a a a a a a Demostración: (Dualidad) 0 (6) ( ) (5a) ( ) ( ) (6) ( ) 1 (3b) a a a a a a a a a a a a a a a a a a a a a a a a Neutros Cruzados Para todo elemento en G se cumple 0 0 1 1 a a Demostración: Fing/CETP – Tecnólogo en Informática 3 Arquitectura de Computadoras – Algebra de Boole Notas de Teórico Basadas en las Notas de Teórico Versión 5.0 del Dpto. de Arquitectura-InCo-FIng 0 0 (Dualidad) 1 1 1 (idempotencia) 1 ( ) (asociativa) 1 ( ) (6) a a a a a a a a a a a a a Entonces los axiomas 1, 2, 3, 4, 5 y 7 se satisfacen por definición y es fácil verificar que el G (complemento) también es cierto. Construimos por lo tanto un modelo "aritmético" de álgebra de Boole que podemos denominar "binario" y es en definitiva con la que trabajaremos. Muchas veces las reglas de combinación se presentan como tablas (como las funciones booleanas más generales que veremos más tarde) a b a+b a b ab 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1 1 En general notaremos ab como ab, además la operación “” tendrá mayor precedencia que la operación “+”. Complemento de complemento Para cada elemento de G se cumple : a a Para todo par de elementos de G se cumple : a a b a a ab a ( ) Para todo par de elementos de G se cumple : a a b ab a ab a b ( ) Ley de De Morgan Para todo par de elementos de G se cumple : ab a b a b ab ( ) ( ) Estas reglas de De Morgan pueden generarse para cualquier número de variables. Fing/CETP – Tecnólogo en Informática 4 Arquitectura de Computadoras – Algebra de Boole Notas de Teórico Basadas en las Notas de Teórico Versión 5.0 del Dpto. de Arquitectura-InCo-FIng n n n n a a a a a a a a a a a a ( ... ) ... ( ... ) ... 1 2 1 2 1 2 1 2 5 Modelo lógico. Los valores que pueden asignarse a un juicio, desde el punto de vista lógico, son dos: verdadero (V) o falso (F). Un juicio al cual se le aplica el operador lógico no (negación) forma un nuevo juicio. Dos juicios pueden combinarse para formar un tercero mediante los operadores lógicos "o" e "y". Si vinculamos los valores booleanos 0 y 1 con los valores lógicos F y V respectivamente, encontramos que las operaciones del álgebra de Boole "binaria" asigna correctamente los valores lógicos del juicio combinación. Esto se comprueba observando que: verdadero o verdadero es verdadero verdadero o falso es verdadero falso o verdadero es verdadero falso o falso es falso verdadero y verdadero es verdadero verdadero y falso es falso falso y verdadero es falso falso y falso es falso Por lo cual se puede concluir que el modelo "lógico" es isomorfo con el "aritmético" (binario) realizando la correspondencia. F ⇔0 V ⇔1 ¿⇔+ ¿⇔. ¬⇔ Es posiblemente consecuencia de este isomorfismo que las reglas de combinación "+" y "." del álgebra de Boole reciban los nombres de OR ("o" en inglés) y AND ("y" en inglés) respectivamente. 6 Modelo circuital. Otro modelo posible es el que surge de considerar llaves eléctricas y asociar el valor A a la llave abierta (no pasa corriente, circuito abierto) y el valor C con la llave cerrada (pasa corriente, circuito cerrado). Es fácil comprobar que la combinación de llaves en paralelo o en serie cumplen las mismas reglas definidas en el modelo aritmético para "+" y "." respectivamente. Fing/CETP – Tecnólogo en Informática 5 Arquitectura de Computadoras – Algebra de Boole Notas de Teórico Basadas en las Notas de Teórico Versión 5.0 del Dpto. de Arquitectura-InCo-FIng LL1 LL2 Circuito PQ “+” LL1 LL2 Circuito PQ “” A A A A A A A C C A C A C A C C A A C C C C C C Entonces existe también un isomorfismo entre el modelo "circuital" y el "aritmético" si hacemos la asociación serie paralelo 1 0 C A Este isomorfismo es de fundamental importancia para la construcción práctica de las computadoras binarias. 7 Expresiones booleanas. Llamamos constante a todo elemento del conjunto G que define al álgebra. Las variables podrán tomar como valor cualquier elemento de G ( 0 o 1 en el caso en que trabajamos). Una expresión la podemos definir recursivamente como 1) las constantes y las variables 2) el complemento de una expresión booleana 3) el OR (+) o el AND () de dos expresiones booleanas. 8 Funciones booleanas. Una función "F" de n variables x1 ... x n booleanas es una aplicación del espacio Gn sobre el espacio G de tal forma que para cada valor posible de la n-upla x 1 ... x n, donde cada variable puede tomar cualquier valor del conjunto (en nuestro caso {0, 1} ), se asocia un valor del recorrido G. Una de las formas de expresar F es a través de las denominadas tablas de verdad que indican el resultado de F para cada valor posible de la n-upla; por ejemplo : a b c F 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 Otras formas de representar F incluyen el método de indicar sólo los puntos en los cuales F vale 1 o sólo los puntos en los cuales vale 0 (representaciones y Fing/CETP – Tecnólogo en Informática 6 Arquitectura de Computadoras – Algebra de Boole Notas de Teórico Basadas en las Notas de Teórico Versión 5.0 del Dpto. de Arquitectura-InCo-FIng respectivamente). Para indicar los puntos en que la función vale 1 puede usarse la notación en lugar de . Por ejemplo, la función anterior se puede expresar : f (a, b, c) (1,4,5,7) f (a, b, c) (0,2,3,6) Otra forma de expresar las funciones es a través de expresiones; ejemplo, la función anterior sería: f ac ab abc 8.1 Conectivas binarias. Un caso interesante de estudiar es el de las funciones booleanas de 2 variables. Por ser dos variables las combinaciones posibles son 4, es decir "F" tiene 4 duplas (4 puntos) por tanto existen 16 funciones booleanas de dos variables posibles. Algunas de ellas no son de interes, veamos las tablas de verdad de las más útiles. a b OR AND XOR NOR NAND Equiv. Idemp Tautol. 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 1 0 1 Nota : la NOR es el complemento de la OR la NAND es el complemento de AND la XOR ("O" exclusivo) puede definirse como: a b ab ab 8.2 OR exclusivo. El XOR es una función muy importante (es la suma aritmética binaria módulo 2) y cumple las propiedades : 1) Asociativa 2) Conmutativa 3) Distributiva: a(b c) ab ac 4) a 0 a 5) a 1 a 6) a a 0 7) Cancelativa: a b a c b c 9 Simplificación. Hasta ahora hemos visto un método sistemático de expresar las funciones booleanas como expresión de sus variables. Pero este método no asegura que la expresión lograda sea la más simple posible. El hecho que la expresión de una función sea lo más simple posible no es algo trivial o caprichoso, es de fundamental importancia en la construcción práctica de circuitos lógicos, por eso analizaremos algunos métodos para simplificar expresiones booleanas, de manera de aplicarlos a las expresiones obtenidas como sumas de productos canónicos. Fing/CETP – Tecnólogo en Informática 7 Arquitectura de Computadoras – Algebra de Boole Notas de Teórico Basadas en las Notas de Teórico Versión 5.0 del Dpto. de Arquitectura-InCo-FIng 9.1 Método algebraico. El método consiste en la aplicación, más o menos ingeniosa, de transformaciones algebraicas de manera de lograr expresiones más sencillas. Por supuesto que este no es un método sistemático, pero es la base, al fin, de los métodos sistemáticos. Resumamos aquí algunas propiedades vistas del álgebra que serán de utilidad en la tarea de simplificar: 1) f f 0 2) f f 1 3) g f g f f 4) g f f f 5) f f g f g Veamos un par de ejemplos de como se aplican estas propiedades para reducir expresiones: a) Sea f 1=a bc+a b c+ab c Por la aplicación de la propiedad 3 a los primeros dos términos y a los dos últimos queda f 1 ab bc b) Sea f 2=a b c+a b c+a b c+a bc Aplicando la propiedad 3 a los dos primeros términos queda f 2 bc abc abc f 2 b(c ac) abc (por la propiedad distributiva) f 2 b(c a) abc (por la propiedad 5 al paréntesis) f 2 c(b ab) ab (por distributiva aplicada dos veces) f 2 c(a b) ab (por propiedad 5 al paréntesis) Entonces la expresión de f2 a la que llegamos es: f 2 ab ac bc Esta sin embargo no es la expresión más reducida de f2. Vemos como hubiera quedado aplicando la propiedad 3 al primer y cuarto miembro y al segundo y tercero f 2 ac ab siendo esta sí, la expresión más reducida. Como vemos entonces el procedimiento descrito no asegura reducir la expresión a un mínimo ya que depende de como se elijan las propiedades a aplicar y los términos sobre los que se aplican.
VIDEO EXPLICANDO COMO RESOLVER LOS EJERCICIOS DE ALGEBRA BOOLEANA
No hay comentarios.:
Publicar un comentario