Tema 3. Álgebra de Boole
Tema 3. Álgebra de Boole
ÍNDICE
1. INTRODUCCIÓN 2
1.1. Variables ..................................................................................................................................................... 2
1.2. Operaciones básicas ............................................................................................................................... 3
1.2.1. Suma lógica (+) 3
1. INTRODUCCIÓN
A mediados del siglo XIX, el matemático inglés George Boole desarrolló un álgebra basado en la
teoría de conjuntos, en la cual, las variables sólo pueden tomar dos valores distintos: verdadero (1) o
falso (0), y sobre la cual se definen tres operaciones básicas: suma lógica (+), producto lógico (·) y
negación o complementación ( ‾ ).
1.1. Variables
En el Álgebra de Boole las variables, denominadas binarias o booleanas, pueden tomar sólo dos
valores distintos: el 1 y el 0.
Verdadero 1 5V
Falso 0 0V
Las variables utilizadas en el Álgebra de Boole pueden ser representadas con letras tanto en
mayúsculas como en minúsculas (preferentemente, las primeras del alfabeto).
Ejemplo: Para simbolizar la proposición “la puerta está abierta” podríamos utilizar la letra P.
Para simbolizar está proposición, podemos hablar de P negada que representaremos como P.
La variable de mayor peso (MSB, Mast Significant Bit) se coloca siempre a la izquierda, y la
variable de menor peso (LSB, Less Significant Bit) se coloca a la derecha.
Ejemplo:
E3 E2 E1 E0
MSB LSB
El + y el · del Álgebra de Boole se aplican a bits, es decir, a números que sólo pueden ser el 0 ó
el 1.
NOTA: Los signos + y · no tienen que confundirse con la suma y multiplicación aritmética, sino
que indican relaciones lógicas, de tal manera que el signo + debe interpretarse como la conjunción O
(OR). De la misma forma, el signo · será equivalente a la conjunción Y (AND), mientras que el signo ‾
deberá interpretarse como la conjunción NO (NOT).
0+0=0
0+1=1
1+0=1
1+1=1
El resultado siempre es igual a 1 cuando al menos una de las variables de entrada está a 1.
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.
Ejemplo 2: 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.
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).
0·0=0
0·1=0
1·0=0
1·1=1
El resultado de este producto 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.
Ejemplo 2: 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á.
Esto lo podemos expresar mediante una ecuación booleana.
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á.
0 =1
1 =0
El resultado de esta operación nos permite cambiar el estado de una variable booleana.
2.1. Propiedades
a) Propiedad conmutativa:
A+B=B+A
A·B=B·A
b) Propiedad asociativa:
A + B + C = A + (B + C) = (A + B) + C
A · B · C = A · (B · C) = (A · B) · C
c) Propiedad distributiva:
A · (B + C) = (A · B) + (A · C)
A + (B · C) = (A + B) · (A + C)
d) Elemento neutro:
A+0=A
A·1=A
e) Elemento inverso:
A+ A =1
A· A =0
2.2. Postulados
a) Suma:
A+0=A
A+1=A
A+A=A
A+ A =1
b) Multiplicación:
A·0=0
A·1=A
A·A=A
A· A =0
c) Complementación o inversión:
A =A
2.3. Teoremas
a) Ley de Idempotencia:
A+A=A
A·A=A
b) Ley de Absorción:
A + (A · B) = A
Demostración: A + (A · B) = (A · 1) + (A · B) = A · (1 + B) = A · 1 = A
A · (A + B) = A
Demostración: A · (A + B) = (A · A) + (A · B) = A + (A · B) = (A · 1) + (A · B) = A · (1 + B) = A · 1 = A
c) Ley de Transposición:
(A · B) + ( A · C) = (A + C) · ( A + B)
(A + B) · ( A + C) = (A · C) + ( A · B)
(A · B ) + (A · B) = ( A + B) · (A + B )
(A + B ) · (A + B) = ( A · B) + (A · B )
d) Leyes varias:
A + ( A · B) = A + B
Demostración: A + ( A · B) = (A + A ) · (A + B) = 1 · (A + B) = A + B
A · ( A + B) = A · B
Demostración: A · ( A + B) = (A · A ) + (A · B) = 0 + (A · B) = A · B
(A + B) · (A + C) = A + (B · C)
Demostración: (A + B) · (A + C) = (A + B) · A + (A + B) · C = [ (A·A) + (A·B) ] + [ (A·C) + (B·C) ] =
= A + (B · C)
e) Leyes de DeMorgan:
A B A B
A B A B
A continuación, se muestra el circuito digital para tres variables de entrada (a, b y c) y una
variable de salida (S).
a
b f(a, b, c) S
c
Donde:
A continuación, se muestra el circuito digital para una variable de entrada (A) y una variable de
salida (S).
A f(A) S
El valor devuelto por la función es el negado del que se le pasa por la variable.
Como la variable A es booleana, sólo puede tomar los valores 0 y 1. Por lo que para cada valor de
A, la función f vale:
A=0 f 0 0 1
A=1 f 1 1 0
Donde:
S: función lógica o variable dependiente.
A
f(A, B) S
B
Como las variables A y B son booleanas, sólo pueden tomar los valores 0 y 1. Por lo que para cada
valor de A y B, la función f vale:
Ejemplos:
A B S
0 0 0
0 1 1
1 0 0
1 1 1
NOTA: El número de filas de la tabla de verdad depende del número de variables que usemos.
La regla que se cumple es la siguiente: Si la función lógica tienen n variables, la tabla de verdad
tendrá 2n filas.
Ejemplo:
Si una función lógica tiene 2 variables, su tabla de verdad tendrá 22 = 4 filas.
NOTA: Cuanto mayor número de variables, mayor cantidad de filas tendrá la tabla de verdad.
Es, por tanto, una manera gráfica muy directa, para representar una función lógica, pero tiene
el inconveniente que, al tener que mostrar todas las combinaciones posibles de las entradas, puede
ocupar mucho espacio.
Ejemplo 1: Supongamos que hay un proceso industrial con unos captadores de alarma que, una
vez adaptados convenientemente, se convierten en señales digitales (supongamos sólo 3 con objeto de
simplificar) llamadas a, b y c.
a) Queremos una función lógica que se active cuando se active cualquiera de las 3 alarmas.
Esto sería claramente una suma lógica: S = f(a, b, c) = a + b + c
b) Si la función de alarma se tiene que activar cuando se activen todas las alarmas a la vez, ¿cuál
es la función lógica?
Esto sería claramente Un producto lógico: S = f(a, b, c) = a · b · c
Ejemplo 2: Supongamos el caso en que la función de alarma deba activarse en el caso de que se
activen dos de las tres alarmas a la vez. En este caso, y en muchos otros, lo mejor es escribir la tabla
de verdad y mirar cada combinación de entradas para pensar cuál es la salida correspondiente.
a b c S
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
NOTA: A no ser que la función lógica sea muy sencilla, es conveniente plasmarla en una tabla de
verdad antes de expresarla algebraicamente.
Donde:
A
f(A, B) S
B
Antes de calcular los valores que toma la función, según lo que valgan A y B, se pueden aplicar
algunas propiedades del Álgebra de Boole para obtener una función más simplificada.
Pasos:
a) Como la función lógica tiene 2 variables de entrada (A y B), la tabla de verdad tendrá 22 = 4
filas.
A B S
0 0
0 1
1 0
1 1
S f A, B A B
La primera fila se corresponde con f(0,0), la segunda con f(0,1), la tercera con f(1,0) y la última
con f(1,1):
A B S
0 0 0
0 1 0
1 0 1
1 1 0