Algebra de boole johnny anderson chavarria alonzo

download Algebra de boole   johnny anderson chavarria alonzo

If you can't read please download the document

  • date post

    21-May-2015
  • Category

    Documents

  • view

    189
  • download

    3

Embed Size (px)

Transcript of Algebra de boole johnny anderson chavarria alonzo

  • 1. Ao de la Inversin para el Desarrollo Rural y AlimentariaNombres: Johnny Anderson Apellidos: Chavarria Alonzo Profesor: Ricardo Lara Dvila IV Ciclo

2. Algebra de Boole OLas 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. 3. OAsimismo, 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. 4. 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. O 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. O 5. 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. O 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. O 6. 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). O 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. O 7. Algebra Booleana OOO O O OEl 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. 8. 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. O 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. O 9. OO O O O O O- 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). 10. OO O O O O O O O O O O O O O O OEs 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 11. Algebra Booleana y Circuitos Electrnicos OLa 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 12. 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: O 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 O 13. 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. O 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. O 14. OEn 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. 15. Relacin entre la lgica combinacional y secuencial con la programacin OEn 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. 16. OUn 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.