Sei sulla pagina 1di 13

Algebra de Boole

Joao 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 Mathe-
matical Theories of Logic and Probabilities de 1854. Ela buscava uma base ma-
tematica formal para a l ogica e probabilidade e passou um longo tempo sendo
conhecida apenas por matematicos, sem encontrar uma utilidade pratica. 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 eletricos que realizassem fun coes l ogicas.
1 Postulados
Pensando em probabilidade, a ideia basica 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
probabilstico (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 uniao () de conjuntos e a multiplica cao equivale a opera cao
l ogica e e a intersec cao () de conjuntos. Os potulados s ao feitos de modo a
garantir esta equivalencia.
Postulado 1 Opera coes:
A algebra de Boole tem um conjunto K de 2 ou mais valores e duas operac oes:
e +, de modo que para todo a, b pertencentes a K:
(a) a b K
(b) a + b K
(P1)
Postulado 2 Valores Neutros:
Existem valores 0 e 1 tais que:
(a) a + 0 = a
(b) a 1 = 1
(P2)
Postulado 3 comutatividade:
(a) a + b = b + a
(b) a b = b a
(P3)
1
Postulado 4 associatividade:
(a) a + (b + c) = (a + b) + c
(b) a (b c) = (a b) c
(P4)
Postulado 5 distributividade:
(a) a + (b c) = (a + b) (a + c)
(b) a (b + c) = (a b) + (a c)
(P5)
Postulado 6 existencia de complemento:
Para todo a K, existe um e apenas um a K, chamado o complemento de a,
tal que:
(a) a + a = 1
(b) a a = 0
(P6)
2 Teoremas
V arias caractersticas da algebra de Boole nao aparecem diretamente nos pos-
tulados, mas podem ser inferidas a partir deles. Muitas destas caractersticas
serao uteis para nos, e abaixo descrevemos 10 teoremas, provados a partir dos
postulados (ou de teoremas ja provados, o que da 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 sera 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) a + a = a
(b) a a = a
(T1)
E a prova deste teorema encontra-se abaixo:
Prova:
a = a + 0
= a + a a
= (a + a) (a + a)
= (a + a) 1
a = a + a
a = a 1
= a (a + a)
= (a a) + (a a)
= (a a) + 0
a = a a
Note que a prova de T1(a) e identica a de T1(b), ao se trocar as opera coes
de soma por multiplica cao e vice-versa e os 0s por 1s e vice-versa. Isto nao e
uma coincidencia, 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 expressao e o dual da outra quando se trocam os por + e vice-versa e os
0s por 1s e vice-versa.
Alem disso, a simetria dos postulados garante que: se uma expressao f e
verdadeira, logo a expressao dual f
d
tambem e verdadeira. Por conta disto, para
todos os teoremas subsequentes que tenham expressoes duais, s o provaremaos
uma delas, ja que o dual do teorema e automaticamente verdadeiro.
2
Teorema 2:
(a) a + 1 = 1
(b) a 0 = 0
(T2)
Prova:
a + 1 = a + (a + a)
= (a + a) + a
= a + a
a + 1 = 1
Teorema 3:
a = a (T3)
Prova:
Seja a = b:
b a = a b = a a 0
b + a = a + b = a + a 1
logo:
a b = a
Teorema 4:
(a) a + a b = a
(b) a (a + b) = a
(T4)
Prova:
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 signicado deste teorema e melhor visto atraves de um diagrama de Venn
1
,
mostrando a e a b (lembrando que a multiplica cao equivale `a intersec cao e a
soma `a uni ao). A gura 1 mostra justamente isto.
Teorema 5:
(a) a + a b = a + b
(b) a (a + b) = a b
(T5)
3
a
b a 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 + b
Teorema 6:
(a) a b + a b = a
(b) (a + b) (a + b) = a
(T6)
Prova:
a b + a b = a(b + b)
= a 1
a b + a b = 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.
4
a b
a b
Figura 3: Diagrama de Venn demonstrando o teorema T6.
a b c
a b
c
a
b
Figura 4: Diagrama de Venn demostrando o teorema T7.
Teorema 7:
(a) a b + a b c = a b + a c
(b) (a + b) (a + b + c) = (a + b) (a + c)
(T7)
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 c
Teorema 8 Leis de DeMorgan
2
:
(a) a + b = a b
(b) a b = a + b
(T8)
5
a b
a + b
a + b
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:
Prova-se mostrando que a b e o complemento de 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)
= 1 1
(a + b) + a b = 1
Logo:
a + b a b

E possvel ainda aplicar o teorema repetidas vezes e provar que:


f (x
1
, x
2
, . . . , x
n
) = f
d
(x
1
, x
2
, . . . , x
n
)
Teorema 9 Teorema do consenso:
(a) a b + a c + b c = a b + a c
(b) (a + b) (a + c) (b + c) = (a + b) (a + c)
(T9)
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
a c
a b
Figura 6: Diagrama de Venn demonstrando o teorema do consenso.
Teorema 10 Expansao de Shannon
3
:
(a) f (x
1
, x
2
, . . . , x
n
) = x
1
f (1, x
2
, . . . , x
n
) + x
1
f (0, x
2
, . . . , x
n
)
(b) f (x
1
, x
2
, . . . , x
n
) = [x
1
+ f (0, x
2
, . . . , x
n
)] [x
1
+ f (1, x
2
, . . . , x
n
)]
(T10)
Prova:
Considerando que x
1
x
1
= x
1
1 e que x
1
x
1
= x
1
x
1
x
1
= x
1
0, podemos
armar que:
x
1
f (x
1
, x
2
, . . . , x
n
) = x
1
f (1, x
2
, . . . , x
n
)
E pelo mesmo raciocnio chegamos a:
x
1
f (x
1
, x
2
, . . . , x
n
) = x
1
f (0, x
2
, . . . , x
n
)
Podemos ent ao separar a fun c ao e aplicar estas igualdades:
f(. . .) = 1 f(. . .)
= x
1
f(. . .) + x
1
f(. . .)
f(. . .) = x
1
f (1, x
2
, . . . , x
n
) + x
1
f (0, x
2
, . . . , x
n
)
3 Aplicacao dos postulados e teoremas
Podemos aplicar os postulados e teoremas da algebra de Boole para simplicar
equa coes booleanas. Como estas equa coes serao 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 ate ent ao
desenvolvidos para facilitar o acesso.
Exemplo 1:
Minimize o circuito l ogico mostrado na gura 7.
7
P1 a, b K : a b K a, b K : a + b K
P2 a + 0 = a a 1 = 1
P3 a + b = b + a a b = b a
P4 a + (b + c) = (a + b) + c a (b c) = (a b) c
P5 a + (b c) = (a + b) (a + c) a (b + c) = (a b) + (a c)
P6 a + a = 1 a a = 0
T1 a + a = a a a = a
T2 a + 1 = 1 a 0 = 0
T3 a = a
T4 a + a b = a a (a + b) = a
T5 a + a b = a + b a (a + b) = a b
T6 a b + a b = a (a + b) (a + b) = a
T7 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 + b
T9 a b + a c + b c = a b + a c (a + b) (a + c) (b + c) = (a + b) (a + c)
T10 f (x
1
, . . .) = x
1
f (1, . . .) + x
1
f(0, . . .) f(x
1
, . . .) = [x
1
+ f(0, . . .)] [x
1
+ f(1, . . .)]
Tabela 1: Resumo dos postulados e Teoremas.
a
b
c
z
Figura 7: Circuito do exemplo 1.
Resolu cao:
Pela an alise do circuito obtemos z = abc+ac ab. Aplicamos agora os postulados
8
a
e teoremas cabveis:
z(a, b, c) = abc + ac ab

T8
= abc + ac (a + b)

T3
= abc + ac(a + b)

P5
= abc + aca

P3
+ acb

P3
= abc + aa

T1
c + abc
= abc + ac + abc

P3
= abc + abc

T6
+ac
= ab + ac

P5
z(a, b, c) = a(b + c)
O circuito simplicado e mostrado na gura 8.
a
b
c
z
Figura 8: Circuito simplicado do exemplo 1.
4 Formas canonicas
H a casos em que e necessario obter uma equa cao booleana a partir de uma ta-
bela verdade. Nestas situa coes s ao bastante uteis as formas can onicas (tambem
conhecidas de formas padroes) de soma de mintermos ou produto de maxtermos.
Obviamente para entende-las precisamos primeiro saber o que s ao mintermos e
maxtermos. Vamos come car pela deni cao de mintermos e analisar a forma de
soma de mintermos.
Um mintermo e um produto nao barrado de todas as variaveis da
fun cao, sejam elas barradas ou nao.
Considerando uma fun cao de 4 variaveis, s ao exemplos de mintermos: abcd,
abcd e abcd.
9
N ao s ao mintermos abc (pois nao tem todas as variaveis), ab + cd (pois nao e
um produto das 4 variaveis), ab(cd) (pois as variaveis tem que ser barradas uma
a uma) e nem abcdd (pois a variavel d est a repetida).
Um exemplo de fun cao descrita na forma soma de mintermos (por sim-
plicidade referido por sdm- soma de mintermos) e a fun cao de 3 variaveis
g = abc + abc + abc. Para entender a utilidade desta forma, observe a ta-
bela 2, que e uma tabela verdade da fun cao g e de cada um dos mintermos
presentes 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 cao g = abc + abc + abc e seus mintermos.
Um mintermo, sendo um produto de todas as variaveis presentes, s o pode
ser 1 em um unico caso, o que e exemplicado na tabela. Alem disso mintermos
diferentes representam um 1 em posi coes diferentes da tabela verdade, logo a
soma de mintermos indica qual das posi coes da tabela-verdade e 1. Com base
nisto, e possvel descrever qualquer fun cao l ogica no formato sdm.
Fica ent ao facil obter uma tabela verdade a partir de uma equa cao na forma
sdm ou vice-versa. Dada uma tabela verdade qualquer, cada linha em que a
fun cao e 1 corresponde a um mintermo. O mintermo abc s o sera 1 quando a
etrada for abc = 111; abc sera 1 quando abc = 011 e assim por diante. Ou seja,
para uma variavel nao barrada num mintermo corresponde aquela variavel ser
1 na tabela verdade e uma variavel barrada corresponde a um 0.
A tabela 4 apresenta todos os mintermos de uma fun cao de 4 variaveis junto
com a respectiva entrada que faz ele ser 1. Obviamente, com 2 variaveis temos
4 mintermos possveis (ab, ab, ab e ab), com 3 variaveis temos 8 mintermos
possveis, com 4 temos 16 e assim por diante.

E bastante usual se trabalhar com equa coes na forma sdm. Uma das ra-
zoes para isso e que uma sdm e uma soma de produtos, obviamente, e estamos
acostumados a trabalhar com equa coes na forma de soma de produtos devido
`as propriedades da algebra convencional. Mas a algebra de Boole abre a opor-
tunidade de trabalharmos com uma equa cao na forma produto de somas, o que
leva a uma forma padrao alternativa: a forma padrao produto de maxtermos
(ou pdm).
Um maxtermo e uma soma nao barrada de todas as variaveis da
fun cao, sejam elas barradas ou nao.
Considerando uma fun cao de 4 variaveis, 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 nao tem todas as variaveis), ab + cd (pois
10
nao e um produto das 4 variaveis), a +b +(c + d) (pois as variaveis tem que ser
barradas uma a uma) e nem a + b + c + d + d (pois a variavel d est a repetida).
Da mesma forma que zemos com mintermos, vamos analisar a fun cao exem-
plo 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 cao g e de cada um
dos 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 1
Tabela 3: tabela verdade da fun cao 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 unico
vetor de entrada e 1 para qualquer outra entrada. Pegando como exemplo o
maxtermo a + b + c, como se trata de uma soma, ele e 1 sempre que a = 1, que
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 sada 1, cada maxtermo representa uma linha na tabela
verdade com sada 0.
E para unir diferentes maxtermos, faz-se o produto deles, pois assim os 0s
se somam na formula nal. Da a forma ser o produto dos maxtermos. Fica
ent ao facil descrever qualquer fun cao como sdm ou pdm a partir de uma tabela
verdade. Ou de uma equa cao em uma das duas forma padroes, obter a tabela
verdade. A tabela 4 mostra tambem os 16 maxtermos equivalentes a cada
entrada possvel com 4 variaveis.
Exemplo 2:
Reanalisando as tabelas 2 e 3, e f acil chegar nas equac oes das fun c oes 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) (1)
g

= abc + abc + abc + abc + abc (2)


Exemplo 3:
Deseja-se implementar um circuito que acione uma sada f caso 2 ou mais de
suas 3 entradas A, B e C forem 1.
Resolu cao (Usando Mintermos):
O primeiro passo e montar a tabela verdade da fun c ao f, vide tabela 5
Analisando a tabela 5, podemos obter a equac ao de f na forma sdm.
f(A, B, C) = ABC + ABC + ABC + ABC (3)
11
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 + d
Tabela 4: Mintermos e maxtermos equivalentes a cada um dos possveis valores
de entrada de uma fun cao de 4 variaveis.
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 cao f.
E ent ao basta aplicar os postulados e teoremas cabveis ` a equac ao 3 para
12
minimizar a fun c ao.
f(A, B, C) = ABC + ABC + ABC + ABC

AB (T6)
= ABC + ABC + AB

AC+AB (T7)
= ABC + AC

BC+AC (T7)
+AB
f(A, B, C) = BC + AC + AB (4)
Resolu cao (Usando maxtermos):
Reanalisando a tabela 5, obtemos a equac ao de f na forma pdm.
f(A, B, C) = (A + B + C)(A + B + C)(A + B + C)(A + B + C) (5)
E novamente aplicando os postulados e teoremas cabveis:
f(A, B, C) = (A + B + C)(A + B + C)

A+B (T6)
(A + B + C)(A + B + C)
= (A + B) (A + B + C)

A+C (T7)
(A + B + C)
= (A + B)(A + C) (A + B + C)

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

E f acil mostrar que a equac ao 6 e equivalente ` a 4. Para tanto basta aplicar


repetidas vezes o postulado da distributividade (P5).
13

Potrebbero piacerti anche