Está en la página 1de 28

Arquitectura de Computadores y

Arquitectura de Computadores y Laboratorio (2020-1)

Laboratorio
Clase 04: Álgebra Booleana Pt. 1

Departamento de Ingeniería de Sistemas


2020-1
Álgebra Booleana
▶ George Boole (2/11/1815 - 8/12/1864) fue un matemático y filósofo
Arquitectura de Computadores y Laboratorio (2020-1)

inglés que trabajó, entre otros, en lógica simbólica, y propuso un


álgebra a la que se denominó álgebra Booleana o álgebra de Boole

▶ Claude Shannon (30/4/1916 - 24/2/2001) fue un matemático e


ingeniero estadounidense que en 1937 propuso la teoría de diseño
de circuitos digitales, demostrando que mediante circuitos
eléctricos de conmutación era posible resolver los mismos
problemas que el álgebra Booleana era capaz de resolver

2
Axiomas del álgebra Booleana
El álgebra Booleana consiste en un conjunto de elementos B, junto con dos operadores binarios {+} y {·} y un
Arquitectura de Computadores y Laboratorio (2020-1)

operador unario {′} que cumplen los siguientes axiomas:

1) El conjunto B contiene por lo menos dos elementos a, b tal que a ≠ b

2) Propiedad de cierre. ∀ a, b ∈ B,
a) a+b∈B
b) a·b∈B

3) Propiedad conmutativa. ∀ a, b ∈ B,
a) a+b=b+a
b) a·b=b·a

3
Axiomas del álgebra Booleana
4) Propiedad asociativa. ∀ a, b, c ∈ B,
Arquitectura de Computadores y Laboratorio (2020-1)

a) (a + b) + c = a + (b + c) = a + b + c
b) (a · b) · c = a · (b · c) = a · b · c

5) Identidades
a) Existe un elemento identidad con respecto al operador {+}, designado como 0, tal que a + 0 = a, ∀ a ∈ B
b) Existe un elemento identidad con respecto al operador {·}, designado como 1, tal que a · 1 = a, ∀ a ∈ B

6) Propiedad distributiva. ∀ a, b, c ∈ B,
a) a + (b · c) = (a + b) · (a + c)
b) a · (b + c) = (a · b) + (a · c)

7) Complementos. Para cada a ∈ B, existe un elemento a’ ∈ B (el complemento de a) tal que,


a) a + a’= 1
b) a · a’= 0

4
Álgebra de conmutación
Considerando los axiomas del álgebra Booleana, definamos:
Arquitectura de Computadores y Laboratorio (2020-1)

▶ Conjunto B = {0, 1} (Lógica bivaluada)


▶ Operadores binarios {+} como OR lógica y {·} como AND lógica
▶ Operador unario {′} como NOT lógico

▶ Es fácil verificar que el conjunto B y las operaciones lógicas OR, AND y NOT satisfacen los axiomas del álgebra
Booleana

▶ Claude Shannon, en 1937, demostró que las propiedades de los circuitos eléctricos de conmutación podían ser
descritas mediante un álgebra bivaluada (álgebra de conmutación)
● Así nació la computación moderna al hacerse posible la construcción de los primeros computadores electrónicos

5
Operadores lógicos básicos
▶ Operador binario OR
Arquitectura de Computadores y Laboratorio (2020-1)

A B X=A+B

0 0 0

0 1 1

1 0 1

1 1 1

Tabla de verdad Compuerta lógica OR

▶ Expresión lógica: X = A + B

▶ La operación OR produce una salida de 1 siempre que cualquiera de sus entradas sea 1. En cualquier otro caso la
salida es cero
6
Operadores lógicos básicos
▶ Operador binario AND
Arquitectura de Computadores y Laboratorio (2020-1)

A B X=A·B

0 0 0

0 1 0

1 0 0

1 1 1

Tabla de verdad Compuerta lógica AND

▶ Expresión lógica: X = A · B = AB

▶ La operación AND produce una salida de 1 sólo cuando todas sus entradas son 1. En cualquier otro caso la salida
es cero
7
Operadores lógicos básicos
▶ Operador unario NOT (Inversión, Negación o Complemento)
Arquitectura de Computadores y Laboratorio (2020-1)

A X = A′

0 1

1 0

Tabla de verdad Compuerta lógica NOT

▶ Expresión lógica: X = A’

▶ La operación NOT produce una salida de cuyo valor es opuesto al valor de su entrada

8
Operadores lógicos adicionales
▶ Operador binario NOR (NOT OR)
Arquitectura de Computadores y Laboratorio (2020-1)

A B X = (A + B)′

0 0 1

0 1 0

1 0 0

1 1 0

Tabla de verdad Compuerta lógica NOR

▶ Expresión lógica: X = (A + B)′ = A ↓ B

▶ La operación NOR produce una salida de 1 sólo cuando todas sus entradas son cero. En cualquier otro caso la
salida es cero
9
Operadores lógicos adicionales
▶ Operador binario NAND (NOT AND)
Arquitectura de Computadores y Laboratorio (2020-1)

A B X = (A · B)′

0 0 1

0 1 1

1 0 1

1 1 0

Tabla de verdad Compuerta lógica NAND

▶ Expresión lógica: X = (A · B)’ = A ↑ B

▶ La operación NAND produce una salida de cero sólo cuando todas sus entradas son 1. En cualquier otro caso la
salida es 1
10
Operadores lógicos adicionales
▶ Operador binario XOR (Exclusive OR)
Arquitectura de Computadores y Laboratorio (2020-1)

A B X=A⊕ B

0 0 0

0 1 1

1 0 1

1 1 0

Tabla de verdad Compuerta lógica XOR

▶ Expresión lógica: X = A XOR B = A ⊕ B

▶ La operación XOR produce una salida de 1 cuando sus entradas son diferentes. En cualquier otro caso la salida es
cero (en una compuerta de dos entradas)
11
Operadores lógicos adicionales
▶ Operador binario XNOR (Exclusive NOR)
Arquitectura de Computadores y Laboratorio (2020-1)

A B X = (A ⊕ B)′

0 0 1

0 1 0

1 0 0

1 1 1

Tabla de verdad Compuerta lógica XNOR

▶ Expresión lógica: X = A XNOR B = A ⊙ B

▶ La operación XNOR produce una salida de 1 cuando sus entradas son iguales. En cualquier otro caso la salida es 0
(en una compuerta de dos entradas)
12
Operadores lógicos adicionales
Aplicaciones de las compuertas XOR y XNOR
Arquitectura de Computadores y Laboratorio (2020-1)

▶ Compuerta XOR
● En una compuerta de más de dos entradas, la operación XOR hace la función de suma de paridad par (genera el bit de paridad
par)
● Cuenta el número de unos a la entrada y si es un número impar, pone un 1 a la salida

▶ Compuerta XNOR
● En una compuerta de más de dos entradas, la operación XNOR hace la función de suma de paridad impar (genera el bit de
paridad impar)
● Cuenta el número de unos a la entrada y si es un número par, pone un 1 a la salida

13
Funciones lógicas y expresiones Booleanas
▶ Una función lógica es una función cuyo dominio (conjunto de partida) es el conjunto {0, 1} y cuyo co-dominio
Arquitectura de Computadores y Laboratorio (2020-1)

(conjunto de llegada) es el conjunto {0, 1}

▶ La función se especifica como una expresión Booleana

▶ Una expresión Booleana es una declaración algebraica que contiene variables y operadores Booleanos

▶ Cualquier función lógica que pueda ser expresada mediante una tabla de verdad puede ser escrita como una
expresión algebraica Booleana usando los operadores AND, OR y NOT

14
Interconexión de compuertas lógicas
Arquitectura de Computadores y Laboratorio (2020-1)

Ejemplo:
A B A’ B’ AB A’B’ F(A, B) = AB + A’B’

0 0

0 1

1 0

1 1

Tabla de verdad

15
Interconexión de compuertas lógicas
Arquitectura de Computadores y Laboratorio (2020-1)

Ejemplo:
A B A’ B’ AB A’B’ F(A, B) = AB + A’B’

0 0 1 1 0 1 1 AB + A’B’ es una expresión Booleana que es


0 1 1 0 0 0 0 verdadera cuando A y B tienen el mismo valor, y
falsa en otro caso (operación XNOR)
1 0 0 1 0 0 0

1 1 0 0 1 0 1

Tabla de verdad

Vista estructural (Esquemático)


16
Precedencia de operadores
▶ ¿Cómo podemos interpretar la expresión A · B + C?
Arquitectura de Computadores y Laboratorio (2020-1)

● ¿Aplicando la operación OR entre el término A · B y la variable C?


● ¿Aplicando la operación AND entre la variable A y el término B + C?

17
Precedencia de operadores
▶ ¿Cómo podemos interpretar la expresión A · B + C?
Arquitectura de Computadores y Laboratorio (2020-1)

● ¿Aplicando la operación OR entre el término A · B y la variable C?


● ¿Aplicando la operación AND entre la variable A y el término B + C?

▶ Los operadores Booleanos se aplican en el siguiente orden:


● Signos de agrupación
● NOT
● AND
● OR

▶ Ejemplo:

18
Principio de dualidad
▶ Cualquier expresión algebraica derivada de los axiomas continúa siendo válida cuando los operadores OR y AND y
Arquitectura de Computadores y Laboratorio (2020-1)

los elementos 0 y 1 son intercambiados

▶ Ejemplo:
Si
x+1 =1
Entonces
x · 0= 0
por el principio de dualidad

▶ La utilidad del principio de dualidad radica en que puede ser invocado para probar una expresión Booleana cuya
versión dual se sabe que es verdadera

19
Teoremas del álgebra Booleana (usados frecuentemente)
▶ Operaciones con 0 y 1 ▶ Operaciones con 0 y 1
Arquitectura de Computadores y Laboratorio (2020-1)

1) X·1=X 1) X+0=X
2) X·0=0 2) X+1=1
▶ Idempotencia ▶ Idempotencia
3) X·X=X 3) X+X=X
▶ Involución
4) (X’)’ = X
▶ Complementariedad ▶ Complementariedad
5) X · X’ = 0 5) X + X’ = 1
▶ Conmutatividad ▶ Conmutatividad
6) X · Y = Y· X 6) X +Y =Y + X

Versión dual

20
Teoremas del álgebra Booleana (usados frecuentemente)
▶ Ley asociativa ▶ Ley asociativa
Arquitectura de Computadores y Laboratorio (2020-1)

7) (X · Y) · Z = X · (Y · Z) = X · Y · Z 7) (X + Y) + Z = X + (Y + Z) = X + Y + Z
▶ Ley distributiva ▶ Ley distributiva
8) X + (Y · Z) = (X + Y) · (X + Z) 8) X · (Y + Z) = X · Y + X · Z
▶ Teoremas de simplificación ▶ Teoremas de simplificación
9) (X + Y) · (X + Y’) = X 9) X · Y + X · Y’ = X
10) X · (X + Y) = X 10) X + X ·Y = X
11) (X · Y’) + Y = X + Y 11) (X + Y’) · Y = X · Y
▶ Teorema de De Morgan ▶ Teorema de De Morgan
12) (X · Y · Z · …)’= (X’ + Y’ + Z’ + …) 12) (X + Y + Z + …)’ = (X’ · Y’ · Z’ · …)
13) {F(X1, X2, …, Xn, 0, 1, +, ·)}’ =
F(X1’, X2’, …, Xn’, 1, 0, · , +)

Versión dual

21
Teoremas del álgebra Booleana (usados frecuentemente)
▶ Multiplicación y factorización ▶ Multiplicación y factorización
Arquitectura de Computadores y Laboratorio (2020-1)

14) (X · Y) + (X’ · Z) = (X + Z) · (X’ + Y) 14) (X + Y) · (X’ + Z) = X · Z + X’ · Y


▶ Consenso ▶ Consenso
15) (X + Y) · (Y + Z) · (X’ + Z) = 15) X · Y + Y · Z + X’ · Z = X · Y + X’ · Z
(X + Y) · (X’+ Z)

Versión dual

22
Equivalencia de expresiones algebraicas
▶ La misma función lógica puede ser especificada por dos o más expresiones Booleanas diferentes
Arquitectura de Computadores y Laboratorio (2020-1)

▶ La equivalencia entre expresiones algebraicas se prueba mediante:

● Comparación de sus tablas de verdad


■ Dos expresiones algebraicas de n variables binarias son equivalentes si y sólo si producen los mismos valores en todas las 2n
combinaciones posibles de las n variables

● Manipulación algebraica
■ Una o ambas expresiones se transforman usando los axiomas y teoremas del álgebra Booleana hasta que ambas expresiones
algebraicas sean iguales

23
Equivalencia de expresiones algebraicas
▶ Ejemplo: Considere dos expresiones algebraicas que definen la función de tres variables F1 y F2:
Arquitectura de Computadores y Laboratorio (2020-1)

F1 = xy + xy’z + x’yz
F2 = xy + xz + yz
Construya la tabla de verdad para ambas expresiones e indique si ellas son equivalentes
xyz xy xy’z x’yz xz yz F1 = xy + xy’z + x’yz F2= xy + xz + yz

000

001

010

011

100

101

110

111

24
Equivalencia de expresiones algebraicas
▶ Ejemplo: Considere dos expresiones algebraicas que definen la función de tres variables F1:
Arquitectura de Computadores y Laboratorio (2020-1)

F1 = xy + xy’z + x’yz
F2 = xy + xz + yz
Construya la tabla de verdad para ambas expresiones e indique si ellas son equivalentes
xyz xy xy’z x’yz xz yz F1 = xy + xy’z + x’yz F2= xy + xz + yz

000 0 0 0 0 0 0 0

001 0 0 0 0 0 0 0

010 0 0 0 0 0 0 0

=
011 0 0 1 0 1 1 1

100 0 0 0 0 0 0 0

101 0 1 0 1 0 1 1

110 1 0 0 0 0 1 1

111 1 0 0 1 1 1 1

25
Equivalencia de expresiones algebraicas
▶ Cuando se ha demostrado que dos expresiones algebraicas son equivalentes, podemos elegir la más simple para
Arquitectura de Computadores y Laboratorio (2020-1)

su implementación
● Existe una regla general que dice que el número de operadores AND y OR en una expresión es igual al número de sus literales
menos uno
● Literal: una variable o su complemento

▶ Ejemplo: Considere las dos expresiones algebraicas que definen la función F1:

● F1(x, y, z) = xy + xy’z + x’yz ⇒ 8 literales, 5 operadores AND, 2 operadores OR


● F1(x, y, z) = xy + xz + yz ⇒ 6 literales, 3 operadores AND, 2 operadores OR

▶ Reducir el número de literales equivale a reducir el número de operadores


● Por lo tanto, mediante la reducción de literales de una expresión Booleana podemos obtener implementaciones más simples

26
Actividades recomendadas
▶ Leer sobre:
Arquitectura de Computadores y Laboratorio (2020-1)

● Formas canónicas
● Formas estándar
● Funciones incompletamente especificadas

27
Bibliografía
▶ Contemporary Logic Design, R. Katz and G. Borriello, 2nd Ed. Pearson education
Arquitectura de Computadores y Laboratorio (2020-1)

▶ Principles of Digital Design, D. Gajski. Prentice-Hall


▶ Cualquier libro de sistemas digitales que cubra los temas vistos

▶ George Boole
https://www.britannica.com/biography/George-Boole
https://en.wikipedia.org/wiki/George_Boole
▶ History of logic: Boole and De Morgan
https://www.britannica.com/topic/history-of-logic/Boole-and-De-Morgan
▶ Claude Shannon
https://en.wikipedia.org/wiki/Claude_Shannon

28

También podría gustarte