ÁLGEBRAS DE BOOLE CARACTERIZACIÓN DE UN ÁLGEBRA DE BOOLE Un álgebra de Boole (o álgebra booleana) consiste en un conjunto B = {0, 1}, operadores binarios “ + ” y “ · ” en S y un operador unario “ ” en S. Estas operaciones se definen de acuerdo a las siguientes tablas: + 0 1 0 1 0 1 1 1 · 0 1 0 1 0 0 0 1 x 0 1 x 1 0 En un álgebra de Boole (B, +, ·, ) se cumplen las siguientes propiedades, para todo x, y, z ∈ B: Doble Complemento x=x Idempotencia x+x=x Conmutatividad x+y =y+x Asociatividad (x + y) + z = x + (y + z) Leyes de Inversos x+x=1 Leyes de Identidad x+0=x Leyes de Dominación x+1=1 Absorción x · (x + y) = x Distributividad x · (y + z) = x · y + x · z Leyes de De Morgan x+y =x·y x·x=x x·y =y·x (x · y) · z = x · (y · z) x·x=0 x·1=x x·0=0 x+x·y =x x + (y · z) = (x + y) · (x + z) x·y =x+y TABLAS DE VERDAD, PROPOSICIONES LÓGICAS Y FUNCIONES DE VARIABLES BOOLEANAS Consideraremos una función booleana a toda expresión que representa a una combinación de un conjunto finito de sı́mbolos, cada uno representando una constante o una variable con las operaciones “ + ”, “ · ”, “ ” Ejemplo: (a + b) · c + a · b es una función booleana. Sea el conjunto de las n variables booleanas x1 , x2 , x3 , . . . , xn , la relación y = f (x1 , x2 , x3 , . . . , xn ) es una función booleana si cualesquiera que sean los valores de estas variables, toma los valores 0 ó 1. Toda función elemental siempre puede expresarse en una forma más simple considerando las propiedades de álgebras de boole. Ejemplo: Al simplificar la función dada se obtiene: f = = = = = = = = = = x+x·y+x·y·z+x·y+x·z x · (1 + y · z) + x · y + x · (z + z) x · (1 + y · z) + x · y + x · 1 x·1+x·y+x·1 x+x+x·y x · (1 + 1) + x · y x·1+x·y x+x·y (x + x) · (x + y) x+y FORMAS CANÓNICAS Se denomina forma canónica al conjunto de todos los términos elementales compuestos de todas las variables, mostrando ası́ una función booleana elemental. Una función booleana se llama elemental si se presenta bajo una de las formas: Suma de producto de variables o forma disyuntiva Producto de suma de variables o forma conjuntiva Ejemplo: Para hallar la forma normal disyuntiva de g(w, x, y, z) = wxy + wyz + xy 2 Examinamos cada término, introduciendo en cada uno todas las variables faltantes: wxy = wxy · 1 = wxy(z + z) = wxyz + wxyz (1) wyz = wyz · 1 = wyz(x + x) = wyzx + wyzx (2) xy = 1 · xy · 1 = (w + w) · xy · (z + z) = (wxyz + wxyz) + wxyz + wxyz (3) Sustituyendo (1), (2) y (3) en g(w, x, y, z) = wxy+wyz+xy se obtiene la forma normal disyuntiva: g(w, x, y, z) = wxyz + wxyz + wyzx + wyzx + (wxyz + wxyz) + wxyz + wxyz Para determinar la forma normal conjuntiva procedemos de manera análoga considerando el producto de las sumas. Podemos hallar los términos fundamentales de una forma canónica a partir de los Minterms y los Maxterms En una función booleana f (x, y, z) de tres variables hay 23 términos fundamentales: xyz 000 001 010 011 100 101 110 111 Minterms m0 = xyz m1 = xyz m2 = xyz m3 = xyz m4 = xyz m5 = xyz m6 = xyz m7 = xyz Maxterms M0 = x + y + z M1 = x + y + z M2 = x + y + z M3 = x + y + z M4 = x + y + z M5 = x + y + z M6 = x + y + z M7 = x + y + z En la función f (x, y, z) = xy + xz se tiene que, para hallar la forma normal disyuntiva estudiamos los casos en los que f toma el valor 1: x 0 0 1 1 y 0 1 1 1 + x 1 1 0 0 3 z 1 1 1 0 f 1 1 1 1 Los casos donde f toma el valor 1 son: x 0 0 1 1 y 0 1 1 1 z 1 1 1 0 minterms m1 m3 m7 m6 Entonces, la forma normal disyuntiva viene dada por la suma de estos minterms, esto es: f (x, y, z) = m1 + m3 + m6 + m7 = xyz + xyz + xyz + xyz La FORMA NORMAL CONJUNTIVA viene dada por el producto de los Maxterms para los casos donde f asume el valor 0: x 0 0 1 1 y 1 0 0 0 + x 1 1 0 0 y 1 0 0 0 z 0 0 0 1 z 0 0 0 1 f 0 0 0 0 Los casos donde f toma el valor 0 son: x 0 0 1 1 Maxterms M2 M0 M4 M5 Luego, la forma normal conjuntiva viene dada por: f = M0 · M2 · M4 · M5 = (x + y + z) · (x + y + z) · (x + y + z) · (x + y + z) Ası́, toda expresión booleana no nula posee una forma normal disyuntiva (conjuntiva)completa única y tal representación también es única. 4 EJERCICIOS 1. Determina el valor de las siguientes funciones booleanas si los valores de las variables booleanas w, x, y, y z son 1, 1, 0 y 0, respectivamente. a) xy + xy b) y + wx c) xy + zy + wxz d ) wy + yx + xz e) x + y + yw + zx f ) yx + zw + xywz 2. Considera las variables booleanas x, y, w donde x toma el valor 1. Determina, si es posible, el valor de cada una de las siguientes expresiones booleanas. En caso de no ser posible, muestra los casos en los cuales se produce el valor 1 para la expresión. a) w + x + yw b) yw + xy c) xy + wx + yw d ) xy + wy e) x + yw + xy f ) wy + yw 3. Simplifica las siguientes expresiones booleanas, usando propiedades de las álgebras de Boole: a) xy + (x + y)z + y b) yx + xy + y c) xy + yx + y + x d ) (x + yz)x + (xy)z e) x + yw + xy f ) (wxy + yxw)y g) x + y + (y + z)w xy h) wy + x + xzy + y 4. Demuestra que si yx + y + z = xyz, las variables booleanas x, y, z tienen el mismo valor. 5 5. Determina la forma normal disyuntiva (FND) y forma normal conjuntiva (FNC) de las siguientes funciones booleanas: a) f (x, y, z) = xy + (x + y)z + y b) g(x, y, w) = yx + xy + w c) h(x, y, z) = xy + yx + yz + x d ) f (x, y, z) = (x + yz)x + (xy)z e) g(x, y, w) = x + yw + xy f ) h(x, y, w) = (wx + yw) + y 6. Considera sobre el álgebra booleana la siguiente operación: x ⊕ y = (x · y) + (x · y) Construye la tabla correspondiente. 7. Sea A un álgebra de Boole en el que se define la siguiente operación: w ⊕ x = xw + wx a) ¿Será (A, ⊕) un grupo abeliano? b) Determina (a ⊕ a) ⊕ a y b ⊕ b 8. Muestra el complemento de cada una de las siguientes expresiones booleanas: a) xy + xy b) xyz c) uvw + uvw + uvw + uvw d ) xyz + xyz + xyz e) (x + y)(x + y)(x + y f ) (x + y + z)(x + y + z)(x + y + z)(x + y + z) 9. Considera la función booleana f (w, x, y) = w · x · y + w · x · y + w · x · y + w · x · y a) Determina la FND para f (x, y, z). b) Determina la FNC para f (x, y, z). c) Simplifica f usando un mapa de Karnaugh. d ) Si x = 1, muestra todos los casos para los cuales f = 1. 6