Vous êtes sur la page 1sur 10

4.2 Optimizacin de expresiones booleanas.

Las expresiones booleanas se usan para determinar si un conjunto de una o ms condiciones es verdadero o falso, y el resultado de su evaluacin es un valor de verdad. Los operandos de una expresin booleana pueden ser cualquiera de los siguientes:

Expresiones relacionales: que comparan dos valores y determinan si existe o no una cierta relacin entre ellos (ver ms adelante), tal como mfn<10; Funciones booleanas: tal como p (v24), que regresa un valor de verdad (estos se explican bajo "Funciones booleanas"). Las expresiones relacionales permiten determinar si una relacin dada se verifica entre dos valores. La forma general de una expresin relacional es:

Expresin-1 operador-de-relacin expresin-2 Dnde:

Expresin-1 es una expresin numrica o de cadena Operador-de-relacin es uno de los siguientes: = Igual No igual (diferente de) < Menor que <= Menor o igual que Mayor que >= Mayor o igual que Contiene (puede ser usado slo en expresiones de cadena)

Expresin-2 es una expresin del mismo tipo que expresin-1, o sea, expresin- 1 y expresin-2 deben ser ambas expresiones numricas o ambas expresiones de cadena. Los operadores de relacin = <> < <= > >=tienen su significado convencional cuando se aplican a expresiones numricas (dentro de los lmites de precisin de los valores numricos definidos bajo "Expresiones numricas"). Cuando se comparan expresiones de cadena, se aplican las siguientes reglas:

Excepto por el operador ":" (contiene), las cadenas se comparan exactamente en la forma en que ocurren, o sea, las letras maysculas y minsculas se comparan de acuerdo con el cdigo ASCII que les corresponde (p.ej. A ser considerada menor que a);

Dos expresiones de cadena no son consideradas iguales, a menos que tengan la misma longitud. Si dos expresiones generan cadenas de diferente longitud que son idnticas, carcter por carcter, hasta el total de la longitud de la ms corta, entonces, la ms corta ser considerada menor que la ms larga.

El operador: (contiene), busca una cadena de caracteres (definida por expresin-2) en otra cadena (definida por expresin-1). Si el segundo operando existe en cualquier parte del segundo operando, el resultado es Verdadero (TRUE). Este operador es insensible al hecho de que los caracteres se hallen en maysculas o minsculas: por lo que las letras minsculas se consideran iguales a su letra mayscula correspondiente. Por ejemplo, el resultado de: v10: 'qumica'

Ser Verdadero (True) si, y slo si, el campo 10 contiene la cadena qumica en caso contrario, el resultado ser Falso (False). Ntese que el segundo operando puede ser cualquier cadena o carcter, y no necesita ser una palabra como tal. Por lo tanto, en este ejemplo, el resultado ser Verdadero no slo si el campo 10 contiene la palabra qumica, sino tambin si contuviera bioqumica, fotoqumicas, qumicamente, etc. Los operandos de una expresin booleana pueden combinarse con los operadores siguientes:

NOT (NO) Este operador produce el valor Verdadero, si su operando es Falso; y el valor Falso, si su operando es Verdadero. El operador NOT slo puede usarse como operador signo +, o sea, siempre se aplica a la expresin booleana que le sigue;

AND (Y) Este operador produce el valor Verdadero si ambos operandos son Verdadero. Si cualquiera de los dos operandos es Falso, entonces el resultado ser Falso; OR (O) Este operador realiza una operacin O-inclusivo. El resultado es Verdadero si cualquiera de los dos operandos, o ambos son Verdadero. En caso contrario, es Falso.

Al evaluar expresiones booleanas, y en ausencia de parntesis, CDS/ISIS ejecutar las operaciones NOT en primer lugar, despus las operaciones AND, y finalmente las OR. Las series de dos o ms operadores del mismo nivel, se ejecutan de izquierda a derecha. Se pueden usar parntesis para alterar el orden de evaluacin: las expresiones dentro de parntesis se evalan antes, y las expresiones entre parntesis internos a otros, son evaluadas antes que las expresiones externas a los parntesis.

1. LGEBRA DE BOOLE. El lgebra de Boole se llama as debido a George Boole, quien la desarroll a mediados del siglo XIX. El lgebra de Boole denominada tambin lgebra de la lgica, permite prescindir de la intuicin y simplificar deductivamente afirmaciones lgicas que son todava ms complejos. El objetivo principal de este tema es llegar a manejar los postulados y teoremas del lgebra de Boole como herramienta bsica en el anlisis y sntesis de circuitos digitales. Si lo desea, elija alguna opcin haciendo clic sobre ella. 1.1 Definiciones 1.3 Teoremas Fundamentales 1.5 Funciones de Conmutacin 1.7 Formas de Expresin de una funcin de Conmutacin 1.1 DEFINICIONES 1. Se establecen los conceptos fundamentales (smbolos o trminos no definidos). 2. Se define un conjunto de postulados que forman la base del lgebra. 3. Se constituyen los teoremas fundamentales del lgebra a partir de los postulados. A su vez, las exigencias y condiciones que deben reunir los postulados son: 1. Los postulados deben ser coherentes o consistentes para que una lgebra definida pueda desarrollarse por deducciones lgicas. En caso contrario, el sistema resulta contradictorio. 2. Los postulados deben ser independientes; es decir irreductibles recprocamente (libre de reducciones) 3. Los postulados deben ser tan simples en su enunciado como sea posible; es decir, no separables en dos o ms partes. 1.2 POSTULADOS. P.1. Existe un conjunto M de elementos sujetos a una relacin de equivalencia denotada por el signo = que satisfacen el principio se sustitucin. P.2.a. Para toda (A, B) en M, A + B es una operacin binaria (suma lgica) denotada por el signo +, tal que: (A + B) est en M Es decir, el conjunto M es cerrado a esta operacin. P.2.b. Para toda (A, B) en M, A . B es una operacin binaria (producto lgico) denotada por el signo ., tal que: (A . B) est en M Es decir, el conjunto M es cerrado a esta operacin. P.3.a. Existe un elemento 0 en M, tal que: A+0=A para toda A en M. P.3.b. Existe un elemento 1 en M, tal que: A.1=A para toda A en M. P.4.a. Para toda (A, B) en M: A+B=B+A 1.2 Postulados 1.4 Compuertas Lgicas 1.6 Formas normales 1.8 Niveles de Conmutacin 1.9 Ejercicios

Se satisface la propiedad conmutativa P.4.b. Para toda (A, B) en M: A.B=B.A Se satisface la propiedad conmutativa P.5.a. Para toda (A, B, C) en M: A + (B . C) = (A + B) . (A + C) Ley distributiva de la suma sobre el producto P.5.b. Para toda (A, B, C) en M: A . (B + C) = (A . B) + (A . C) Ley distributiva del producto sobre la suma P.6.a. Para todo elemento A en M, existe un elemento A', tal que: A + A' = 1 P.6.b. Para todo elemento A en M, existe un elemento A', tal que: A . A' = 0 P.7. Existen por lo menos (A, B) en M, tal que: A es diferente de B Se habr observado cierta similitud entre estos postulados y los del lgebra ordinaria. Ntese sin embargo, que la primera ley distributiva P.5.a. no es vlida en el lgebra ordinaria y que tampoco existe ningn elemento A' en dicha lgebra. Tambin se notar que los postulados se presentaron por pares. Una observacin ms detenida, muestra que existe una dualidad entre los smbolos + y ., lo mismo que entre los dgitos 1 y 0. Si el smbolo + se sustituye por . y . por +, as como todos los UNOS se sustituyen por CEROS y los CEROS por UNOS, en cualquiera de los postulados de cada par, el resultado es el otro postulado. A causa de esta dualidad fundamental, cada teorema que se presenta tendr su dual que se obtendr efectuando la sustitucin mencionada; por tanto, la demostracin de un teorema implica la validez de su teorema dual. 1.3 TEOREMAS FUNDAMENTALES. A continuacin se presentan los teoremas principales del lgebra de Boole, los cuales son la base del trabajo subsecuente. Es posible demostrar dichos teoremas por cualesquiera de los siguientes mtodos: 1. Algebraicamente (empleando postulados y teoremas ya demostrados). 2. Grficamente (por medio de los diagramas de Venn). 3. Por induccin perfecta (empleando tablas de verdad). Aqu se emplear el mtodo algebraico pues se considera la mejor manera de iniciarse en esta lgebra, adems de que slo se demostrarn los teoremas primales, pero aplicando las reglas de dualidad mencionadas anteriormente, se podr obtener la parte dual. T.1. Teoremas sobre la UNICIDAD. 1.a. El elemento 0 es nico. 1.b. El elemento 1 es nico. Demostracin de 1.a. Por contradiccin, supngase que 0 y 01 son neutros aditivos, por lo que deben satisfacer al postulado P.3.a, es decir: A + 0 = A y A1 + 01 = A1 Si A1 = 0 y A = 01 y como 0 es neutro, por suposicin, entonces:

01 + 0 = 0

(1)

Adems como 01 es neutro, por suposicin, entonces: 0 + 01 = 0 De (1) y (2) se tiene: 01 = 0 con lo que se demuestra el teorema. T.2. Teoremas sobre la EQUIPOTENCIA. 2.a. A + A = A 2.b. A . A = A Demostracin de 2.a. A + A = (A + A) . 1 A + A = (A + A) . (A + A') A + A = A + (A . A') A+A=A+0 A+A=A T.3. 3.a. A + 1 = 1 3.b. A . 0 = 0 Demostracin de 3.a. A + 1 = 1 . (A + 1) A + 1 = (A + A') . (A + 1) A + 1 = A + (A' . 1) A + 1 = A + A' A+1=1

(2)

(P.3.b.) (P.6.a.) (P.5.a) (P.6.b.) (P.3.a.)

(P.3.b.) (P.6.a) (P.5.a) (P.3.b.) (P.6.a.)

T.4. Teoremas de ABSORCIN. 4.a. A + (A . B) = A 4.b. A . (A + B) = A Demostracin de 4.a. A + (A . B) = (A . 1) + (A . B) A + (A . B) = A . (1 + B) A + (A . B) = A . 1 A + (A . B) = A T.5. El elemento A' es nico. Demostracin Por contradiccin, supngase que existen dos elementos distintos A'1 y A'2, tales que satisfacen los postulados P.6.a. yP.6.b., es decir: A + A'1 = 1 y A + A'2 = 1 A . A'1 = 0 y A . A'2 = 0

(P.3.b.) (P.5.b.) (T.3.a.) (P.3.b.)

Entonces: A'2 = 1 . A'2 A'2 = (A + A'1) . A'2 A'2 = (A . A'2 ) + (A'1 . A'2) A'2 = 0 + (A'1 . A'2) A'2 = (A . A'1) + (A'1 . A'2) A'2 = (A + A'2) . A'1 A'2 = 1 . A'1 A'2 = A'1 T.6. Para toda A en M, A = A'' Demostracin Sea A'' = X, por tanto: A' + X = 1 y A' , X = 0 Pero: A' + A = 1 y A' . A = 0

(P.3.b) (por suposicin) (P.5.b.) (por suposicin) (por suposicin) (P.5.b) (por suposicin) (P.3.b.)

(P.6.)

(P.6.)

As que tanto X como A' satisfacen el postulado P.6. como el complemento de A, por tanto: X = A, es decir, A'' = A T.7. Teoremas de ABSORCIN 7.a. A . [(A + B) + C] = [(A + B) + C] . A = A 7.b. A + [(A . B) . C] = [(A . B) . C] = A Demostracin de 7.a. A . [(A + B) + C] = A . (A + B) + (A . C) A . [(A + B) + C] = (A . A) + (A . B) + (A . C) A . [(A + B) + C] = A + (A . B) + (A . C) A . [(A + B) + C] = A . (1 + B + C) A . [(A + B) + C] = A . 1 A . [(A + B) + C] = A T.8. Teoremas sobre la ASOCIACIN. 8.a. A + (B + C) = (A + B) + C 8.b. A . (B . C) = (A . B) . C Demostracin de 8.a. Sea: Z = [(A + B) + C] . [A + (B + C)] Z = {A . [(A + B) + C]} + {(B + C) . [(A + B) + C]} Z = A + {(B + C) . [(A + B) + C]} Z = A + {B . [(A + B) + C] + C . [(A + B) + C]} Z = A + {B + C . [(A + B) + C]} Z = A + (B + C)

(P.5.b.) (P.5.b.) (T.2.) (P.5.b.) (T.3.) (P.3.b.)

(P.5.b.) (T.7.) (P.5.b.) (T.7.) (T.7.) (1)

Como: Z = [(A + B) + C] . [A + (B + C)] Z = {(A + B) . [A + (B + C)]} + {C . [A + (B + C)]} Z = {(A + B) . [A + (B + C)]} + C Z = {A . [A + (B + C)] + B . [A + (B + C)]} + C Z = {A . [A + (B + C)] + B} + C Z = (A + B) + C Por consiguiente, de (1) y (2) y por transitividad: Z = A + (B + C) = (A + B) + C = A + B + C T.9. Teoremas sobre la COMPLEMENTACIN. 9.a. A + (A' . B) = A + B 9.b. A . (A' + B) = A . B Demostracin de 9.a. A + (A' . B) = (A + A') . (A + B) A + (A' . B) = 1 . (A + B) A + (A' . B) = A + B T.10. Teoremas de DeMORGAN. 10. a. (A + B)'' = A' . B' 10.b. (A . B)' = A' + B' Demostracin de 10.a. Primera parte: (A + B) + (A' . B') = [(A + B) + A'] . [(A + B) + B'] (A + B) + (A' . B') = [A' + (A + B)] . [(A + B) + B'] (A + B) + (A' . B') = [(A' + A) + B] . [A + (B + B')] (A + B) + (A' . B') = (1 + B) . (A + 1) (A + B) + (A' . B') = 1 . 1 (A + B) + (A' . B') = 1 Segunda parte: (A + B) . (A' . B') = (A' . B') . (A + B) (A + B) . (A' . B') = (A' . B' . A) + (A' . B' . B) (A + B) . (A' . B') = 0 + 0 (A + B) . (A' . B') = 0 Por tanto, de (1) y (2) se concluye que: (A + B)' = A' . B' T.11. 11.a. (A . B) + (A' . C) + (B . C) = (A . B) + (A' . C) 11.b. (A + B) . (A' + C) . (B + C) = (A + B) . (A' + C) Demostracin de 11.a.

(P.5.b.) (T.7.) (P.5.b.) (T.7.) (T.7.) (2)

(P.5.a.) (P.6.a.) (P.3.b.)

(P.5.a.) (P.4.a.) (T.8.) (P.6.a.) (T.3.a.) (T.2.b.) (1)

(P.4.b.) (P.5.b.) (P.6.b.) (T.2.a.) (2)

(A . B) + (A' . C) + (B . C) = (A . B . 1) + (A' . 1 . C) + (1 . B . C) = = [A . B . (C + C')] + [A' . (B + B') . C] + [(A + A') . B . C ] = = (A B C) + (A B C') + ( A' B C) + (A' B' C) + (A B C) + (A' B C) = = (A B C) + (A B C') + ( A' B C) + (A' B' C) = = [A . B . (C + C')] + [A' . C . (B + B')] = = (A . B . 1) + (A' . C . 1) (A . B) + (A' . C) + (B . C) = (A . B) + (A' . C) T.12. 12.a. (A . B) + (A . B' . C) = (A . B) + (A . C) 12.b. (A + B) . (A + B' + C) = (A + B) . (A + C) Demostracin de 12.a. (A . B) + (A . B' . C) = A . [B + (B' . C)] (A . B) + (A . B' . C) = A . [(B + B') . (B + C)] = A . (B + C) (A . B) + (A . B' . C) = (A . B) + (A . C) T.13. 13.a. (A . B) + (A . B') = A 13.b. (A + B) . (A + B') = A Demostracin de 13.a. (A . B) + (A . B') = A . (B + B') (A . B) + (A . B') = A . 1 (A . B) + (A . B') = A Para fcil referencia, los teoremas se resumen en la siguiente tabla: TEOREMA PRIMAL T.1.a. 0 es nico T.2.a A + A = A T.3.a. A + 1 = A T.4.a. A + (A . B) = A T.5. A' es nico T.6. A = A'' T.7.a. A . [(A + B) + C] = [(A + B) + C] . A = A T.8.a. A + (B + C) = (A + B) + C T.9.a. A + (A' . B) = A + B T.10.a. (A + B)' = A' . B' T.11.a. (A . B) + (A' . C) + (B . C) = (A . B) + (A' .C ) T.12.a. (A . B) + (A . B' . C) = (A . B) + (A . C) T.13.a. (A . B) + (A . B') = A

(P.3.b.) (P.6.b.) (P.5.b.) (T.2.) (P.5.a.) (P.6.a.) (P.3.b.)

(P.5.b.) (T.9.a.) (P.5.b.)

(P.5.b.) (P.6.b.)

TEOREMA DUAL T.1.b. 1 es nico T.2.b. A . A = A T.3.b. A . 0 = 0 T.4.b. A . (A + B) = A No tiene No tiene T.7.b. A + [(A . B) . C] = [(A . B) . C] + A = A T.8.b. A . (B . C) = (A . B) . C T.9.b. A . (A' + B) = A . B T.10.b. (A . B)' = A' + B' T.11.b. (A + B)(A' + C)(B + C) = (A + B)(A' + C) T.12.b. (A + B)(A + B' + C) = (A + B) (A + C) T.13.b. (A + B) . (A + B') = A

.2 Optimizacin de expresiones booleanas. Las expresiones booleanas se usan para determinar si un conjunto de una o ms condiciones es verdadero o falso, y el resultado de su evaluacin es un valor de verdad. Los operandos de una expresin booleana pueden ser cualquiera de los siguientes: Expresionesrelacionales: que comparan dos valores y determinan si existe o no una cierta relacin entre ellos (ver ms adelante), tal como mfn<10; Funciones booleanas: tal como p(v24), que regresa un valor de verdad (estos se explican bajo "Funciones booleanas"). Las expresiones relacionales permiten determinar si una relacin dada se verifica entre dos valores. La forma general de una expresin relacional es: Expresin-1 operador-de-relacin expresin-2 Donde: expresin-1 es una expresin numrica o de cadena operador-de-relacin es uno de los siguientes: *= Igual *<> No igual (diferente de) *< Menor que *<= Menor o igual que *> Mayor que *>= Mayor o igual que *: Contiene (puede ser usado slo en expresiones de cadena) expresin-2 es una expresin del mismo tipo que expresin-1, o sea, expresin1 y expresin-2 deben ser ambas expresiones numricas o ambas expresiones de cadena. Los operadores de relacin = <> < <= > >=tienen su significado convencional cuando se aplican a expresiones numricas (dentro de los lmites de precisin de los valores numricos definidos bajo "Expresiones numricas"). Cuando se comparan expresiones de cadena, se aplican las siguientes reglas: *Excepto por el operador ":" (contiene), las cadenas se comparan exactamente en la forma en que ocurren, o sea, las letras maysculas y minsculas se comparan de acuerdo con el cdigo ASCII que les corresponde (p.ej. A ser considerada menor que a); *Dos expresiones de cadena no son consideradas iguales, a menos que tengan la misma longitud. Si dos expresiones generan cadenas de diferente longitud que son idnticas, carcter por carcter, hasta el total de la longitud de la ms corta, entonces, la ms corta ser considerada menor que la ms larga El operador: (contiene), busca una cadena de caracteres (definida por expresin-2) en otra cadena (definida por expresin-1). Si el segundo operando existe en cualquier parte del segundo operando, el resultado es Verdadero (TRUE). Este operador es insensible al hecho de que los caracteres se hallen en maysculas o minsculas: por lo que las letras minsculas se consideran iguales a su letra mayscula correspondiente. Por ejemplo, el resultado de: v10: 'qumica' Ser Verdadero (True) si, y slo si, el campo 10 contiene la cadena qumica. en caso contrario, el resultado ser Falso (False). Ntese que el segundo operando puede ser cualquier cadena o carcter, y no necesita ser una palabra como tal. Por lo tanto, en este ejemplo, el resultado ser Verdadero no slo si el campo 10 contiene la palabra qumica, sino tambin si contuviera bioqumica, fotoqumicas, qumicamente, etc. Los operandos de una expresin booleana pueden combinarse con los operadores siguientes: *NOT( NO) Este operador produce el valor Verdadero, si su operando es Falso; y el valor Falso, si su operando es Verdadero. El operador NOT slo puede usarse como operador

signo +, o sea, siempre se aplica a la expresin booleana que le sigue; *AND( Y) Este operador produce el valor Verdadero si ambos operandos son Verdadero. Si cualquiera de los dos operandos es Falso, entonces el resultado ser Falso; *OR(O) Este operador realiza una operacin O-inclusivo. El resultado es Verdadero sicualquiera de los dos operandos, o ambos son Verdadero. En caso contrario, es Falso. Al evaluar expresiones booleanas, y en ausencia de parntesis, CDS/ISIS ejecutar las operaciones NOT en primer lugar, despus las operaciones AND, y finalmente las OR. Las series de dos o ms operadores del mismo nivel, se ejecutan de izquierda a derecha. Se pueden usar parntesis para alterar el orden de evaluacin: las expresiones dentro de parntesis se evalan antes, y las expresiones entre parntesis internos a otros, son evaluadas antes que las expresiones externas a los parntesis.

Vous aimerez peut-être aussi