algebra boleana

Click here to load reader

Post on 29-Jun-2015

249 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCAIN INSTITUTO UNIVERSITARIO DE TECNOLOGIA INDUSTRIAL RODOLFO LOERO ARISMENDI IUTIRLA EXTENCIN: PUNTO FIJO

Realizado por: Alfonso Lpez 17.666.726

Introduccin

En este trabajo nos enfocamos en las teoras, funciones y aplicaciones del algebra booleana, con el fin de encontrar respuestas a nuestras interrogantes para la posterior aplicacin en el desarrollo de los programas informticos. Para ello vamos a estudiar su concepto, caractersticas, leyes fundamentales, procedimientos y aplicaciones para la misma.

Definiciones

La herramienta fundamental para el anlisis y diseo de circuitos digitales es el lgebra Booleana. Esta lgebra es un conjunto de reglas matemticas (similares en algunos aspectos al algebra convencional), pero que tienen la virtud de corresponder al comportamiento de circuitos basados en dispositivos de conmutacin (interruptores, relevadores, transistores, etc). En este captulo se presentan los postulados que definen el lgebra booleana, se presentan en forma de teoremas los resultados ms importantes, se presentan tambin los tres ejemplos clsicos de lgebras boolenas (lgica proposicional, lgebra de conjuntos, lgebra de switches) y herramientas bsicas como tablas de verdad y diagramas de Venn. El lgebra booleana es un sistema matemtico 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.

Principio de dualidad

El concepto de dualidad permite formalizar este hecho: a toda relacin o ley lgica le corresponder su dual, formada mediante el intercambio de los operadores unin (suma lgica) con los de interseccin (producto lgico), y de los 1 con los 0. Adems hay que cambiar cada variable por su negada. Esto causa confusin al aplicarlo en los teoremas bsicos, pero es totalmente necesario para la correcta aplicacin del principio de dualidad. Vase que esto no modifica la tabla adjunta. Adicin 1 2 3 4 5 6 7 8 9 Producto

Funciones Booleanas

En forma similar a como se define en los cursos de lgebra de nmeros reales, es posible definir una relacin de dependencia de una variable booleana o variable lgica con otras variables booleanas independientes. Es decir, es posible definir funciones booleanas o funciones lgicas. Definicin. Sean X1,X2,...,Xn, variables booleanas, es decir, variables que pueden tomar el valor de 0 o de 1, entonces la expresin Y = f(X1,X2,...,Xn) denota una dependencia funcional de la variable dependiente Y respecto a las variables independientes X1,X2,...,Xn, es decir, el valor (0 o 1) que toma la variable Y depende de la combinacin de n valores (1s y 0s) que tomen las n variables X1,X2,...,Xn. Ejemplo: La siguiente es una funcin booleana Y= f(A,B,C) = AB + AC + A C Esta funcin se puede evaluar para diversos valores de sus variables independientes A, B, C: Si A = 1, B = 0, C = 0 entonces Y= f(1,0,0) = 1.0 + 0.0 + 1.1 = 1, Si A = 1, B = 1, C = 0 entonces Y= f(1,1,0) = 1.1 + 0.0 + 1.1 = 1, Si A = 0, B = 1, C = 0 entonces Y= f(0,1,0) = 0.1 + 1.0 + 0.1 = 0, etc. A diferencia de las funciones de variable real, las cuales no pueden representarse completamente usando una tabla de valores, las funciones booleanas s quedan totalmente especificadas por una tabla que incluya todas las posibles combinaciones de valores que pueden tomar las variables independientes, dicha tabla se denomina tabla de verdad y es completamente equivalente a la expresin booleana, ya que incluye todas sus posibilidades. Ejemplo. La siguiente es la tabla de verdad para la funcin del ejemplo anterior

A B C f(A,B,C) 0000 0011 0100 0111 1001 1010 1101 1111 En general para una funcin de n variables, puesto que hay n variables y cada variable tiene dos posibles valores, hay 2n maneras de asignar estos valores a las n variables, as la tabla de verdad tendr 2n renglones. Por ejemplo en el ejemplo anterior f(A,B,C) es una funcin de 3 variables, por lo que tenemos 23 = 8 diferentes combinaciones de las entradas y por lo tanto 8 renglones de la tabla de verdad. FUNCIONES BOOLEANAS DE UNA y DOS VARIABLES En el caso de funciones de variable real sera imposible tratar de mencionar todas las posibles funciones de una o ms variables, sin embargo, en el caso de funciones booleanas se puede hacer un listado completo de todas y cada una de las funciones para cierto nmero de variables. a continuacin se hace una lista de stas para los casos de 0, 1 y 2 variables independientes: Funciones de cero variables. Estas son las funciones constantes y slo hay dos: f0 = 0 Funcin constante cero f1 = 1 Funcin constante uno Funciones de una variable. Adems de las funciones constantes ahora se pueden definir otras dos:

f0(A) = 0 Funcin constante cero f1(A) = A Funcin identidad f2(A) = A Funcin complemento, negacin f3(A) = 1 Funcin constante uno Funciones de dos variables. En este caso se pueden definir 16 funciones diferentes, las cuales incluyen las cuatro anteriores y otras doce ms. En las siguiente tabla se muestra un resumen de las diecisis funciones de dos variables, incluyendo su nombre, su tabla de verdad, y su expresin lgica (booleana). Const. CERO AND Identidad Identidad EXOR OR A B 0 A.B A B A A B B A B A + B 0000000000 0100001111 1000110011 1101010101 NOR EQUIVAL ENCIA NOT NOT NAND Const. UNO ABA+BA?BBA+BAA+BA.B1 0011111111 0100001111 1000110011 1101010101

OBSERVACIN. Ciertamente, las expresiones lgicas que aparecen en la tabla anterior no son nicas, ya que una misma funcin lgica puede tener diferentes representaciones algebraicas.

Circuitos Logicos Se dice que una variable tiene valor booleano cuando, en general, la variable contiene un 0 lgico o un 1 lgico. Esto, en la mayora de los lenguajes de programacin, se traduce en false (falso) o true (verdadero), respectivamente. Una variable puede no ser de tipo booleano, y guardar valores que, en principio, no son booleanos; ya que, globalmente, los compiladores trabajan con esos otros valores, numricos normalmente aunque tambin algunos permiten cambios desde, incluso, caracteres, finalizando en valor booleano. .. El 0 lgico

El valor booleano de negacin suele ser representado como false, aunque tambin permite y equivale al valor natural, entero y decimal (exacto) 0, as como la cadena "false", e incluso la cadena "0". El 1 lgico

En cambio, el resto de valores apuntan al valor booleano de afirmacin, representado normalmente como true, ya que, por definicin, el valor 1 se tiene cuando no es 0. Cualquier nmero distinto de cero se comporta como un 1 lgico, y lo mismo sucede con casi cualquier cadena (menos la "false", en caso de ser sta la correspondiente al 0 lgico).

Simplificacin

FUNCION NOT NOT (Verdadero) = Falso NOT (Falso) = Verdadero FUNCION OR Falso OR Falso = Falso Falso OR Verdadero = Verdadero Verdadero OR Falso = Verdadero Verdadero OR Verdadero = Verdadero FUNCION XOR (OR EXCLUSIVA) Falso XOR Falso = Verdadero Falso XOR Verdadero = Falso Verdadero XOR Falso = Falso Verdadero XOR Verdadero = Verdadero FUNCION AND Falso AND Falso = Falso Falso AND Verdadero = Falso Verdadero AND Falso = Falso Verdadero AND Verdadero = Verdadero FUNCION IMPLICANCIA (ENTONCES) Falso ENTONCES Falso = Verdadero Falso ENTONCES Verdadero = Falso Verdadero ENTONCES Falso = Verdadero Verdadero ENTONCES Verdadero = Verdadero

Factorizacion

Veamos un ejemplo: F(a,b,c,d) = m (5,6,9,10,13,14) = a b c d + a bcd +a b c d +a b c d +a b c d +a b c d (1) = a b c d + a bcd +a c d (b + b) +a c d (b + b) = a b c d + a bcd +a c d +a cd = cd (a b +a) +cd (a +a b) = c d (a + b) + c d (a + b) = (c d +cd) (a + b) (2) = a c d +a cd + b c d + bcd (3) (1) 6 AND de 4 entradas + 1 OR de 6 entradas. (2) 2 OR de 2 entradas + 3 AND de 2 entradas. (3) 4 AND de 3 entradas + 1 OR de 4 entradas. Observaciones: El circuito (2) es ms simple pero debe notarse que las seales A y B en el caso (2) pasan a travs de 3 niveles previo a procesar la salida. Cualquier suma de producto o producto de suma puede realizarse por circuitos de 2 niveles donde estos pueden ser AND - OR / OR - AND /NAND - NAND/NOR - NOR. Este tipo de expresiones se dice una expresin de 2 orden o circuito de 2 orden. Un circuito como el (2) que corresponde a uno de mayor orden se dice un circuito factorizado. Este nombre proviene del hecho de que el proceso a partir de uno de 2 orden es muy similar a un proceso de factorizacin del lgebra convencional. Este tipo de factorizacin se basa principalmente en prueba y error y en la habilidad para recordar que cierto tipo de productos tienen dicha factorizacin. A continuacin se desarrolla un proceso de minimizacin en el cual se obtienen expresiones de 2 orden.

Definicin: Una expresin suma de productos de 2 orden se dir mnima si:

a) No existe una expresin equivalente con menos productos b) No hay una expresin equivalente que contenga el mismo nmero de productos, pero con menos cantidad de variables Igual enunciado vale para expresiones de producto de sumas, en las cuales se debe reemplazar producto por suma y viceversa. Nota: Puede existir ms de una representacin mnima. Ejemplo: A) Sea f(a,b,c) = m (0,1,4,6) = a b c +a b c +a b c +ab c Notemos que los 2 primeros trminos se combinan para dar: a b c +a b c = a b (c +c) =ab y los otros 2 dan: a b c +a b c = a c(b + b) =ac Por lo tanto, f= a b +a c Observaciones: i) m0 y m1 son adyacentes, en ellos slo cambia la variable c. ii) al unir m0 y m1 observamos que no aparece la variable que marca la distancia entre ambos minterm, es decir la variable c. iii) igual caso entre m4 y m6. B) Sea f(a,b,c,d) = m(5,7,10,13,15) = a b c d +a bcd +a b cd +a b c d +a bcd m5 m7 m10 m13 m15 m13 y m15 son adyacentes m5 y m7 son adyacentes ambos grupos son adyacentes entre s. m5+m7+m13+m15 = a b c d + a bcd +a b c d +a bcd = bd Luego, en la agrupacin restante se han eliminado A y C, las cuales son las variables que cambian de valor. As agrupando 2k minterm adyacentes pueden eliminarse k variables de una funcin. Por lo tanto, f(a,b,c,d)= bd +a b c d

Leyes

1. Ley de idempotencia:

2. Ley de involucin:

3. Ley conmutativa:

4. Ley asociativa:

5. Ley distributiva:

6. Ley de cancelacin:

7. Leyes de De Morgan:

Teorema de Morgan

Las leyes de De Morgan declaran que la suma de n variables globalmente negadas (o invertidas) es igual al producto de las n variables negadas individualmente; y que inversamente, el producto de n variables globalmente negadas es igual a la suma de las n variables negadas individualmente.

Demostracin formal

si y solo si para cualquier x:

y

.

Por lo tanto inclusin:

Con proposiciones La prueba utiliza la asociatividad y la distributividad de las leyes

y

.

Verdad Si verdad por n

Aplicaciones

Debido a que los computadores trabajan con informacin binaria, la herramienta matemtica adecuada para el anlisis y diseo de su funcionamiento en el algebra de boole en su forma bivalente, aunque fue desarrollada inicialmente para el estudio de la lgica. Ha sido a partir de 1938, fecha en que C.E. Shanon publico su obre Analisis simblico de circuitos con reles, estableciendo los primeros conceptos de la actual teora de computacin, cuando se ha producido un aumento considerable en el numero de trabajos de aplicacin del algebra de boole a los computadores digitales. Hoy en da, esta herramienta resulta fundamental para el desarrollo de computadores ya que, con su ayuda, el anlisis y sntesis de combinaciones complejas de circuitos logicos puede realizarse con rapidez y eficacia. La relacin que existe entre la lgica booleana y los sistemas de cmputo es fuerte, de hecho se da una relacin uno a uno entre las funciones booleanas y los circuitos electrnicos de compuertas digitales. Para cada funcin booleana es posible disear un circuito electrnico 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 lgicas homnimas Un hecho interesante es que es posible implementar cualquier circuito electrnico utilizando una sola compuerta, sta es la compuerta NAND. Para probar que podemos construir cualquier funcin booleana utilizando slo compuertas NAND, necesitamos demostrar cmo 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 funcin booleana utilizando slo 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 fcil, slo invertimos la salida de una compuerta NAND, despus 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 slo utilizando compuertas NAND sean lo ptimo, solo se ha dicho que es posible hacerlo. La otra compuerta que necesitamos sintetizar es la compuerta lgica OR, esto es sencillo si utilizamos los teoremas de De Morgan, que en sntesis se logra

en tres pasos, primero se reemplazan todos los "" por "+" despus se invierte cada literal y por ltimo se niega la totalidad de la expresin: A OR B A AND B.......................Primer paso para aplicar el teorema de De Morgan A' AND B'.....................Segundo paso para aplicar el teorema de De Morgan (A' AND B')'..................Tercer paso para aplicar el teorema de De Morgan (A' AND B')' = A' NAND B'.....Definicin 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 ms econmicas y en segundo lugar es preferible construir circuitos complejos utilizando los mismos bloques bsicos. Observen que es posible construir cualquier circuito lgico utilizando slo compuertas de tipo NOR (NOR = NOT(A OR B)). La correspondencia entre la lgica NAND y la NOR es ortogonal(o sea que esta en ngulo recto) entre la correspondencia de sus formas cannicas. Mientras que la lgica NOR es til en muchos circuitos, la mayora de los diseadores utilizan lgica NAND.

Conclusin

Hemos tomado como conclusin el significado del algebra bolleana y de ello hemos aprendido su funcin, aplicacin y la forma correcta de emplearla para los distintos dispositivos electrnicos como los micro procesadores y las puertas de enlace que para su manejo es fundamental el algebra booleana.