Diseño de circuitos digitales y tecnología de computadores/Álgebra de Boole
Elementos y operadores lógicos
[editar]El álgebra de Boole se compone de un conjunto de dos elementos o estados mútuamente excluyentes, que en el caso de los sistemas digitales es {0,1}, aunque en otros campos de aplicación puede ser distinto (por ejemplo, en lógica se utilizan los valores VERDADERO y FALSO). Por lo tanto, en los sistemas digitales, las variables lógicas o booleanas pueden tomar sólo el valor 0 o el 1. Físicamente estos dos estados se implementan mediante dos valores o rango de valores de una variable física, usualmente voltaje, por ejemplo, de 0 a 3 voltios para designar el 0, y de 4 a 5 voltios para designar el 1.
Sobre los elementos y variables lógicas se pueden realizar las siguientes operaciones:
Operación | Notación matemática | Función lógica | Significado |
Suma | A+B | OR | A+B vale 1 sólo cuando A o B o ambas valen 1 |
Producto | A·B | AND | A·B vale 1 sólo cuando A y B valen 1 |
Complemento | A | NOT | Conmuta (cambia) el estado de la variable |
En la práctica el operador del producto lógico (·) se suele omitir, por lo que la expresión A·B se escribe AB.
Propiedades o postulados
[editar]Propiedad conmutativa
- de la suma: A+B = B+A
- del producto: AB = BA
Propiedad distributiva
- del producto respecto de la suma: A(B+C) = AB+AC
- de la suma respecto del producto: A+(BC) = (A+B)(A+C)
Elemento neutro
- de la suma: A+0 = A
- del producto: A·1 = A
Elemento simétrico, inverso o complementario
- de la suma: A + A = 1
- del producto: A · A = 0
Teoremas
[editar]Se pueden demostrar, bien algebraicamente mediante los postulados, o bien mediante una tabla de verdad.
Principio de dualidad
Si en los postulados se intercambian las operaciones suma y producto lógico, y los valores 0 y 1, los resultados siguen siendo válidos. Ejemplos:
- A+0 = A ↔ A·1 = A
- A(B+C) = AB+AC ↔ A+BC = (A+B)(A+C)
Debido a este principio, cualquier postulado o teorema tiene dos versiones, duales entre sí.
Elemento idempotente
- A+1 = 1
- A·0 = 0
Idempotencia
- A+A=A
- A·A=A
Absorción o redundancia
- A + AB = A
- A(A+B) = A
Asociación
- A+(B+C) = (A+B)+C = A+B+C
- A(BC) = (AB)C = ABC
Involución o doble negación
Teoremas de DeMorgan
- A+B = A · B
- A·B = A + B
También se aplica para más de dos elementos:
- A+B+C = A · B · C
- ABC = A + B + C
Los teoremas de DeMorgan se utilizan cuando se desea que en una expresión algebraica aparezca un único tipo de operación (suma o producto lógico).
Otro teorema
- A + A·B = A+B
- A · (A + B) = A·B
Funciones lógicas
[editar]Una función lógica es una variable binaria que depende de otras variables binarias que se relacionan entre sí mediante las operaciones elementales del álgebra de Boole (suma, producto e inversión). Ejemplo:
- F(A,B,C) = A B C + A B C + B C
Término canónico es todo producto o suma en el que aparecen todas las variables de la función, directas o negadas. Hay dos tipos:
- Producto canónico (MINTERM): es un término a través del cual la función toma el estado lógico 1; en él las variables se relacionan por el producto lógico.
- Suma canónica (MAXTERM): es un término a través del cual la función toma el estado lógico 0; en él las variables se relacionan por la suma lógica.
Una función es canónica cuando se expresa con los términos canónicos, en una de las siguientes formas algebraicas:
- Suma de MINTERMS. Ejemplo: F(A,B,C) = A B C + A B C + A B C
- Producto de MAXTERMS. Ejemplo: G(A,B,C) = (A+B+C)(A+B+C)(A+B+C)
La forma numérica de una función canónica consiste en sustituir cada término canónico por un equivalente decimal:
- Dada una función que depende de tres variables A, B y C, asignamos a éstas pesos correlativos en el sistema de numeración binario a partir del peso menor o LSB (peso = 1). Por ejemplo, A será la variable de menor peso (1), B tendrá peso 2 y B será la variable de mayor peso (4).
- Cada variable puede tomar el valor 0 o 1 con respecto a un término canónico de acuerdo con el siguiente criterio:
- MINTERM: x ≡ 1, x ≡ 0
- MAXTERM: x ≡ 0, x ≡ 1
- Los números binarios así formados se transforman en decimal, expresando el resultado como sumatorio de MINTERMS o productorio de MAXTERMS:
F(A,B,C) = A B C + A B C + A B C
C B A ≡ 001 ≡ 1
C B A ≡ 110 ≡ 6
C B A ≡ 111 ≡ 7
G(A,B,C) = (A+B+C)(A+B+C)(A+B+C)
C+B+A ≡ 111 ≡ 7
C+B+A ≡ 010 ≡ 2
C+B+A ≡ 101 ≡ 5
Conversión de una función lógica a forma canónica
[editar]Mediante la tabla de verdad
|
De las combinaciones para las cuales la función F toma el valor 1 se obtiene la suma de MINTERMS:
De las combinaciones para las cuales la función F toma el valor 0 se obtiene el producto de MAXTERMS:
|
Mediante transformaciones algebraicas
Suma de MINTERMS
- Expresar la función no canónica en una suma de productos que pueden ser canónicos o no:
F = A(B+C) = AB + AC - Los términos no canónicos se multiplican por la suma de la variable directa y negada que no figura en ese producto. A continuación se aplica el primer paso. Si hubiera algún término repetido se elimina.
F = AB(C+C) + AC(B+B) = ABC + ABC + ABC + ABC = ABC + ABC + ABC
Producto de MAXTERMS
- Expresar la función en un producto de sumas canónicas o no (se aplica la propiedad distributiva de la suma respecto del producto).
F = A+BC = (A+B)(A+C) - A cada suma no canónica se le suma el producto de la variable directa y negada que no figura en esa suma. A continuacion se aplica el primer paso. Si hubiera algún término repetido se elimina.
F = (A+B)(A+C) = [(A+B)+CC] [(A+C)+BB] = (A+B+C)(A+B+C)(A+C+B)(A+C+B) = (A+B+C)(A+B+C)(A+B+C)
Función inversa o complementaria
[editar]La inversa de una función lógica se puede obtener a partir de su tabla de verdad, de su forma numérica o de su forma algebraica.
Mediante la tabla de verdad
A B C F F 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1
A partir de la forma numérica
Suma de MINTERMS:
Producto de MAXTERMS:
A partir de la forma algebraica
En este caso no se precisa que la función sea canónica. Se aplican los teoremas de DeMorgan.