You are on page 1of 9

lgebra Booleana 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. Para nuestros propsitos 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 smbolo representa la operacin lgica AND. Cuando se utilicen nombres de variables de una sola letra se eliminar el smbolo , por lo tanto AB representa la operacin lgica AND entre las variables A y B, a esto tambin le llamamos el producto entre A y B. - El smbolo + representa la operacin lgica OR, decimos que A+B es la operacin lgica OR entre A y B, tambin llamada la suma de A y B. - El complemento lgico, negacin NOT es un operador unitario, en ste texto utilizaremos el smbolo para denotar la negacin lgica, por ejemplo, A denota la operacin lgica NOT de A. - Si varios operadores diferentes aparecen en una sola expresin booleana, el resultado de la expresin depende de la procedencia de los operadores, la cual es de mayor a menor, parntesis, operador lgico NOT, operador lgico AND y operador lgico OR. Tanto el operador lgico AND como el OR son asociativos por la izquierda. Si dos operadores con la misma procedencia estn adyacentes, entonces se evalan de izquierda a derecha. El operador lgico NOT es asociativo por la derecha. Utilizaremos adems 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) = (AB)+(AC) y A+ (BC) = (A+B) (A+C). P5 Para cada valor A existe un valor A tal que AA = 0 y A+A = 1. ste valor es el complemento lgico de A. P6 y + son ambos asociativos, sto es, (AB) C = A (BC) y (A+B)+C = A+ (B+C). Es posible probar todos los teoremas del lgebra booleana utilizando stos postulados, adems es buena idea familiarizarse con algunos de los teoremas ms 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 + AB = A + B Teorema 12: A (A + B) = AB 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 De Morgan en honor al matemtico que los descubri. Caractersticas: Un lgebra de Boole es un conjunto en el que destacan las siguientes caractersticas: 1- Se han definido dos funciones binarias (que necesitan dos parmetros) que llamaremos aditiva (que representaremos por x + y) y multiplicativa (que representaremos por xy) y una funcin monaria (de un solo parmetro) 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 funcin: x + y = y + x Conmutativa respecto a la segunda funcin: xy = yx Asociativa respecto a la primera funcin: (x + y) + z = x + (y +z) Asociativa respecto a la segunda funcin: (xy)z = x(yz) Distributiva respecto a la primera funcin: (x +y)z = xz + yz Distributiva respecto a la segunda funcin: (xy) + z = (x + z)( y + z) Identidad respecto a la primera funcin: x + 0 = x Identidad respecto a la segunda funcin: x1 = x Complemento respecto a la primera funcin: x + x = 1 Complemento respecto a la segunda funcin: xx = 0 Propiedades Del lgebra De Boole 1. Idempotente respecto a la primera funcin: x + x = x Idempotente respecto a la segunda funcin: xx = x Maximalidad del 1: x + 1 = 1 Minimalidad del 0: x0 = 0 Involucin: x = x Inmersin respecto a la primera funcin: x + (xy) = x Inmersin respecto a la segunda funcin: x(x + y) = x Ley de Morgan respecto a la primera funcin: (x + y) = xy Ley de Morgan respecto a la segunda funcin: (xy) = x + y Funcin Booleana Una funcin booleana es una aplicacin 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 mayora. Cada uno puede votar si o no. Representemos el voto de cada uno por xi. La funcin 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 funcin booleana devolver 0. Producto mnimo (es el nmero posible de casos) es un producto en el que aparecen todas las variables o sus negaciones. El nmero 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 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000 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 mnimos (minterms) iguales a 1. En nuestro ejemplo la funcin booleana ser: f(A,B,C,D) = ABCD + ABCD + ABCD + ABCD + ABCD 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 nmero de 1 sea potencia de 2. En esta pgina tienes un programa para minimizacin de funciones booleanas mediante mapas de Karnaugh

4. lgebra Booleana y circuitos electrnicos 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, sto 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 BSegundo 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. Observe 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 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. 5. Circuitos Combinacionales Un circuito combinacional es un sistema que contiene operaciones booleanas bsicas (AND, OR, NOT), algunas entradas y un juego de salidas, como cada salida corresponde a una funcin lgica individual, un circuito combinacional a menudo implementa varias funciones booleanas diferentes, es muy importante recordar ste echo, cada salida representa una funcin booleana diferente. Un ejemplo comn de un circuito combinacional es el decodificador de siete segmentos, se trata de un circuito que acepta cuatro entradas y determina cul de los siete segmentos se deben iluminar para representar la respectiva entrada, de acuerdo con lo dicho en el prrafo 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 nmero binario en el rango de 0 a 9. Sea D el bit de alto orden de ste nmero y A el bit de bajo orden, cada funcin lgica 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 slo se estn 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 mecnica para iluminar los respectivos segmentos es similar a la aqu representada para los valores numricos.

0 1 2 3 4 5 6 7 8 9

b b

c c

a a

b b b c c c c

d d

g g f g g g

d d e

f f

a a a

b b b

c c c d e f f g g

Los circuitos combinacionales son la base de muchos componentes en un sistema de cmputo bsico, se puede construir circuitos para sumar, restar, comparar, multiplicar, dividir y muchas otras aplicaciones ms. Circuitos Secuenciales Un problema con la lgica secuencial es su falta de memoria. En teora, 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 (despus de un intervalo de tiempo llamado retardo de propagacin) en las salidas. Desafortunadamente las computadoras requieren de la habilidad para recordar el resultado de clculos pasados. ste es el dominio de la lgica secuencial. Una celda de memoria es un circuito electrnico que recuerda un valor de entrada despus que dicho valor ha desaparecido. La unidad de memoria ms bsica es el flip-flop Set/Reset. Aunque recordar un bit sencillo es importante, la mayora de los sistemas de cmputo requieren recordar un grupo de bits, sto se logra combinando varios flip-flop en paralelo, una conexin de ste tipo recibe el nombre de registro. A partir de aqu es posible implementar diferentes circuitos como registros de corrimiento y contadores, stos ltimos tambin los conocemos como circuitos de reloj. Con los elementos mencionados es posible construir un microprocesador completo. 6. Relacin entre la lgica combinacional y secuencial con la programacin En sta leccin hemos dado una repasada muy bsica a los elementos que forman la base de los modernos sistemas de cmputo, en la seccin dedicada al diseo electrnico estudiaremos a profundidad los conceptos aqu presentados, pero para aquellos que estn ms interesados en el aspecto programtico podemos decir que con los elementos vistos en sta leccin es posible implementar mquinas de estado, sin embargo la moraleja de sta leccin es muy importante: cualquier algoritmo que podamos implementar en software, lo podemos a su vez implementar directamente en hardware. sto sugiere que la lgica booleana es la base computacional en los modernos sistemas de cmputo actuales.

Cualquier programa que Usted escriba, independientemente del lenguaje que utilice, sea ste de alto bajo nivel, se puede especificar como una secuencia de ecuaciones booleanas. Un hecho igualmente interesante es el punto de vista opuesto, es posible implementar cualquier funcin de hardware directamente en software, en la actualidad sta es la funcin principal del lenguaje ensamblador y otros con capacidad de trabajar directamente en hardware, como el C y el C++. Las consecuencias de ste fenmeno apenas se estn explotando, se infiere la existencia de un futuro muy prometedor para el profesional de la programacin, especialmente aquellos dedicados a los sistemas incrustados (embedded systems), los microcontroladores y los profesionales dedicados a la Programacin Orientada a Objetos. Para tener xito en stos campos de la investigacin es fundamental comprender las funciones booleanas y la manera de implementarlas en software. An y cuando Usted no desee trabajar en hardware, es importante conocer las funciones booleanas ya que muchos lenguajes de alto nivel procesan expresiones booleanas, como es el caso de los enunciados if-then los bucles while. 7. Los Teoremas Bsicos Del Algebra Booleana Los Teoremas Bsicos del lgebra Booleana son: TEOREMA 1 Ley Distributiva A (B+C) = AB+AC A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 B+C 0 1 1 1 0 1 1 1 AB 0 0 0 0 0 0 1 1 AC 0 0 0 0 0 1 0 1 AB+AC 0 0 0 0 0 1 1 1 A (B+C) 0 0 0 0 0 1 1 1

TEOREMA 2 A+A = A AA = A A 0 1 A A 0 1 A A+A 0 1 AA

0 1

0 1

0 1

#]

TEOREMA 3

Redundancia

A+AB = A

[@ A 0 0 1 1 B 0 1 0 1 AB 0 0 0 1 X 0 0 1 1

A (A+B) = A A 0 0 1 1 B 0 1 0 1 A+B 0 1 1 1 X 0 0 0 1

TEOREMA 4 0+A = A Equivalente a una compuerta OR con una de sus terminales conectada a tierra

B=0

0 1

0 0

0 1

1A = A

Equivalente a una compuerta AND con una de sus terminales conectada a 1

A 0 1

B=1 1 1

X 0 1

1+A = 1

A 0 1

B=1 1 1

X 1 1

0A = 0

A 0 1

B=0 0 0

X 0 0