algebra de boole

33
INSTITUTO SUPERIOR TECNOLÓGICO TELESUP TEMA: ALGEBRA DE BOOLE NOMBRE: GILDER AGUIRRE YACHA PROFESOR: JOSE RICARDO LARA DAVILA INSTITUCION: TELESUP AÑO: 2013

Upload: gilderaguirreyacha

Post on 21-May-2015

402 views

Category:

Documents


3 download

TRANSCRIPT

INSTITUTO SUPERIOR TECNOLÓGICO TELESUP

TEMA: ALGEBRA DE BOOLE

NOMBRE: GILDER AGUIRRE YACHA

PROFESOR: JOSE RICARDO LARA DAVILA

INSTITUCION: TELESUP

AÑO: 2013

TEMA: ALGEBRA DE BOOLE Boole (1815-1864)

Reglas Básicas del Álgebra de Boole

Muy útiles para la manipulación y simplificación de expresiones

booleanas.

1. A + 0 = A

2. A + 1 = 1

3. A · 0 = 0

4. A · 1 = A

5. A + A = A

6. A + A = 1

7. A · A = A

8. A · A = 0

9. A = A

10. A + AB = A

11. A + AB = A + B

12. (A + B) (A + C) = A + BC

A, B, o C

Pueden representar una única Variable o una combinación de variables

Álgebra Booleana El álgebra booleana es un sistema matemático deductivo centrado en los valores cero y

uno (falso y verdadero). Un operador binario " º " definido en éste juego de valores acepta

un par de entradas y produce un solo valor booleano, por ejemplo, el operador booleano

AND acepta dos entradas booleanas y produce una sola salida booleana.

Para cualquier sistema algebraico existen una serie de postulados iniciales, de aquí se

pueden deducir reglas adicionales, teoremas y otras propiedades del sistema, el álgebra

booleana a menudo emplea los siguientes postulados:

Cerrado. El sistema booleano se considera cerrado con respecto a un operador binario si

para cada par de valores booleanos se produce un solo resultado booleano.

Conmutativo. Se dice que un operador binario " º " es conmutativo si A º B = B º A para

todos los posibles valores de A y B.

Asociativo. Se dice que un operador binario " º " es asociativo si (A º B) º C = A º (B º C)

para todos los valores booleanos A, B, y C.

Distributivo. Dos operadores binarios " º " y " % " son distributivos si A º (B % C) = (A º B) %

(A º C) para todos los valores booleanos A, B, y C.

Identidad. Un valor booleano I se dice que es un elemento de identidad con respecto a un

operador binario " º " si A º I = A.

Inverso. Un valor booleano I es un elemento inverso con respecto a un operador booleano

" º " si A º I = B, y B es diferente de A, es decir, B es el valor opuesto de A.

User
Nota adhesiva

Para nuestros propósitos basaremos el álgebra booleana en el siguiente juego de

operadores y valores:

- Los dos posibles valores en el sistema booleano son cero y uno, a menudo

llamaremos a éstos valores respectivamente como falso y verdadero.

- El símbolo · representa la operación lógica AND. Cuando se utilicen nombres de

variables de una sola letra se eliminará el símbolo ·, por lo tanto AB representa la

operación lógica AND entre las variables A y B, a esto también le llamamos el producto

entre A y B.

- El símbolo "+" representa la operación lógica OR, decimos que A+B es la operación

lógica OR entre A y B, también llamada la suma de A y B.

- El complemento lógico, negación ó NOT es un operador unitario, en

éste texto utilizaremos el símbolo " ' " para denotar la negación lógica, por ejemplo, A'

denota la operación lógica NOT de A.

- Si varios operadores diferentes aparecen en una sola expresión booleana, el resultado

de la expresión depende de la procedencia de los operadores, la cual es de mayor a

menor, paréntesis, operador lógico NOT, operador lógico AND y operador lógico OR.

Tanto el operador lógico AND como el OR son asociativos por la izquierda. Si dos

operadores con la misma procedencia están adyacentes, entonces se evalúan de

izquierda a derecha. El operador lógico NOT es asociativo por la derecha.

Utilizaremos además los siguientes postulados:

P1 El álgebra booleana es cerrada bajo las operaciones AND, OR y NOT

P2 El elemento de identidad con respecto a · es uno y con respecto a + es cero. No existe elemento de identidad

para el operador NOT

P3 Los operadores · y + son conmutativos.

P4 · y + son distributivos uno con respecto al otro, esto es, A· (B+C) = (A·B)+(A·C) y A+ (B·C) = (A+B) ·(A+C).

P5 Para cada valor A existe un valor A' tal que A·A' = 0 y A+A' = 1. Éste valor es el complemento lógico de A.

P6 · y + son ambos asociativos, esto es, (AB) C = A (BC) y (A+B)+C = A+ (B+C).

Es posible probar todos los teoremas del álgebra booleana utilizando éstos postulados, además es buena idea

familiarizarse con algunos de los teoremas más importantes de los cuales podemos mencionar los siguientes:

Teorema 1: A + A = A

Teorema 2: A · A = A

Teorema 3: A + 0 = A

Teorema 4: A · 1 = A

Teorema 5: A · 0 = 0

Teorema 6: A + 1 = 1

Teorema 7: (A + B)' = A' · B'

Teorema 8: (A · B)' = A' + B'

Teorema 9: A + A · B = A

Teorema 10: A · (A + B) = A

Teorema 11: A + A'B = A + B

Teorema 12: A' · (A + B') = A'B'

Teorema 13: AB + AB' = A

Teorema 14: (A' + B') · (A' + B) = A'

Teorema 15: A + A' = 1

Teorema 16: A · A' = 0

Los teoremas siete y ocho son conocidos como Teoremas de DeMorgan en honor al matemático que los descubrió.

Características: Un álgebra de Boole es un conjunto en el que destacan las siguientes características:

1- Se han definido dos funciones binarias (que necesitan dos parámetros) que llamaremos aditiva

(que representaremos por x

+ y) y multiplicativa (que representaremos por xy) y una función monaria (de un solo parámetro) que

representaremos por x'.

2- Se han definido dos elementos (que designaremos por 0 y 1)

Y 3- Tiene las siguientes propiedades:

Conmutativa respecto a la primera función: x + y = y + x

Conmutativa respecto a la segunda función: xy = yx

Asociativa respecto a la primera función: (x + y) + z = x + (y +z)

Asociativa respecto a la segunda función: (xy)z = x (yz)

Distributiva respecto a la primera función: (x +y)z = xz + yz

Distributiva respecto a la segunda función: (xy) + z = (x + z)( y + z)

Identidad respecto a la primera función: x + 0 = x

Identidad respecto a la segunda función: x1 = x

Complemento respecto a la primera función: x + x' = 1

Complemento respecto a la segunda función: xx' = 0

Propiedades Del Álgebra De Boole

Idempotente respecto a la primera función: x + x = x

Idempotente respecto a la segunda función: xx = x

Maximalidad del 1: x + 1 = 1

Minimalidad del 0: x0 = 0

Involución: x'' = x

Inmersión respecto a la primera función: x + (xy) = x

Inmersión respecto a la segunda función: x(x + y) = x

ley de Morgan respecto a la primera función: (x + y)' = x'y'

Ley de Morgan respecto a la segunda función: (xy)' = x' + y'

Función Booleana Una función booleana es una de A x A x A x....A en A, siendo A un conjunto

cuyos elementos son 0 y 1 y tiene estructura de álgebra de Boole.

Supongamos que cuatro amigos deciden ir al cine si lo quiere la mayoría. Cada

uno puede votar sí o no. Representemos el voto de cada uno por xi. La función

devolverá sí (1) cuando el número de votos afirmativos sea 3 y en caso

contrario devolverá 0.

Si x1 vota 1, x2 vota 0, x3 vota 0 y x4 vota 1 la función booleana devolverá 0.

Producto mínimo (es el número posible de casos) es un producto en el que

aparecen todas las variables o sus negaciones.

El número posible de casos es 2n.

Siguiendo con el ejemplo anterior. Asignamos las letras A, B, C y D a los

amigos. Los posibles casos son:

Votos Resultado

ABCD

1111 1

1110 1

1101 1

1100 0

1011 1

1010 0

1001 0

1000 0

0111 1

0110 0

0101 0

0100 0

0011 0

0010 0

0001 0

0000 0

Las funciones booleanas Se pueden representar como la suma de productos

mínimos (minterms) iguales a 1.

En nuestro ejemplo la función booleana será:

f(A, B, C, D) = ABCD + ABCD' + ABC'D + AB‘CD + A'BCD

Diagramas De Karnaugh

Los diagramas de Karnaugh se utilizan para simplificar

las funciones booleanas.

Se construye una tabla con las variables y sus valores

posibles y se agrupan los 1 adyacentes, siempre que el

número de 1 sea potencia de 2.

En esta página tienes un programa para minimización de

funciones booleanas mediante mapas de Karnaugh.

Álgebra Booleana y circuitos

electrónicos 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. Para cada función booleana es posible diseñar un

circuito electrónico y viceversa, como las funciones booleanas solo requieren de los

operadores AND, OR y NOT podemos construir nuestros circuitos utilizando

exclusivamente éstos operadores utilizando las compuertas lógicas homónimas

Un hecho interesante es que es posible implementar cualquier circuito electrónico

utilizando una sola compuerta, ésta es la compuerta NAND

Para probar que podemos construir cualquier función booleana utilizando sólo compuertas NAND,

necesitamos demostrar cómo construir un inversor (NOT), una compuerta AND y una compuerta OR a

partir de una compuerta NAND, ya que como se dijo, es posible implementar cualquier función

booleana utilizando sólo los operadores booleanos AND, OR y NOT. Para construir un inversor

simplemente conectamos juntas las dos entradas de una compuerta NAND. Una vez que tenemos un

inversor, construir una compuerta AND es fácil, sólo invertimos la salida de una compuerta NAND,

después de todo, NOT (NOT (A AND B)) es equivalente a A AND B. Por supuesto, se requieren dos

compuertas NAND para construir una sola compuerta AND, nadie ha dicho que los circuitos

implementados sólo utilizando compuertas NAND sean lo óptimo, solo se ha dicho que es posible

hacerlo. La otra compuerta que necesitamos sintetizar es la compuerta lógica OR, esto es sencillo si

utilizamos los teoremas de DeMorgan, que en síntesis se logra en tres pasos, primero se reemplazan

todos los "·" por "+" después se invierte cada literal y por último se niega la totalidad de la expresión:

A OR B: A AND B.......................Primer paso para aplicar el teorema de DeMorgan

A' AND B'.....................Segundo paso para aplicar el teorema de DeMorgan

(A' AND B')'..................Tercer paso para aplicar el teorema de DeMorgan

(A' AND B')' = A' NAND B'.....Definición de OR utilizando NAND

Si se tiene la necesidad de construir diferentes compuertas de la manera

descrita, bien hay dos buenas razones, la primera es que las compuertas

NAND son las más económicas y en segundo lugar es preferible construir

circuitos complejos utilizando los mismos bloques básicos. Observe que es

posible construir cualquier circuito lógico utilizando sólo compuertas de tipo

NOR (NOR = NOT(A OR B)). La correspondencia entre la lógica NAND y la NOR

es ortogonal entre la correspondencia de sus formas canónicas. Mientras que

la lógica NOR es útil en muchos circuitos, la mayoría de los diseñadores

utilizan lógica NAND.

Circuitos Combinacionales Un circuito combinacional es un sistema que contiene operaciones booleanas básicas (AND,

OR, NOT), algunas entradas y un juego de salidas, como cada salida corresponde a una

función lógica individual, un circuito combinacional a menudo implementa varias funciones

booleanas diferentes, es muy importante recordar éste hecho, cada salida representa una

función booleana diferente.

Un ejemplo común de un circuito combinacional es el decodificador de siete segmentos, se

trata de un circuito que acepta cuatro entradas y determina cuál de los siete segmentos se

deben iluminar para representar la respectiva entrada, de acuerdo con lo dicho en

el párrafo anterior, se deben implementar siete funciones de salida diferentes, una para cada

segmento. Las cuatro entradas para cada una de éstas funciones booleanas son los cuatro

bits de un número binario en el rango de 0 a 9. Sea D el bit de alto orden de éste número y A

el bit de bajo orden, cada función lógica debe producir un uno (para el segmento encendido)

para una entrada dada si tal segmento en particular debe ser iluminado, por ejemplo, el

segmento e debe iluminarse para los valores 0000, 0010, 0110 y 1000.

En la siguiente tabla se puede ver qué segmentos deben iluminarse de acuerdo al valor de

entrada, tenga en cuenta que sólo se están representando valores en el rango de 0 a 9, los

decodificadores para las pantallas de siete segmentos comerciales tienen capacidad para

desplegar valores adicionales que corresponden a las letras A a la F para representaciones

hexadecimales, sin embargo la mecánica para iluminar los respectivos segmentos es similar a

la aquí representada para los valores numéricos.

0 a b c d e f

1 b c

2 a b d e g

3 a b c d g

4 b c f g

5 a c d f g

6 c d e f g

7 a b c

8 a b c d e f g

9 a b c f g

Los circuitos combinacionales son la base de muchos componentes en un sistema de

cómputo básico, se puede construir circuitos para sumar, restar, comparar, multiplicar,

dividir y muchas otras aplicaciones más.

Circuitos Secuenciales Un problema con la lógica secuencial es su falta de «memoria". En teoría, todas las

funciones de salida en un circuito combinacional dependen del estado actual de los valores

de entrada, cualquier cambio en los valores de entrada se refleja (después de un intervalo

de tiempo llamado retardo de propagación) en las salidas. Desafortunadamente las

computadoras requieren de la habilidad para "recordar" el resultado de cálculos pasados.

Éste es el dominio de la lógica secuencial. Una celda de memoria es un circuito electrónico

que recuerda un valor de entrada después que dicho valor ha desaparecido. La unidad de

memoria más básica es el flip-flop Set/ Reset. Aunque recordar un bit sencillo es importante,

la mayoría de los sistemas de cómputo requieren recordar un grupo de bits, esto se logra

combinando varios flip-flop en paralelo, una conexión de éste tipo recibe el nombre

de registro. A partir de aquí es posible implementar diferentes circuitos como registro de

corrimiento y contadores, éstos últimos también los conocemos como circuitos de reloj. Con

los elementos mencionados es posible construir un microprocesador completo.

Orden en el álgebra de Boole

Sea:

un álgebra de Boole, sean a, b dos elementos del conjunto, podremos decir

entonces que a antecede a b y lo denotamos:

Si se cumple alguna de las

siguientes condiciones:

Estas cuatro condiciones se consideran equivalentes y el cumplimiento

de una de ellas implica necesariamente el cumplimiento de las demás.

Axiomas necesarios Diremos que este conjunto y las operaciones así definidas:

son un álgebra de Boole, si cumple

las siguientes axiomas:

1a: La ley asociativa de la suma:

1b: La ley asociativa del producto:

2a: Existencia del elemento neutro para la suma:

2b: Existencia del elemento neutro para el producto:

3a: La ley conmutativa de la suma:

3b: La ley conmutativa del producto:

4a: Ley distributivo de la suma respecto al producto:

4b: Ley distributiva del producto respecto a la suma:

5a: Existe elemento complemento para la suma:

5b: Existe elemento complemento para el producto:

Teoremas fundamentales Partiendo de los cinco axiomas anteriores, se pueden deducir y demostrar los

siguientes Teoremas fundamentales:

6b: Ley de idempotencia para el producto:

7a: Ley de absorción para la suma:

7b: Ley de absorción para el producto:

8a: Ley de identidad para la suma:

8b: Ley de identidad para el producto:

9: Ley de involución:

10: Ley del complemento:

6a: Ley de idempotencia para la suma

11: Leyes de DeMorgan:

Teoremas booleanas

El algebra booleana (para números binarios) consiste

en:

• Un conjunto S con dos elementos, S={0,1}.

• Operadores binarios: AND (.) y OR (+).

• Operador unitario: NOT (‘, )

• Axiomas: Suposiciones básicas en las cuales el

resto de los teoremas están soportados.

La principal razón para aprender algebra booleana es

por que por medio de esta podemos minimizar el

numero de compuertas lógicas en un circuito digital.

Operadores booleanos

OPERADORES

BOOLEANOS

LOGICOS BASICOS

Este operador retorna V solo

cuando ambas entradas son

V.

Este operador retorna V

cuando cualquiera de las

entradas es V.

Este operador retorna como

salida el valor opuesto a la

entrada.

𝐹 = 𝐴. 𝐵 + 𝐶 + 𝐷 . 𝐸

Ejemplo:

Dada la función lógica mostrada a continuación.

¿Cuál es su valor si A=1, B=0, D=0, C=0 y E=1?

Tabla de circuito logico

Entradas

(3)

Es una herramienta para describir la forma en que la salida de una función

o circuito lógico depende de los niveles lógicos presentes a la entrada.

Circuito

lógico

A B

C

x

Filas (8)

Salida

Para N entradas existen un total

de 2^N combinaciones posibles y

por ende 2^N filas en la tabla de

verdad asociada a la función que

esta se encuentra representando.

Ejemplo:

Se tiene un circuito con 3 entradas el cual se

enciende en los siguientes casos:

• Cuando dos de las entradas se encuentran

en alto.

• Cuando las tres entradas son iguales.

Llene la tabla de verdad asociada a este

circuito.

Compuerta not

La operación NOT produce una salida cuyo

valor es el opuesto al valor de su entrada.

𝑋 = 𝐴

𝑋 = NOT(A)

𝑋 = 𝐴′

X A

Compuerta and

La operación AND produce una salida de

1 solo cuando todas sus entradas son 1.

En cualquier otro caso la salida es 0.

B X

A

𝑋 = 𝐴𝐵

𝑋 = 𝐴 𝐴𝑁𝐷 𝐵

Compuerta or

La operación OR produce una salida de

1 siempre que cualquiera de sus

entradas sea 0. En cualquier otro caso la

salida es 0.

B X

A

𝑋 = 𝐴 + 𝐵

𝑋 = 𝐴 𝑂𝑅 𝐵

Diagramas de tiempo papra las compuertas

and, or y not

Compuerta nor

La operación NOR produce una salida de 1 solo cuando todas sus entradas son

0. En cualquier otro caso la salida es 0.

B X

A

𝑋 = 𝐴 + 𝐵

𝑋 = (𝐴 + 𝐵)′

Compuerta nand

La operación NAND produce una salida de 0 solo cuando todas sus entradas son

1. En cualquier otro caso la salida es 1.

B X

A

𝑋 = 𝐴 ∙ 𝐵

𝑋 = (𝐴 ∙ 𝐵)′

𝑋 = 𝐴𝐵

Compuerta xor

La operación XOR produce una salida de 1 cuando sus entradas son

diferentes. En cualquier otro caso la salida es 0.

B X

A

𝑋 = 𝐴⨁𝐵

𝑋 = 𝐴 𝑋𝑂𝑅 𝐵

Compuerta xnor

B

X A

𝑋 = 𝐴⊕𝐵

𝑋 = (𝐴⨁𝐵)′

Produce una salida 1 solo cuando las entradas son iguales, en caso opuesto la

salida producida es 0.

𝑋 = 𝐴𝐵

𝑋 = 𝐴 + 𝐵

𝑋 = 𝐴

Símbolo Tabla de verdad

AND

OR

NOT

Resumen compuertas

Compuerta Símbolo Tabla de verdad

𝑋 = 𝐴⨁𝐵 XOR

Expresión

Resumen compuertas

Resumen representación de funciones lógicas

Una función puede ser representada en diferentes formas

Proceso de diseño lógico combinacionaleses

1. Capture la función: Cree la tabla de verdad o las

ecuaciones para describir el comportamiento deseado

de la lógica combinacional.

2. Convierta a ecuaciones: Este paso es necesario si la

función es capturada usando tabla de verdad en vez de

ecuaciones. Para crear la ecuación se hace un OR de

cada una de las entradas cuya salida es 1. Luego si así

lo desea puede simplificar la ecuación.

3. Implemente el circuito digital: Para cada salida cree un

circuito asociado a la ecuación.