Download TEOREMAS DE BOOLE

Document related concepts

Lógica binaria wikipedia , lookup

Formas canónicas (álgebra de Boole) wikipedia , lookup

Función booleana wikipedia , lookup

Álgebra de Boole wikipedia , lookup

Conectiva lógica wikipedia , lookup

Transcript
TEOREMAS DE BOOLE
Definición
Un álgebra de Boole es un conjunto en el que:
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:
a) Conmutativa respecto a la primera función: x + y = y + x
b) Conmutativa respecto a la segunda función: xy = yx
c) Asociativa respecto a la primera función: (x + y) + z = x + (y +z)
d) Asociativa respecto a la segunda función: (xy)z = x(yz)
e) Distributiva respecto a la primera función: (x +y)z = xz + yz
f) Distributiva respecto a la segunda función: (xy) + z = (x + z)( y + z)
g) Identidad respecto a la primera función: x + 0 = x
h) Identidad respecto a la segunda función: x1 = x
i) Complemento respecto a la primera función: x + x' = 1
j) 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 aplicación 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 si o no. Representemos el voto de cada uno por xi. La función devolverá sí (1) cuando
el numero 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
ABCD
1111
1110
1101
1100
1011
1010
1001
1000
0111
0110
0101
0100
0011
0010
0001
0000
Resultado
1
1
1
0
1
0
0
0
1
0
0
0
0
0
0
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.
Teoremas
Existen muchos teoremas en el álgebra de Boole, pero todos ellos se pueden deducir a partir
de otros con ayuda de las operaciones y propiedades básicas. Pero dada su utilidad es muy
importante recordar el siguiente, el Teorema de De Morgan:
2.2. TABLAS DE VERDAD
Representación
Son unas representaciones gráficas de todos los casos que se pueden dar en una relación
algebraica y de sus respectivos resultados.
INDICE
3.1. Introducción
3.2. Funciones básicas booleanas
3.3. Postulados del Álgebra de Boole
3.4. Teoremas del Álgebra de Boole
3.5. El Álgebra de Boole en lenguaje de contactos
3.1. INTRODUCCIÓN
George Boole creó el álgebra que lleva su nombre en el primer cuarto del siglo XIX.
Pretendía explicar las leyes fundamentales de aquellas operaciones de la mente humana por
las que se rigen los razonamientos. En esa época nadie pudo prever la utilización de este
álgebra en el diseño de circuitos digitales.
Como veremos las operaciones se realizarán mediante relaciones lógicas, lo que en el
álgebra convencional son las sumas y multiplicaciones. Las variables con las que opera son
las binarias 1 y 0 (verdadero o falso). Los signos 1 y 0 no expresan cantidades, sino estados
de las variables.
Podemos decir, que el sistema de numeración binario y el álgebra de Boole constituyen la
base matemática para el diseño y construcción de sistemas digitales.
Se define Función Lógica a toda variable binaria cuyo valor depende de una expresión
formada por otras variables binarias relacionadas mediante los signos + y x. Por ejemplo:
S=(a.b)+b.c. Siendo S la función, mientras que a, b y c son las variables. Esta función la
leeríamos de la siguiente forma: si a y b o b y c son verdaderas(1) la función lógica S es
verdadera(1).
Mediante contactos podríamos explicar o aclarar la función lógica.
Tablas de verdad.- A través de las tablas de verdad se puede conocer teóricamente el
comportamiento de las funciones lógicas, en función de los niveles que se aplican a la
entrada. Más adelante veremos como además nos van a servir para diseñar circuitos
digitales.
3.2. FUNCIONES BÁSICAS BOOLEANAS
a) Igualdad
FUNCIÓN
S=a
TABLA DE VERDAD
a
0
1
SÍMIL CON CONTACTOS
S
0
1
b) Unión (función =O)
FUNCIÓN
S = a+b
a
0
0
1
1
SÍMIL CON CONTACTOS
TABLA DE VERDAD
b
0
1
0
1
S
0
1
1
1
TABLA DE VERDAD
b
0
1
0
1
S
0
0
0
1
c) Intersección (función Y)
FUNCIÓN
S = a.b
a
0
0
1
1
SÍMIL CON CONTACTOS
d) Negación (función NO)
También denomina función complemento
FUNCIÓN
TABLA DE VERDAD
a
0
1
SÍMIL CON CONTACTOS
3.3. POSTULADOS DEL ÁLGEBRA DE BOOLE
a) Las operaciones del Álgebra de Boole son conmutativas.
a+b =b+a
a.b=b.a
b) Identidad
0+a=a
1.a=a
S
1
0
c) Cada operación es distributiva respecto de la otra:
a . (b + c) = a . b + a . c
a + b . c = (a + b) . (a + c)
3.5. EL ÁLGEBRA DE BOOLE EN LENGUAJE DE CONTACTOS
POSTULADOS
a. Propiedad conmutativa
a+b
b+a
a.b
b.a
b. Identidad
0+a=a
1.a=a
c. Propiedad distributiva
a . (b + c )
a.b+a.c
a + (b . c)
(a + b) . (a + c)
d. Complementario o inversión
TEOREMAS
Teorema 2
a+1=1
a.0=0
Teorema 3
a+a=a
a.a=a
Teorema 4. Ley de Absorción
a+a.b=a
a.(a+b)=a
IMPLEMENTACIÓN DE FUNCIONES LÓGICAS CON
PUERTAS LÓGICAS
Una de las carácteristicas de la electrónica digital que más gustan al aficionado es que en
ella es fácil iniciarse en el diseño de circuitos. En este artículo vamos a ver que sencillo es
diseñar un circuito digital con tal de que conozcamos la función lógica que debe de
verificar. La función lógica estará compuesta por diversas variables lógicas relacionadas
entre sí mediante las operaciones del álgebra de Boole. Dichas operaciones son la suma
lógica (+), el producto lógico (*) y la negación (así, a negada la representaremos por a').
Sin más preambulos, veamos cómo se "saca" el circuito digital para que "resuelva" una
función lógica, y qué mejor forma de verlo que con un ejemplo concreto:
Idéese un circuito digital tal que implemente la función lógica G=(a*b)'+(c*(a+b'))
Empecemos por ver cuántas variables forman a la función G. En este caso se ve que son
tres, a, b y c. Pues ya podemos empezar a dibujar el circuito. Hay que dibujar tantas líneas
verticales como variables tenga la función, poniéndole a cada una de ellas como título el
nombre de una variable:
¿Hay alguna variable aislada que esté negada? Si la respuesta es sí (y en este caso lo es,
fíjese en la función, en ella aparece b') habrá que colocar una puerta inversora de tal forma
que su entrada esté conectada a la línea de la variable que debe negarse. A la salida de esta
puerta tendremos la variable negada:
Como puede apreciarse, la salida de la puerta se ha "extendido" con una línea vertical.
El siguiente y último paso es ir realizando con puertas lógicas las operaciones de la función
lógica. Así, podríamos hacer ahora el producto negado de la variable a con la variable b.
Para ello emplearemos la puerta NAND:
Podríamos seguir con la suma lógica de a con b' (puerta OR):
La puerta OR recien colocada entrega a su salida a+b'. Si multiplicamos esto por c
tendríamos c*(a+b') (ver la expresión de la función G):
Por último sólo queda sumar (a*b)' (que está en la salida de la puerta NAND) con c*(a+b')
(presente en la salida de la puerta AND) para obtener la función G de salida:
Y ya tenemos nuestro circuito terminado. Este circuito calcula automáticamente el valor de
la función G para cualquier combinación de valores de las variables que forman la función.
Como se habrá dado cuenta a lo largo de este artículo, para poder llevar a cabo la
implementación de la función con puertas lógicas es imprecindible conocer con detalle cada
una de las puertas lógicas que existen. Por este motivo, y en el caso de que usted no las
conozca, le invitamos a que eche un vistazo al artículo que trata de las puertas lógicas.