3 ALGEBRA BOOLEANA
El álgebra booleana es un sistema matemático deductivo centrado en los valores cero y
uno (falso y verdadero). Un operador binario “ º “ definido en éste juego de valores acepta un par
de entradas y produce un solo valor booleano, por ejemplo, el operador booleano AND acepta
dos entradas booleanas y produce una sola salida booleana. Para cualquier sistema algebraico
existen una serie de postulados iniciales, de aquí se pueden deducir reglas adicionales, teoremas y
otras propiedades del sistema,
Teoremas y postulados.
Cerrado. El sistema booleano se considera cerrado con respecto a un operador binario si
para cada par de valores booleanos se produce un solo resultado booleano.
Conmutativo. Se dice que un operador binario “ º “ es conmutativo si A º B = B º A para
todos los posibles valores de A y B.
Asociativo. Se dice qu un operador binario “ º “ es asociativo si (A º B) º C = A º (B º C)
para todos los valores booleanos A, B, y C.
Distributivo. Dos operadores binarios “ º “ y “ % “ son distributivos si A º (B % C) = (A º
B) % (A º C) para todos los valores booleanos A, B, y C.
Identidad. Un valor booleano I se dice que es un elemento de identidad con respecto a un
operador binario “ º “ si A º I = A.
Inverso. Un valor booleano I es un elemento inverso con respecto a un operador booleano
“ º “ si A º I = B, y B es diferente de A, es decir, B es el valor opuesto de A.
Para nuestros propósitos basaremos el álgebra booleana en el siguiente juego de
operadores y valores: - Los dos posibles valores en el sistema booleano son cero y uno, a menudo
llamaremos a éstos valores respectivamente como falso y verdadero. El símbolo · representa la
operación lógica AND. Cuando se utilicen nombres de variables de una sola letra se eliminará el
símbolo ·, por lo tanto AB representa la operación lógica AND entre las variables A y B, a esto también le llamamos el producto entre A y B. - El símbolo “+” representa la operación lógica
OR, decimos que A + B es la operación lógica OR entre A y B, también llamada la suma de A y
B. El complemento lógico, negación ó NOT es un operador unitario, en éste texto utilizaremos el
símbolo “ ¬ “ para denotar la negación lógica, por ejemplo, ¬ A denota la operación lógica NOT
de A.
Si varios operadores diferentes aparecen en una sola expresión booleana, el resultado de la
expresión depende de la procedencia de los operadores, la cual es de mayor a menor, paréntesis,
operador lógico NOT, operador lógico AND y operador lógico OR. Tanto el operador lógico
AND como el OR son asociativos por la izquierda. Si dos operadores con la misma procedencia
están adyacentes, entonces se evalúan de izquierda a derecha. El operador lógico NOT es
asociativo por la derecha. Utilizaremos además los siguientes postulados:
P1 El álgebra booleana es cerrada bajo las operaciones AND, OR y NOT
P2 El elemento de identidad con respecto a · es uno y con respecto a + es cero. No existe
elemento de identidad para el operador NOT
P3 Los operadores * y + son conmutativos.
P4 * y + son distributivos uno con respecto al otro, esto es, A*(B+C) = (A*B)+(A*C) y A+(B*C)
= (A+B)*(A+C).
P5 Para cada valor A existe un valor ¬A tal que A*¬A = 0 y A+¬A = 1. Éste valor es el
complemento lógico de A.
P6 * y + son ambos asociativos, esto es, (AB)C = A(BC) y (A+B)+C = A+(B+C).
Es posible probar todos los teoremas del álgebra booleana utilizando éstos postulados, además es
buena idea familiarizarse con algunos de los teoremas más importantes
Hemos dicho que los circuitos digitales trabajan con números, y que estos números se
expresan en binario. Veremos más adelante cómo con un conjunto de ecuaciones podemos
describir lo que hace un circuito, que transforma los números de la entrada y por otros que obtenemos en la salida. Sin embargo, puesto que estos números vienen expresados en binario, las
variables y números utilizados NO SON REALES.
Para describir un circuito digital utilizaremos ecuaciones
Para describir un circuito digital utilizaremos ecuaciones matemáticas. Sin embargo,
estas ecuaciones tienen variables y números que NO SON REALES, por lo que NO podemos
aplicar las mismas propiedades y operaciones que conocemos. Hay que utilizar nuevas
operaciones y nuevas propiedades, definidas en el ALGEBRA DE BOOLE.
Por tanto, vamos a trabajar con unas ecuaciones a las que NO estamos acostumbrados.
Son muy sencillas, pero al principio pueden resultar poco intuitivas. En este capítulo
aprenderemos a trabajar con ellas.
Las operaciones del Álgebra de Boole
En el Álgebra de Boole hay dos operaciones, denotadas con los símbolos + y * pero que
¡¡no tienen nada que ver con las operaciones que todos conocemos de suma y producto!!.
¡¡¡No hay que confundirlas!!!!. El + y el * del Algebra de Boole se aplican a bits, es decir, a
números que sólo pueden ser el ’0’ ó el ’1’.
La operación +
Esta operación se define de la siguiente manera:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1
Las tres primeras operaciones nos resultan obvias, son iguales que la suma que
conocemos, sin embargo la expresión 1 + 1 = 1 nos puede resultar chocante. ¿¿Pero no me
habían dicho toda la vida que 1+1=2??, nos podemos estar preguntando. Sí, pero hay que
recordar que aquí estamos utilizando otra operación que NO ES LA SUMA, la denotamos con el
mismo símbolo ‟+‟, ¡¡pero no es una suma normal!! ¡¡Hay que cambiar el “chip”!! ¡¡Ahora
estamos con Algebra de Boole!!
Pasado el pánico inicial, si nos fijamos en esta nueva operación, notamos lo siguiente: El
resultado siempre es igual a ’1’ cuando alguno de los bits sumandos es igual a ’1’. O lo que
es lo mismo, El resultado de esta suma sólo da ’0’ si los dos bits que estamos sumando son
iguales a cero. En caso contrario valdrá ‟1‟.
¿Y para qué nos sirve esta operación tan extraña? Veamos un ejemplo. Imaginemos que
hay una sala grande a la que se puede acceder a través de dos puertas. En el techo hay una única
lámpara y existen dos interruptores de luz, uno al lado de cada puerta de entrada. Como es lógico,
la luz se enciende cuando algunos de los dos interruptores (o los dos) se activan. Esto lo
podemos expresar mediante una ecuación booleana. Para denotar el estado de uno de los
interruptores utilizaremos la variable booleana A, que puede valor ‟0‟ (Interruptor apagado) ó
‟1‟ (interruptor activado). Para el otro interruptor usaremos la variable B. Y para el estado de la
luz, ‟0‟ (apagada) y ‟1‟ encendida, usaremos la variable F.
El estado en el que se encuentra la luz, en función de cómo estén los interruptores viene
dado por la ecuación booleana:
F = A +B que indica que F=1 (Luz encendida) si alguno de los interruptores está a ‟1‟
(activado).
Ya lo veremos más adelante, pero podemos ir adelantando unas propiedades muy
interesantes.
Si A es una variable boolena, se cumple:
A + A = A
1 + A = 1
0 + A = A
La operación * Esta operación se define así:
0 * 0 = 0
0 * 1 = 0
1 * 0 = 0
1 * 1 = 1
En este caso, la operación es más intuitiva, puesto que es igual que el producto de
números Reales. Si nos fijamos, vemos que el resultado sólo vale ’1’ cuando los dos bits están
a ’1’, o visto de otra manera, el resultado es ’0’ cuando alguno de los dos bits es ’0’.
Vamos a ver un ejemplo. Imaginemos una caja de seguridad de un banco que sólo se abre
cuando se han introducido dos llaves diferentes, una la tiene el director y la otra el jefe de
seguridad. Si sólo se introduce una de ellas, la caja no se abrirá. Modelaremos el problema así.
Utilizaremos la variable A para referirnos a una de las llaves (‟0‟ no introducida, ‟1‟
introducida) y la variable B para la otra llave. Con la variable F expresamos el estado de la caja
de seguridad (‟0‟ cerrada y ‟1‟ abierta). El estado de la caja lo podemos expresar con la ecuación:
F = A*B que indica que la caja se abrirá (F=1) sólo si A=1 (una llave introducida) y B=1 (la otra
llave introducida). En cualquier otro caso, F=0, y por tanto la caja no se abrirá.
Podemos ir adelantando algunas propiedades de esta operación:
A*A=A
A*0=0
A*1=A
La negación
La operación de negación nos permite obtener el estado complementario del bit o variable
booleana al que se lo aplicamos. Se define de la siguiente manera:
Es decir, que si se lo aplicamos a ‟0‟ obtenemos ‟1‟ y si se lo aplicamos al ‟1‟ obtenemos
‟0‟. Esta operación nos permite cambiar el estado de una variable booleana. Si A es una variable
boolena, Ā tiene el estado contrario.