sexta-feira, 7 de dezembro de 2007

Algebra de Boole

Variável Lógica (Booleana)

Considere a proposição :

A = "Maria tem 23 anos"

A proposição "Maria tem 23 anos" é representada pelo símbolo A, que é uma variável booleana, pois pode assumir um dos dois valores lógicos: F ou V. Além de variável booleana, A é também chamada variável lógica.

Função de Variáveis Lógicas (Booleanas)

Dada uma variável lógica, é possível construir uma função desta variável, f(A),

Exemplo :

  • f(A) = A'
Quando se tem apenas 1 variável, como acima, é possível construir apenas 4 funções, abaixo, onde a primeira é a própria negação já vista neste tópico; a segunda é a função identidade; a duas últimas não possuem denominação especial.



Veja que, para duas ou mais variáveis, o número possível de funções que podem ser construidas é de 22n, onde n é o número de variáveis. Para duas variáveis, 22.2 = 16 (apenas 16 possibilidades de construção de funções lógicas de apenas 2 variáveis).


Para 3 variáveis, 22.3 = 64 funções possíveis, e assim por diante.Na tabela cima, A e B são as variáveis independentes e fi(A,B) são as variáveis dependentes, conhecidas por funções de variáveis lógicas, funções combinatoriais ou, ainda, funções combinacionais. A função lógica fi(A,B) pode ser representada por uma caixa preta cujo conteúdo implementa um tipo de porta ou uma combinação das mesmas. Por exemplo, para a tabela acima, algumas funções são




O que é aqui considerado como a porta 0 é um circuito lógico que, independente das entradas, a saída é sempre zero. A "porta" 1 segue o mesmo esquema, isto é, para quaisquer entradas, a saída é sempre 1. Os símbolos A' e B' caracterizam as negações, ou inversões, das variáveis.
Qualquer circuito lógico pode ser considerado como uma caixa preta como descrita acima. Para exemplificar, veja como "encapsular" um circuito lógico em uma "caixa preta" (não se incomode se a o azul é usado no lugar do preto),


Observe que o modelo caixa preta é muito mais geral que o outro que já está especificado. O que se sabe do modelo caixa preta é a quantidade de circuitos que podem ser gerados a partir de 4 entradas e 1 saída. Quantos são mesmo?
Uma função combinacional é uma solução para um problema combinacional. Como exemplo de um problema combinacional, considere um sistema de segurança de uma loja em um shopping. Há um sensor de contato que, ligado, (on, V ou 1), indica que a porta está fechada; e outro sensor infravermelho que, ligado, indica que não há pessoas ou coisas se movendo no interior da loja. Há, também, um alarme que é acionado quando um dos dois sensores é desligado. Isto é, basta um único sensor ser desativado para soar o alarme. Denomine cada sensor pelos símbolos A e B,



1. A = "sensor de contato"
2. B = "sensor infravermelho"
onde 0 e 1 significam desligado e ligado, respectivamente. Para maior realismo, suponha que a fonte de energia do sistema seja independente da rede elétrica (nobreak, por exemplo).


Como você pode notar, a tabela-verdade é um excelente instrumento para a especificação da função alarme, em particular, e de funções lógicas, em geral. Mas não é o único. Outras duas ferramentas importantes são:

1. Equações booleanas
2. Diagramas lógicos

Equações Booleanas
As equações booleanas fazem uso dos conectivos lógicos . A função alarme, acima, pode ser escrita de acordo com a seguinte equação booleana,

f(A) = (A.B)'
onde o símbolo "'" significa a negação lógica, e o símbolo "." significa a conjunção (AND) lógica. Sua tabela-verdade é construida da seguinte maneira,
Diagramas Lógicos
Para exemplificar, a função alarme aqui tratada poderia ser especificada através do seguinte diagrama lógico,
isto é, através da porta lógica NAND.


Teoremas da Álgebra de Boole

Uma função combinacional pode ser escrita de várias maneiras, sem ser alterada, fazendo-se uso dos Teoremas da Álgebra de Boole. Por exemplo,
(A . B)' = A' + B'
onde, como visto, os símbolos "'" e "+" representam a negação (NOT) e a disjunção (OR), respectivamente. Aqui usou-se um dos teoremas conhecidos como Leis de De Morgan. Os principais teoremas da Álgebra Booleana são,

Como qualquer prova de teorema, a cada passo em direção à prova, você tem que dizer o porque do passo. Veja este exemplo (a prova do teorema 10).
A . (A + B)

= (pelo teorema 16)
A . A + A . B
= (teo. 7)
A + A . B
= (teo. 5)
A . 1 + A . B
= (teo. 16)
A . (1 + B)
= (teo. 2)
A . 1
= (teo. 5)
A







Nenhum comentário: