ALGEBRA BOOLEANA Un sistema axiomático es una colección de

Anuncio
ALGEBRA BOOLEANA
Un sistema axiomático es una colección de conocimientos ordenados jerárquica-mente
mediante reglas o leyes lógicas aplicadas a un número limitado de conceptos o principios
básicos.
Un sistema axiomático se compone de:
●
TÉRMINOS PRIMITIVOS: No se definen
●
DEFINICIONES: Conceptos que se crean mediante conectivos lógicos de los
términos primitivos
●
AXIOMAS: Proposiciones no demostrables que se establecen como ciertas, son las
nociones fundamentales de la teoría.
●
TEOREMAS: Leyes que se demuestran aplicando los axiomas, se derivan de los
axiomas.
Un sistema axiomático BIEN FORMULADO satisface:
●
CONSISTENCIA LOGICA. Carece de proposiciones contradictorias
●
INDEPENDENCIA DE SUS AXIOMAS: ninguno de sus axiomas puede deducirse de
los otros axiomas.
●
COMPLETITUD: posee el número suficiente y necesario de enunciados lógicos que
garanticen que toda proposición que se infiera de la teoría es consecuencia lógica
de los axiomas.
ALGEBRA BOOLEANA (ALGEBRA LOGICA)
Es un sistema axiomático que debe su nombre a George Boole quien a mediados del siglo
XIX desarrolló una teoría lógica que utilizaba símbolos en lugar de palabras. Claude E.
Shannon, casi un siglo después (1938) la aplicó a la teoría de circuitos lógicos.
Un ÁLGEBRA DE BOOLE es un sistema de elementos B={0,1} y los operadores
binarios: ·, +, y, ’
Operador
+
Operador
·
OPERADOR
se le llama
se le llama
‘
Operador OR
Operador AND
se le llama
Operador NOT
VARIABLES Y CONSTANTES BOOLEANAS
Una variable booleana representa cada uno de los dos estados posibles que puede
adoptar las variable. Las variables booleanas son símbolos utilizados para representar
magnitudes lógicas y pueden tener sólo dos valores posibles:
1
1
valor alto
activado
si
cerrado
ó
0
!
!
!
!
valor bajo
desactivado no
abierto
Se corresponden con señales de entrada, de salida o intermedias.
Se representan mediante caracteres alfabéticos .A., .B., .X....
Pueden tomar dos valores (0 ó 1).
Se denomina literal a una variable o a su complemento x, x'
OPERACIONES DEL ALGEBRA BOOLEANA Y COMPUERTAS BÁSICAS
SUMA LOGICA (OR)
+ 0 1
0 0 1
Símbolo lógico para la compuerta OR
1 1 1
PRODUCTO LOGICO (AND)
x 0 1
0 0 0
Símbolo lógico para la compuerta AND
1 0 1
INVERSION LOGICA (NOT)
x
x' o x
0
1
1
0
Símbolo lógico para la compuerta NOT
POSTULADOS DEL ALGEBRA BOOLEANA
Un algebra booleana es un sistema algebraico definido sobre un conjunto B con al menos
dos elementos, y dos operaciones definidas : suma (operación OR) y producto (operación
AND) y que satisface las siguientes propiedades:
P1.ELEMENTOS NEUTROS: Existen en B, el elemento neutro de la suma (0) y el
elemento neutro de la multiplicación (1) tales que para todo x en B
a) x+0 = x
b) x.1 =x
P2.CONMUTATIVAS: Para todo elemento x en B
2
a) x+y = y+x
b) xy=yx
P3.ASOCIATIVAS: para todo x, y, z en B
a) x+(y+z)=(x+y)+z
b) x(yz)=(xy)z
P4.DISTRIBUTIVAS: para todo x, y, z en B
a) x+(yz)=(x+y)(x+z)
b) x(y+z)=xy+xz
P5.COMPLEMENTOS ( o inversión lógica): para cada x en B existe un único elemento
x o x' llamado el complemento de x tal que
a) x + x' = 1
b) xx'=0
PRINCIPIO DE DUALIDAD
Dos expresiones booleanas se dicen duales una de la otra, si una se puede obtener de la
otra cambiando las operaciones + por * y viceversa y cambiando cero por uno
3
Cualquier teorema o identidad algebraica deducible de los postulados anteriores puede
transformarse en un segundo teorema o identidad válida sin mas que intercambiar (+)
por (·) y 1 por 0.
Ejemplos
Expresión
Expresión Dual
x+y = 1
x*y = 0
X*0=0
x+1=1
PROPIEDADES DEL ALGEBRA BOOLEANA
Teorema 1. Leyes de idempotencia. Para todo x en B, x*x=x ,y, x+x=x
∀ x∈B , x∗x=x
Dual:
∀ x∈B , xx=x
x*1=x
Postulado 1b)
x+0=x
Postulado 1a)
x*(x+x')=x
Postulado 5a)
x+(x*x')=x
Postulado 5b)
x*x+x*x'=x
Postulado 4a)
(x+x)*(x+x') =x
Postulado 4a)
x*x+0=x
Postulado 5b)
(x+x)*1=x
Postulado 5a)
x*x=x
Postulado 1a)
x+x=x
Postulado 1b)
Teorema 2. Leyes de acotación. Para todo x en B, x*0=0 ,y, x+1=1
∀ x∈B , x∗0=0
x*0=x*0+0
Dual:
Postulado 1a)
∀ x∈B , x1=1
x+1=(x+1)*1
Postulado 1b)
x+1=1*(x+1)
Postulado 2b)
x*0=x*0+x*x'
Postulado 5b)
x+1=(x+x')(x+1)
Postulado 5a)
x*0=x(0+x')
Postulado 4b)
x+1=x+(x'*1)
Postulado 5a)
x*0=x*x'
Postulado 1a)
x+1= x+x'
Postulado 1b)
X*0=0
Postulado 5b)
x+1=1
Postulado 1a)
4
LEYES DEL ALGEBRA BOOLEANA Y SUS LEYES DUALES
NOMBRE
LEY
LEY DUAL
x+0=x
x*1=x
x+x'=1
x*x'=0
x+x=x
x*x=x
X+1=1
X*0=0
x+x*y=x
x*(x+y)=x
x + x’ y = x+y
x*(x’ +y) =x*y
Modulativa
Complemento
Idempotencia
Acotación
Absorción
(x')'=x
(0')'=0
(1')'=1
Involución
D'Morgan
(x+y)' = x' * y'
(x*y)' = x'+y'
5
NOMBRE
O EXCLUSIVA (XOR)
LEY
LEY DUAL
x⊕y=x'∗yx∗y '
x y x⊕y
0 0
0
0 1
1
1 0
1
1 1
0
Símbolo lógico para la compuerta XOR
Con base en las equivalencias lógicas pueden definirse las compuertas básicas en
términos de sumas o productos
a) (x*y)' = x'+y'
Compuerta AND
b) (x'+y')' = x*y
Compuerta OR
c) (x*y)' = x' + y'
Compuerta NAND
d) (x + y)' = x'*y'
Compuerta NOR
e) (x⊕y)' = (x'+y)*(x+y') = x*y + x’ *y’
Compuerta XNOR
6
OTRAS PROPIEDADES
a) (x*y)+(x' * z)+(y*z)=(x * y) + (x' * z)
b) (x + y)* (x' + z) * (y+z) = (x+y) * (x' +z)
c) (x * y) +(x*y'*z ) = x*y + x*z
d) (x + y) *(x+y'+z) = (x+y) *( x +z)
Funciones de Conmutación
Hallar la función y simplificar el circuito
F(x,y,z) = (x'+z') (x'y +x'z) +yz' ( z'+z'x)
F(x,y,z) = (x'+z') (x'y +x'z) +yz' ( z'(1+x))
F(x,y,z) = (x'+z') (x'y +x'z) +yz'z'1
F(x,y,z) = (x'+z') (x'y +x'z) +yz'
F(x,y,z) = x' (x'y +x'z)+z'(x'y +x'z) +yz'
F(x,y,z)=x'x'y++x'x'z+x'yz'+x'zz' + yz'
F(x,y,z)= x'y++x'z+x'yz'+x'zz' + yz'
F(x,yz)= x'y++x'z+x'yz'+x'0 + yz'
F(x,y,z)=x'y+x'z+x'yz'+yz'
F(x,y,z)=x'y+x'z+(x'+1)yz'
F(x,y,z)=x'y+x'z+yz'
F(x,y,z)= yz'+x'z
7
EJERCICIOS
1. Obtener la expresión Booleana correspondiente a los siguientes circuitos lógicos:
a)
b)
c)
2. Simplificar las siguientes expresiones
a) xy'yz''
b) [xy 'x'y'']
c) [x'(y'+z')]'
d) (x+y)(x'+y')
3. Obtener el diagrama lógico equivalente de la expresión
a) (x+y)(x'+y')
b) (x'+y)(x+y')
c) x'y' + xy
d) xy'+x'y
8
SIMPLIFICACIÓN DE FUNCIONES BOOLEANAS
Si x, y, z ... son variables lógicas, cualquier combinación de ellas mediante las
operaciones lógicas de suma, producto o complementación se denomina expresión
booleana. A cada expresión booleana se le asocia una función booleana.
FUNCIONES DE CONMUTACIÓN: Una variable binaria es una variable discreta que
puede asumir sólo dos valores. Una función de conmutación de una o más variables, es
una variable binaria cuyo valor depende de los valores de las variables de conmutación.
El símbolo f se emplea para denotar una función de conmutación: f = f(x, y, z,...); las
variables x, y, z,.., son variables independientes, mientras f es una función dependiente.
Ejemplos
1. f(x)=x+x'
En este caso el dominio de la función es el conjunto {0,1} y el rango de la función es
también el conjunto {0,1} .
Podemos calcular el valor de La tabla de verdad de la Podemos
la función en casa uno de los función es:
utilizando
puntos del conjunto de
sagital
salida
f(0)= 0+0' = 0+1 =1
x
f
f(1)= 1+1' = 1+0 =1
0
1
1
representarla
un
diagrama
1
La función puede simplificarse como f(x)=1
2. f(x,y)= xy'+x'y'
En este caso el dominio de la función es el conjunto de parejas ordenadas {(0,0),(0,1),
(1,0) , (1,1) } y el rango de la función es el conjunto {0,1} .
Podemos calcular el valor
de la función en cada uno
de los puntos del
conjunto de salida
f(0,0)
f(0,1)
f(1,0)
f(1,1)
=
=
=
=
0.1+1.1
0.0+1.0
1.1+0.1
1.0+0.0
=
=
=
=
1
0
1
0
La tabla de verdad
de la función es:
x y
f
0 0
1
0 1
0
1 0
1
1 1
0
9
Podemos representarla
utilizando un diagrama
sagital
Supongamos que tenemos la tabla de verdad de la función dada en el segundo ejemplo y
queremos encontrar la función correspondiente y reducirla a una expresión más sencilla
(si es posible). Tenemos dos opciones:
OPCIÓN 1: Consideramos unicamente las columnas de la tabla donde el valor de la
función es 1.
x y f
0 0 1
Aprovechamos que 1.1=1 y 1+1=1
Expresamos cada 1 de las filas como producto de unos, empleando las
variables originales o su complemento
1 0 1
En la primera fila x=0 y y=0. Para expresar 1 como producto de las variables
escribimos x' y'
En la segunda fila x=1 y y=0. Para expresar 1 como producto de las variables
escribimos x y'
Sumando las dos expresiones se obtiene f(x,y)= x' y' + x y'
Utilizamos las leyes y propiedades del algebra booleana para simplificar la expresión
f(x,y)= x' y' + x y'
f(x,y)= (x' + x) y'
(Distributiva del producto respecto a la suma)
f(x,y) = 1y'
f(x,y)= y'
Se puede verificar que el valor de la función f(x,y)= y' en los demás puntos del dominio
es 0
OPCIÓN 2: Consideramos unicamente las columnas de la tabla donde el valor de la
función es 0.
x y f
0 1 1
1 1 1
Aprovechamos que 0+0=0 y 0.0=0
Expresamos cada 0 de las filas como suma de ceros, empleando las variables
originales o su complemento
En la primera fila x=0 y y=1. Para expresar 0 como suma de las variables
escribimos x + y'
En la segunda fila x=1 y y=1. Para expresar 0 como suma de las variables
escribimos x'+ y'
Multiplicando las dos expresiones se obtiene f(x,y)= (x+y')(x'+y')
Utilizamos las leyes y propiedades del algebra booleana para simplificar la expresión
f(x,y)= (x+y')(x'+y')
f(x,y)= x(x' + y')+ y'(x' +y')
(Distributiva del producto respecto a la suma)
f(x,y) = xx' + xy' + x'y' +y'y'
f(x,y) = 0 +(x + x')y' + y'
f(x,y)= y' +y'
f(x,y) = y'
Se puede verificar que el valor de la función f(x,y)= y' en los demás puntos del dominio
10
es 1
Dadas n variables lógicas la tabla de la función tiene
n
2
2
funciones distintas. En el caso de n=2 existen
existen
3
2
8
2 =2 =256 funciones distintas.
n
2 casillas y se pueden definir
2
2 funciones distintas, para n=3
2
Para n=2 si miramos las distintas opciones de la tabla podemos asociar a cada función
una cadena de 4 bits y de acuerdo con su representación en la base decimal se le asocia
el subíndice. En la tabla 1 se observan todas las funciones de dos variables.
FUNCIONES LÓGICAS DE DOS VARIABLES
Expresiones equivalentes y compuertas
x
0 0 1 1
Función
Lógica
Expresión
Equivalente
y
0 1 0 1
F0
0 0 0 0
xx'
0
F1
0 0 0 1
xy
(x'+y')'
F2
0 0 1 0
xy'
(x'+y)'
F3
0 0 1 1
x
x
F4
0 1 0 0
x'y
(x+y')'
F5
0 1 0 1
y
y
F6
0 1 1 0
x'y+xy'
x⊕y
F7
0 1 1 1
x+y
(x'y')'
OR
F8
1 0 0 0
(x+y)'
x'y'
NOR
F9
1 0 0 1
x'y'+xy
(x⊕y)'
F10 1 0 1 0
y'
y'
F11 1 0 1 1
x+y'
(x'y)'
F12 1 1 0 0
x'
x'
F13 1 1 0 1
x'+y
(xy')'
F14 1 1 1 0
(xy)'
x' +y'
F15 1 1 1 1
y+y'
1
11
Otra
expresión
Compuertas
Nombre
AND
(x→ y)'
(y→ x)'
(x↔y)'
x↔y
XOR
XNOR
y→ x
NOT
x→ y
NAND
Símbolo
En la tabla se observa que dos funciones de dos variables son complementarias si i+j=15
F 'i=F j
si y solo si i+j=15
Propiedades de la operación XOR
1. Conmutativa
x⊕y = y⊕x
2. Asociativa
x⊕(y⊕z) = (x⊕y)⊕z
3. Distributiva de la operación AND
con respecto a la operación XOR
x.(y⊕z) = (x.y)⊕(x.z)
Ejemplo 1: Escribir y simplificar la función booleana cuya tabla de verdad es:
x
y
z
f(x,y,z)
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
x'y'z'
x'yz'
xy'z
xyz
Consideramos las filas cuyo resultado es uno, y lo expresamos como producto de las
variables o de su complemento
Escribimos la función definida como la suma de los productos
f(x,y,z) = x'y'z'+ x'yz' + xy'z + xyz
Haciendo uso de las propiedades de las operaciones booleanas se simplifica la expresión
obtenida
f(x,y,z) = ( x'z'y'+ x'zy') + (xzy' + xzy)
Asociativa de la + y conmutativa de la .
f(x,y,z) = x'z' (y'+y) + xz (y+y')
Distributiva
f(x,y,z) = x'z' +xz
Complemento
f(x,y) = x ↔ z
Es sencillo verificar que el valor de la función es cero en las otras casillas de la tabla
12
2. Si consideramos las filas de ceros y expresamos cada cero como suma de las variables
o sus complementos se obtiene:
0
0
1
x + y + z'
0
1
1
x + y' + z'
1
0
0
x' + y + z
1
1
0
x'+ y' + z
Escribimos la función f como el producto de las sumas de ceros
f(x,y,z)
= (x + y + z')( x + y' + z')(x' + y + z)(x'+ y' + z)
= (x + z' + y ')( x + z' + y') (x' + z + y )(x' + z + y')
= (x + z' + yy') (x' + z + yy')
= (x+ z')(x' +z)
= xx' + xz + x'z' +zz'
= xz + x'z'
= x ↔z
Esta función es la misma que se había obtenido antes.
FORMAS NORMALES DE LAS FUNCIONES BOOLEANAS
MINTÉRMINO (mi): término producto en el que aparecen todas las variables, ya sean
complementadas o sin complementar. Un mintérmino es un término producto que es 1
exactamente en una línea de la tabla de Verdad.
MAXTÉRMINO (Mi): término suma en el que aparecen todas las variables, ya sean
complementadas o sin complementar. Un maxtérmino es un término suma que es 0
exactamente en una línea de la tabla de verdad.
FORMA NORMAL DISYUNTIVA O FORMA CANÓNICA DISYUNTIVA ( Suma de
Mintérminos o Suma de Productos) Una función booleana tiene la forma normal
disyuntiva si está escrita como la suma de términos (de valor 1) donde cada término es
un producto que involucra todas las variables complementadas o no
Un mintérmino es un término producto que es 1 exactamente en una línea de la tabla de
Verdad. La fórmula compuesta por todos los mintérminos será idénticamente 1.
Cada fórmula de conmutación puede expresarse como suma de mintérminos. Y esa
fórmula es única.
A cada término de la forma normal disyuntiva se le llama término minimal o mintérmino
y se denota como mi
La forma normal disyuntiva de n variables tiene 2n términos y se denomina forma normal
disyuntiva completa de n variables
Forma NORMAL DISYUNTIVA COMPLETA (para dos variables)
13
Dec
x y
mi
Mintérmino
0
0 0
x'y'
1
1
0 1
x'y
1
2
1 0
xy'
1
3
1 1
xy
1
f(x,y) = x'y'+x'y+ xy' +xy =1
Ejemplo 2: Hallar y simplificar la función booleana
Dec x
y
z
f(x,y,z) Mintérmino En este caso hay menos unos que ceros,
utilizamos la forma normal disyuntiva.
1
x'y'z'
0
0
0
0
1
0
0
1
0
2
0
1
0
1
x'yz'
3
0
1
1
1
x'yz
4
1
0
0
0
5
1
0
1
0
6
1
1
0
0
f(x,y,z) = x'y'z' +x'y(z + z')
7
1
1
1
0
f(x,y,z) = x'y'z' +x'y
f(x,y,z) = x'y'z' + x'yz' +x'yz
Simplificando:
FORMA NORMAL CONJUNTIVA O FORMA CANÓNICA CONJUNTIVA ( Producto de
Maxtérminos o Producto de sumas) Una función booleana tiene la forma normal
conjuntiva si está escrita como producto de términos (de valor cero) donde cada término
es la suma de todas las variables complementadas o no. A cada término de la forma
normal conjuntiva se le llama término maximal o maxtérmino y se denota como Mi
La fórmula compuesta por todos los maxtérminos será idénticamente 0. Cada fórmula
puede expresarse como producto de maxtérminos. Y es única
La forma normal disyuntiva de n variables tiene 2n términos y se denomina forma normal
disyuntiva completa de n variables
Forma NORMAL CONJUNTIVA COMPLETA (para dos variables)
Dec x y
Mi
Maxtérmino
0
0 0 x+y
0
1
0 1 x+y'
0
2
1 0 x'+y
0
3
1 1 x'+y'
0
f(x,y) = (x+y)(x+y')(x'+y)(x'+y') = 0
14
Mintérminos y Maxtérminos para 3 variables
Dec
x
y
z
Mintérmino
Maxtérmino
0
0
0
0
m0
x’ y’ z’
M0
x+y+z
1
0
0
1
m1
x’ y’ z
M1
x+y+z’
2
0
1
0
m2
x’ y z’
M2
x+y’+z
3
0
1
1
m3
x’ y z
M3
x+y’+z’
4
1
0
0
m4
x y’ z’
M4
x’+y+z
5
1
0
1
m5
x y’ z
M5
x’ + y +z’
6
1
1
0
m6
x y z’
M6
x’+y’+z
7
1
1
1
m7
xyz
M7
x’+y’+z’
Ejemplo 3: Hallar y simplificar la función booleana
x y z f(x,y,z) Maxtérmino En este caso hay menos ceros que unos, utilizamos
la forma normal conjuntiva.
0 0 0
1
f(x,y,z) = (x'+y+z)(x'+y+z')(x'+y'+z')
0 0 1
1
0 1 0
1
f(x,y,z) = (x'+y+z)(x'+z'+y)(x'+z'+y')
0 1 1
1
f(x,y,z) = (x'+y+z)(x'+z'+yy')
1 0 0
0
x'+y+z
f(x,y,z) = (x'+y+z)(x'+z')
1 0 1
0
x'+y+z'
f(x,y,z) = x'+(x+z)z'
1 1 0
1
1 1 1
0
f(x,y,z) = x'+yz'+zz'
x'+y'+z'
f(x,y,z) = x'+yz'
Las formas normales completas permiten de manera sencilla la conversión de una forma
normal a la otra mediante el empleo de la doble negación
Ejemplo 4. Hallar la forma normal conjuntiva de la función
f(x,y,z) = xyz + xyz' + xy'z + xy'z' + x'yz
Escribimos f como el complemento del complemento f''=f:
[
'
fx, y , z=  xyzxyz'xy' zxy'z 'x'yz 
'
]
La primera negación (la de adentro) la calculamos con las leyes D'Morgan
fx, y , z=[ x'y 'z ' x'y 'zx'yz'x'yz' xy 'z']
'
Para el segundo complemento, escribimos los maxtérminos de 3 variables que hacen
falta (hay 5 términos faltan 3 términos)
15
f(x,y,z) = (x+y'+z)(x+y+z')(x+y+z)
Ejemplo 5. Hallar la forma normal disyuntiva de la función
f(x,y,z) = (x + y'+z)(x'+y+z')(x+y+z')
[
'
fx, y , z=   xy 'zx'yz' xyz'
'
]
Como en el caso anterior para la negación interna utilizamos las leyes D'Morgan
'
fx, y , z=[ xy 'z 'x'yz''xyz' ']
'
fx, y , z=[ x' yz' xy' z x' y 'z ]
Para la segunda negación buscamos, en la forma normal disyuntiva completa, los
mintérminos que hacen falta (5 mintérminos)
f(x,y,z)= xyz + x'yz +xyz' + xy'z' + x'y'z'
MAPAS DE KARNAUGH (MAPAS K)
Fueron inventados en1950 por Maurice Karnaugh un físico y matemático de los
laboratorios Bell. Los mapas de Karnaugh es uno de los métodos más prácticos. Se
puede decir que es el más poderoso, cuando el número de variables de entrada es menor
o igual a cinco; más allá, ya no es tan práctico. En general, el mapa de Karnaugh se
considera como la forma gráfica de una tabla de verdad,o como una extensión del
diagrama de Venn.
Dada una función de n variables se construyen cajas de 2n celdas, es otra forma de
representar la tabla de verdad de la función. Cada mintérmino tiene un lugar asignado
dentro del diagrama de karnaugh.
Para armar cualquier Diagrama de Karnaugh los casilleros contiguos verticales u
horizontales deben contener mintérminos adyacentes, es decir, donde sólo cambie una
variable entre uno y otro.
16
Mapa K para 2 variables
x'
La variable y está en
toda la fila sin negar
x
0
y'
0
a0
a2
y
1
a1
a3
x'
y'
0
y
1
x
0
La variable x está
en toda la columna
sin negar
1
1
Mapa K para 3 variables
x'
xy
z
00
x
01
11
10
z'
0
a0
a2
a6
a4
z
1
a1
a3
a7
a5
x'
xy
z
00
z'
0
z
1
x
01
11
10
Mapa K para 4 variables
x'
00
z'
z
x
11
01
10
00
a0
a4
a12
a8
01
a1
a5
a13
a9
11
a3
a7
a15
a11
10
a2
a6
a14
a10
y'
y
w'
w
w'
y'
En estas dirección se puede bajar el software para simplificar mapas de Karnuagh:
•
•
•
•
GKMap
Karnaugh Map Minimizer
WinLogiLab
Boolean Calculator: VK, Truth Tables,...
17
Descargar