algebra de boole patricia guerrero

Post on 10-Mar-2015

90 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Elementos Discretos

Álgebra de Boole

Álgebra de Boole

Patricia Guerrero

Contenido

• Reseña Histórica

• Definición del Álgebra de Boole

• Principio de Dualidad

• Propiedades del Álgebra de Boole

• Ejemplos

• Expresiones Booleanas

• Representación de Expresiones Booleanas

• Formas Canónicas: Mintérminos y Maxtérminos

• Simplificación: Mapas de Karnaugh

• Circuitos Lógicos

Álgebra de BooleReseña Histórica

• En 1854, desarrollo del Álgebra Booleana por el filósofo y matemático inglés George Boole

• En 1869, primera máquina que utilizaba el Álgebra Booleana. William Stanley Jevons.

Álgebra Boolena

Símbolos Algebraicos

Lógica= +

Sistema de Numeración Binario

Computadoras Electrónicas

Un Álgebra de Boole está definida por:

• Un conjunto no vacío K

• Un conjunto de operaciones que actúan sobre los elementos de K y que deben cumplir ciertas condiciones. Dos operaciones binarias {*, º} y una operación unaria {-}

Y se denota como:

Álgebra de BooleDefinición

)k,k-, ,º(K,*,K 21

¿Cuáles son las condiciones?

• Conjunto Cerrado: * y º son l.c.i

• Ley Conmutativa: * y º son conmutativos

• Ley Asociativa: * y º son asociativos

Álgebra de BooleDefinición

)k,k-, ,º(K,*,K 21x * y, x º y K

k1, k2 K

x * y = y * x

x º y = y º x

(x * y) * z = x * (y * z)

(x º y) º z = x º (y º z)

Álgebra de BooleDefinición

)k,k-, ,º(K,*,K 21x * (y º z) =, (x * y) º (x * z)

x º (y * z) =, (x º y) * (x º z)

x * k1 = x

x º k2 = x

a * ā = k2

a º ā = k1

¿Cuáles son las condiciones?

• Ley Distributiva: * y º son distributivas una respecto de la otra

• Elementos Neutros: k1 y k2

• Complementación: Todo a K, admite un ā

Álgebra de BoolePrincipio de Dualidad

Cualquier teorema deducible de los postulados del álgebra de Boole, puede transformarse en un segundo teorema o identidad válida sólo intercambiando * por º y k1 por k2, o viceversa

La demostración de un teorema implica la validez de su teorema dual

Ejemplos:

a * ā = k2 ------ dual ------ a º ā = k1

A = ------ dual ------ A U = UQ v Q ------ dual ------ Q f Q

)k,k-, ,º(K,*,K 21

Álgebra de BoolePropiedades

Para cualquier Álgebra de Boole se

cumplen las siguientes propiedades, con x, y K:

• Idempotencia x * x = x x º x = x

• Absorción x * (x º y) = x x º (x * y) = x

• Ley De Morgan (x * y) = x º y (x º y) = x * y

• Dominancia x * k2 = k2 x º k1 = k1

• Doble Complementación x = x

Idempotencia:x * x = xx * x = (x * x) º k2 (1) Elemento

Neutro = (x * x) º (x * x) (2) Complementación = x * (x º x) (3) Distributiva = x * k1 (4) Complementación

x * x = x (5) Elemento Neutro

Demostremos algunas propiedades:

Álgebra de BoolePropiedades

Es posible demostrar una propiedad del Álgebra de Boole, algebraicamente o utilizando tablas de verdad

Absorción:

x * (x º y) = xx * (x º y) = (x º 1) * (x º y) (1) Elemento

Neutro = x º (1 * y) (2) Distributiva

= x º 1 (3) Dominancia

x * (x º y) = x (4) Elemento Neutro

Demostremos algunas propiedades:

Álgebra de BoolePropiedades

Ejemplo: Sea S un conjunto cualquiera, entonces

es un Álgebra de Boole.

S),,,,(P(S), S c

Se cumplen las seis (6) condiciones:, : Son l.c.i. en P(S), S: Son elementos neutros de , respectivamente, : Son conmutativos y asociativos, : Son distributivos uno respecto del otroCada Si P(S) admite un Si, tal que Si Si = S y Si Si =

Álgebra de BooleEjemplos

Justificación:

+ no es distributivo respecto de *

No se cumple la complementación: x + (-x) = 0 1x * (-x) = -(x2) 0

Contraejemplo: La estructura

no es un Álgebra de Boole.

,0,1),*,(R, R Neutro del operador *

Neutro del operador +

Álgebra de BooleEjemplos

Modelo de Conmutación:

Con B = {1, 0}

1) 0, , , . , (B, B

Operaciones Binarias, equivalentes a

, respectivamente

Operación Unaria, equivalente a

Álgebra de BooleEjemplos

Modelo de Conmutación:

Con B = {1, 0}

1) 0, , , . , (B, B

1 y 0 representan las abstracciones activado y

desactivado, equivalentes a verdadero y falso, respectivamente

Álgebra de BooleEjemplos

ORAND

NOT

Una sucesión de variables (x1, x2, …, xn), constantes (1, 0) y operadores (+, .) conforman una Expresión

Booleana

Álgebra de BooleExpresiones Booleanas

Dos constantes

0 y 1

Tres variablesx1, x2 y x3

(x1 + x2) + (x3 . 0) + 1(x1 + x2) + (x3 . 0) + 1

Operadores+, .

Álgebra de BooleExpresiones Booleanas

Definición Formal:

Una Expresión de Boole o Polinomio de Boole en las variables {x1,x2,...,xn} se define de forma recursiva como:

1. x1, x2, ..., xn son expresiones booleanas2. 0, 1 son expresiones booleanas3. Si E1(x1,x2,...,xn), E2(x1,x2,...,xn) son expresiones booleanas, entonces:

E1 + E2E1 . E2

4. No existen expresiones de Boole que no puedan obtenerse por ññ 1, 2, o 3.

También son expresiones booleanas

Toda Expresión Booleana define una Función Booleana que hace corresponder a cada n-tupla de

Bn un valor de B

Álgebra de BooleFunciones Booleanas

Una función booleana de n variables es una aplicación f: Βn → Β tal que

1 f(x1, x2, ..., xn) = (x1, x2, ..., xn) Βn

0

Álgebra de BooleFunciones Booleanas

32414x,3x,2x,1x x.1)(x.xxE

1

110

0(1.1)1.0

x.1)(x.xxE 32414x,3x,2x,1x

Ejemplo:

Si asignamos valores a las variables (x1,x2,x3,x4) =

(1,1,0,0)

Representación de Expresiones Booleanas

Una función booleana de n variables puede representarse en una tabla de la forma:

Representación de Expresiones Booleanas

Ejemplo 1: Representar 3221321 x.xx.x)x,x,f(x

x1 x2 x3 f(x1,x2,x3)

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 01

10

1.10.0

01.10.f(0,1,0)

Representación de Expresiones Booleanas

x1 x2 x3 f(x1,x2,x3)

0 0 0 1

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 1

Cómo se puede obtener la expresión booleana de

f(x1,x2,x3)

Ejemplo 2: Dada la siguiente tabla de verdad obtener la expresión booleana asociada

Representación de Expresiones Booleanas

Ejemplo 2: Dada la siguiente tabla de verdad obtener la expresión booleana asociada, por suma de productos completa

x1 x2 x3 f(x1,x2,x3)

0 0 0 1

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 1

321 x..xx

321 x.x.x

321 .x.xx

321 .x.xx Productos Fundamental

es

Representación de Expresiones Booleanas

Ejemplo 2: Dada la siguiente tabla de verdad obtener la expresión booleana asociada, por producto de sumas completa

x1 x2 x3 f(x1,x2,x3)

0 0 0 1

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 1

321 xxx

321 xxx

321 xxx 321 xxx

Sumas Fundamental

es

Representación de Expresiones Booleanas

Ejemplo 2: Dada la siguiente tabla de verdad obtener la expresión booleana asociada x1 x2 x3 f(x1,x2,x3)

0 0 0 1

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 1

)xxx)(xxx)(xxx)(xx(x

xxxxxxxxxxxx

)x,x,f(x

321321321321

321321321321

321

Producto de Sumas Completa

Suma de Productos Completa

Formas CanónicasMintérminos - Maxtérminos

Dec x1 x2 x3 f(x1,x2,x3)Mintérmino

sMaxtérminos

0 0 0 0 1 m0 M0

1 0 0 1 0 m1 M1

2 0 1 0 1 m2 M2

3 0 1 1 1 m3 M3

4 1 0 0 0 m4 M4

5 1 0 1 0 m5 M5

6 1 1 0 0 m6 M6

7 1 1 1 1 m7 M7

321 xxx 321 x.x.x

321 xxx 321 .xx.x

321 x..xx

321 .x.xx

321 x.x.x

321 .xx.x

321 x..xx

321 .x.xx

321 xxx

321 xxx 321 xxx

321 xxx

321 xxx

321 xxx

Se observa queii Mm

Formas CanónicasMintérminos

321 x.x.xDec x1 x2 x3 f(x1,x2,x3)

Mintérminos

0 0 0 0 1 m0

1 0 0 1 0 m1

2 0 1 0 1 m2

3 0 1 1 1 m3

4 1 0 0 0 m4

5 1 0 1 0 m5

6 1 1 0 0 m6

7 1 1 1 1 m7

321 .xx.x

321 x..xx

321 .x.xx

321 x.x.x

321 .xx.x

321 x..xx

321 .x.xx

m321 (0,2,3,7) )x,x,f(x

321 x.x.x

Formas CanónicasMaxtérminos

Dec x1 x2 x3 f(x1,x2,x3) Maxtérminos

0 0 0 0 1 M0

1 0 0 1 0 M1

2 0 1 0 1 M2

3 0 1 1 1 M3

4 1 0 0 0 M4

5 1 0 1 0 M5

6 1 1 0 0 M6

7 1 1 1 1 M7

M321 (1,4,5,6) )x,x,f(x

321 xxx

321 xxx

321 xxx

321 xxx

321 xxx

321 xxx

321 xxx

321 xxx

ConversiónMintérminos - Maxtérminos

Procedimiento:

i. Intercambiar los símbolos y

ii. Listar los índices que faltan en la expresión booleana original

Ejemplo:

m321 (0,2,3,7) )x,x,f(x

M321 (1,4,5,6) )x,x,f(x

ConversiónMintérminos - Maxtérminos¿Qué sucede si complementamos?

m321 (0,2,3,7) )x,x,f(x

Dec x1 x2 x3 f(x1,x2,x3) f(x1,x2,x3) Min Max

0 0 0 0 1 0 m0 M0

1 0 0 1 0 1 m1 M1

2 0 1 0 1 0 m2 M2

3 0 1 1 1 0 m3 M3

4 1 0 0 0 1 m4 M4

5 1 0 1 0 1 m5 M5

6 1 1 0 0 1 m6 M6

7 1 1 1 1 0 m7 M7

ConversiónMintérminos - Maxtérminos¿Qué sucede si complementamos?

M

MMMM

mmmm

mmmm

)7,3,2,0(

...

...

(0,2,3,7) )x,x,f(x

7320

7320

7320

m321

Simplificación de Expresiones Booleanas

Mapas de Karnaugh: Método utilizado para simplificar funciones booleanas y así poder construir un circuito lógico más sencillo y más económico

Circuito Lógico: Es un dispositivo físico que maneja la información en forma de 1’s y 0’s, niveles alto y bajo, respectivamente. Su diseño sigue las leyes de la lógica proposicional. Se construye en base a elementos digitales llamados compuertas lógicas

Circuitos LógicosCompuertas

Compuerta AND: Compuerta OR:

Compuerta NOT:

Simplificación de Expresiones Booleanas

Mapa de dos variables:

yx 0 1

0 m0 m1

1 m2 m3

Mapa de tres variables:

yzx 00 01 11 10

0 m0 m1 m3 m2

1 m4 m5 m7 m6

¿Cómo construir un Mapa de Karnaugh?

Simplificación de Expresiones Booleanas

Mapa de cuatro variables:

zwxy 00 01 11 10

00 m0 m1 m3 m2

01 m4 m5 m7 m6

11 m12 m13 m15 m14

10 m8 m9 m11 m10

El orden de las combinaciones hace que los cuadros vecinos sean

adyacentesm0 es vecino de m1 son

adyacentes

m12 no es vecino de m15 no son adyacentes

Simplificación de Expresiones Booleanas

¿Cómo hacer la simplificación?

Paso 1: Seleccionar cuadros adyacentes de valor igual a 1.

El número de cuadros seleccionados debe ser potencia de 2. zw

xy 00 01 11 10

00 1 1

01 1 1 1

11 1

10 1 1 1

Son Adyacent

es

No son Adyacent

esSon

Adyacentes pero no son potencia de

2

Simplificación de Expresiones Booleanas

¿Cómo hacer la simplificación?

Paso 2: Generar el término asociado a cada grupo. Sólo aparecen las variables que no cambian su valor al pasar de un cuado al otro

zwxy 00 01 11 10

00 1 1

01 1 1 1

11 1

10 1 1 1

zxywx

zywxyz

wyx

Simplificación de Expresiones Booleanas

¿Cómo hacer la simplificación?

zwxy 00 01 11 10

00 1 1

01 1 1 1

11 1

10 1 1 1

ywx

zy

x

y

w

z

Simplificación de Expresiones Booleanas

¿Cómo hacer la simplificación?

Paso 3: Sumar todos los términos obtenidos en el Paso 2

wyxwxyzywxzyzx w)z,y,f(x,

zwxy 00 01 11 10

00 1 1

01 1 1 1

11 1

10 1 1 1

zxywx

zy

wxyz

wyx

SimplificaciónCircuitos Lógicos

Paso 4: Diseñar el circuito lógico asociado a la función booleana simplificada obtenida en el Paso 3

wyxwxyzywxzyzx

w)z,y,f(x,

• Programa para la captura de sistemas digitales

• Programa para la simplificación de Mapas de Karnaugh de 4 variables

• Otros: LogicAid, CircuitMaker, DesignWorks Professional con Simulador

Álgebra de Boole Circuitos Lógicos - Software

¡Gracias por su

atención!

¿Preguntas?

Para quienes no ansían sino ver,

hay luz bastante; más para quienes

tienen opuesta disposición, siempre hay

bastante oscuridad

Pascal

Álgebra de BooleReseña Histórica

• En 1854, desarrollo del Álgebra Booleana por el filósofo y matemático inglés George Boole

• En 1869, primera máquina que utilizaba el Álgebra Booleana. William Stanley Jevons.

Álgebra Boolena

Símbolos Algebraicos

Lógica= +

Sistema de Numeración Binario

Computadoras Electrónicas

Comienza así el álgebra de la lógica: Algebra Booleana Como método para resolver problemas lógicos usando

solamente los valores binarios 1 y 0, y tres operadores: AND (y), OR (o) y NOT (no)

Álgebra de BooleReseña Histórica

• El primer interés de George fueron los idiomas. A la edad de 12 años llegó a ser tan hábil en Latín que provocaba controversia

• Publico obras relacionadas con ecuaciones diferenciales, diferencias finitas y métodos generales en probabilidad

• No estudió para un grado académico, a la edad de 16 años fue profesor auxiliar de colegio. Sus primeras instrucciones en matemática fueron de su padre. Desde 1835, comenzó a estudiar matemáticas por si mismo, era un gran autodidacta

Álgebra de BooleDefinición

En definitiva,

Es un Estructura Algebraica (EA), que cumple ciertos postulados o condiciones especiales

)k,k-, ,º(K,*,K 21

es una EA, donde: K: Portador del Álgebra, K

fi: Operaciones l.c.i. definidas en K, i = 1,2,…,n

ki: Elementos Neutros, i = 1,2,…,n

)k,k,...,f,f(K,K 2,...121

Ejemplo 2: Sea P el conjunto de todas las proposiciones lógicas entonces,

es un Álgebra de Boole.

Se cumplen las seis (6) condiciones:, : Son l.c.i. en P(S)f, v: Son elementos neutros de , respectivamente, : Son conmutativos y asociativos, : Son distributivos uno respecto del otroCada p P admite un p, tal que p p v y p p f

v)f,,,,(P, P

Álgebra de BooleEjemplos

• Variable: Son símbolos que pueden tomar cualquier valor del conjunto B = {0,1}. Se representan con letras minúsculas

• Constante: Un elemento del conjunto B en la expresión. Las constantes pueden ser 0 ó 1.

• Literal: Ocurrencia de una variable o su complemento en una expresión.

Álgebra de BooleFunciones Booleanas

Una función booleana de n variables puede representarse en una tabla de la forma:

¿Cómo construir esta tabla?

• Una columna para cada variable

• Una columna para el resultado de la evaluación

• Generar todas las combinaciones de valores 0 y 1 para las variables

Representación de Expresiones Booleanas

Representación de Expresiones Booleanas

Todo función booleana puede determinarse a través de una expresión booleana llamada forma normal

Toda tabla de verdad contiene:Una f.n.d. completa Valuación final contiene al menos

un vUna f.n.c. completa Valuación final contiene al menos

un f

Es posible reproducir una expresión booleana utilizando suma de productos completa o el producto de sumas

completa

Formas CanónicasMintérminos - Maxtérminos

Maxtérmino: Factor normal formado por la suma de tantos literales como variables tenga la expresión booleana

Ejemplos: , ,321 xxx 321 xxx 321 xxx

321 x..xx 321 .x.xx321 .x.xx

Mintérmino: Factor normal formado por el producto de tantos literales como variables tenga la expresión booleana

Ejemplos: , ,

Circuitos LógicosCompuertas

Compuerta AND:

Con dos o más entradas, esta compuerta realiza la función booleana de la de la multiplicación (.). Su salida será un 1 cuando todas sus entradas estén en nivel alto. En cualquier otro caso, la salida será un 0.

Circuitos LógicosCompuertas

Compuerta OR:

Con dos o más entradas, esta compuerta realiza la función de la suma (+). Su salida será 1 cuando al menos una de sus entradas esté en estado alto. En cualquier otro caso, la salida será 0.

 

Circuitos LógicosCompuertas

Compuerta NOT:

Recibe una única entrada y presenta en su salida el valor opuesto del que recibe como entrada. En efecto, realiza la función booleana de la complementación.

Otras Compuertas: Resultan de la combinación de las compuertas AND, OR y NOT

NAND NOR

 

Circuitos LógicosCompuertas

Simplificación de Expresiones Booleanas

zyx zxy

zy z1.y z)yx(xzxyzyx

Dos términos son adyacentes si tienen las mismas variables con el mismo estado de complemento, a excepción de una de ellas.

Ejemplo: y son adyacentes

Los términos adyacentes se pueden simplificar fácilmente,

Simplificación de Expresiones Booleanas

zwxy 00 01 11 10

00 m0 m1 m3 m2

01 m4 m5 m7 m6

11 m12 m13 m15 m14

10 m8 m9 m11 m10

En el Mapa de Karnaugh también se presenta adyacencia entre la primera y última fila; así como

entre la primera y última columna

Son Adyacentes

Simplificación de Expresiones Booleanas

En el Mapa de Karnaugh también se presenta adyacencia entre la primera y última fila; así como

entre la primera y última columna

zwxy 00 01 11 10

00 m0 m1 m3 m2

01 m4 m5 m7 m6

11 m12 m13 m15 m14

10 m8 m9 m11 m10

Son Adyacentes

Simplificación de Expresiones Booleanas

zwxy 00 01 11 10

00 1 1

01 1 1 1

11 1

10 1 1 1

Son Adyacent

es

No son Adyacent

esSon

Adyacentes pero no son potencia de

2

Dos cuadros son adyacentes sólo si varia el valor de

una única variable al pasar de un cuadro al otro

top related