Algebra booleana

464 views
401 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
464
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Algebra booleana

  1. 1. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 1ALGEBRA DE BOOLEEn 1847 un matemático inglés autodidacta llamado George Boole (1815 – 1864), desarrolla unossímbolos matemáticos con unas reglas que pueden ser aplicadas en problemas de lógica deductiva.Hacia el año 1854, publicó un libro en el que explicaba cómo convertir las proposiciones lógicas ensímbolos matemáticos y cómo aplicar ciertas reglas muy simples para determinar la verdad o falsedadde proposiciones relacionadas entre sí.La matemática desarrollada por Boole se conoce en la actualidad como álgebra booleana,álgebra de Boole ó lógica simbólica.Después de su muerte, algunos matemáticos perfeccionaron su sistema para hacerlo másutilizable, nos interesa particularmente la aplicación que en 1938 ideó el científico Claude E. Shannon.En su tesis de graduación del Instituto Tecnológico de Massachuset, Shannon demostró cómo podíaaplicarse el álgebra de Boole al diseño y la simplificación de los relés y circuitos de conmutación quese utilizan en los complejos circuitos que forman las computadoras electrónicas, pues permitesimplificar las conexiones físicas reduciendo el hardware y consiguientemente el espacio necesariopara alojarlo.En este tema nos ocuparemos brevemente de esta lógica de la conmutación, como podríamosllamarla, pero limitándonos a los circuitos de conmutación y las compuertas (llamadas también“puertas lógicas”). Nos interesa la lógica del circuito, no la electrónica.No obstante, los conceptos que expondremos a continuación son los mismos que se aplican a lapelícula delgada, los núcleos magnéticos, los transistores y demás componentes de los circuitosempleados en las computadoras.Para facilitar la discusión de los circuitos de conmutación, recurriremos a la siguiente notación:Circuito eléctrico; la flecha indica el sentido decirculación de la corriente.Interruptor abierto, o en la posición “desconexión”Interruptor cerrado, o en la posición “conexión”Ejemplo 1:El interruptor está abierto (desconexión). No haypaso de corrienteEl interruptor está cerrado (conexión). Hay paso decorriente
  2. 2. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 2CIRCUITOS EN SERIE Y CIRCUITOS EN PARALELO1Circuitos en serieTodos los interruptores de un circuito en serie deben estar cerrados para que pueda circular la corriente:Tanto A como B deben estar cerrados para quepueda circular la corriente por este circuitoLos tres interruptores X, Y, y Z deben estarcerrados para que pueda circular la corriente poreste circuito.Circuitos en paraleloEn los circuitos en paralelo basta con que uno de los interruptores esté cerrado para que pueda circularla corriente:En este circuito habrá flujo o paso de corriente si A,o B, o ambos, están cerrados.También en este circuito circulará la corriente sipor lo menos uno de los interruptores X, Y, y Z estácerrado.1No se indicarán las fuentes reales de corriente. Para facilitar la explicación, supongamos que la fuente de corriente seencuentra a la izquierda y que la dirección del flujo o paso de corriente es de izquierda a derecha.XYZABA BX Y Z
  3. 3. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 3Uso de tablasLos resultados del ejemplo de circuito en serie, pueden presentarse de manera sencilla y clararecurriendo a una tabla como la siguiente.A B CORRIENTEAbierto Abierto No pasaAbierto Cerrado No pasaCerrado Abierto No pasaCerrado Cerrado PasaIntroduzcamos ahora la siguiente notación:0 significa interruptor abierto o “no circula corriente”.1 significa interruptor cerrado o “circula la corriente”.● representa la operación lógica “Y”. Por ejemplo, A ● B se lee “A Y B”.Con esta notación, la tabla anterior se simplifica del modo siguiente:A B A ● B0 0 00 1 01 0 01 1 1Esta tabla equivale a la tabla aritméticaA ● B0 ● 0 = 00 ● 1 = 01 ● 0 = 01 ● 1 = 1Así:A ● B = 1 sólo cuando A = 1 y B = 1.A ● B = 0 en cualquier otro caso.Es preciso recordar que en un circuito en serie con dos interruptores, solo circula corrientecuando los dos interruptores están cerrados. En cualquier otro caso, no hay paso de corriente.
  4. 4. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 4Pasemos ahora al caso de dos interruptores en paralelo y construyamos la tablaA B CORRIENTEAbierto Abierto No pasaAbierto Cerrado PasaCerrado Abierto PasaCerrado Cerrado PasaO, con la notación ya introducida,A B A + B0 0 00 1 11 0 11 1 1Usando el signo “+” para representar la operación lógica “O”, A + B se lee “A O B”, y tenemosla siguiente tabla aritmética:A + B0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 1En otros términos:A + B = 1 si o A es 1, o B es 1, o si ambos son 1.A + B = 0 solo si tanto A como B = 0.Aunque el resultado 1 + 1 = 1 pueda parecer extraño, es necesario tener presente que no se tratade una adición aritmética, sino de la operación lógica O. Con esta observación, el resultado será másfácil de aceptar.
  5. 5. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 5ROTULACIÓN Y REPRESENTACIÓN GRÁFICA DE CIRCUITOS LÓGICOS2Intentemos ahora rotular y representar gráficamente algunos circuitos simples de conmutación.Rotule el circuito de la derecha indicandoen qué condiciones circulará la corriente.Sólo habrá corriente si A y B estáncerrados. Luego el “rótulo” correspondientees A ● B.Rotule el circuito de la derecha. En estecaso, el rótulo es C + F, puesto que habrácorriente si cualquiera de los dosinterruptores está cerrado.Rotule el circuito de la derecha. El rótulo esen este caso, , puesto que habrá corriente siA y B están cerrados, o si C está cerrado.Luego el rótulo es: (A ● B), C.Lo que se escribe:A ● B + CRotule el circuito de la derecha. Obsérveseque el interruptor P debe estarnecesariamente cerrado para que circule lacorriente. De los otros interruptores (Q y R),basta con que uno esté cerrado. Luego elrótulo es: P y (Q o R).Que se escribe:P ● (Q + R)Adviértase también que en esta expresión es necesario utilizar paréntesis, porque la jerarquía delas operaciones es la misma que en aritmética: multiplicación antes que la adición (Y antes queO). Si no usáramos paréntesis y escribiéramos P ● Q + R, estaríamos rotulando el circuitosiguiente:2El rótulo ha de indicar en todos los casos las condiciones en que hay corriente.CFCA BQRPA B
  6. 6. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 6CDA BQue no es el que teníamos originalmente.Veamos otros ejemplos de circuitos combinados (serie – paralelo)Ejemplo: RotuleSiguiendo el camino de la corriente, observamos que para que ésta pueda circular, debencumplirse dos condiciones necesarias:1. Por lo menos uno de los interruptores A, B debe estar cerrado.2. Por lo menos uno de los interruptores C, D debe estar cerrado.Luego lo que necesitamos es (A o B) y (C o D); es decir, el rótulo es:(A + B) ● (C + D)Ejemplo: Dibuje un circuito que represente la expresión booleana (A ● B) ● (C + D).(A ● B) ● (C + D)⇓ ⇓ ⇓yEl rótulo original pudo haberse escrito A ● B ● (C + D).RP QCDABCDA B
  7. 7. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 7Ejemplo: Dibuje un circuito que represente la expresión booleana (A + B + C) + (X ● Y)El rótulo original pudo haberse escrito A + B + C + X ● Y.Ejercicios de práctica:1. Forme la tabla binaria correspondiente a tres interruptores en serie.2. Forme la tabla binaria correspondiente a tres interruptores en paralelo.3. Ilústrase a continuación una computadora muy simple, pero capaz de responder a la pregunta:“¿Están los dos interruptores cerrados?”. Si la respuesta es “sí”, se enciende la lámpara. Si larespuesta es “no”, la lámpara permanece apagada. Dibuje el circuito de una computadora deeste tipo capaz de responder a la pregunta “¿Está por lo menos uno de tres interruptorescerrado?”. Indique cómo se daría la respuesta.ABCDX YBATERÍA
  8. 8. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 84. Rotule5. Represente gráficamente (A + B) + (C ● D).6. Rotule7. RotuleDE FA B CB CD E FABCAD E
  9. 9. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 98. Represente gráficamente (A + B + C) ● (D + E ● F) + G.9. Represente gráficamente A ● (B ● D + E + C● F).10. Represente gráficamente X + Y + W ● Q + R.11. Rotule12. Represente gráficamente (A + B + C) ● (D ● E + F) ● H + I.13. Rotule14. Calcule el valor de cada una de las expresiones Booleanas siguientes:a. 1 + 0 + 0 ● 1b. 1 ● 1 ● 1c. 1 + (1 ● 0 ● 1)d. 0 ● (1 + 1)e. 1 ● (0 + 1 ● 0 + 0)CDEFBAEFAB C DG
  10. 10. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 10DEFINICIÓN DE ÁLGEBRA DE BOOLEUn conjunto cualquiera A en el que se han definido dos operaciones binarias que llamaremos sumalógica ( + ) y un producto lógico ( ● ), una operación unitaria que llamaremos complemento ( ∼ ), sedice que es un Álgebra de Boole si se cumplen las siguientes propiedades axiomáticas:A1. Conmutativa: para todo a y b que son elementos del conjunto A; la suma de a + b es igualque b + a de la misma manera que el producto de a • b es igual a b • a.∇ a, b ∈ A, a + b = b + a y a • b = b • aA2. Identidad: Los elementos neutros de ( + ) y ( ● ) son, respectivamente, el elemento cero (0) yel elemento (1).∇ a ∈ A, a + 0 = a y a • 1 = aA3. Distributiva:∇ a, b, c ∈ A, a + (b • c) = (a + b) • (a + c) y a • (b + c) = (a • b) + (a • c)A4. Complementario:∇ a ∈ A, a + ∼a = 1 y a • ∼a = 0Comentarios importantesa) De los axiomas anteriores se deducen las siguientes tablas para las operaciones ( + ) y( ● ).Suma lógica( + )Producto lógico( ● )+ 0 1 ● 0 10 0 1 0 0 01 1 1 1 0 1Así0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 10 • 0 = 00 • 1 = 01 • 0 = 01 • 1 = 1
  11. 11. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 11b) Para que el Álgebra de Boole anterior sea aplicable a circuitos lógicos se define un conjuntoA de dos elementos como A = {0, 1}, con las operaciones ( + ) y ( ● ). En consecuencia, lasvariables a, b, c,… que utilizamos son variables binarias, y sólo pueden tomar un valor deentre dos posibles valores que son “0” y “1”.Al Álgebra de Boole de varias variables binarias se le denomina Álgebra deBoole binaria. A partir de ahora supondremos que seguimos trabajando con esta álgebra.c) La operación producto lógico ( ● ) muchas veces se omitirá, dejándose sobreentendida si seescriben varias variables seguidas; así por ejemplo, son equivalentes las expresionessiguientes:a • (b + c) = a • b + a c ⇔ a (b + c) = a b + a cd) Se supondrá, al igual que en el álgebra ordinaria, que la operación ( ● ) es prioritaria sobrela ( + ), salvo que esta prioridad se altere por medio de los paréntesis. Así:a • (b + c)es lo mismo que a + (b • c)y es diferente a (a + b) • cTeoremasPor medio e los axiomas anteriores, se pueden demostrar los siguientes teoremas dados en la tabla.Teorema 1: DualidadSe puede pasar de una propiedad a otra análoga (dual) intercambiando entre sí las operaciones ( + )y ( ● ).Así por ejemplo, la dual de a + 0 = a es a ⋅ 1 = aEsto es lógico, pues si hemos demostrado una propiedad, la dual se puede demostrar haciendo lospasos duales de la citada demostración.Suma ProductoTeorema 2: Idempotencia a + a = a a • a = aTeorema 3: Identidad de los elementos 0 y 1 a + 1 = 1 a • 0 = 0Teorema 4: Absorción a + (a • b) = a a • (a + b) = aTeorema 5: Asociatividad a + (b + c) = (a + b) + c) a • (b • c) = (a • b) • c)Teorema 6: Complementarios de 0 y 1 ~ 0 = 1 ~ 1 = 0Teorema 7: Involución (o doble complemento) ~ (~ a ) = aTeorema 8: Leyes de Morgan ~ (a + b) = ~ a • ~ b ~ (a • b) = ~ a + ~ bTeorema 9: No tiene un nombre especial a + ~ a • b = a + b a • (~ a + b ) = a • b
  12. 12. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 12Como ejemplo, vamos a demostrar a través de axiomas uno de estos teoremas:Teorema 2: Idempotencia a + a = aDemostración:Partiremos del segundo miembro de la igualdad para llegar al primer miembro, aplicando losaxiomas del Álgebra de Boole.Pondremos a la izquierda los pasos de la demostración y a la derecha el axioma o teoremaaplicado.a = Por A2): a + 0 = a= a + 0 = Por A4): a + ~ a = 0= a + a • ~ a Por A3): a + (b • c) = (a + b) • (a + c)= (a + a) • (a + ~ a) = Por A4): a + ~ a = 1= (a + a) • 1 = Por A2): a • 1 = a= a + aCon lo que queda demostrada la idempotencia de la suma lógica.RELACIÓN ENTRE ÁLGEBRA DE CONJUNTOS, ÁLGEBRA DE PROPOSICIONES Y ÁLGEBRA DE BOOLE BINARIAHemos obtenido en los temas anteriores los siguientes resultados:• El conjunto de las partes de un conjunto tiene estructura de álgebra de Boole, con lasoperaciones unión e intersección, y las propiedades de la complementación.• El conjunto de las proposiciones lógicas tiene estructura de Álgebra de Boole con losconectivos disyunción, conjunción y negación.• Las equivalencias entre las operaciones de estos tres álgebras se ponen de manifiesto en lasiguiente tabla.Álgebra de conjuntos Álgebra de proposiciones Álgebra de BooleUnión (∪ ) Disyunción (∨ ) Suma ( + )Intersección ( ∩ ) Conjunción ( ∧ ) Producto ( • )Conjunto vacío (∅ ) Falso ( F ) Elemento 0 ( 0 )Conjunto universal ( U ) Verdadero ( V ) Elemento 1 ( 1 )Complemento ( ~ ) Negación ( ~ ) Complementario ( ~ )
  13. 13. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 13Ejemplo: Demostrar quea + b + 1 = 1 y a • b • 0 = 0a) Por tablas de valores.b) Por axiomas y teoremas.a) Por tablas de valores.Construiremos las tablas de valores por el procedimiento contrario al empleado en el álgebra deproposiciones, colocando primeramente los “0” y luego los “1” en lugar de las “V” y las “F”.a b a + b (a + b) + 1 = 1 a b a • b a • b • 0 = 00 0 0 1 0 0 0 00 1 1 1 0 1 0 01 0 1 1 1 0 0 01 1 1 1 1 1 1 0Donde se ve que siempre vale 1, luego:a + b + 1 = 1Donde se ve que siempre vale 0, luego:a • b • 0 = 0b) Por axiomas y teoremas.• a + b + 1 == ( a + b )+ 1 == 1• a • b • 0 == ( a • b ) • 0 == 0AsociativaA + 1 = 1 (siendo A = a + b)AsociativaA ⋅ 0 = 0 (siendo A = a • b)Nótese que ambas demostraciones son análogas debido a la dualidad existente entre las operaciones.FUNCIONES DE BOOLEVeamos ahora otras técnicas como aplicación de las funciones de Boole, que principalmente se usan enel diseño y simplificación de circuitos lógicos digitales en los que está basada la arquitectura básica dela computadora.Estas técnicas permiten simplificar las funciones booleanas y, de esta forma, conducen luego acircuitos digitales más sencillos y, por tanto, a circuitos lógicos que ocupan menos espacio (es decir,permiten la construcción de computadoras de menor tamaño).
  14. 14. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 14Relación entre estados eléctricos y estados lógicosSupongamos que estamos experimentando con uncircuito que posee dos entradas y una salida.Se obtienen diferentes salidas para unosdeterminados valores en las entradas, que sólo responden con tensiones eléctricas de 0 y 10 voltios; portanto, son señales digitales que tienen dos estados. De esta forma hemos obtenido las tensioneseléctricas de la tabla siguiente:Voltaje A Voltaje B Voltaje C0 voltios 0 voltios 0 voltios0 voltios 10 voltios 10 voltios10 voltios 0 voltios 10 voltios10 voltios 10 voltios 10 voltiosEsta es la situación real, pero conviene olvidarse por ahora de los estados eléctricos y trabajarcon estados lógicos de “0” y “1”.Tomando lo que se denomina lógica positiva se asocia:• La tensión más alta con el estado lógico “1”.• La tensión más baja con el estado lógico “0”.Si se hiciera la asociación contraria, estaríamos usando lógica negativa. Suponiendo queusamos lógica positiva, los valores de las tensiones eléctricas se representan en forma de estadoslógicos en la siguiente tabla:A B C0 0 00 1 11 0 11 1 1Y, como se ve, la salida C obtiene la suma lógica de las entradas A y B, es decir, que la funciónque realiza ese circuito esC = A + BQue en electrónica digital se corresponde con la puerta ORCIRCUITO
  15. 15. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 15En electrónica digital se dispone de las puertas elementales que se detallan en la tabla siguiente,con las que es posible trasladar cualquier función de Boole a un circuito electrónico.Puerta Función DescripciónNOT ~A ComplementoAND A • B ProductoOR A + B SumaXOR A • ~B + ~A • B Suma exclusivaNAND ~( A • B ) Complemento del productoNOR ~( A + B ) Complemento de la sumaNótese que las variables binarias se representan con letras mayúsculas.COMPUERTASMuchas de las funciones básicas de las unidades aritméticas y de control de las computadoras serealizan utilizando circuitos formados por combinaciones de compuertas3. Estas funciones incluyen:1. La suma de números binarios.2. La codificación binaria de números decimales.3. La decodificación de binario a decimal.4. La comparación de dos números.5. La sincronización.6. La cuenta.7. El almacenamiento de resultados aritméticos.Cada compuerta es un circuito que acepta una entrada o más, en forma de impulso (1) o impulsoinvertido (0), y proporciona una salida del mismo tipo, es decir, impulso o impulso invertido (1 o 0).ENTRADAS SALIDACompuerta Y (AND)La compuerta Y equivale a un circuito en serie. Produce como salida un impulso (1), si hayimpulso en todas sus entradas. El símbolo que sigue es el que se usa corrientemente para representaruna compuerta Y con dos entradas.3La compuerta constituye el circuito lógico elemental.CIRCUITOABA • B
  16. 16. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 16Compuerta O (OR)La compuerta O equivale a un circuito en paralelo, pues da como salida un impulso cuandocualquiera de sus entradas es un impulso. El impulso utilizado normalmente para representar unacompuerta O con dos entradas es el que figura a continuación.Inversor (Complemento)El inversor da como salida el estado opuesto al de entrada. Si la entrada es un impulso, la salidaes un impulso invertido y viceversa. Simbólicamente, decimos que a la entrada A corresponde la salida~A. ~A representa A invertido, es decir, el complemento de A. El símbolo es el que aparece acontinuación.Compuerta NO-Y (NAND)Llámase compuerta NO-Y al conjunto formado por una compuerta Y seguida de un inversor, talcomo se ilustra a continuación.El símbolo más comúnmente usado para esta compuerta es el siguiente.Le corresponde la tabla binariaY NO-Y⇓ ⇓A B A ⋅ B ~(A ⋅ B)0 0 0 10 1 0 11 0 0 11 1 1 0BA + BAA ~ AABA • B~ (A • B)AB~ (A • B)
  17. 17. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 17Compuerta NI (NOR)La compuerta NI está formada por una compuerta O seguida de un inversor.El símbolo usual esLe corresponde la tabla binariaO NI⇓ ⇓A B A + B ~(A + B)0 0 0 10 1 1 01 0 1 01 1 1 0Compuerta O EXCLUSIVA (XOR)4Tratándose de dos entradas, la compuerta O EXCLUSIVA queda representada por la expresiónbooleana A ⋅ ~B + ~A ⋅ B, que corresponde a.4XOR es la abreviatura de exclusive OR, nombre en inglés de este tipo de compuerta.~(A + B)AB~A • BBA • ~BBA + BA~(A + B)ABABA • ~B + ~A • B
  18. 18. Unidad 3.- Álgebra de BooleIng. Miguel Ángel Durán Jacobo 18SimplificandoLe corresponde la tabla binariaXOR⇓A B ~A ~B A • ~B ~A • B A • ~B + ~A • B0 0 1 1 0 0 00 1 1 0 0 1 11 0 0 1 1 0 11 1 0 0 0 0 0Si describimos la tabla, podemos decir, si A o B (pero no ambos) es un impulso, el resultado es tambiénun impulso. En cualquier otro caso, la salida es un impulso invertido.Ejercicios de práctica:1. Represente una compuerta Y con tres entradas. Dibuje también un circuito en serie sencillo contres interruptores.2. Represente una compuerta O con tres entradas. Forme la correspondiente tabla binaria.3. forme un atabla binaria para mostrar el efecto del inversor sobre un impulso y sobre un impulsoinvertido.4. Represente una compuerta NO-Y de tres entradas y forme su tabla binaria.5. Represente una compuerta NI de tres entradas y forme su tabla binaria.6. Represente una compuerta O de dos entradas con sendos inversores intercalados. Forme la tablabinaria correspondiente.7. Represente una compuerta Y de dos entradas con sendos inversores intercalados. Forme la tablabinaria correspondiente.8. Represente gráficamente (A + B) • (C + D)9. Represente gráficamente (A + B) • C10. Represente gráficamente (A • B) + (C • D)~A • BA • ~BABABA • ~B + ~A • B

×