2. ALGEBRA DE BOOLE
En 1854 GEORGE BOOLE escribió su libro
“TEORIA DEL PENSAMIENTO” en el que
estableció el mecanismo básico del
funcionamiento de la mente humana es
la asociación de elementos simples que
adoptan dos posturas aceptación y
negación (SI y NO, 1 Y 0, Todo y nada). Así
para poder trabajar de una manera más
fácil lo anterior, BOOLE establece un tipo
de algebra (Algebra de Boole) que,
basado en la teoría de los conjuntos,
puede ser empleada al análisis y diseño
de circuitos digitales.
La relación que existe entre la lógica
booleana y los sistemas de cómputo es
fuerte, de hecho se da una relación uno a
uno entre las funciones booleanas y los
circuitos electrónicos de compuertas
digitales.
3. INTRODUCCIÓN
Tanto la teoría de conjuntos como la lógica de
enunciados tienen propiedades similares. Tales
propiedades se utilizan para definir una
estructura matemática denominada álgebra de
Boole, en honor al matemático George Boole
(1813-1864)
4. DEFINICIÓN DE ÁLGEBRA DE BOOLE
Sea B un conjunto en el cual se definen dos operaciones binarias, + y *, y una
operación unitaria denotada ; sean 0 y 1 dos elementos diferentes de B.
Entonces la séxtupla:
〈B, +, *, , 0, 1〉
se denomina álgebra de Boole si se cumplen los siguientes axiomas para
cualesquiera elementos a, b, c del conjunto B:
[B1] Conmutatividad:
(1a) a + b = b + a (1b) a * b = b * a
[B2] Distributividad:
(2a) a + (b * c) = (a + b) * (a + c) (2b) a * (b + c) = (a * b) + (a * c)
[B3] Identidad:
(3a) a + 0 = a (3b) a * 1 = a
[B4] Complemento:
(4a) a + a = 1 (4b) a * a = 0
5. TERMINOLOGÍA Y CONVENCIONES
• Las operaciones + y * se denominan suma y producto, respectivamente.
• La operación a se denomina complemento de a.
• El elemento 0 se denomina elemento cero (neutro respecto de la suma). 2
• El elemento 1 se denomina elemento unidad (neutro respecto del producto).
• Por convención, omitimos el símbolo *, usándose en su lugar la yuxtaposición; de este
modo, (2a) y (2b) se escriben:
(2a) a + bc = (a + b) (a + c) (2b) a (b + c) = ab + ac
• Por convención, establecemos que + es más fuerte que * y * es más fuerte que ; por
ejemplo:
a + b * c significa a + (b * c) y no (a + b) * c
a * b significa a * (b ) y no (*) a b
6. DUALIDAD
En un álgebra de Boole B, el dual de cualquier enunciado es el enunciado obtenido de
intercambiar las operaciones + y *, e intercambiar los elementos neutros 0 y 1 en el
enunciado original. Por ejemplo:
el dual de (1 + a) * (b + 0) = b es (0 * a) + (b * 1) = b
Con esta definición de dualidad puede observarse que, en la definición de álgebra de
Boole, los axiomas del grupo (1) son duales de los axiomas del grupo (2) y viceversa. En
otras palabras, el dual de cualquier axioma de B también es un axioma. En consecuencia,
se cumple el siguiente teorema:
PRINCIPIO DE DUALIDAD: En un álgebra de Boole, el dual de cualquier
teorema es también un teorema.
Esto significa que, si cualquier teorema es una consecuencia de los axiomas de un álgebra
de Boole, entonces el dual también es una consecuencia de estos axiomas ya que se puede
probar usando el dual en cada paso de la demostración original.
7. TEOREMAS BÁSICOS
Utilizando los axiomas de la definición de un álgebra de Boole, pueden demostrarse
los siguientes teoremas:
Teorema 1.2: Sean a, b, c elementos cualesquiera de un álgebra de Boole B, se cumple:
Idempotencia:
(5a) a + a = a (5b) a * a = a
Acotamiento:
(6a) a + 1 = 1 (6b) a * 0 = 0
Absorción:
(7a) a + (a * b) = a (7b) a * (a + b) = a
Asociatividad:
(8a) (a + b) + c = a + (b + c) (8b) (a * b) * c = a * (b * c)
Teorema 1.3: Sea a un elemento cualquiera de un álgebra de Boole B, se cumple:
Unicidad del complemento:
Si a + x = 1 y a * x = 0, entonces x = a
Involución:
a=a
(9a) 0 = 1 (9b) 1 = 0
8. LEYES DE MORGAN
(10a) a + b =a*b
(10b) a*b= a+ b
Es importante insistir que el álgebra de Boole es la estructura algebraica de la lógica de
enunciados. En efecto, si se reemplazan las variables a, b, c, … por variables proposicionales,
la suma y el producto por la disyunción y la conjunción
respectivamente, el complemento por la negación, la igualdad por el bicondicional, y 1 y 0 por
V y F respectivamente, todos los axiomas y teoremas del álgebra de Boole se transforman en
axiomas o teoremas de la lógica de enunciados. Por ejemplo:
(2b) a * (b + c) = (a * b) + (a * c) p ∧ (q ∨ r) ↔ (p ∧ q) ∨ (p ∧ r)
(5a) a + a = a p ∨ p ↔ p
(7a) a + (a * b) = a p ∨ (p ∧ q) ↔ p
(10b) ab a b * = + ¬(p ∧ q) ↔ ¬p ∨ ¬q
9. FORMA DE SUMA DE PRODUCTOS
Considérese un conjunto de variables a, b, c, d, … .
• Una expresión booleana E en estas variables es o una variable o una expresión
construida con estas variables y usando las operaciones booleanas +, * o .
Por ejemplo, las siguientes son expresiones booleanas:
( )( ) a + bc + abc + ab (( ) ) abc + b + ac
• Un literal es una variable o una variable complementada. Por ejemplo, a, a, b, b son
literales.
• Un producto fundamental es un literal o un producto de dos o más literales en el cual no
hay dos literales con la misma variable. Por ejemplo, ac , abc , a, b, bc, abc son 4
productos fundamentales. En cambio, abac y abcb no son productos fundamentales:
el primero contiene a y a, mientras que el segundo contiene b dos veces.
• Una expresión booleana E está en forma de suma de productos si E es un producto
fundamental o una suma de dos o más productos fundamentales. Por ejemplo, la
siguiente expresión está en suma de productos:
ac + abc + abc
Pero la siguiente expresión no está en forma de suma de productos:
ac + aba + abc
ya que el segundo término no es un producto fundamental.
10. CIRCUITOS LÓGICOS
Un circuito lógico es un dispositivo que tienen una o más entradas y exactamente una
salida. En cada instante cada entrada tiene un valor, 0 o 1; estos datos son procesados
por el circuito para dar un valor en su salida, 0 o 1.
Los valores 0 y 1 pueden representar ciertas situaciones físicas como, por ejemplo, un
voltaje nulo y no nulo en un conductor.
1
1
0
0
1
1
0
0
Los circuitos lógicos se construyen a partir de ciertos circuitos elementales
denominados compuertas lógicas, entre las cuales diferenciaremos:
• Compuertas lógicas básicas: OR, AND, NOT.
• Compuertas lógicas derivadas: NOR, NAND.
11. COMPUERTA OR
En una compuerta OR con entradas A y B, la salida Y resulta:
Y= A+B
donde la suma se define por la siguiente tabla:
donde la salida Y=A+B+C+D puede obtenerse asociando los sumandos:
Y ABCD AB CD AB C D =+++ = + + + = + + + ( ) ( ) (( ) )
12. COMPUERTA AND
En una compuerta AND con entradas A y B, la salida Y resulta:
F=A*B
donde el producto se define por la siguiente tabla:
A
B F=A*B
0
0
0
0
1
1
1
0
1
1
1
1
La compuerta AND se representa
del siguiente modo:
La compuerta AND también puede
tener más de dos entradas:
donde la salida F=A*B*C*D puede obtenerse asociando los factores:
F ABCD AB CD AB C D =∗∗∗ = ∗ ∗ ∗ = ∗ ∗ ∗ ( ) ( ) (( ) )
13. COMPUERTA NOT
En una compuerta NOT con entrada A, la salida Y resulta:
F=A
donde el complemento se define por la siguiente tabla:
A
F
1
0
0
1
La compuerta NOT se representa del siguiente modo:
14. COMPUERTAS NOR Y NAND
Las compuertas NOR y NAND no son básicas. Una compuerta NOR equivale a una
compuerta OR seguida de una compuerta NOT. Una compuerta NAND equivale a una
compuerta AND seguida de una compuerta NOT
Por lo tanto, cuando las entradas son A y B, las salidas de estas compuertas resultan:
• NOR: Y = A+B
• NAND: Y = A*B
15. CIRCUITOS LÓGICOS
Los circuitos lógicos se forman combinando compuertas lógicas. La salida de un
circuito lógico se obtiene combinando las tablas correspondientes a sus compuertas
componentes.
16. SIMPLIFICACIÓN DE CIRCUITOS
Expresiones booleanas minimales
Considérese una expresión E en un álgebra de Boole B. Como E puede representar un
circuito lógico, es posible que pretendamos obtener una expresión F que, siendo
equivalente a la expresión original, sea en algún sentido mínima; de esta forma,
lograríamos minimizar la cantidad de compuertas lógicas utilizadas para implementar la
operación buscada, con la consiguiente economía de recursos. Aquí nos concentraremos
en
la forma minimal de las expresiones booleanas que están en forma de suma de
productos.
Si E es una expresión booleana en forma de suma de productos, EL denota el número
de literales en E (contados con sus repeticiones) y ES denota el número de sumandos en
E.
Por ejemplo, si E es la siguiente expresión:
abc ab+d+ abcd+ abcd
entonces EL=14 y ES=4.
Sea ahora F una expresión booleana de suma de productos equivalente a E. Decimos
que E es más simple que F si se cumple que:
EL ≤ FL y ES ≤ FS
y por lo menos una de las relaciones es una desigualdad estricta
17. MAPAS DE KARNAUGH
El método de los mapas de Karnaugh es un método gráfico para encontrar las formas
minimales de sumas de productos para expresiones booleanas que involucran un máximo
de seis variables. Aquí sólo trataremos los casos de dos, tres y cuatro variables.
Dado un conjunto de variables {A1, A2, …, AN}, pueden con ellas formarse los
productos fundamentales Pi que contienen todas las variables, o bien en su forma
complementada o bien en su forma no complementada. De tales productos fundamentales,
se dice que P1 y P2 son adyacentes si difieren exactamente en un literal, el cual tiene que
ser una variable complementada en uno de los productos y no complementada en el otro.
Por ejemplo, si el conjunto de variables es {A, B, C, D}:
• Entre los productos fundamentales ABC, ABC, ACD no puede predicarse la relación
de adyacencia, porque tales productos no contienen todas las variables.
• Los pares de productos ABCD y ABCD, o ABCD y ABCD, o ABCD y ABCD no
son adyacentes porque difieren en más de un literal.
• Los pares de productos ABCD y ABCD, o ABCD y ABCD, o ABCD y ABCD son
adyacentes, porque difieren exactamente en un literal, que es una variable
complementada en uno de los productos y no complementada en el otro.
En un mapa de Karnaugh, cada uno de los productos fundamentales Pi que contienen
todas las variables es representado gráficamente por un cuadrado, y la relación de
adyacencia entre tales productos es representada por la adyacencia geométrica.