Você está na página 1de 13

lgebra de Boole A

Jo ao Paulo Cerquinho Cajueiro 19 de agosto de 2009


A algebra de Boole foi desenvolvida por George Boole(18151864) em seu livro An Investigation of the Laws of Thought on Which are Founded the Mathematical Theories of Logic and Probabilities de 1854. Ela buscava uma base matem atica formal para a l ogica e probabilidade e passou um longo tempo sendo conhecida apenas por matem aticos, sem encontrar uma utilidade pr atica. Foi, de certo modo, descoberta por Claude Shannon(19162001), que a utilizou em sua tese de mestrado A Symbolic Analysis of Relay and Switching Circuits em 1937 para desenvolver circuitos el etricos que realizassem fun c oes l ogicas.

Postulados

Pensando em probabilidade, a id eia b asica da algebra booleana e de utilizar conceitos de algebra para expressar quest oes de probabilidade ou de l ogica. Neste sentido o n umero 1 expressa o conceito l ogico de verdadeiro ou o conceito probabil stico (ou melhor, de teoria de conjuntos) de todo o espa co amostral, o 0 e o equivalente l ogico de falso ou de conjunto nulo, a soma + equivale ao ou l ogico e a uni ao () de conjuntos e a multiplica c ao equivale a opera c ao l ogica e e a intersec c ao () de conjuntos. Os potulados s ao feitos de modo a garantir esta equival encia. Postulado 1 Opera c oes: Aa lgebra de Boole tem um conjunto K de 2 ou mais valores e duas opera co es: e +, de modo que para todo a, b pertencentes a K : (a) (b) Postulado 2 Valores Neutros: Existem valores 0 e 1 tais que: (a) (b) Postulado 3 comutatividade: (a) (b) a+b=b+a ab = ba (P3) a+0=a a1 = 1 (P2) ab K a+bK (P1)

Postulado 4 associatividade: (a) (b) a + (b + c) = (a + b) + c a (b c) = (a b) c (P4)

Postulado 5 distributividade: (a) (b) a + (b c) = (a + b) (a + c) a (b + c) = (a b) + (a c) (P5)

Postulado 6 exist encia de complemento: Para todo a K , existe um e apenas um a K , chamado o complemento de a, tal que: (a) a + a = 1 (P6) (b) a a = 0

Teoremas

V arias caracter sticas da algebra de Boole n ao aparecem diretamente nos postulados, mas podem ser inferidas a partir deles. Muitas destas caracter sticas ser ao u teis para n os, e abaixo descrevemos 10 teoremas, provados a partir dos postulados (ou de teoremas j a provados, o que d a no mesmo). Dentre os 10 teoremas mostrados, 9 deles tem 2 formas, aqui chamadas de (a) e (b), que s ao as formas duais dos teoremas. A dualidade ser a melhor discutida usando o teorema 1 como exemplo. Teorema 1: A soma ou o produto de um valor por ele mesmo e igual a ele mesmo. (a) (b) a+a=a aa = a (T1)

E a prova deste teorema encontra-se abaixo: a=a+0 = a + aa = (a + a) (a + a) = (a + a) 1 a=a+a a = a1 = a (a + a) = (a a) + (a a) = (a a) + 0 a = aa

Prova:

Note que a prova de T1(a) e id entica a de T1(b), ao se trocar as opera c oes de soma por multiplica c ao e vice-versa e os 0s por 1s e vice-versa. Isto n ao e uma coincid encia, mas vem diretamente do fato de que os postulados tem esta simetria. Em algebra de Boole isto e chamado de dualidade. Diz-se ent ao que uma express ao e o dual da outra quando se trocam os por + e vice-versa e os 0s por 1s e vice-versa. Al em disso, a simetria dos postulados garante que: se uma express ao f e verdadeira, logo a express ao dual fd tamb em e verdadeira. Por conta disto, para todos os teoremas subsequentes que tenham express oes duais, s o provaremaos uma delas, j a que o dual do teorema e automaticamente verdadeiro. 2

Teorema 2: (a) (b) Prova: a + 1 = a + (a + a) = (a + a) + a =a+a a+1=1 Teorema 3: a=a Prova: Seja a = b: ba = ab = aa b+a=a+b=a+a logo: a Teorema 4: (a) (b) Prova: a + ab = a1 + ab = a(b + b + a b = ab + ab + ab = ab + ab = a1 a + ab = a O signicado deste teorema e melhor visto atrav es de um diagrama de Venn1 , mostrando a e a b (lembrando que a multiplica c ao equivale ` a intersec c ao e a soma ` a uni ao). A gura 1 mostra justamente isto. Teorema 5: (a) (b) a + ab = a + b a (a + b) = a b (T5) a + ab = a a (a + b) = a (T4) b=a 0 1 (T3) a+1=1 a0 = 0 (T2)

ab

Figura 1: Diagrama de Venn demostrando o teorema T4.

ab

Figura 2: Diagrama de Venn demonstrando o teorema T5. Prova: a + a b = (a + a b) + a b = a + b(a + a) = a + b1 a + ab = a + b Teorema 6: (a) (b) Prova: ab + ab = a (a + b) (a + b) = a (T6)

a b + a b = a(b + b) = a1 ab + ab = a
1 na verdade, este e um diagrama de Johnston. Um diagrama de Venn mostraria todas as possibilidades: a b, a b, a b e a b.

ab

ab

Figura 3: Diagrama de Venn demonstrando o teorema T6.

abc ab a b

Figura 4: Diagrama de Venn demostrando o teorema T7. Teorema 7: (a) (b) Prova: ab + abc = ab1 + abc = a b (1 + c) + a b c = ab1 + abc + abc = a b + a c(b + b) ab + abc = ab + ac Teorema 8 Leis de DeMorgan2 : (a) (b) a + b = ab ab = a + b 5 (T8) ab + abc = ab + ac (a + b) (a + b + c) = (a + b) (a + c) (T7)

a+b

ab

ab

a+b

Figura 5: Diagrama de Venn mostrando que a)a b e o complemento de a + b e que b)a + b e o complemento de a b para provar as Leis de deMorgan (T8).

Prova: e o complemento de a+b: Prova-se mostrando que a b

(a + b)a b = a a b + b a b =0+0 (a + b)a b = 0

(a + b) + a b = (a + b + a)(a + b + b) = (1 + b)(1 + a) Logo: = 11 (a + b) + a b = 1 a+b ab

poss E vel ainda aplicar o teorema repetidas vezes e provar que: f (x1 , x2 , . . . , xn ) = fd (x1 , x2 , . . . , xn ) Teorema 9 Teorema do consenso: (a) (b) Prova: ab + ac + bc = ab + ac (a + b) (a + c) (b + c) = (a + b) (a + c) (T9)

a b + a c + 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) + a b c = abc + abc + abc + abc = (a b c + a b c) + (a b c + a b c) ab + ac + bc = ab + ac

ac

ab

Figura 6: Diagrama de Venn demonstrando o teorema do consenso. Teorema 10 Expans ao de Shannon3 :

(a) (b)

f (x1 , x2 , . . . , xn ) = x1 f (1, x2 , . . . , xn ) + x1 f (0, x2 , . . . , xn ) f (x1 , x2 , . . . , xn ) = [x1 + f (0, x2 , . . . , xn )] [x1 + f (1, x2 , . . . , xn )] (T10)

Prova: Considerando que x1 x1 = x1 1 e que x1 x1 = x1 x1 x1 = x1 0, podemos armar que: x1 f (x1 , x2 , . . . , xn ) = x1 f (1, x2 , . . . , xn ) E pelo mesmo racioc nio chegamos a: x1 f (x1 , x2 , . . . , xn ) = x1 f (0, x2 , . . . , xn ) Podemos ent ao separar a fun ca o e aplicar estas igualdades: f (. . .) = 1 f (. . .) = x1 f (. . .) + x1 f (. . .) f (. . .) = x1 f (1, x2 , . . . , xn ) + x1 f (0, x2 , . . . , xn )

Aplica c ao dos postulados e teoremas

Podemos aplicar os postulados e teoremas da algebra de Boole para simplicar equa c oes booleanas. Como estas equa c oes ser ao ou s ao implementadas por um circuito, isto signica um circuito menor e, consequentemente, mais barato e mais r apido. A tabela 1 condensa todas os postulados e teoremas at e ent ao desenvolvidos para facilitar o acesso. Exemplo 1: Minimize o circuito l ogico mostrado na gura 7.

P1 P2 P3 P4 P5 P6 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10

a, b K : a b K a+0=a a+b=b+a a + (b + c) = (a + b) + c a + (b c) = (a + b) (a + c) a+a=1 a+a=a a+1=1 a=a a + ab = a a + ab = a + b ab + ab = a ab + abc = ab + ac a + b = ab ab + ac + bc = ab + ac f (x1 , . . .) = x1 f (1, . . .) + x1 f (0, . . .)

a, b K : a + b K a1 = 1 ab = ba a (b c) = (a b) c a (b + c) = (a b) + (a c) aa = 0 aa = a a0 = 0 a (a + b) = a a (a + b) = a b (a + b) (a + b) = a (a + b) (a + b + c) = (a + b) (a + c) ab = a + b (a + b) (a + c) (b + c) = (a + b) (a + c) f (x1 , . . .) = [x1 + f (0, . . .)] [x1 + f (1, . . .)]

Tabela 1: Resumo dos postulados e Teoremas.


a b z

Figura 7: Circuito do exemplo 1. Resolu c ao: Pela an alise do circuito obtemos z = abc + ac ab. Aplicamos agora os postulados

e teoremas cab veis: z (a, b, c) = abc + ac ab


T8

= abc + ac (a + b)
T3

= abc + ac(a + b)
P5

= abc + aca + acb


P3 P3

= abc + aa c + abc
T1

= abc + ac + abc
P3

= abc + abc +ac


T6

= ab + ac
P5

z (a, b, c) = a(b + c) O circuito simplicado e mostrado na gura 8.


a b z

Figura 8: Circuito simplicado do exemplo 1.

Formas can onicas

H a casos em que e necess ario obter uma equa c ao booleana a partir de uma tabela verdade. Nestas situa c oes s ao bastante u teis as formas can onicas (tamb em conhecidas de formas padr oes) de soma de mintermos ou produto de maxtermos. Obviamente para entend e-las precisamos primeiro saber o que s ao mintermos e maxtermos. Vamos come car pela deni c ao de mintermos e analisar a forma de soma de mintermos. Um mintermo e um produto n ao barrado de todas as vari aveis da fun c ao, sejam elas barradas ou n ao. Considerando uma fun c ao de 4 vari aveis, s ao exemplos de mintermos: abcd, abcd e abcd. 9

N ao s ao mintermos abc (pois n ao tem todas as vari aveis), ab + cd (pois n ao e aveis tem que ser barradas uma um produto das 4 vari aveis), ab(cd) (pois as vari a uma) e nem abcdd (pois a vari avel d est a repetida). Um exemplo de fun c ao descrita na forma soma de mintermos (por simplicidade referido por sdm- soma de mintermos) e a fun c ao de 3 vari aveis g = abc + abc + abc. Para entender a utilidade desta forma, observe a tabela 2, que e uma tabela verdade da fun c ao g e de cada um dos mintermos presentes nela. a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 abc 0 0 0 1 0 0 0 0 abc 0 0 0 0 0 0 1 0 abc 0 0 0 0 0 0 0 1 g 0 0 0 1 0 0 1 1

Tabela 2: tabela verdade da fun c ao g = abc + abc + abc e seus mintermos. Um mintermo, sendo um produto de todas as vari aveis presentes, s o pode ser 1 em um u nico caso, o que e exemplicado na tabela. Al em disso mintermos diferentes representam um 1 em posi c oes diferentes da tabela verdade, logo a soma de mintermos indica qual das posi c oes da tabela-verdade e 1. Com base nisto, e poss vel descrever qualquer fun c ao l ogica no formato sdm. Fica ent ao f acil obter uma tabela verdade a partir de uma equa c ao na forma sdm ou vice-versa. Dada uma tabela verdade qualquer, cada linha em que a fun c ao e 1 corresponde a um mintermo. O mintermo abc s o ser a 1 quando a a 1 quando abc = 011 e assim por diante. Ou seja, etrada for abc = 111; abc ser para uma vari avel n ao barrada num mintermo corresponde aquela vari avel ser 1 na tabela verdade e uma vari avel barrada corresponde a um 0. A tabela 4 apresenta todos os mintermos de uma fun c ao de 4 vari aveis junto com a respectiva entrada que faz ele ser 1. Obviamente, com 2 vari aveis temos 4 mintermos poss veis (ab, ab, ab e ab), com 3 vari aveis temos 8 mintermos poss veis, com 4 temos 16 e assim por diante. bastante usual se trabalhar com equa E c oes na forma sdm. Uma das raz oes para isso e que uma sdm e uma soma de produtos, obviamente, e estamos acostumados a trabalhar com equa c oes na forma de soma de produtos devido ` as propriedades da algebra convencional. Mas a algebra de Boole abre a oportunidade de trabalharmos com uma equa c ao na forma produto de somas, o que leva a uma forma padr ao alternativa: a forma padr ao produto de maxtermos (ou pdm). Um maxtermo e uma soma n ao barrada de todas as vari aveis da fun c ao, sejam elas barradas ou n ao. Considerando uma fun c ao de 4 vari aveis, s ao exemplos de maxtermos: a + b + c + d, a + b + c + d e a + b + c + d. N ao s ao maxtermos a + b + c (pois n ao tem todas as vari aveis), ab + cd (pois 10

n ao e um produto das 4 vari aveis), a + b + (c + d) (pois as vari aveis tem que ser avel d est a repetida). barradas uma a uma) e nem a + b + c + d + d (pois a vari Da mesma forma que zemos com mintermos, vamos analisar a fun c ao exemplo g = (a + b + c) (a + b + c) (a + b + c) para entender a utilidade da forma pdm, observe a tabela 3, que e uma tabela verdade da fun c ao g e de cada um dos maxtermos presentes nela. a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 a+b+c 1 1 1 1 0 1 1 1 a+b+c 1 0 1 1 1 1 1 1 a+b+c 0 1 1 1 1 1 1 1 g 0 0 1 1 0 1 1 1

Tabela 3: tabela verdade da fun c ao g = (a + b + c) (a + b + c) (a + b + c) e seus maxtermos. Observa-se analisando a tabela que cada maxtermo s o e 0 para um u nico vetor de entrada e 1 para qualquer outra entrada. Pegando como exemplo o e 1 sempre que a = 1, que maxtermo a + b + c, como se trata de uma soma, ele b = 1 ou que c = 0 (pois c est a barrado), logo ele s o e 0 quando a = b = 0 e c = 1. Isto quer dizer que, enquanto cada mintermo representava uma linha da tabela verdade com sa da 1, cada maxtermo representa uma linha na tabela verdade com sa da 0. E para unir diferentes maxtermos, faz-se o produto deles, pois assim os 0s se somam na f ormula nal. Da a forma ser o produto dos maxtermos. Fica ent ao f acil descrever qualquer fun c ao como sdm ou pdm a partir de uma tabela verdade. Ou de uma equa c ao em uma das duas forma padr oes, obter a tabela verdade. A tabela 4 mostra tamb em os 16 maxtermos equivalentes a cada entrada poss vel com 4 vari aveis. Exemplo 2: Reanalisando as tabelas 2 e 3, e f acil chegar nas equa co es das fun co es g na forma pdm e g na forma sdm: g = (a + b + c)(a + b + c)(a + b + c)(a + b + c)(a + b + c) g = abc + abc + abc + abc + abc

(1) (2)

Exemplo 3: Deseja-se implementar um circuito que acione uma sa da f caso 2 ou mais de suas 3 entradas A, B e C forem 1. Resolu c ao (Usando Mintermos): O primeiro passo e montar a tabela verdade da fun ca o f , vide tabela 5 Analisando a tabela 5, podemos obter a equa ca o de f na forma sdm. f (A, B, C ) = ABC + ABC + ABC + ABC (3)

11

a 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

b 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

c 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

d 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

mintermo abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd

maxtermo a+b+c+d a+b+c+d a+b+c+d a+b+c+d a+b+c+d a+b+c+d a+b+c+d a+b+c+d a+b+c+d a+b+c+d a+b+c+d a+b+c+d a+b+c+d a+b+c+d a+b+c+d a+b+c+d

Tabela 4: Mintermos e maxtermos equivalentes a cada um dos poss veis valores de entrada de uma fun c ao de 4 vari aveis. A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 f 0 0 0 1 0 1 1 1

Tabela 5: Tabela verdade da fun c ao f .

E ent ao basta aplicar os postulados e teoremas cab veis a ` equa ca o 3 para

12

minimizar a fun ca o. f (A, B, C ) = ABC + ABC + ABC + ABC


AB (T 6)

= ABC + ABC + AB
AC +AB (T 7)

= ABC + AC +AB
BC +AC (T 7)

f (A, B, C ) = BC + AC + AB Resolu c ao (Usando maxtermos): Reanalisando a tabela 5, obtemos a equa ca o de f na forma pdm. f (A, B, C ) = (A + B + C )(A + B + C )(A + B + C )(A + B + C ) E novamente aplicando os postulados e teoremas cab veis: f (A, B, C ) = (A + B + C )(A + B + C )(A + B + C )(A + B + C )
A+B (T 6)

(4)

(5)

= (A + B ) (A + B + C )(A + B + C )
A+C (T 7)

= (A + B )(A + C ) (A + B + C )
B +C (T 7)

f (A, B, C ) = (A + B )(A + C )(B + C )

(6)

f E acil mostrar que a equa ca o 6 e equivalente a ` 4. Para tanto basta aplicar repetidas vezes o postulado da distributividade (P5).

13

Você também pode gostar