3.
Álgebra de Boole
3.1. Introducción
Algunas veces el reconocimiento a la obra de un autor no llega hasta después de
su muerte. Todos conocemos el caso del pintor impresionista Van Gogh, que en vida
sólo vendió un dibujo y un cuadro y, unos años después de su muerte, recibe el re-
conocimiento merecido encontrándose algunos de sus cuadros entre los más caros del
mundo.
Así ocurre también con George Boole (1815-1864) que poco se pudo imaginar el
impacto que tendría su trabajo en el mundo tecnológico un siglo después.
Aunque tuvo trabajos matemáticos en varios campos, hoy es recordado por un
trabajo en el cual intentaba formalizar las leyes del pensamiento mediante un sistema
aritmético-lógico. Para ello desarrolló un álgebra que hoy conocemos como Álgebra de
Boole.
Ese trabajo, plasmado en el libro titulado Investigation of the Laws of Thought,
pasó un siglo sin demasiada aplicación práctica hasta que en 1938 Claude Shannon
demuestra que las operaciones básicas del álgebra booleana pueden ser representadas
mediante circuitos eléctricos y que la combinación de varios de estos circuitos podría
representar operaciones lógicas complejas.
Hoy en día el Álgebra de Boole resulta imprescindible en muchas aplicaciones prác-
ticas, especialmente en la informática y en la electrónica. Desde un moderno ordenador
personal hasta un simple cruce de semáforos, un moderno autómata programable o un
automatismo eléctrico basan su funcionamiento en dicho álgebra.
3.2. Operaciones del álgebra de Boole
Un álgebra de Boole es un sistema matemático deductivo centrado en los valores
bien diferenciados que se suelen asignar a los números 0 y 1 de un código binario.
Dichos elementos están relacionados mediante dos operaciones binarias denominadas
suma lógica (+) y producto lógico (·)
Estas dos operaciones no tienen nada que ver con las operaciones suma y producto
que todos conocemos ¡No debemos confundirlas!
3.2.1. Operación suma (+)
Esta operación se define mediante la siguiente tabla:
a b a+b
0 0 0
0 1 1
1 0 1
1 1 1
Las tres primeras operaciones son similares a la suma aritmética con la que estamos
acostumbrados a trabajar. Sin embargo la expresión 1 + 1 = 1 nos resulta extraña.
Hemos de recordar que no estamos realizando la suma aritmética, sino una suma lógica
que representamos mediante el mismo signo (+).
Álgebra de Boole Electrónica
La siguiente figura, en la que vemos dos contactos en paralelo, representa la suma
lógica mediante un esquema de contactos.
3.2.2. Operación Producto (·)
Esta operación se define mediante la siguiente tabla:
a b a·b
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 al producto de
números reales. El resultado es 1 sólo cuando las dos variables son 1.
La representación del producto lógico mediante esquema de contactos se correspon-
de con una asociación serie:
a b
3.2.3. Operación Negación
La operación negación nos permite obtener el estado complementario de una
variable booleana. Se define de la siguiente manera:
a a
0 1
1 0
La variable a se encuentra siempre en un estado binario opuesto al de a.
En esquema de contactos se representa por un contacto normalmente cerrado:
3.3. Propiedades Del Álgebra De Boole
Las principales propiedades del álgebra de Boole son:
Conmutativa. Se dice que un operador binario es conmutativo si, para todos
los posibles valores de a y b, verifica:
a+b=b+a
a·b=b·a
2
Electrónica Álgebra de Boole
En esquema de contactos:
a b
b a
a b b a
Distributiva. Dos operadores binarios (+) y (·) son distributivos si para todos
los valores posibles de a, b, y c verifica:
a · (b + c) = (a · b) + (a · c)
a + b · c = (a + b) · (a + c)
En esquema de contactos:
b a b
a
c a c
a a a
b c b c
Identidad. Posee dos elementos neutros, el 0 y el 1, que cumplen la propiedad
identidad con respecto a la suma y producto lógico:
0+a=a
1·a=a
En esquema de contactos:
0
a
a
1 a a
Inversa. Un valor booleano a es un elemento inverso con respecto a un operador
booleano si cumple:
a+a=1
a·a=0
En esquema de contactos:
a
1
a
a 0
a
3
Álgebra de Boole Electrónica
3.4. Teoremas Del Álgebra De Boole
Teorema 1
Cada identidad deducida de los anteriores postulados del álgebra de Boole per-
manece válida si la operación (+) y (·) y los elementos «cero» y «uno» se inter-
cambian entre sí.
Este principio, llamado de dualidad, se deduce inmediatamente de la simetría
de los cuatro postulados con respecto a ambas operaciones y ambos elementos
neutros.
Teorema 2
Para cada elemento a del álgebra de Boole se verifica:
a+1=1
a·0=0
Teorema 3
Para cada elemento del álgebra de Boole se verifica:
a+a=a
a·a=a
Teorema 4
Para cada par de elementos del álgebra de Boole a y b se verifica:
a + ab = a
a · (a + b) = a
Teorema 5
En un álgebra de Boole las operaciones suma y producto son asociativas:
a + (b + c) = (a + b) + c = a + b + c
a · (b · c) = (a · b) · c = a · b · c
Teorema 6
En todo álgebra de Boole se verifica:
a + b + c + d + ... = a · b · c · d · ...
a · b · c · d · ... = a + b + c + d + ...
Estas igualdades son llamadas Leyes de De Morgan.
Teorema 7
En todo álgebra de Boole se verifica:
F (a, b, c, d . . . , +, ·) = F (a, b, c, d . . . , ·, +)
Este teorema, llamado teorema de Shannon, es una generalización de las leyes
de De Morgan. Nos dice que cualquier expresión booleana negada es equivalente
a la misma expresión en la que todas las variables son negadas y se sustituyen
las operaciones (+) por (·) y viceversa.
4
Electrónica Álgebra de Boole
EJEMPLO
Aplicar el teorema de Shannon a las siguientes expresiones:
f1 = (a + b) · c f2 = a · b + c f3 = a · b · c
Operando las expresiones:
f1 = (a + b) · c = (a · b) + c
f2 = a · b + c = (a + b) · c
f3 = a · b · c = a + b + c
3.5. Funciones Booleanas
Todos recordamos cuando, estudiando física, utilizábamos ecuaciones y modelos
matemáticos que describían lo que estábamos analizando. Así por ejemplo, la ecuación:
1
s = v0 t + at2
2
nos indica el espacio recorrido por un móvil que se desplaza con un movimiento recti-
líneo uniformemente acelerado en cualquier instante t.
EJEMPLO
Un fórmula 1 parte del reposo con una aceleración 28 m/s2 . ¿Qué
distancia recorrerá en 1, 1,5, 2 y 2,5 segundos?
Sustituyendo valores en la ecuación:
1
s=0·t+ · 28 · t2 = 14 · t2
2
Sustituyendo el tiempo en la ecuación:
t 14 · t2 s
1 14 · 52 14
1,5 14 · 102 31,5
2 14 · 302 56
2,5 14 · 602 87,5
En esta ecuación hemos utilizado números y variables Reales. El conjunto de los
Números Reales lo conocemos muy bien porque estamos acostumbrados a trabajar
con él (matemáticas, física, química...). Este tipo de ecuaciones nos parecen sencillas e
intuitivas aunque no comprendamos lo que significan las variables en ellas utilizadas.
5
Álgebra de Boole Electrónica
Como es una función real obtenemos como valores de la función números reales (R).
También se pueden definir funciones reales de dos o más variables, como por ejemplo:
f (x, y) = x · y − 10
f (x, y, z) = (x + y) · z
Una función de un álgebra de Boole o función lógica es una variable binaria cuyo
valor es el de una función algebraica en la que se relacionan entre sí una o más variables
binarias por medio de las operaciones básicas suma lógica, producto lógico e inversión.
Se representa mediante la expresión:
f = f (a, b, c, ...)
que indica que el valor lógico de la función f depende de las variables binarias a, b, c, ...
EJEMPLO
Obtén todos los posibles valores de la función booleana:
f (a) = a
El valor devuelto por la función es el negado:
a a f
0 1 1
1 0 0
EJEMPLO
Obtén todos los posibles valores de la función booleana:
f (a, b) = (a + b) · b
Las dos variables sólo pueden tomar dos valores posibles, el 0 y el 1. El número
de combinaciones que se pueden dar con n variables es 2n , es decir, 22 = 4.
Todas las posibilidades se recogen en el siguiente cuadro:
a b f (a, b) f
0 0 (0 + 0) · 1 0
0 1 (0 + 1) · 0 0
1 0 (1 + 0) · 1 1
1 1 (1 + 1) · 0 0
Se llama término canónico de una función lógica a todo producto o suma en
la que estén presentes todas las variables en su forma directa o inversa. Al producto
se le llama producto canónico o minitérminos y a la suma suma canónica o
maxitérminos. Así para una función de tres variables f (a, b, c) el término abc es un
6
Electrónica Álgebra de Boole
producto canónico o minitérmino y el término (a + b + c) es una suma canónica o
maxitérmino.
Para facilitar la representación de las funciones, cada término canónico se expresa
según un número decimal equivalente al binario obtenido de sustituir las variables por
un «uno» o por un «cero» según aparezcan en su forma directa (a) o negada (a). El
bit más significativo se corresponde con la variable a.
EJEMPLO
Obtén el equivalente decimal de los siguientes términos canónicos:
f1 = abcd f2 = a + b + c + d
La equivalencia será:
f1 = abcd = (0101)2 = 510
f2 = a + b + c + d = (1010)2 = 1010
Por lo tanto la función lógica f (a, b, c) = abc + abc + abc se puede expresar como:
X
f (a, b, c) = (0, 2, 3)
3
De igual forma la función lógica f (a, b, c) = (a + b + c)(a + b + c)(a + b + c)(a + b + c)
se puede expresar como:
Y
f (a, b, c) = (1, 3, 4, 7)
3
3.6. Tablas De Verdad
Ya hemos visto la representación de funciones booleanas utilizando expresiones
algebraicas y términos canónicos. Vamos a ver ahora como se representan utilizando
las tablas de verdad, tablas en las que se representan todos los valores posibles que
pueden tomar las variables, indicando el valor 0 o 1 que puede tomar la función en
cada uno de los casos.
a b c f
0 0 0 0 0
1 0 0 1 1
2 0 1 0 0
3 0 1 1 0
4 1 0 0 0
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1
7
Álgebra de Boole Electrónica
La obtención de la suma de productos canónicos a partir de la tabla de verdad
es inmediata. Se toman en la tabla todas las filas que toman valor 1 y tendremos un
sumando constituido por todos los productos canónicos empleando la siguiente regla: si
una variable toma valor 0 en la fila escogemos la variable negada y, si está a 1, usaremos
la variable directa.
La forma algebraica de la expresión canónica de producto de sumas canónicas se
puede obtener directamente de la tabla de verdad observando las combinaciones para
las que la función toma valor 0 y sustituyendo para cada uno de ellas la variable directa
si toma el valor 0 o la variable negada si toma valor 1.
EJEMPLO
En la tabla de verdad anterior obtén las dos expresiones canónicas
de la función representada.
Como suma de productos canónicos:
X
f (a, b, c) = abc + abc + abc + abc = (1, 5, 6, 7)
3
Como producto de sumas canónicas:
Y
f (a, b, c) = (a + b + c)(a + b + c)(a + b + c)(a + b + c) = (3, 4, 5, 7)
3
3.7. Funciones Importantes De Un Álgebra De Boole
3.7.1. Función O-exclusiva
La función o-exclusiva de dos variables a y b es aquella que toma valor uno cuando
una de las variables toma el valor uno y la otra el valor cero. La función O-exclusiva
se representa por el símbolo ⊕
En la tabla se representa la función para dos variables:
f (a, b) = a ⊕ b
a b f
0 0 0
0 1 1
1 0 1
1 1 0
Cuyas expresiones canónicas son:
f (a, b) = ab + ab = (a + b)(a + b)
8
Electrónica Álgebra de Boole
3.7.2. Función equivalencia o función no-exclusiva
La función equivalencia de dos o más variables es aquella que toma valor uno
cuando todas las variables de entrada se encuentran en el mismo estado lógico y el
valor cero en caso contrario.
En la tabla de verdad de la función equivalencia de dos variables se observa que es
la función inversa a la O-exclusiva de dos variables:
f (a, b) = a ⊕ b
a b f
0 0 1
0 1 0
1 0 0
1 1 1
Cuyas expresiones canónicas son:
f (a, b) = ab + ab = (a + b)(a + b) = a ⊕ b = a ⊕ b
3.8. Simplificación De Funciones Booleanas
3.8.1. Método Algebraico
Se basa en la aplicación de las propiedades y teoremas del álgebra de Boole. No
es sistemática y depende de la habilidad de la persona, además el proceso se dificulta
enormemente para funciones de más de tres variables, no pudiendo asegurar que la
función obtenida sea irreducible.
3.8.2. Método De Karnaugh
La simplificación de funciones de dos, tres y cuatro variables es posible de una forma
sencilla gracias al empleo de un método de simplificación gráfico muy extendido deno-
minado método de Karnaugh en honor al ingeniero de telecomunicaciones Maurice
Karnaugh que ideó este método en 1953. Nosotros estudiaremos este método para
tres y cuatro variables.
cd
ab 00 01 11 10
bc
a 00
00 01 11 10 0 1 3 2
0 01
0 1 3 2 4 5 7 6
1 11
4 5 7 6 12 13 15 14
10
8 9 11 10
Como se puede ver en las tablas anteriores, tablas de Karnaugh de tres y cuatro
variables, en la esquina superior izquierda de cada tabla se colocan las variables de
entrada, de manera que puedan aparecer todas las combinaciones de la tabla de verdad.
9
Álgebra de Boole Electrónica
Es muy importante la colocación de las combinaciones, para que entre una fila y la
siguiente o entre una columna y la siguiente sólo cambie el valor de una variable, por
eso se utiliza el código Gray (00, 01, 11, 10).
Llamamos términos adyacentes a aquellos que varían en una única variable. Por
ejemplo, son términos adyacentes abc y abc, pues difieren únicamente en la variable c.
La simplificación mediante el método tabular de Karnaugh se basa en la propiedad
que tienen los términos adyacentes por la que se pueden simplificar eliminando la
variable que difiere en los dos términos, tal y como se ve en los ejemplos.
EJEMPLO
Simplifica la siguiente suma de productos o minitérminos:
f = abc + abc
f = abc + abc = ab(c + c) = ab
EJEMPLO
Simplifica el siguiente producto de sumas o maxitérminos:
f = (a + b + c)(a + b + c) =
f = (a + b + c)(a + b + c) =
= aa + ab + ac + ba + bb + bc + ca + cb + cc =
= a + ab + ac + b + bc + ac + bc =
= a + ab + b + a(c + c) + b(c + c) =
= a + ab + b + a + b = a + b + ab =
= a + ab + b = a(b + 1) + b =
=a+b
El método de Karnaugh pone de manifiesto la relación entre la adyacencia
gráfica y la adyacencia algebraica.
Dos casillas son adyacentes gráficamente si están una junto a otra en el mapa de
Karnaugh, teniendo en cuenta que nunca deben considerarse las diagonales. Por otro
lado, dos casillas de un mapa de Karnaugh son adyacentes algebraicamente si en el
conjunto formado por las variables sólo hay una diferente, no importando la posición
en la que se encuentre dicha variable. Pues bien, siempre se verifica que dos casillas son
adyacentes gráficamente también lo son algebraicamente. El recíproco no es siempre
cierto, pues hay casillas que son adyacentes algebraicamente y no gráficamente. La
adyacencia algebraica es la que realmente hay que tener en cuenta en el proceso de
10
Electrónica Álgebra de Boole
simplificación gráfica. Así podemos considerar adyacentes algebraicamente la primera
y la última columna y la primera y la última fila de cada tabla de Karnaugh.
Para obtener la expresión algebraica más sencilla de la función es necesario realizar
el mínimo número de agrupaciones de términos, de modo que el conjunto cubra todos
los «unos» de la tabla.
El procedimiento sistemático de obtención de la expresión más simple es el siguiente:
1. Se toman todos los «unos» que no se pueden combinar con ningún otro.
2. Se toman los grupos de dos «unos» que no pueden formar grupos de cuatro.
3. Se toman los grupos de cuatro «unos» que no pueden formar grupos de ocho.
4. Cuando se han tomado todos los «unos» se detiene el proceso.
Aclararemos lo expuesto mediante varios ejemplos.
EJEMPLO
Sea la función: X
f (a, b, c) = (2, 3, 5, 7, 10, 11, 15)
4
Obtén las expresión mínima como suma de productos.
La tabla de Karnaugh para esta función:
cd
ab 00 01 11 10
00 1 1
0 1 3 2
01 1 1
4 5 7 6
11 1
12 13 15 14
10 1 1
8 9 11 10
La expresión mínima está compuesta por dos agrupaciones de cuatro términos
y una de dos términos. El producto lógico que corresponde a cada grupo se
obtiene eliminando la variable que toma distinto nivel en el grupo y asignando
la forma directa a la variable que toma valor lógico «uno» y la forma inversa
a la que toma valor lógico «cero». Por ejemplo, el grupo formado por las
celdas 2, 3, 10 y 11 le corresponde el producto bc.
La expresión algebraica resultante es:
f (a, b, c, d) = cd + bc + abd
11
Álgebra de Boole Electrónica
EJEMPLO
Sea la función:
Y
f (a, b, c) = (1, 2, 3, 6, 7, 9, 11, 14, 15)
4
Obtén las expresión mínima como producto de sumas.
La tabla de Karnaugh para esta función:
cd
ab 00 01 11 10
00 1 1 1
0 1 3 2
01 1 1
4 5 7 6
11 1 1
12 13 15 14
10 1 1
8 9 11 10
La expresión mínima está compuesta por tres agrupaciones de cuatro términos.
La expresión algebraica resultante es:
f (a, b, c, d) = (b + d)(a + c)(b + c)
3.9. Ejercicios
1. Aplica las propiedades y teoremas adecuados del álgebra de Boole para simplificar
las expresiones:
a) f = (a · 0)(b + b) + (b + b) + (a · a) + (b + 1) · (c · c)
b) f = (b + 1) · a · a + a + c · c + b · 0 + c
c) f = a · b · c + b · c · (c + 1) + a · b · c · (a + a)
d) f = a · b + a · b · c + a · b · c + a · b
e) f = a · b · c + a · b · c · d + a · b
f ) f = (a · c + c) · (a + c) · (b · c + a + a)
2. Obtén la tabla de verdad correspondiente a la función f = bc + ab + acd.
12
Electrónica Álgebra de Boole
3. Extrae la función f correspondiente a la siguiente tabla de verdad, expresando
sus formas canónicas de minitérminos y maxitérminos.
a b c f
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 0
1 1 1 1
4. Extrae la función f correspondiente a la siguiente tabla de verdad, expresando
sus formas canónicas de minitérminos y maxitérminos.
a b c f
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
5. Se desea controlar el funcionamiento de un motor por medio de tres interruptores
a, b y c, de manera que el motor funcione cuando se activen dos pulsadores a la
vez, sean los que sean, y también cuando se activen los tres a la vez.
Realiza la tabla de verdad de las función y extrae la función relativa al motor.
6. Se desea controlar un motor «M» y una lámpara «L» por medio de los contactos
de tres interruptores a, b y c, de forma que se cumplan las siguientes condiciones:
a) Si a está pulsado y los otros dos no, se activa M, quedando la lámpara
apagada.
b) Si dos interruptores están pulsados, sean los que sean, funcionan M y L.
c) Si los tres interruptores están pulsados, no funciona M ni tampoco L.
En las demás condiciones no mencionadas, ni M ni L funcionan.
Realiza la tabla de verdad de las funciones y extrae las funciones relativas al
motor y a la lámpara.
7. Simplifica la función expresada en minitérminos f = 3 (1, 2, 3, 5, 6, 7)
P
8. Simplifica la función f = 4 (0, 1, 4, 5, 8, 10, 11, 12)
P
13