Algebra

337 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
337
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
7
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Algebra

  1. 1. ´ Algebra de Boole Jo˜o Paulo Cerquinho Cajueiro a 19 de agosto de 2009 A ´lgebra de Boole foi desenvolvida por George Boole(1815–1864) em seu alivro An Investigation of the Laws of Thought on Which are Founded the Mathe-matical Theories of Logic and Probabilities de 1854. Ela buscava uma base ma-tem´tica formal para a l´gica e probabilidade e passou um longo tempo sendo a oconhecida apenas por matem´ticos, sem encontrar uma utilidade pr´tica. Foi, a ade certo modo, descoberta por Claude Shannon(1916–2001), que a utilizou emsua tese de mestrado A Symbolic Analysis of Relay and Switching Circuits em1937 para desenvolver circuitos el´tricos que realizassem fun¸˜es l´gicas. e co o1 PostuladosPensando em probabilidade, a id´ia b´sica da ´lgebra booleana ´ de utilizar e a a econceitos de ´lgebra para expressar quest˜es de probabilidade ou de l´gica. a o oNeste sentido o n´mero 1 expressa o conceito l´gico de verdadeiro ou o conceito u oprobabil´ıstico (ou melhor, de teoria de conjuntos) de todo o espa¸o amostral, co 0 ´ o equivalente l´gico de falso ou de conjunto nulo, a soma + equivale e oao ou l´gico e a uni˜o (∪) de conjuntos e a multiplica¸˜o equivale a opera¸˜o o a ca cal´gica e e a intersec¸˜o (∩) de conjuntos. Os potulados s˜o feitos de modo a o ca agarantir esta equivalˆncia. ePostulado 1 – Opera¸˜es: coA algebra de Boole tem um conjunto K de 2 ou mais valores e duas opera¸oes: ´ c˜· e +, de modo que para todo a, b pertencentes a K: (a) a·b ∈ K (P1) (b) a+b∈KPostulado 2 – Valores Neutros:Existem valores 0 e 1 tais que: (a) a+0=a (P2) (b) a·1 = 1Postulado 3 – comutatividade: (a) a+b=b+a (P3) (b) a·b = b·a 1
  2. 2. Postulado 4 – associatividade: (a) a + (b + c) = (a + b) + c (P4) (b) a · (b · c) = (a · b) · cPostulado 5 – distributividade: (a) a + (b · c) = (a + b) · (a + c) (P5) (b) a · (b + c) = (a · b) + (a · c)Postulado 6 – existˆncia de complemento: ePara 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 = 02 TeoremasV´rias caracter´ a ısticas da ´lgebra de Boole n˜o aparecem diretamente nos pos- a atulados, mas podem ser inferidas a partir deles. Muitas destas caracter´ısticasser˜o uteis para n´s, e abaixo descrevemos 10 teoremas, provados a partir dos a ´ opostulados (ou de teoremas j´ provados, o que d´ no mesmo). a a Dentre os 10 teoremas mostrados, 9 deles tem 2 formas, aqui chamadas de (a)e (b), que s˜o as formas duais dos teoremas. A dualidade ser´ melhor discutida a ausando o teorema 1 como exemplo.Teorema 1:A soma ou o produto de um valor por ele mesmo ´ igual a ele mesmo. e (a) a+a=a (T1) (b) a·a = aE a prova deste teorema encontra-se abaixo: a=a+0 a = a·1Prova: = a + a·a = a · (a + a) = (a + a) · (a + a) = (a · a) + (a · a) = (a + a) · 1 = (a · a) + 0 a=a+a a = a·a Note que a prova de T1(a) ´ idˆntica a de T1(b), ao se trocar as opera¸˜es e e code soma por multiplica¸˜o e vice-versa e os 0’s por 1’s e vice-versa. Isto n˜o ´ ca a euma coincidˆncia, mas vem diretamente do fato de que os postulados tem esta esimetria. Em ´lgebra de Boole isto ´ chamado de dualidade. Diz-se ent˜o que a e auma express˜o ´ o dual da outra quando se trocam os · por + e vice-versa e os a e0’s por 1’s e vice-versa. Al´m disso, a simetria dos postulados garante que: se uma express˜o f ´ e a everdadeira, logo a express˜o dual fd tamb´m ´ verdadeira. Por conta disto, para a e etodos os teoremas subsequentes que tenham express˜es duais, s´ provaremaos o ouma delas, j´ que o dual do teorema ´ automaticamente verdadeiro. a e 2
  3. 3. Teorema 2: (a) a+1=1 (T2) (b) a·0 = 0Prova: a + 1 = a + (a + a) = (a + a) + a =a+a a+1=1Teorema 3: a=a (T3)Prova:Seja a = b: b·a = a·b = a·a 0 b+a=a+b=a+a 1logo: a b=aTeorema 4: (a) a + a·b = a (T4) (b) a · (a + b) = aProva: a + a·b = a·1 + a·b = a(b + b + a · b = a·b + a·b + a·b = a·b + a·b = a·1 a + a·b = a O significado deste teorema ´ melhor visto atrav´s de um diagrama de Venn1 , e emostrando a e a · b (lembrando que a multiplica¸˜o equivale ` intersec¸˜o e a ca a casoma ` uni˜o). A figura 1 mostra justamente isto. a aTeorema 5: (a) a + a·b = a + b (T5) (b) a · (a + b) = a · b 3
  4. 4. a a·b b Figura 1: Diagrama de Venn demostrando o teorema T4. a a·b Figura 2: Diagrama de Venn demonstrando o teorema T5.Prova: a + a · b = (a + a · b) + a · b = a + b(a + a) = a + b·1 a + a·b = a + bTeorema 6: (a) a·b + a·b = a (T6) (b) (a + b) · (a + b) = aProva: a · b + a · b = a(b + b) = a·1 a·b + a·b = a 1 na verdade, este ´ um diagrama de Johnston. Um diagrama de Venn mostraria todas as epossibilidades: a · b, a · b, a · b e a · b. 4
  5. 5. a·b a·b Figura 3: Diagrama de Venn demonstrando o teorema T6. c a·b·c a·b a b Figura 4: Diagrama de Venn demostrando o teorema T7.Teorema 7: (a) a·b + a·b·c = a·b + a·c (T7) (b) (a + b) · (a + b + c) = (a + b) · (a + c)Prova: a·b + a·b·c = a·b·1 + a·b·c = a · b · (1 + c) + a · b · c = a·b·1 + a·b·c + a·b·c = a · b + a · c(b + b) a·b + a·b·c = a·b + a·cTeorema 8 – Leis de DeMorgan2 : (a) a + b = a·b (T8) (b) a·b = a + b 5
  6. 6. a+b a·b a·b a+bFigura 5: Diagrama de Venn mostrando que a)a · b ´ o complemento de a + b e eque b)a + b ´ o complemento de a · b para provar as Leis de deMorgan (T8). eProva: (a + b)a · b = a · a · b + b · a · bProva-se mostrando que a · b ´ o complemento de a+b: e =0+0 (a + b)a · b = 0(a + b) + a · b = (a + b + a)(a + b + b) = (1 + b)(1 + a) Logo: = 1·1(a + b) + a · b = 1 a+b a·b´E poss´ ainda aplicar o teorema repetidas vezes e provar que: ıvel f (x1 , x2 , . . . , xn ) = fd (x1 , x2 , . . . , xn )Teorema 9 – Teorema do consenso: (a) a·b + a·c + b·c = a·b + a·c (T9) (b) (a + b) · (a + c) · (b + c) = (a + b) · (a + c)Prova: 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 = 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 + a·c + b·c = a·b + a·c 6
  7. 7. a·c a·b Figura 6: Diagrama de Venn demonstrando o teorema do consenso.Teorema 10 – Expans˜o de Shannon3 : a (a) f (x1 , x2 , . . . , xn ) = x1 · f (1, x2 , . . . , xn ) + x1 · f (0, x2 , . . . , xn ) (b) 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, podemosafirmar 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˜o separar a fun¸ao e aplicar estas igualdades: a c˜ f (. . .) = 1 · f (. . .) = x1 · f (. . .) + x1 · f (. . .) f (. . .) = x1 · f (1, x2 , . . . , xn ) + x1 · f (0, x2 , . . . , xn )3 Aplica¸˜o dos postulados e teoremas caPodemos aplicar os postulados e teoremas da ´lgebra de Boole para simplificar aequa¸˜es booleanas. Como estas equa¸˜es ser˜o ou s˜o implementadas por um co co a acircuito, isto significa um circuito menor e, consequentemente, mais barato emais r´pido. A tabela 1 condensa todas os postulados e teoremas at´ ent˜o a e adesenvolvidos para facilitar o acesso.Exemplo 1:Minimize o circuito l´gico mostrado na figura 7. o 7
  8. 8. P1 ∀a, b ∈ K : a · b ∈ K ∀a, b ∈ K : a + b ∈ KP2 a+0=a a·1 = 1P3 a+b=b+a a·b = b·aP4 a + (b + c) = (a + b) + c a · (b · c) = (a · b) · cP5 a + (b · c) = (a + b) · (a + c) a · (b + c) = (a · b) + (a · c)P6 a+a=1 a·a = 0T1 a+a=a a·a = aT2 a+1=1 a·0 = 0T3 a=aT4 a + a·b = a a · (a + b) = aT5 a + a·b = a + b a · (a + b) = a · bT6 a·b + a·b = a (a + b) · (a + b) = aT7 a·b + a·b·c = a·b + a·c (a + b) · (a + b + c) = (a + b) · (a + c)T8 a + b = a·b a·b = a + bT9 a·b + a·c + b·c = a·b + a·c (a + b) · (a + c) · (b + c) = (a + b) · (a + c)T10 f (x1 , . . .) = x1 · f (1, . . .) + x1 · f (0, . . .) f (x1 , . . .) = [x1 + f (0, . . .)] · [x1 + f (1, . . .)] Tabela 1: Resumo dos postulados e Teoremas. a b z c Figura 7: Circuito do exemplo 1. Resolu¸˜o: ca Pela an´lise do circuito obtemos z = abc+ac · ab. Aplicamos agora os postulados a 8
  9. 9. 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 simplificado ´ mostrado na figura 8. e a b z c Figura 8: Circuito simplificado do exemplo 1.4 Formas canˆnicas oH´ casos em que ´ necess´rio obter uma equa¸˜o booleana a partir de uma ta- a e a cabela verdade. Nestas situa¸˜es s˜o bastante uteis as formas canˆnicas (tamb´m co a ´ o econhecidas de formas padr˜es) de soma de mintermos ou produto de maxtermos. oObviamente para entendˆ-las precisamos primeiro saber o que s˜o mintermos e e amaxtermos. Vamos come¸ar pela defini¸˜o de mintermos e analisar a forma de c casoma de mintermos. Um mintermo ´ um produto n˜o barrado de todas as vari´veis da e a a fun¸˜o, sejam elas barradas ou n˜o. ca a Considerando uma fun¸˜o de 4 vari´veis, s˜o exemplos de mintermos: abcd, ca a aabcd e abcd. 9
  10. 10. N˜o s˜o mintermos abc (pois n˜o tem todas as vari´veis), ab + cd (pois n˜o ´ a a a a a eum produto das 4 vari´veis), ab(cd) (pois as vari´veis tem que ser barradas uma a aa uma) e nem abcdd (pois a vari´vel d est´ repetida). a a Um exemplo de fun¸˜o descrita na forma soma de mintermos (por sim- caplicidade referido por sdm- soma de mintermos) ´ a fun¸˜o de 3 vari´veis e ca ag = abc + abc + abc. Para entender a utilidade desta forma, observe a ta-bela 2, que ´ uma tabela verdade da fun¸˜o g e de cada um dos mintermos e capresentes nela. a b c abc abc abc g 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 1 Tabela 2: tabela verdade da fun¸˜o g = abc + abc + abc e seus mintermos. ca Um mintermo, sendo um produto de todas as vari´veis presentes, s´ pode a oser 1 em um unico caso, o que ´ exemplificado na tabela. Al´m disso mintermos ´ e ediferentes representam um 1 em posi¸˜es diferentes da tabela verdade, logo a cosoma de mintermos indica qual das posi¸˜es da tabela-verdade ´ 1. Com base co enisto, ´ poss´ descrever qualquer fun¸˜o l´gica no formato sdm. e ıvel ca o Fica ent˜o f´cil obter uma tabela verdade a partir de uma equa¸˜o na forma a a casdm ou vice-versa. Dada uma tabela verdade qualquer, cada linha em que afun¸˜o ´ 1 corresponde a um mintermo. O mintermo abc s´ ser´ 1 quando a ca e o aetrada for abc = 111; abc ser´ 1 quando abc = 011 e assim por diante. Ou seja, apara uma vari´vel n˜o barrada num mintermo corresponde aquela vari´vel ser a a a1 na tabela verdade e uma vari´vel barrada corresponde a um 0. a A tabela 4 apresenta todos os mintermos de uma fun¸˜o de 4 vari´veis junto ca acom a respectiva entrada que faz ele ser 1. Obviamente, com 2 vari´veis temos a4 mintermos poss´ ıveis (ab, ab, ab e ab), com 3 vari´veis temos 8 mintermos aposs´ıveis, com 4 temos 16 e assim por diante. ´ E bastante usual se trabalhar com equa¸˜es na forma sdm. Uma das ra- coz˜es para isso ´ que uma sdm ´ uma soma de produtos, obviamente, e estamos o e eacostumados a trabalhar com equa¸˜es na forma de soma de produtos devido co`s propriedades da ´lgebra convencional. Mas a ´lgebra de Boole abre a opor-a a atunidade de trabalharmos com uma equa¸˜o na forma produto de somas, o que caleva a uma forma padr˜o alternativa: a forma padr˜o produto de maxtermos a a(ou pdm). Um maxtermo ´ uma soma n˜o barrada de todas as vari´veis da e a a fun¸˜o, sejam elas barradas ou n˜o. ca a Considerando uma fun¸˜o de 4 vari´veis, s˜o exemplos de maxtermos: a + ca a ab + c + d, a + b + c + d e a + b + c + d.N˜o s˜o maxtermos a + b + c (pois n˜o tem todas as vari´veis), ab + cd (pois a a a a 10
  11. 11. n˜o ´ um produto das 4 vari´veis), a + b + (c + d) (pois as vari´veis tem que ser a e a abarradas uma a uma) e nem a + b + c + d + d (pois a vari´vel d est´ repetida). a a Da mesma forma que fizemos com mintermos, vamos analisar a fun¸˜o exem- caplo g ′ = (a + b + c) · (a + b + c) · (a + b + c) para entender a utilidade da formapdm, observe a tabela 3, que ´ uma tabela verdade da fun¸˜o g e de cada um e cados maxtermos presentes nela. a b c a+b+c a+b+c a+b+c g′ 0 0 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1Tabela 3: tabela verdade da fun¸˜o g ′ = (a + b + c) · (a + b + c) · (a + b + c) e caseus maxtermos. Observa-se analisando a tabela que cada maxtermo s´ ´ 0 para um unico o e ´vetor de entrada e 1 para qualquer outra entrada. Pegando como exemplo omaxtermo a + b + c, como se trata de uma soma, ele ´ 1 sempre que a = 1, que eb = 1 ou que c = 0 (pois c est´ barrado), logo ele s´ ´ 0 quando a = b = 0 a o ee c = 1. Isto quer dizer que, enquanto cada mintermo representava uma linhada tabela verdade com sa´ 1, cada maxtermo representa uma linha na tabela ıdaverdade com sa´ 0. ıda E para unir diferentes maxtermos, faz-se o produto deles, pois assim os 0’sse somam na f´rmula final. Da´ a forma ser o produto dos maxtermos. Fica o ıent˜o f´cil descrever qualquer fun¸˜o como sdm ou pdm a partir de uma tabela a a caverdade. Ou de uma equa¸˜o em uma das duas forma padr˜es, obter a tabela ca overdade. A tabela 4 mostra tamb´m os 16 maxtermos equivalentes a cada eentrada poss´ com 4 vari´veis. ıvel aExemplo 2:Reanalisando as tabelas 2 e 3, ´ f´cil chegar nas equa¸oes das fun¸oes g na e a c˜ c˜forma pdm e g ′ na forma sdm: g = (a + b + c)(a + b + c)(a + b + c)(a + b + c)(a + b + c) (1) ′ g = abc + abc + abc + abc + abc (2)Exemplo 3:Deseja-se implementar um circuito que acione uma sa´ f caso 2 ou mais de ıdasuas 3 entradas A, B e C forem 1.Resolu¸˜o (Usando Mintermos): caO primeiro passo ´ montar a tabela verdade da fun¸ao f , vide tabela 5 e c˜ Analisando a tabela 5, podemos obter a equa¸ao de f na forma sdm. c˜ f (A, B, C) = ABC + ABC + ABC + ABC (3) 11
  12. 12. a b c d mintermo maxtermo 0 0 0 0 abcd a+b+c+d 0 0 0 1 abcd a+b+c+d 0 0 1 0 abcd a+b+c+d 0 0 1 1 abcd a+b+c+d 0 1 0 0 abcd a+b+c+d 0 1 0 1 abcd a+b+c+d 0 1 1 0 abcd a+b+c+d 0 1 1 1 abcd a+b+c+d 1 0 0 0 abcd a+b+c+d 1 0 0 1 abcd a+b+c+d 1 0 1 0 abcd a+b+c+d 1 0 1 1 abcd a+b+c+d 1 1 0 0 abcd a+b+c+d 1 1 0 1 abcd a+b+c+d 1 1 1 0 abcd a+b+c+d 1 1 1 1 abcd a+b+c+dTabela 4: Mintermos e maxtermos equivalentes a cada um dos poss´ ıveis valoresde entrada de uma fun¸˜o de 4 vari´veis. ca a A B C f 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Tabela 5: Tabela verdade da fun¸˜o f . ca E ent˜o basta aplicar os postulados e teoremas cab´ a ıveis a equa¸ao 3 para ` c˜ 12
  13. 13. minimizar a fun¸ao. c˜ 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 (4)Resolu¸˜o (Usando maxtermos): caReanalisando a tabela 5, obtemos a equa¸ao de f na forma pdm. c˜ f (A, B, C) = (A + B + C)(A + B + C)(A + B + C)(A + B + C) (5) 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) = (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) ´ a E f´cil mostrar que a equa¸ao 6 ´ equivalente a 4. Para tanto basta aplicar c˜ e `repetidas vezes o postulado da distributividade (P5). 13

×