Está en la página 1de 44

Capítulo 5: Álgebra

booleana
Autor: José Alfredo Jiménez Murillo
Objetivos

- Aprender a simplificar expresiones booleanas usando teoremas


del álgebra booleana.

- Aprender a simplificar expresiones booleanas por medio de


mapas de Karnaugh.

- Representar expresiones booleanas por medio de bloques


lógicos.
Introducción

El álgebra booleana fue desarrollada por George Boole (1815-1864) y es


la forma algebraica en que se manipulan las proposiciones lógicas.

Debido al carácter abstracto de sus principios, el álgebra booleana no


tuvo una aplicación directa sino hasta 1938 cuando la compañía de
teléfonos Bell de Estados Unidos la utilizó para realizar un análisis de los
circuitos de su red telefónica.

Claude E. Shannon, entonces estudiante de postgrado del Instituto


Tecnológico de Massachussets, creó a partir del álgebra de Boole la
llamada álgebra de conmutación para representar las propiedades de
conmutación eléctrica biestables, demostrando con esto que el álgebra
booleana se adapta perfectamente al diseño y representación de
circuitos lógicos de control basados en relés e interruptores.
El álgebra booleana trabaja con señales binarias, y una gran cantidad de
sistemas de control, también conocidos como digitales, usan señales
binarias.

Las señales binarias sólo pueden tener el valor de falso o verdadero que
proviene de sensores que mandan la información al circuito de control,
mismo que lleva a cabo la evaluación para obtener un valor que indica si
se ejecuta o no una determinada actividad.

Los sensores pueden ser ópticos, magnéticos, de temperatura o de


nivel. De cada uno de estos tipos de sensores existen tamaños y
modelos, de acuerdo con el uso y funcionamiento; por ejemplo, hay
infrarrojos, láser, fotoeléctricos y de ultrasonido, entre otros.
Expresiones booleanas

Para resolver un problema práctico en el cual se desea automatizar un


proceso, es necesario realizar un análisis detallado de lo que se quiere
lograr así como de los tipos de sensores necesarios para obtener las
señales.

Determinado lo anterior, se plantea el funcionamiento del circuito


lógico en una expresión matemática que recibe el nombre de
expresión booleana.

Cada una de las variables de que está integrada la expresión


boolena, representa un sensor que provee al circuito de una señal de
entrada.
Propiedades de las expresiones
booleanas

a) Están compuestas de literales (A, B, C,...) y cada una de ellas


representa la señal de un sensor. Un ejemplo es
F = A’BD + AB’CD.
b) El valor de las señales o de la función sólo puede ser 0 o 1,
falso o verdadero.
c) Además de literales, en la expresión booleana se puede tener
el valor de 0 o 1. Por ejemplo F = A’BD1 + AB’CD + 0.
d) Las literales de las expresiones booleanas pueden estar
conectadas por medio de los operadores lógicos And (), Or () y
Not (’).

e) Es posible obtener el valor de una expresión booleana sustituyendo en


cada una de las literales el valor de 0 o 1, teniendo en cuenta el
comportamiento de los operadores lógicos.
Ejemplo
A B C D F
0 0 0 0 0

La tabla de verdad muestra todas las 0 0 0 1 0


señales existentes cuando se tienen 4 0 0 1 0 0
sensores. 0 0 1 1 0
0 1 0 0 0
F es un sistema que funciona solamente 0 1 0 1 1
cuando un conjunto de señales se presenta. 0 1 1 0 1
0 1 1 1 1
La expresión booleana que representa el
1 0 0 0 0
funcionamiento de F es:
1 0 0 1 0
1 0 1 0 1
F = A’BC’D + A’BCD + A’BCD’ + ABC’D +
ABCD + ABCD’ + AB’CD + AB’CD’ 1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
Esta función tiene literales redundantes y por
1 1 1 0 1
lo tanto debe ser simplificada.
1 1 1 1 1
Métodos para simplificar
expresiones booleanas

Cuando se plantea un problema, en general la expresión booleana


obtenida no necesariamente es la óptima, esto es, la más fácil, clara
y sencilla de implementar utilizando compuertas lógicas.

Una expresión booleana puede ser simplificada empleando:

a) Teoremas del álgebra booleana.

b) Mapas de Karnaugh.
Simplificación de expresiones
booleanas mediante teoremas del
álgebra de Boole

En un teorema la letra A representa no sólo una variable, sino


también un término o factor, o bien una expresión.

Los teoremas se presentan juntamente con su dual.

Para obtener el “dual” de un teorema se convierte cada 0 (cero) en 1


(uno) y cada 1 (uno) en 0 (cero), los signos más (+) se convierten en
paréntesis, puntos o simplemente no se ponen, y los puntos en
signos más (+). Además de esto, las variables no se complementan
ya que al hacerlo se obtendría el complemento en lugar del dual.

En la siguiente tabla se presentan los teoremas más importantes.


Teoremas del álgebra de Boole

Número Teorema Dual


1a. 0A = 0 1 +A= 1
2a. 1A = A 0 +A=A
3a. AA = A A+A=A
4a. AA' = 0 A + A' = 1
5a. AB = BA A+B=B+A
6a. ABC = A(BC) A + B + C = A + (B + C)
7a. (AB...Z)' = A' + B' +...+ Z' (A + B +...+ Z)' = A'B'...Z'
8a. AB + AC = A(B + C) (A + B)(A + C) = A + BC
9a. AB + AB' = A (A + B)(A + B') = A
10a. A + AB = A A(A + B) = A
11a. A + A'B = A + B A(A' + B) = AB
12a. CA + CA'B = CA + CB (C + A)(C + A' + B) = (C + A)(C + B)
13a. AB + A'C + BC = AB + A'C (A + B)(A' + C)(B + C) = (A + B)(A' + C)
Ejemplo

A partir de la tabla de verdad se obtuvo la siguiente expresión:

F = A’BC’D + A’BCD + A’BCD’ + ABC’D + ABCD + ABCD’ +


AB’CD + AB’CD’

La simplificación por medio de teoremas es la siguiente.

Aplicando el teorema 8a que consiste en factorizar por término


común se tiene que

F = A’BD(C’+C) + ABD(C’+C) + BCD’(A’+A) + AB’C(D+D’)

Después de aplicar el 4 dual resulta que

F = A’BD + ABD + BCD’ + AB’C


Continuación de simplificación
por teoremas
Aplicando nuevamente el teorema 8:
F = BD (A’ + A) + BCD’ + AB’C
Después de aplicar 4 dual:
F = BD + BCD’ + AB’C
Aplicando el teorema 8 y el 5:
F = B(D + D’C) + AB’C

Después de aplicar el teorema 11 y 8 a la inversa:


F = BD + BC + AB’C
Aplicando el teorema 8 y el 5:
F = BD + C(B + B’A)
Después de aplicar el teorema 11 y 8 a la inversa:
F = BD + BC + AC Expresión simplificada
Simplificación de expresiones
booleanas usando mapas de Karnaugh

El mapa representa un diagrama visual de todas las formas posibles


en que se puede plantear una expresión booleana en forma
normalizada.

Al reconocer varios patrones se pueden obtener expresiones


algebraicas alternas para la misma expresión, y de éstas se puede
escoger la más simple.

Las tablas o mapas se dividen en cierto número de casillas,


dependiendo de la cantidad de variables que intervengan en la
expresión. El número de casillas se puede calcular con la fórmula

número de casillas = 2n

donde n es el número de variables de la función booleana.


Simplificación de expresiones
booleanas usando mapas de Karnaugh

Un minitérmino es aquel que forma parte de la expresión y que se


puede escribir de la manera más simple, formando lo que se conoce
en álgebra elemental como un monomio.

Para que el monomio sea minitérmino debe de incluir todas las


variables en cuestión.

Ejemplo

F = A‘BC + AB’C’ + A’C


No es minitérmino
porque le faltan
variables

Son minitérminos
Ejemplo

b) Se agrupan los unos adyacentes en


Simplificar F=A’B’ +A’B
bloques cuadrados o rectangulares de
1, 2, 4, 8, 16, 32, …, 2n

a) Se representa cada minitérmino de B


la expresión boolena por un 1 en la A 0 1
celda correspondiente.
0 1 1
B
1
A 0 1
0 1 1
c) Se lee la función boolena simplificada,
1 eliminando las variables que cambian
de valor de un 1 al otro 1 del bloque, y
se conservan las que no sufren
cambio alguno.

F = A’ Resultado
Se recomienda

Agrupar la información con el menor número posible de bloques


ya que de cada bloque se obtiene cuando menos una literal.

Los bloques deben estar conformados por el mayor número de


casillas, ya que entre más grande sea el número de casillas agrupadas
por un bloque más simple será la expresión booleana resultante.
Ejemplo

Representar en un mapa de Karnaugh y determinar la expresión


booleana simplificada de:

F = X’Y’Z’ + X’Y’Z + X’YZ’ +XYZ’

Después de representar la
información en el mapa y agruparla se
tiene:

YZ
X 00 01 11 10 La expresión simplificada
es:
0 1 1 1
F= X’Y’ + YZ’
1 1
Ejemplo

A partir del siguiente mapa

YZ
La expresión booleana
X 00 01 11 10
simplificada es:
0 1 1 1
F = X’Z + Y
1 1 1

Un 1 puede ser parte de


La expresión sin simplificar es: más de un bloque.

F = X’Y’Z + X’YZ + X’YZ’ + XYZ +XYZ’ Todos los bloques deben


tener por lo menos un 1
exclusivo de él.
Ejemplo

Simplificar:
F= W’X’Y’Z’ + WX’Y’Z’ + WX’Y’Z + YZ’ + W’XYZ + WXYZ + WXY

Como YZ’ no es minitérmino se le


YZ debe de agregar las variables
WX 00 01 11 10 faltantes con todas las
combinaciones posibles:
00 1 1
01 1 1 YZ’= W’X’YZ’ + W’XYZ’ + WX’YZ’ + WXYZ’

11 1 1
Las esquinas del mapa se pueden
10 1 1 1 doblar y formar un bloque de cuatro
unos adyacentes.

Función booleana simplificada:

F = X’Z’ + XY + WX’Y’
Ejemplo

Considérese la expresión booleana

F = A’BC’D + A’BCD + A’BCD’ + ABC’D + ABCD + ABCD’ + AB’CD +


AB’CD’

La función booleana simplificada en:

a) Sumas de productos es
CD
AB 00 01 11 10
F = BD + BC + AC
00
01 1 1 1
En el caso de sumas de
productos se utilizan los 11 1 1 1
unos. 10 1 1
Ejemplo

La función booleana simplificada en: En el caso de productos


de sumas se utilizan los
b) Productos de sumas es: ceros.

F’ = A’B’ + C’D’ + B’C’ CD


AB 00 01 11 10
Se complementa la función
00 0 0 0 0
(F’)’ = (A’B’ + C’D’ + B’C’)’
01 0
11 0
F = (A+B)(C+D)(B+C)
10 0 0

Esta función booleana resultante es


equivalente a la obtenida en el inciso (a).
Mapa de 5 variables

Como se muestra a continuación, un mapa de 5 variables es


equivalente a dos mapas de 4:

CDE
AB 000 001 011 010 11 111 101 100
0

00 4

01

11 1

10 X 2 3 5

Cada celda en un mapa de cinco, tiene 5 celdas


adyacentes.
Más sobre mapas de cinco
variables

CDE
AB 000 001 011 010 11 111 101 100
0

00

01

11

10

Las dos celdas en guinda pueden formar un bloque de 4


con las celdas en verde.
Mapa de 6 variables

DEF
AB 000 001 011 010 110 111 101 100
C

000

001
Las 4 celdas
011 guindas se
pueden agrupar
010 con 4 verdes para
formar un bloque
de 8
110

111

101

100
Ejemplo

Considérese el siguiente mapa:


CDE
AB 000 001 011 010 11 111 101 100
0

00 1 1 1 1 1 1 1

01 1 1

11

10 1 1 1 1 1 1

Determinar la función boolena simplificada en:


a) Sumas de productos.

b) Productos de sumas.
Solución en sumas de
productos

CDE
AB 000 001 011 010 11 111 101 100
0 Algunas
veces
00 1 1 1 1 1 1 1 existe más
de una
01 1 1 solución, y
ésta es una
de ellas.
11

10 1 1 1 1 1 1

La función booleana simplificada es:

F = B’D’E’ + A’B’C’ + A’DE’ + A’B’D + B’DE’ + AB’C


Solución en productos de
sumas
CDE
AB 000 001 011 010 11 111 101 100
0

00 0

01 0 0 0 0 0 0

11 0 0 0 0 0 0 0 0

10 0 0

F’ = BD’ + BE + AB + AC’E + A’CD’E

(F’)’ = (BD’ + BE + AB + AC’E + A’CD’E)’

F = (B’+D)(B’+E’)(A’+B’)(A’+C+E’)(A+C’+D+E’)
Compuertas lógicas

Un bloque lógico es una representación simbólica gráfica de una o más


variables de entrada a un operador lógico.

Los símbolos varían de acuerdo con el área en donde se utilizan. En


mecánica se les llama válvulas (paso del aire o aceite), en electricidad
apagadores, contactos (paso de corriente eléctrica) y en electrónica
puertas o compuertas (paso de pulsos eléctricos).

Aquí sólo se abordarán los símbolos usados en electrónica para la


representación de las compuertas, ya que son los que interesan al área
de la computación, sin embargo el tratamiento teórico por medio del
álgebra booleana es válido para todos ellos independientemente del
área.
Compuertas básicas

Compuerta Símbolo
Las compuertas pueden
A A+B
recibir una o más O (Or) B
señales de entrada.
A AB
En la tabla, A y B son Y (And) B
señales que entran a la A’
compuerta y pueden No (Not) A
tener un valor de 1 o 0
A AB’ + A’B
dependiendo de si Or-exclusivo
existe o no la señal. B
(Xor)

Esos valores de entrada generan una sola salida, que a su vez


también es 0 o 1 dependiendo de la compuerta de que se trate.
Ejemplo

Representar con compuertas básicas la siguiente expresión boolena:


F= (A’B+C(D+A’)+B)’

A B C D

A’ A’B

(D+A’) A’B+C(D+A’)+B
C(D+A’)

F= (A’B+C(D+A’)+B )’
Compuertas compuestas

También existen compuertas lógicas compuestas como Nand y Nor, que


son una combinación de los operadores Not y And para la primera y Not
y Or para la segunda.

Compuerta Símbolo Cuando es solamente una


la señal que entra, tanto
Nand como Nor actúan
A (A + B)’
Nor como una compuerta Not.
B

Nand A (AB)’ A’
A
B

AB + A’B’ A’
Xnor A A
B
Compuertas compuestas

Con las compuertas compuestas Nand y Nor es posible obtener todas las
compuertas básicas de tal manera que en general los circuitos
electrónicos se implementan exclusivamente con alguna de ellas.

A A’

Or (A’B’)’=A+B
B
B’

And A (AB)’ AB
B

Not A A’
Ejemplo

Representar exclusivamente con compuertas NAND la siguiente


expresión boolena:

F = CB’+BD’ +A’

A B C D

B’ (CB’)’
[ (CB’)’(BD’)’A ]’ = CB’ + BD’ +A’
D’
(BD’)’
Ejemplo

Representar exclusivamente con compuertas NOR la siguiente


expresión boolena:

F = CB’+BD’ +A’

A B C D

C’ (C’+B)’

[ (C’+B)’+(B’+D)’+A’ ]’
B’ (B’+D)’

A’
(C’+B)’+(B’+D)’+A’ = CB’+BD’+A’
Ejemplo

Considérese el siguiente circuito:

A B C D

a) ¿Cuál es la función boolena sin simplificar que sale del circuito?

b) ¿Cuál es la función booleana simplificada?


Respuestas

a) Función boolena sin simplificar

A B C D

B’
[B’(A+D)]’
A+D

AC+A’C’

D’ (AC+A’C’)D+ (AC+A’C’)’D’

F = [B’(A+D)]’ [(AC+A’C’)D+ (AC+A’C’)’D’]


Respuestas

b) Función boolena simplificada.

F = [B’(A+D)]’ [(AC+A’C’)D+ (AC+A’C’)’D’]

F = [B+(A+D)’] [ACD+A’C’D+ (A’+C’)(A+C)D’]

F = [B+A’D’] [ACD+A’C’D+ A’CD’+AC’D’]

F = ABCD+A’BC’D+A’BCD’+ABC’D’+A’CD’

F = A’CD’(B+1)+ABCD+A’BC’D+ABC’D’

F = A’CD’+ABCD+A’BC’D+ABC’D’
Ejemplo
A B C D F
0 0 0 0 1
0 0 0 1 1
Considérese la tabla de al lado:
0 0 1 0 1
Determinar: 0 0 1 1 1
0 1 0 0 0
a) La función booleana sin simplificar.
0 1 0 1 0
b) La función booleana simplificada en sumas de
productos. 0 1 1 0 1
c) La función booleana simplificada en productos 0 1 1 1 1
de sumas. 1 0 0 0 1
d) Probar por medio de una tabla de verdad que
las expresiones de los incisos (b) y (c) son 1 0 0 1 0
equivalentes. 1 0 1 0 1
e) Representar exclusivamente con compuertas 1 0 1 1 0
NAND la función boolena del inciso (b).
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
Respuestas
A B C D F
0 0 0 0 1
0 0 0 1 1
0 0 1 0 1
0 0 1 1 1

a) Función booleana sin simplificar se puede 0 1 0 0 0


obtener cuando F=1. 0 1 0 1 0
0 1 1 0 1
0 1 1 1 1
F = A’B’C’D’ + A’B’C’D + A’B’CD + A’B’CD’ + A’BCD +
1 0 0 0 1
A’BCD’ +AB’C’D’ AB’CD’
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
Respuestas

A partir de la función boolena:

F = A’B’C’D’ + A’B’C’D + A’B’CD + A’B’CD’ + A’BCD + A’BCD’ +AB’C’D’


AB’CD’

CD
AB 00 01 11 10 b) La función booleana
simplificada en sumas
00 1 1 1 1
de productos es
01 1 1
F = A’B’ +A’C+ B’D’
11
10 1 1
Respuestas

c) La función booleana simplificada en productos de sumas


es

CD
AB 00 01 11 10
00
01 0 0
F’ = AB +BC’+ AD
11 0 0 0 0
10 0 0 (F’)’ =( AB +BC’+ AD)’

F =(A’+B’)(B’+C)(A’+D’)
Respuestas

d) F = A’B’ +A’C+ B’D’ = F =(A’+B’)(B’+C)(A’+D’)


A B C D A’ B’ C’ D’ A’B’ A’C B’D’ F A’+B’ B’+C A’+D’ F
0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1
0 0 0 1 1 1 1 0 1 0 0 1 1 1 1 1
0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1
0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1
0 1 0 0 1 0 1 1 0 0 0 0 1 0 1 0
0 1 0 1 1 0 1 0 0 0 0 0 1 0 1 0
0 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1
0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 1
1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1
1 0 0 1 0 1 1 0 0 0 0 0 1 1 0 0
1 0 1 0 0 1 0 1 0 0 1 1 1 1 1 1
1 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0
1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0
1 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0
1 1 1 0 0 0 0 1 0 0 0 0 0 1 1 0
1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0
Respuestas

e) Representar exclusivamente con compuertas NAND la función boolena del inciso (b).

F = A’B’ +A’C+ B’D’

A B C D
A’
(A’B’)’
F=[ (A’B’)’(A’C’)’(B’D’)’ ]’
B’
(A’C)’ =A’B’+A’C+B’D’

D’

(B’D’)’
Aplicaciones

- Construcción de todo tipo de aparatos electrónicos

- Construcción de Robots.

- Diseño y construcción de sistemas de producción automatizados.

- Microprogramación.

También podría gustarte