You are on page 1of 10

UNIVERSIDAD MARIANO GALVEZ DE GUATEMALA LOGICA MATEMATICA INGENIERIA EN SISTEMAS DE COMPUTO

ALGEBRA BOOLEANA & MAPAS DE KARNAUGH

SEINER UBALDO MERIDA ROBLERO SECCION G SABADO FECHA 28/04/07

0900 07 1737

ALGEBRA BOOLEANA
1. Introduccin Las lgebras Booleanas, estudiadas por primera vez en detalle por George Boole , constituyen un rea de las matemticas que ha pasado a ocupar un lugar prominente con el advenimiento de la computadora digital. Son usadas ampliamente en el diseo de circuitos de distribucin y computadoras, y sus aplicaciones van en aumento en muchas otras reas. En el nivel de lgica digital de una computadora, lo que comnmente se llama hardware, y que est formado por los componentes electrnicos de la mquina, se trabaja con diferencias de tensin, las cuales generan funciones que son calculadas por los circuitos que forman el nivel. stas funciones, en la etapa de disea del hardware, son interpretadas como funciones de boole. En el presente trabajo se intenta dar una definicin de lo que es un lgebra de boole; se tratan las funciones Booleanas, haciendo una correlacin con las frmulas proposicionales. Asimismo, se plantean dos formas cannicas de las funciones Booleanas, que son tiles para varios propsitos, tales como el de determinar si dos expresiones representan o no la misma funcin. Pero para otros propsitos son a menudo engorrosas, por tener ms operaciones que las necesarias. Particularmente, cuando estamos construyendo los circuitos electrnicos con que implementar funciones Booleanas, el problema de determinar una expresin mnima para una funcin es a menudo crucial. No resultan de la misma eficiencia en dinero y tiempo, principalmente, dos funciones las cuales calculan lo mismo pero donde una tiene menos variables y lo hace en menor tiempo. Como solucin a este problema, se plantea un mtodo de simplificacin, que hace uso de unos diagramas especiales llamados mapas o diagramas de Karnaugh, y el cual tiene la limitacin de poder trabajar adecuadamente slo con pocas variables. Se realizan estas presentaciones con el fin de demostrar la afinidad existente entre el lgebra de boole y la lgica proposicional, y con el objeto de cimentar el procedimiento de simplificacin presentado en la lgica de proposiciones. 2. Resea Histrica A mediados del siglo XIX, George Boole (1815-1864), en sus libros: "The Mathematical Analysis of Logic" (1847) y "An Investigation of te Laws of Thought" (1854), desarroll la idea de que las proposiciones lgicas podan ser tratadas mediante herramientas matemticas. Las proposiciones lgicas (asertos, frases o predicados de la lgica clsica) son aquellas que nicamente pueden tomar valores Verdadero/Falso, o preguntas cuyas nicas respuestas posibles sean S/No. Segn Boole, estas proposiciones pueden ser representadas mediante smbolos y la teora que permite trabajar con estos smbolos, sus entradas (variables) y sus salidas (respuestas) es la Lgica Simblica desarrollada por l. Dicha lgica simblica cuenta con operaciones lgicas que siguen el comportamiento de reglas algebraicas. Por ello, al conjunto de reglas de la Lgica Simblica se le denomina LGEBRA DE BOOLE. A mediados del siglo XX el lgebra Booleana result de una gran importancia prctica, importancia que se ha ido incrementando hasta nuestros das, en el manejo de informacin digital (por eso hablamos de Lgica Digital). Gracias a ella, Shannon (1930) pudo formular su teora de la codificacin y John Von Neumann pudo enunciar el modelo de arquitectura que define la estructura interna de los ordenadores desde la primera generacin. Todas las variables y constantes del lgebra Booleana, admiten slo uno de dos valores en sus entradas y salidas: S/No, 0/1 o Verdadero/Falso. Estos valores bivalentes y opuestos pueden ser representados por nmeros binarios de un dgito (bits), por lo cual el lgebra Booleana se puede entender cmo el lgebra del Sistema Binario. Al igual que en lgebra tradicional, tambin se trabaja con letras del alfabeto para denominar variables y formar ecuaciones para obtener el resultado de ciertas operaciones mediante una ecuacin o expresin Booleana. Evidentemente los resultados de las correspondientes operaciones tambin sern binarios.

Todas las operaciones (representadas por smbolos determinados) pueden ser materializadas mediante elementos fsicos de diferentes tipos (mecnicos, elctricos, neumticos o electrnicos) que admiten entradas binarias o lgicas y que devuelven una respuesta (salida) tambin binaria o lgica. Ejemplos de dichos estados son: Abierto/Cerrado (interruptor), Encendida/Apagada (bombilla), Cargado/Descargado (condensador) , Nivel Lgico 0/Nivel lgico 1 (salida lgica de un circuito semiconductor), etctera. Los dispositivos con los cuales se implementan las funciones lgicas son llamados puertas (o compuertas) y, habitualmente, son dispositivos electrnicos basados en transistores. Estos dispositivos, y otros que veremos a lo largo de esta unidad, son los que permiten el diseo, y la ulterior implementacin, de los circuitos de cualquier ordenador moderno, as como de muchos de los elementos fsicos que permiten la existencia de las telecomunicaciones modernas, el control de mquinas, etctera. De hecho, pensando en los ordenadores como una jerarqua de niveles, la base o nivel inferior sera ocupada por la lgica digital (en el nivel ms alto del ordenador encontraramos los actuales lenguajes de programacin de alto nivel). En esta unidad se representan las puertas lgicas elementales, algunas puertas complejas y algunos ejemplos de circuitos digitales simples, as como algunas cuestiones de notacin. Por otra parte se plantean actividades de trabajo, muchas de las cuales implican una respuesta escrita en vuestro cuaderno de trabajo. El deseo del autor es que os resulte sencillo y ameno adentraros en el mundo de la lgica digital y despertaros la curiosidad, tanto por ella, como por la matemtica que subyace en ella.

3. 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 + A'B = A + B Teorema 12: A' (A + B') = A'B' 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 DeMorgan 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)' = x'y' 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 1 1110 1 1101 1 1100 0 1011 1 1010 0 1001 0

1000 0111 0110 0101 0100 0011 0010 0001 0000

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' + 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 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 DeMorgan, 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 DeMorgan A' AND B'.....................Segundo paso para aplicar el teorema de DeMorgan (A' AND B')'..................Tercer paso para aplicar el teorema de DeMorgan (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 a a a b b b a a a a b b b b b c c c c c c c d e f f g g d d e c c d d f f f e g g g g g d e f

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 B C B+C AB AC AB+AC 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 A A A+A 1 0 0 0 1 1 1 1 1 A (B+C) 0 0 0 0 0 1 1 1 TEOREMA 2 A+A = A AA = A

A A AA

0 1

0 0 1 1

TEOREMA 3 Redundancia A+AB = A A B AB X 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 1

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

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

1A = A Equivalente a una compuerta AND con una de sus terminales conectada a 1 A B=1 X 0 1 1 1 0 1

1+A = 1 A B=1 X 0 1 1 1 1 1

0A = 0

A B=0 X 0 0 1 0 0 0

You might also like