Arquitectura del Computador 4 ALGEBRA DE BOOLE 4. Itroducció. El álgebra de Boole es ua herramieta de fudametal importacia e el mudo de la computació. Las propiedades que se verifica e ella sirve de base al diseño y la costrucció de las computadoras que trabaja co objetos cuyos valores so discretos, es decir las computadoras digitales, e particular las biarias (e las cuales los objetos básicos tiee solo valores posibles) las que so, e defiitiva, la casi totalidad de las computadoras de uso corriete. Desde ya adelatemos que o se verá aquí detalles formales de la costrucció algebraica, i todas las propiedades que se verifica, así como tampoco todos los métodos de sítesis de fucioes booleaas que habitualmete se icluye e este tema e cursos de lógica y/o diseño lógico. Como toda álgebra, la de Boole parte de u cuerpo axiomático, el cual puede adquirir diversas formas, variado la catidad y calidad de los axiomas. Aquí e particular tomaremos uo: el propuesto por Hutigto e 904 que tiee la vetaja de ser cosistete e idepediete. 4. Axiomas.. Existe u cojuto G de objetos, sujetos a ua relació de equivalecia, deotada por "=" que satisface el pricipio de sustitució. Esto sigifica que si a = b, b puede sustituir a a e cualquier expresió que la cotega, si alterar la validez de la expresió.. (a) Se defie ua regla de combiació "+" e tal forma que a + b está e G siempre que al meos a o b lo esté. (b) Se defie ua regla de combiació " " e tal forma que a b está e G siempre que tato a como b lo esté.. Neutros. (a) Existe u elemeto 0 e G tal que para cada a de G: a + 0 = a (b) Existe u elemeto e G tal que para cada a de G: a = a 4. Comutativos. Para todo par de elemetos a y b perteecietes a G se cumple: (a) a + b = b + a (b) a b = b a 5. Distributivos. Para toda tera de elemetos a, b, c perteecietes a G se cumple: (a) a + (b c) = (a + b) (a + c) (b) a (b + c) = a. b + a c 6. Complemeto. Para cada elemeto a de G existe u elemeto a tal que: a a = 0 a + a = 7. Existe por lo meos dos elemetos x, y e G tal que x <> y Istituto de Computació - Facultad de Igeiería - UDELAR 0
Arquitectura del Computador Existe similitud de muchos de estos postulados co los del álgebra comú. Si embargo, la primera de las reglas distributivas (sobre la suma) y la existecia del complemeto diferecia e forma fudametal esta álgebra de la comú. 4. Modelo aritmético. El ejemplo más simple del álgebra de Boole se compoe de u cojuto G de elemetos: "0" y "". Como es atural estos dos elemetos debe coicidir co los eutros de las reglas de combiació para satisfacer el axioma. Las reglas de combiació debemos defiirlas de maera de satisfacer los axiomas. Así de acuerdo al axioma : 0 + 0 = 0 0 = 0 + 0 = = De acuerdo al axioma 4 0 + = 0 = 0 y teiedo presete el axioma 5 : + ( 0) = ( + ) ( + 0) + 0 = ( + ) = + 0 (0 + ) = 0 0 + 0 0 = 0 0 + 0 0 = 0 0 ( ( (5a co a =, b =, c = 0) (por axioma ) (5b co a = 0,b = 0,c = ) (por axioma ) Por lo tato las reglas completas so: 0 + 0 = 0 0 0 = 0 0 + = 0 = 0 + 0 = 0 = 0 + = = Nosotros usaremos esta versió "biaria" del álgebra de Boole. 4.4 Propiedades. Dualidad Si aalizamos los postulados veremos que los mismos se preseta de a pares y e tal forma que uo de la pareja se obtiee de otro cambiado "0" por "" juto co "+" por " " (y viceversa). Esto asegura que cada propiedad que se demuestre e esta Álgebra tiee ua "dual" que tambié es cierta (para demostrar la dual bastaría co repetir la demostració realizada sustituyedo cada postulado o propiedad utilizada por su dual). Asociativa a) a + ( b + c) = ( a + b) + c b) a ( b c) = ( a b) c Istituto de Computació - Facultad de Igeiería - UDELAR
Arquitectura del Computador Si bie las leyes asociativas so muchas veces icluidas detro del cuerpo axiomático, de hecho so demostrables a partir de los axiomas aquí presetados (demostració que o haremos) por lo cual las presetamos como propiedades. Idempotecia Para todo elemeto e G se cumple: a + a = a a a = a Demostració: a + a = ( a + a) a + a = ( a + a) ( a + a) a + a = a + ( a a) a + a = a + 0 a + a = a (b) (6) (5a) (6) a a = a (Dualidad) Neutros Cruzados Para todo elemeto e G se cumple a + = a 0 = 0 Demostració: a + = a + ( a + a) a + = ( a + a) + a a + = a + a a + = (6) (asociativa) (idempotecia) a 0 = 0 (Dualidad) Etoces los axiomas,,, 4, 5 y 7 se satisface por defiició y es fácil verificar que el G (complemeto) tambié es cierto. Costruimos por lo tato u modelo "aritmético" de álgebra de Boole que podemos deomiar "biario" y es e defiitiva co la que trabajaremos. Muchas veces las reglas de combiació se preseta como tablas (como las fucioes booleaas más geerales que veremos más tarde) a b a+b a b a b 0 0 0 0 0 0 0 0 0 0 0 0 Istituto de Computació - Facultad de Igeiería - UDELAR
Arquitectura del Computador E geeral otaremos a b como ab, además la operació tedrá mayor precedecia que la operació +. Complemeto de complemeto Para cada elemeto de G se cumple : a = a Para todo par de elemetos de G se cumple : a + ab = a a( a + b) = a Para todo par de elemetos de G se cumple : a + ab = a + b a( a + b) = ab Ley de De Morga Para todo par de elemetos de G se cumple : ( a + b) = ab ( ab) = a + b Estas reglas de De Morga puede geerarse para cualquier úmero de variables. ( a + a +... + a ) = a a... a ( a a... a ) = a + a +... + a 4.5 Modelo lógico. Los valores que puede asigarse a u juicio, desde el puto de vista lógico, so dos: verdadero (V) o falso (F). U juicio al cual se le aplica el operador lógico o (egació) forma u uevo juicio. Dos juicios puede combiarse para formar u tercero mediate los operadores lógicos "o" e "y". Si viculamos los valores booleaos 0 y co los valores lógicos F y V respectivamete, ecotramos que las operacioes del álgebra de Boole "biaria" asiga correctamete los valores lógicos del juicio combiació. Esto se comprueba observado 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 Istituto de Computació - Facultad de Igeiería - UDELAR
Arquitectura del Computador Por lo cual se puede cocluir que el modelo "lógico" es isomorfo co el "aritmético" (biario) realizado la correspodecia. F 0 V +. Es posiblemete cosecuecia de este isomorfismo que las reglas de combiació "+" y "." del álgebra de Boole reciba los ombres de OR ("o" e iglés) y AND ("y" e iglés) respectivamete. 4.6 Modelo circuital. Otro modelo posible es el que surge de cosiderar llaves eléctricas y asociar el valor A a la llave abierta (o pasa corriete, circuito abierto) y el valor C co la llave cerrada (pasa corriete, circuito cerrado). Es fácil comprobar que la combiació de llaves e paralelo o e serie cumple las mismas reglas defiidas e el modelo aritmético para "+" y "." respectivamete. LL LL Circuito PQ + LL LL 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 Etoces existe tambié u isomorfismo etre el modelo "circuital" y el "aritmético" si hacemos la asociació A 0 C paralelo + serie Este isomorfismo es de fudametal importacia para la costrucció práctica de las computadoras biarias. 4.7 Expresioes booleaas. Llamamos costate a todo elemeto del cojuto G que defie al álgebra. Las variables podrá tomar como valor cualquier elemeto de G ( 0 o e el caso e que trabajamos). Ua expresió la podemos defiir recursivamete como ) las costates y las variables ) el complemeto de ua expresió booleaa ) el OR (+) o el AND ( ) de dos expresioes booleaas. Istituto de Computació - Facultad de Igeiería - UDELAR 4
Arquitectura del Computador 4.8 Fucioes booleaas. Ua fució "F" de variables x... x booleaas es ua aplicació del espacio G sobre el espacio G de tal forma que para cada valor posible de la -upla x... x, dode cada variable puede tomar cualquier valor del cojuto (e uestro caso {0, } ), se asocia u valor del recorrido G. Ua de las formas de expresar F es a través de las deomiadas tablas de verdad que idica el resultado de F para cada valor posible de la -upla; por ejemplo : a b c F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Otras formas de represetar F icluye el método de idicar sólo los putos e los cuales F vale o sólo los putos e los cuales vale 0 (represetacioes Σ y Π respectivamete). Para idicar los putos e que la fució vale puede usarse la otació σ e lugar de Σ. Por ejemplo, la fució aterior se puede expresar : f ( a, b, c) = Σ(,4,5,7) f ( a, b, c) = Π(0,,,6) sería: Otra forma de expresar las fucioes es a través de expresioes; ejemplo, la fució aterior f = ac + ab + abc 4.9 Coectivas biarias. U caso iteresate de estudiar es el de las fucioes booleaas de variables. Por ser dos variables las combiacioes posibles so 4, es decir "F" tiee 4 duplas (4 putos) por tato existe 6 fucioes booleaas de dos variables posibles. Alguas de ellas o so de iteres, veamos las tablas de verdad de las más útiles. a B or ad xor or ad Equiv. Idemp Tautol. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Nota : la NOR es el complemeto de la OR la NAND es el complemeto de AND la XOR ("O" exclusivo) puede defiirse como: a b = ab + ab 4.9. OR exclusivo. El XOR es ua fució muy importate (es la suma aritmética biaria módulo ) y cumple las propiedades : Istituto de Computació - Facultad de Igeiería - UDELAR 5
Arquitectura del Computador ) Asociativa ) Comutativa ) Distributiva: a( b c) = ab ac 4) a 0 = a 5) a = a 6) a a = 0 7) a b ab = a b 8) Cacelativa: a b = a c b = c 4.9. Suma de productos caóicos. Desarrollaremos a cotiuació u método sistemático para ecotrar ua expresió algebraica para ua fució cualquiera dada. Defiamos producto caóico de variables x... x al producto de todas ellas e el cual cada variable aparece ua y sólo ua vez, e forma simple o complemetada. Ua suma de productos caóicos es ua expresió formada sumado productos caóicos. Existe u teorema (que o demostraremos) que afirma que toda fució f de variables puede expresarse como: f ( x, x,..., x ) Es decir toda fució de variables puede expresarse como la suma de todos sus productos caóicos afectado cada producto caóico por u coeficiete. Este coeficiete es el valor de la fució evaluado e el puto tal que las variables que e el producto caóico asociado aparece simples tega el valor y las que aparece complemetadas el valor 0. Este teorema, de fudametal importacia os permite euciar u método de costrucció de ua expresió que represete ua fució dada. El método es el siguiete: se tiee e cueta sólo los putos e los que la fució vale (por el teorema los productos asociados co los putos e los que la fució vale 0 desaparece por estar afectados por u coeficiete ulo: el propio valor de la fució); e esos putos se busca el producto caóico asociado que es aquel dode la variable aparece simple si e el puto vale o complemetada si vale 0. De esta maera la fució puede expresarse como suma de los productos caóicos así elegidos. Por ejemplo sea la fució de tres variables: = x x x x............ f (,,,...,) + f (0,,,...,) + f (,0,,...,) +... + f (0,0,0,...,0) a b c F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a bc a bc a bc Etoces f puede expresarse como f ( a, b, c) = a b c + a b c + a b c Istituto de Computació - Facultad de Igeiería - UDELAR 6