Академический Документы
Профессиональный Документы
Культура Документы
Unidad 4 y 5
Teoras de los Conjuntos y Circuitos Lgicos
1. Introduccin.
Escribi en cierta ocasin Bertrand Russell se supone que uno sabe ya que todos los hombres son mortales y que Scrates es un hombre; y de ah uno deduce lo que jams haba sospechado, a saber, que Scrates es mortal As que si tiene usted la intencin de dedicarse a la lgica, he aqu un buen consejo en el que nunca insistir bastante: no estudie la lgica tradicional... El cambio crucial a la lgica moderna se produjo en 1847 y se debi a George Boole (1815-1864), hombre modesto y autodidacta, hijo de un humilde zapatero ingls, public The Mathematical Analysis of Logic. Este y otros trabajos fueron motivo de su nombramiento como profesor de matemticas (pese a carecer de ttulos universitarios) del Queens College (hoy University College) de Cork, en Irlanda
Javier Borge Holthoefer. lgebra de Boole: del Silogismo Aristotlico a los Circuitos Integrados En http://serbal.pntic.mec.es/~cmunoz11/boole.pdf (ltima Visita: marzo de 2011)
Pocas veces sucesos que parecen insignificantes en su poca tiene tantas consecuencias como el trabajo de George Boole. Bien lo ilustra Javier Borge Holthoefer en su tratado del silogismo Aristotlico a los circuitos integrados con un ejemplo. Expresa Holthoefer: Ocurre a veces que la importancia de un acontecimiento histrico se mide no tanto por la difusin de que ste goz, como por las consecuencias que trajo consigo. As, hoy sabemos que la guerra entre Francia y Alemania a finales del siglo XIX fue deliberadamente provocada por el canciller prusiano Bismarck: falsific intencionadamente el despacho del embajador Ems, dndole un carcter ofensivo, agresivo, hacia la opinin pblica francesa para provocar una reaccin de furor en sta a la vez que la guerra. Tenemos, pues, un acontecimiento relativamente insignificante (manipulacin de un informe) que desemboca en una guerra, que a su vez da como resultado la unificacin de Alemania.1 El ejemplo de Bismarck resulta especialmente interesante porque raramente encontramos en la Historia de la Lgica algo que pueda compararse; es decir, raramente un logro en Lgica (parecido al ejemplo de Bismarck en cuanto a difusin se refiere) tiene un impacto de magnitud similar a la que tuvo en la Historia (general) contempornea el surgimiento
Javier Borge Holthoefer. lgebra de Boole: del Silogismo Aristotlico a los Circuitos Integrados En http://serbal.pntic.mec.es/~cmunoz11/boole.pdf (ltima Visita: marzo de 2011)
del Estado Alemn. Cul podra ser ese logro? A mi entender, el lgebra de Boole. Fundamentemos un poco este razonamiento. De lo manifestado ms arriba se desprende que cualquier hallazgo en Lgica es insignificante. Que nadie se alborote: con ello quiere decirse que tales hallazgos pasan tan inadvertidos (o ms) para la gran mayora, como la falsificacin del despacho de Ems por parte de Bismarck. La falta de atencin a los logros en Lgica ocurre incluso en los crculos ms prximos a ella: buena parte de los filsofos de la ciencia del siglo XX (a excepcin de Lakatos) han elaborado sus epistemologas respectivas tomando como referente principal a la fsica. As sucedi con el Crculo de Viena, con Popper, con la Concepcin Heredada y con Kuhn. Para muchos de estos filsofos parecera a veces que las Matemticas, la Lgica y, en general, las ciencias formales caen fuera del saber cientfico, por no satisfacer los sucesivos criterios de demarcacin que dichos autores han ido proponiendo, o, en otros casos, por no ser las Matemticas un saber emprico. Para completar el paralelismo Bismarck - Boole queda solamente mostrar la huella que ha dejado la obra del ltimo. Esto no es muy complicado: basta que observemos el mecanismo que rige un semforo o el funcionamiento de un sistema informtico para damos cuenta que el lgebra de Boole juega un papel nada despreciable no ya en el mbito especfico de la Lgica, sino en la civilizacin tal y como la conocemos. Hasta aqu he hablado nicamente de la proyeccin "hacia adelante" del trabajo de Boole, dejando a un lado sus races histricas (nada surge de la nada, Parmnides dixit). De las aportaciones de Boole relacionadas con el Clculo Proposicional nos ocuparemos en temas posteriores En cuanto al alcance y estructura de este estudio, hay que decir que es meramente divulgativo. Esta lectura est dedicada primero a resaltar aspectos bsicos de la Teora de Conjuntos y del Clculo Proposicional, para luego ver en qu sentido Boole colabor en su interrelacin, desarrollo o profundizacin; asimismo, se intenta poner en contacto esta Teora y este Clculo con su despliegue prctico, que desemboca en los dispositivos lgicos bajo la forma de un lgebra de Boole (seccin 4). La seccin 3 se limita a la enunciacin de los teoremas y postulados del lgebra de Boole, con algunas apreciaciones histricas. Por ltimo, aadimos un Anexo en el que se utilizan las representaciones diagramticas de Venn para comprobar (que no demostrar) la validez de las leyes del lgebra de Conjuntos. Fruto de todo esto, la lectura tiene una considerable envergadura. Por esta razn, se debe afrontar su estudio de un modo selectivo. Si uno est interesado, por ejemplo, en la Electrnica o la informtica, y quiere conocer los fundamentos histricos y tericos del lgebra de Boole, deber profundizar en temas posteriores, dando menos valor a la ltima parte. Por el contrario, si uno est familiarizado con la Lgica y su Historia, desde las humanidades, quiz le llamen ms la atencin los aspectos prcticos en que han desembocado los trabajos de Boole.
Por ltimo, se ha procurado que esta lectura goce de cierta consistencia. El hilo conductor al que debe agradecerse tal consistencia no es otro que Kneale, y su obra El desarrollo de la lgica. En esta obra se encuentran todos los aspectos aqu tratados, adems de otros (como las relaciones entre Boole y el clculo de probabilidades). Esta tarea ha consistido en seleccionar y ampliar aquellos aspectos que son ms relevantes y han sido ms fructferos para el surgimiento de nuestra actual "era informtica".
Por supuesto, en el lenguaje coloquial (natural) usamos un nmero ms amplio de conectivos, tales como "a menos que", "pero'... Ante esto, podramos establecer notaciones distintas para cada una de ellas. Por otro lado, parece (es) ms conveniente intentar reducir (sin distorsin de su uso comn) tales conectivos a los cuatro establecidos. Considrese este ejemplo: El caf es agradable, a menos que se le aada azcar" (simblicamente, p a menos que q). El significado de la oracin es que si aadimos azcar, el caf no es agradable: es decir "El Caf es agradable si no aadimos azcar o bien 'Si no aadimos azcar, entonces el Caf es agradable*. O lo que es lo mismo: q => p, con lo cual hemos logrado nuestro objetivo. Unin e interseccin: Aqu comenzamos a percibir el modo en que Boole unifica el CP y la TC. Unin e interseccin son las dos operaciones bsicas en el lgebra de Conjuntos. La unin entre dos conjuntos L y W se define como el conjunto formado por todos los elementos de L junto con todos los elementos de W y la denotaremos como L U W
La interseccin entre dos conjuntos L y W se define como el conjunto que comprende slo aquellos elementos que L y W tienen en comn y la denotaremos como L W Lo cierto es que tanto la unin como la interseccin quedan mucho ms claras a travs de una ilustracin:
El sombreado representa L W en el caso de la interseccin (primer caso) y en el caso de la unin (segundo caso) el sombreado representa L U W Si bien ya Leibniz, en el siglo XVII, entrevi la existencia de una cierta analoga entre la interseccin y la unin, por una parte, y el producto y la suma de nmeros, por otra, fueron las aportaciones de Boole las que clarificaron tales relaciones, amplindolas adems a los conectivos lgicos ^ (conjuncin) y v (disyuncin) de la Lgica Formal. De este modo, la interseccin de conjuntos se expresa tambin con esta simbologa:
A B x / x A x B
Y la unin de conjuntos se expresa como:
A B x / x A x B
Cerrando de esta manera la relacin entre la interseccin y la conjuncin por un lado y la unin de conjuntos y la disyuncin de proposiciones por el otro. De este modo, diremos que un x est en la interseccin de los conjuntos A y B si la proposicin x est en A y x est en B es verdadera, es decir p^q. Por otro lado diremos que un elemento x est en la unin de A y B si la proposicin x est en A o x est en B es verdadera, es decir pvq. Leyes de conjuntos y del clculo proposicional. Para convencernos del enunciado general arriba expuesto, segn el cual el CP y la TC pueden reducirse a un lgebra de Boole, veamos una tabla comparativa que contemple las leyes del lgebra de conjuntos y del clculo proposicional (para darnos cuenta de que tratan, en esencia, de lo mismo):
CONJUNTOS Leyes conmutativas para la interseccin y la unin A B=B A A U B=B U A Ley asociativa para la interseccin A (B C) = (A B) C Ley asociativa para la unin A U (B U C) = (A U B) U C Ley distributiva de la interseccin respecto de la Unin
CLCULO PROPOSICIONAL Ley conmutativa p^qq^p pvqqvp Ley asociativa para la conjuncin p ^ (q ^ r) (p ^ q) ^ r Ley asociativa para la disyuncin p v (q v r) (p v q) v r Ley distributiva de la conjuncin respecto de la disyuncin
A (B U C) = (A B) U (A C) p ^ (q v r) (p ^ q) v (p ^ r) Ley distributiva de la unin respecto Ley distributiva de la disyuncin de la Interseccin respecto de la conjuncin A U (B C) = (A U B) (A U C) p v (q ^ r) (p v q) ^ (p v r) Ley idempotente A U A=A A A=A Ley idempotente pvpp p^pp
Ley de complementacin A U A = A A =
Leyes de De Morgan (AC) = A U B (pvq) p^q pvq Leyes con 0 y 1 (10) 1^p p 0^p 0 (p^q)
A = A 0 v pp A = 1 v p0
Un lgebra conmutativa o lgebra de Boole (A,$,&) es un Conjunto A no vaco tal que existen dos operaciones binarias entre sus elementos ($ y &) de forma que satisfacen las siguientes cinco propiedades (axiomas): 1. $ y & son asociativas en A Es decir que para todo elemento x, y o z de A se tiene que: (x$y)$z=x$(y$z) (x&y)&z=x&(y&z)
2. $ y & son conmutativas en A Es decir que para todo par de elementos x, y de A se tiene que: x$y=y$x x&y=y&x
3. Existe un elemento identidad para $ y uno para & en A Es decir que para todo elemento x de A se tiene que existe 0, elemento neutro de $, tal que: x$0=0$x=x
y para todo elemento x de A se tiene que existe 1, elemento neutro de &, tal que: x&1=1&x=x
4. Existe un elemento opuesto para $ y uno para & en A Es decir que para todo elemento x de A se tiene que existe x tal que: x $ x = x $ x = 0 x & x = x & x = 1
5. $ y & cumplen la ley distributiva de una respecto de la otra en A x $ (y & z) = (x$ y) & (x $ z) x & (y $ z) = (x & y) $ (x & z)
A partir de esos axiomas se pueden demostrar una serie de postulados o teoremas que se incorporan a las leyes enunciadas. Por ejemplo:
Es importante notar que dado un conjunto universal entonces todos los subconjuntos de forman un lgebra de Boole. Veamos: Tomemos C=(, U, ). Como y el conjunto vaco son subconjuntos de luego se ve que C cumple con todos los axiomas presentados puesto que haciendo como el elemento neutro de la interseccin y el elemento neutro de la unin tenemos:
A B=B A A U B=B U A 2. Ley asociativa para la interseccin y para la unin A (B C) = (A B) C A U (B U C) = (A U B) U C 3. Existencia de neutros U A=A 4. Existencia de inversos A U A = A A = A=A
5. Leyes distributivas A (B U C) = (A B) U (A C) A U (B C) = (A U B) (A U C) Luego, los conjuntos de un universal forman un lgebra de Boole ya que cumplen con todos los requisitos. Se prueba, adems, que las proposiciones forman tambin un lgebra, si se acotan a un determinado referencial. Por lo tanto, podemos concluir que tanto los conjuntos como las proposiciones cumplen con todas las leyes del lgebra de Boole, que por otra parte, son demostrables a travs de los axiomas de las operaciones solamente. Es importante notar que todos los teoremas que mencionamos del lgebra han sido listados de a pares, uno para una operacin y otro para otra. Una parte puede obtenerse a partir de la otra mediante el intercambio de los elementos unitarios (0 y 1) y los operadores binarios ($ y &). Esto se conoce como el Principio de dualidad, gracias al cual cualquier apartado de los postulados puede obtenerse a partir del otro sin ms que intercambiar los operadores binarios y los elementos unitarios.
NOT 1=0 NOT 0=1 1 AND 0=0 1 OR 0=1 Las funciones Booleanas son aquellas funciones proposicionales donde el argumento es una variable que puede tomar valores slo en el universo {0,1} y su tabla de verdad es la tabla de verdad usual. De este ejemplo en particular hablaremos en el prximo tema. Estos axiomas con los que se defini un lgebra de Boole se conocen como los postulados de Huntington. Otros grupos de axiomas conocidos en el mbito de las Matemticas son los de Birkhoff y Mac Lane pero terminan definiendo lo mismo, es decir, los conjuntos de axiomas son equivalentes.
5. Circuitos lgicos.
5.1. Introduccin a los circuitos lgicos.
Debido a que las computadoras trabajan con informacin binaria, esto es, dado un determinado lugar, ese lugar puede estar cargado elctricamente o no, eso lo podemos medir con 1 si est cargado o 0 si no, o lo podemos medir con V si est cargado o F si no. De todas formas, la herramienta matemtica adecuada para el anlisis y diseo de su funcionamiento es el lgebra de Boole en su forma bivalente. Aunque fue desarrollada inicialmente para el estudio de la Lgica, viene muy bien con sus aplicaciones. Ha sido a partir de 1938, fecha en que C.E. Shanon public su obra Anlisis simblico de circuitos con rels, estableciendo los primeros conceptos de la actual Teora de la Conmutacin, cuando se ha producido un aumento considerable en el nmero de trabajos de aplicacin del lgebra de Boole a los computadores digitales. Hoy en da, esta herramienta resulta fundamental para el desarrollo de los computadores ya que, con su ayuda, el anlisis y sntesis de combinaciones complejas de circuitos lgicos puede realizarse con rapidez y eficacia.
En cualquier caso, este lgebra bivalente aplicada tiene las mismas tablas de verdad del CP expuestas anteriormente, cambindoles slo la nomenclatura: donde decamos "disyuncin" (v), ahora decimos OR: donde decamos "conjuncin" (^), decimos AND; donde decamos "negacin" () ahora decimos INVERSOR o NOT. Veamos de nuevo la tabla con el vocabulario renovado:
Variables x y
1 1 0 0
1 0 1 0
0 1 1 1
Por supuesto, existen otros operadores adems de stos pero todos se pueden expresar a travs de los mismos. Vase la siguiente tabla con todos los operadores y su smbolo ms extendido (de este modo nos avanzamos un poco al contenido de la siguiente seccin, dedicado ntegramente a la aplicacin del lgebra de Boole dentro de la electrnica):
Funciones Booleanas. La aplicacin ms directa de las puertas lgicas es la combinacin entre dos o ms de ellas para formar circuitos lgicos que responden a funciones booleanas (Funciones proposicionales sobre el universo {0,1}). Una funcin lgica hace que una o ms salidas tengan un determinado valor para un valor determinado de las entradas. Tales funciones o frmulas (puesto que tienen variables que a priori son incgnitas) consisten en un nmero finito de constantes (0. 1) y variables conectados por los operadores (+). () y () de forma que (+) y () no pueden estar adyacentes nunca. Cada expresin de n-variables describe una nica funcin. Se pueden tomar como ejemplos las funciones de la tabla de la pgina anterior, correspondientes a los distintos operadores lgicos. Por supuesto, dos frmulas pueden ser equivalentes. Dos expresiones Booleanas A y B se dicen equivalentes (A=B) si ellas describen la misma funcin Booleana. Ejemplo (recordar que las constantes pueden valer 0 1): Sea F = a((a+b).c') y G = (a+b).(a+b'+c')
a 1 1 1 1 0 0 0 0
b 1 1 0 0 1 1 0 0
c 1 0 1 0 1 0 1 0
a+b 1 1 1 1 1 1 0 0
(a+b).c a+b'+c 0 1 0 1 0 1 0 0 1 1 1 1 0 1 1 1
F 1 1 1 1 0 1 0 0
G 1 1 1 1 0 1 0 0
Con este criterio, podemos proceder a la implementacin de funciones. Es decir que dado un circuito podemos a travs de las posibles entradas y las salidas correspondientes encontrar la frmula que el circuito determina. Veamos con un ejemplo: Supongamos que tenemos el siguiente circuito:
1 5 3 4 2 F
Aqu vemos que de acuerdo a las entradas A, B y C tendremos la salida F. Procederemos a escribir la tabla de verdad correspondiente. Veamos que si A se junta con B y C en 1 (donde hay un and) y que A se junta con B y C en el otro AND de 2 (debido a que 3 y 4 son NOT) por ltimo los resultados se juntan en un OR (denominado 5 en este ejemplo). Por lo tanto, en la primera fila de la tabla correspondiente, dado que A, B y C valen 1 entonces el primer AND le llegan tres unos y por lo tanto ste vale 1. Al segundo AND le llegan un uno correspondiente a A y dos ceros correspondientes a B y C, luego pasa 0 (porque es un AND) y a 5 le llega un uno y un cero, luego pasa 1 y el resultado de la primera fila es 1. Para la segunda fila por ejemplo, al primer AND le llegan dos unos (A y B) y un cero (C) y al segundo AND le llegan tambin dos unos (de A y C ahora) y un cero (B). Luego pasan dos ceros y 5 vale cero. De esta manera completamos la tabla. Tendremos que la tabla del circuito se hace 1 slo para dos combinaciones de valores de las entradas:
A 1 1 1 1 0 0 0 0
B 1 1 0 0 1 1 0 0
C 1 0 1 0 1 0 1 0
F 1 0 0 1 0 0 0 0
Entonces, dado un sistema cualquiera compuesto de x entradas (3 en este caso) y una Salida (F, la funcin a implementar) podemos utilizar dos tipos de procedimientos (formas cannicas de las frmulas Booleanas) para recuperar la frmula del sistema. A saber: Procedimiento minterms: obtendremos la suma de productos de las variables "entrada" cuyas combinaciones
hacen 1 a la funcin. Convenio a aplicar "0* para variables negadas, "1" para variables sin negar. Ecuacin maxterms: obtendremos el producto de las sumas de las variables "entrada" cuyas combinaciones hacen 0 a la funcin. Convenio a aplicar. 1 para variables negadas: "0* para variables sin negar.
Lo que se logra con estas ecuaciones es la expresin correspondiente a una tabla de verdad dada. Tal expresin es, adems, simplificable algebraicamente mediante los postulados y teoremas enunciados ms arriba (aunque la simplificacin se obtiene casi siempre por mtodos tabulares -por el simple motivo de que es ms fcil- como veremos en el apartado siguiente). Por ejemplo, intentemos obtener la ecuacin de la tabla de verdad correspondiente al ejemplo anterior: Con el mtodo minterms, tenemos slo dos unos para F en la tabla de verdad que corresponden a las combinaciones 1,1,1 y 1,0,0 de las entradas. Luego, para la combinacin uno tomamos A.B.C porque las tres valen uno y para la segunda tomamos A.B.C porque para B y C tenemos el valor cero. Recordando que minterms es suma de productos luego sumamos los trminos y nos queda que: F= A.B.C+ A.B.C Con el mtodo maxterms, tenemos seis ceros para F en la tabla de verdad que corresponden a todas las combinaciones salvo 1,1,1 y 1,0,0 de las entradas. Hacemos exactamente al revs, si A tiene un 1 tomamos A, si tiene un cero tomamos A. Luego para la combinacin dos tomamos (A+B+C), para la tres tomamos (A+B+C), la cuatro no la ponemos y tomamos las ltimas cuatros como: (A+B+C) (A+B+C) (A+B+C) (A+B+C) Y recordando que maxterms es producto de sumas luego multiplicamos los trminos y nos queda que: F = (A+B+C).(A+B+C).(A+B+C).(A+B+C).(A+B+C).(A+B+C) Tal expresin es, adems, simplificable algebraicamente mediante los postulados y teoremas enunciados ms arriba (aunque la simplificacin se obtiene casi siempre por mtodos tabulares -por el simple motivo de que es ms fcil- como veremos en el apartado siguiente). De todas maneras tommonos el trabajo de tratar de llegar a la expresin obtenida con
mintems a partir de la obtenida con maxterms para comprobar que son equivalentes. Considerando que AA=A y que por ejemplo BB=0 tenemos que el producto de los dos primeros parntesis, aplicando distributiva es: (A+AB+AC+AB+0+BC+AC+BC+0)= Reordenando y considerando que A+0=A esto es igual a: (A+AB +AB +AC+AC+BC+BC)= Que es igual a: A+A(B +B) +A(C+C)+BC+BC= Y recordando que B +B=1 tenemos que: A+A1 +A1+BC+BC= De donde, ya que A.1=A y A+A=A: A+A+A+BC+BC= A+BC+BC El producto de los dos primeros parntesis lo podemos reducir a: A+BC+BC De la misma manera el producto de dos parntesis 4 y 5 queda (A+AB+AC+AB+0+BC+AC+BC+0)= Que es lo mismo que A+BC+BC De una manera similar a lo anterior. Por ltimo el producto de los parntesis que quedan (3 y 6) se puede expresar como: (A+AB+AC+AB+0+BC+AC+BC+0)= Que es igual a: A+BC+BC Entonces F termina siendo el producto de las tres expresiones que hemos derivado F= (A+BC+BC)( A+BC+BC)( A+BC+BC) Y haciendo el producto de los dos primeros parntesis tenemos: (AA+ABC+ABC+ABC+BCBC+BCBC+ABC+BCBC+BCBC) Que, reordenando y agrupando, es lo mismo que: AA+(ABC+ABC)+(BCBC+BCBC)+(ABC+ABC) +(BCBC+BCBC)
Idntico a: 0+BC+BC+BC+BC Que queda: (BC+BC) Luego F es: F=(BC+BC)( A+BC+BC) Entonces, F=ABC+ABC+BBC+BBC+BCC+BCC= Y por ltimo, puesto que BB=0 y 0C=0, tenemos F=ABC+ABC+0+0+0+0 Y llegamos a: F=ABC+ABC Que es lo mismo que habamos obtenido por minterms. Mtodos tabulares de simplificacin de ecuaciones. Como vimos, simplificar funciones puede llegar a ser bastante complicado. El recurso de las tablas para la simplificacin de ecuaciones booleanas es, como ya se ha dicho, de mayor simplicidad. Nos limitaremos a explicar aqu someramente el mtodo conocido como "mapas de Kamaugh". Estos mapas se pueden utilizar para simplificar funciones de dos a seis Variables aunque habitualmente slo se los emplee para funciones de dos a cinco Variables. Existen otros mtodos como el Algoritmo QuineMcCluskey que es un mtodo de simplificacin de funciones booleanas desarrollado por Willard Van Orman Quine y Edward J. McCluskey. Es funcionalmente idntico a la utilizacin del mapa de Karnaugh, pero su forma tabular lo hace ms eficiente para su implementacin en lenguajes computacionales, y provee un mtodo determinstico de conseguir la mnima expresin de una funcin booleana. De todas maneras, el primero sirve como ejemplo y es ms sencillo de comprender. Para hacer honor a la verdad, el mtodo grfico de Kamaugh desarrollado en The Map Method for Synthesis of Combinatorial Logic Circuito (AIEE. vd. 72. 195a) se basa en otro mtodo debido a E. W. Veitch publicado en A Chart Method for Simpfifying Truth Functionc (ACM. 1952) pero es autocontenido y por lo tanto slo nos referiremos a se. Esta tcnica se convirti rpidamente en la herramienta ms potente entre los diseadores de computadores y expertos en lgica digital durante la dcada de los 50.
Entrando en materia, los mapas estn constituidos por una cuadrcula en forma de encasillado cuyo nmero de Casillas depende del nmero de Variables que tenga la funcin a simplificar. Cada una de las casillas que forman el mapa puede representar trminos tanto minterms como maxterms. Veamos un ejemplo de mapa con tres variables en trminos de maxterms siguiendo la tabla del ejemplo anterior: Como la tabla tena 8 filas (dos al cubo puesto que hay tres variables) el mapa tendr 8 casillas con los resultados de los valores de F as en la primera fila estn todos los posibles valores de AB y en la primera columna todos los posibles valores de C, en el cuerpo de la tabla estn todos los valores de F correspondientes. El principio de simplificacin de los mapas se basa en una de las leyes del lgebra de Boole: a . b + a . b' = a Como podemos observar en la tabla todas las Casillas contiguas se caracterizan por diferenciarse slo en una Variable que se encuentra negada en una de ellas y sin negar en la otra. Tal caracterstica, propia de todos los mapas de Kamaugh permite aplicar la ley anterior. Para proceder a la simplificacin, debemos fijamos slo en las casillas que contienen "1" (si simplificaremos por minterms), o en las que contienen "0" (si simplificaremos por maxterms). Ejemplo con minterms (de unicrom.com): Se tiene la siguiente tabla de verdad para tres variables. Se desarrolla la funcin lgica basada en ella (primera forma cannica). Ver que en la frmula se incluyen solamente las variables (A, B, C) cuando F es igual a "1". Si A en la tabla de verdad es "0" se pone A, si B = "1" se pone B, Si C = "0" se pone C, etc.
F = A B C + A B C + A BC + A B C + A B C + A B C
Este mapa tiene 8 casillas que corresponden a 2n, donde n = 3 (nmero de variables (A, B, C)) La primera fila corresponde a A = 0 La segunda fila corresponde a A = 1 La primera columna corresponde a BC = 00 (B=0 y C=0) La segunda columna corresponde a BC = 01 (B=0 y C=1) La tercera columna corresponde a BC = 11 (B=1 y C=1) La cuarta columna corresponde a BC = 10 (B=1 y C=0) En el mapa de Karnaugh se han puesto "1" en las casillas que corresponden a los valores de F = "1" en la tabla de verdad. Tomar en cuenta la numeracin de las filas de la tabla de verdad y la numeracin de las casillas en el mapa de Karnaugh. Para proceder con la simplificacin, se crean grupos de "1"s que tengan 1, 2, 4, 8, 16, etc. (slo potencias de 2). Los "1"s deben estar adyacentes (no en diagonal) y mientras ms "1"s tenga el grupo, mejor.
La funcin mejor simplificada es aquella que tiene el menor nmero de grupos con el mayor nmero de "1"s en cada grupo
Se ve del grfico que hay dos grupos cada uno de cuatro "1"s, (se permite compartir casillas entre los grupos). La nueva expresin de la funcin boolena simplificada se deduce del mapa de Karnaugh. Para el primer grupo (rojo): la simplificacin da B (los "1"s de la tercera y cuarta columna) corresponden a B sin negar) porque como el grupo abarca a A negado y sin negar (dos filas) se
simplifica y C negado y sin negar (dos columnas) tambin se simplifica. Luego queda slo B. Para el segundo grupo (azul): la simplificacin da A (los "1"s estn en la fila inferior que corresponde a A sin negar) Aqu A est sin negar y los otros dos estn negados y sin negar, luego, se simplifican.
Entonces, como el maxterms es la suma de productos y los trminos que nos quedaron fueron A y B solamente tenemos que el resultado es F = B + A por supuesto su equivalente F = A + B Otro Ejemplo de la misma fuente: Una tabla de verdad como la que sigue da la siguiente funcin booleana:
F = ABC + AB C + A B C + A B C
Se ve claramente que la funcin es un reflejo del contenido de la tabla de verdad cuando F = "1" Con esta ecuacin se crea el mapa de Karnaugh y se escogen los grupos. Se lograron hacer 3 grupos de dos "1"s cada uno.
Se puede ver que no es posible hacer grupos de 3, porque 3 no es potencia de 2. Se observa que hay una casilla que es compartida por los tres grupos.
Grupo en azul: tenemos AB con C negado y sin negar, luego quitamos C Grupo en marrn: tenemos AC con B negado y sin negar, luego quitamos B
F = AB + A C + B C
Veamos ahora nuestro ejemplo con maxterms. Recordemos que la tabla de verdad era: A 1 1 1 1 0 0 0 0 B 1 1 0 0 1 1 0 0 C 1 0 1 0 1 0 1 0 F 1 0 0 1 0 0 0 0
Con lo que nos quedara el siguiente mapa: AB en la fila de arriba, C en la columna de la izquierda 00 0 1 0 0 01 0 0 11 0 1 10 1 0
Ahora trabajamos con los ceros y aqu podemos hacer tres grupos: El cuadrado de las primeras cuatro casillas correspondientes a B y C negadas y sin negar, con lo que nos queda A y como estamos con maxterms tomamos A 00 0 1 0 0 01 0 0 11 0 1 10 1 0
Tambin tenemos el rectngulo de las casillas coloreadas en amarillo. Con A negada y sin negar, con lo que nos queda B y C como estamos con maxterms tomamos B y C, es decir (B+C)
00 0 1 0 0
01 0 0
11 0 1
10 1 0
Tambin tenemos el rectngulo de las casillas coloreadas en rojo ya que podemos juntar las esquinas. Con A negada y sin negar, con lo que nos queda B y C como estamos con maxterms tomamos B y C, es decir (B+C) 00 0 1 0 0 01 0 0 11 0 1 10 1 0
Luego dado que maxterms es producto de sumas tenemos: F=A. (B+C). (B+C) Que si hacemos distributiva nos queda F=ABB+ABC+ACB+ACC=0+ ABC+ACB+0 Entonces F= ABC+ACB Que es la misma expresin que habamos deducido.
ANEXO I:
Conjuntos: Comprobaciones grficas (Diagramas de Venn)
Ley asociativa para la interseccin: X (Y Z) = (X Y) Z Diagramas:
Al usar los diagramas de Venn hemos remarcado que ayudan a comprobar la validez de las leyes. Por s mismos, los diagramas de Venn no constituyen una demostracin definitiva, aunque sugieren el mtodo a seguir. Nos abstendremos de llevar a cabo tales demostraciones, considerando como suficientes los diagramas reproducidos.
ANEXO II
Como vemos, cada segmento tiene asignada una letra minscula y el conjunto se conoce como "decodificador de 7 segmentos". Algo tan simple a primera vista lleva tras de s todo un dispositivo lgico de cierta envergadura. Para no complicamos, vamos a disear solamente el dispositivo que "enciende" el segmento "a. Para comenzar, hemos de determinar cuntas "variables entrada" necesitamos para indicarle a a que se encienda o no en todos los nmeros posibles. Como los nmeros posibles son 10 y para cada nmero necesitamos que a reciba la orden de encenderse o no debemos construir una funcin en cuya tabla de verdad haya por lo menos 10 filas. Si tenemos cierta prctica con las tablas de verdad, sabemos que el nmero de filas viene determinado por 2n .donde n es el nmero de variables de entrada. Por lo tanto la funcin deber tener como mnimo 4 variables de entrada (pues es la primera potencia de 2 que sobrepasa el valor 10" es 4 y el valor es 16). Efectuado esto, construimos la tabla teniendo presente que F debe valer 1 cundo debe encenderse el segmento "a": es decir en 0. 2. 3. 5. 6. 7. 8 y 9. La tabla queda del siguiente modo:
Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 1a 14 15
X1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
X2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
X3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
X4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
F 1 0 1 1 0 1 1 1 1 1 ? ? ? ? ? ?
Los valores indicados con "?" tanto de la tabla como del correspondiente mapa de Kamaugh indican "estados indiferentes ya que son rdenes que como 10 a 15 nunca se mostrar en el display de 7 elementos, entonces son rdenes que nunca se darn, por lo tanto da lo mismo qu ordenes sean. Podemos suponer que son todos unos, para simplificar: 00 00 01 11 10 1 0 1 1 01 0 1 1 1 11 1 1 1 1 10 1 1 1 1
A partir del mapa obtendremos la funcin booleana del segmento "a" ya simplificada, X1 X2 en la fila de arriba X3 X4 en la primera columna (Conviene maxterms sabe Ud. porqu?). Nos queda la funcin: F= X1+X3+(X2 X4)+ (X2 X4) Para acabar aqu ofrecemos el esquema de la funcin que hemos obtenido:
Cuando se den las condiciones exigidas por la tabla de verdad, se iluminar el LED (Light Emission Diode) correspondiente al segmento *a". Como vemos, se trata un tema harto complejo: para lograr la formacin de un dgito entero, tendramos que conocer las tablas, mapas y esquemas del resto de segmentos, y relacionarlos de modo que actuasen coordinadamente. Por no hablar, si pretendisemos hacer que contara, al modo de un reloj... Valga esto como muestra de que slo una herramienta potente y (relativamente) simple ha podido propiciar la revolucin digital de finales de siglo XX.
Bibliografa Lectura 4
Arnold, R. "Logic and Boolean lgebra'. Prentice-Hall, New York, 1962. Bochnski, I. "Historia de la Lgica formal". Editorial Gredos, Madrid, 1967. Breuer, S. "Introduction to the theory of sets". Prentice-Hall, New York, 1958. Cuesta, L. "Electrnica digital". Editorial McGraw-Hill, Madrid, 1992. Freudenthal, G. "The language of Logic". Elsevier, London, 1966. Goodstein, D. "Boolean algebra". Pergamon, Oxford, 196a. Hoernes, G. "Introduccin al algebra de Boole y a los dispositivos lgicos". Edtohal Paraninfo, Madrid, 1972. Kneale, W. y M. "El desarrollo de la lgica". Editorial Tecnos, Madrid, 1972. Shin, S. "The logical status of diagrams". Cambndge University Press, Cambridge, 1994. Stall, T. "Sets, logic and axiomatic theohes". Freeman, New York, 1961. Vega, L. "Una gua de historia de la lgica". Uned, Madhd, 1996. Whitesitt, J. "Boolean algebra and its applications". Addison Wesley, Reading (Mass.), 1961.
www.uesiglo21.edu.ar