10/14/10
1
Mário Serafim Nunes Guilherme Silva Arroz
Álgebra de Boole binária
Mário Serafim Nunes Guilherme Silva Arroz
Fundamentação Funções lógicas de uma variável Funções lógicas de duas variáveis Princípio da dualidade Funções de n variáveis Definição formal da Álgebra de Boole Manipulação de expressões lógicas
2010/2011
Sistemas Digitais - Taguspark
2
10/14/10
2
Mário Serafim Nunes Guilherme Silva Arroz
Os sistemas digitais, como já foi referido, assentam na utilização de circuitos electrónicos que podem assumir, em cada momento, um de dois estados.
Isso obriga-nos a ter uma ferramenta teórica que possibilite trabalhar neste universo.
A Álgebra de Boole binária é essa ferramenta. Mais adiante apresenta-se a definição formal.
Por agora, ir-se-á criar a intuição.
2010/2011
Sistemas Digitais - Taguspark
3
Mário Serafim Nunes Guilherme Silva Arroz
Partimos, portanto, da existência de dois valores: 0 e 1.
Este é um conjunto discreto e finito. Um elemento x deste conjunto só pode assumir
os valores x = 0 e x = 1.
2010/2011
Sistemas Digitais - Taguspark
4
10/14/10
3
Mário Serafim Nunes Guilherme Silva Arroz
Sobre este conjunto podem ser definidas funções.
Estas funções denominam-se funções lógicas ou funções booleanas.
Consideremos a função f(x) assim definida:
2010/2011
Sistemas Digitais - Taguspark
5
Repare-se que a função f(x) ficou totalmente definida. Para todos os elementos do conjunto (dois) está definido o valor da função.
Mário Serafim Nunes Guilherme Silva Arroz
Como se pode observar é muito fácil definir uma função lógica.
E quantas funções lógicas de uma variável existem?
Tantas quantas as tabelas diferentes que conseguirmos escrever:
2010/2011
Sistemas Digitais - Taguspark
6
Há quatro funções lógicas de uma variável.
10/14/10
4
Mário Serafim Nunes Guilherme Silva Arroz
Repare-se que ao contrário das álgebras habituais, aqui, as funções ficam completamente definidas pela indicação exaustiva dos seus valores para todos os valores de x.
Estudemos estas quatro funções e outras formas de as representar.
2010/2011
Sistemas Digitais - Taguspark
7
Mário Serafim Nunes Guilherme Silva Arroz
A função f0(x) é a constante 0. Podemos defini-la com uma expressão algébrica: f0(x) = 0
Há outra constante: f3(x) = 1 f1(x) = x é uma terceira função pouco
interessante. Tem o nome de função identidade.
2010/2011
Sistemas Digitais - Taguspark
8
10/14/10
5
Mário Serafim Nunes Guilherme Silva Arroz
A função f2(x) é uma função interessante. Designa-se função negação ou complementação ou ainda NOT. A sua expressão algébrica é a seguinte:
Tem também uma representação gráfica por um de dois símbolos em alternativa:
2010/2011
Sistemas Digitais - Taguspark
9
Mário Serafim Nunes Guilherme Silva Arroz
Como em qualquer álgebra existem axiomas e teoremas que, para além do seu papel estrutural na álgebra em questão, estão na base de regras operativas úteis.
Relacionado com estas funções de uma variável há um importante teorema dito da dupla negação:
2010/2011
Sistemas Digitais - Taguspark
10
10/14/10
6
Mário Serafim Nunes Guilherme Silva Arroz
Dado que estamos a falar de uma variável x que pode assumir apenas dois valores a demonstração deste teorema pode ser feita por indução completa.
2010/2011
Sistemas Digitais - Taguspark
11
Para todos os valores possíveis de x, verifica-se, na tabela que
Portanto o teorema é verdadeiro.
Mário Serafim Nunes Guilherme Silva Arroz
Com duas variáveis as tabelas das funções têm naturalmente 22 = 4 linhas.
2010/2011
Sistemas Digitais - Taguspark
12
Exemplifica-se com a função conjunção que, como se verá adiante, é de grande importância.
Mais uma vez a função fica totalmente definida pela sua tabela.
10/14/10
7
Mário Serafim Nunes Guilherme Silva Arroz
Com 4 linhas na tabela, há 16 tabelas diferentes. Há, por isso, 16 funções de duas variáveis.
2010/2011
Sistemas Digitais - Taguspark
13
Voltamos a encontrar as constantes 0 e 1. Reencontramos, também as funções de uma variável em termos de x e de y. E isso “despacha” 6 das funções de 2 variáveis. Das 10 restantes, há 5 importantes.
Mário Serafim Nunes Guilherme Silva Arroz
Função Conjunção, Produto Lógico ou AND
Como se viu atrás tem a tabela indicada
A expressão algébrica é uma das seguintes:
Naturalmente há também uma representação gráfica:
2010/2011
Sistemas Digitais - Taguspark
14
10/14/10
8
Mário Serafim Nunes Guilherme Silva Arroz
Teoremas importantes relacionados com o AND
2010/2011
Sistemas Digitais - Taguspark
15
Mário Serafim Nunes Guilherme Silva Arroz
Função Disjunção, Soma Lógica ou OR
Tabela indicada ao lado A expressão algébrica é uma
das seguintes: Naturalmente há também uma
representação gráfica:
2010/2011
Sistemas Digitais - Taguspark
16
10/14/10
9
Mário Serafim Nunes Guilherme Silva Arroz
Teoremas importantes relacionados com o OR
2010/2011
Sistemas Digitais - Taguspark
17
Mário Serafim Nunes Guilherme Silva Arroz
Se se verifica que uma expressão em termos de AND, OR e NOT é verdadeira, também o é a expressão que se obtém por troca de todos os operadores AND por OR, de todos os operadores OR por AND, de todos os valores 0 por 1 e de todos os valores 1 por 0.
Exemplo:
2010/2011
Sistemas Digitais - Taguspark
18
10/14/10
10
Mário Serafim Nunes Guilherme Silva Arroz
Há um conjunto de teoremas que envolvem s duas operações e, por vezes, a negação:
2010/2011
Sistemas Digitais - Taguspark
19
Mário Serafim Nunes Guilherme Silva Arroz
Para exemplificar, a demonstração do teorema da distributividade da disjunção em relação à conjunção:
2010/2011
Sistemas Digitais - Taguspark
20
10/14/10
11
Mário Serafim Nunes Guilherme Silva Arroz
Dado que as funções têm representações gráficas, também as expressões as podem ter. Designam-se por logigramas.
2010/2011
Sistemas Digitais - Taguspark
21
Aproveita-se para perceber graficamente o efeito da aplicação das Leis de Morgan
Mário Serafim Nunes Guilherme Silva Arroz
A função NAND corresponde à negação do AND
A tabela é, naturalmente, a negação da do AND.
A expressão algébrica é uma das seguintes:
Naturalmente há também uma representação gráfica:
2010/2011
Sistemas Digitais - Taguspark
22
10/14/10
12
Mário Serafim Nunes Guilherme Silva Arroz
A função NOR corresponde à negação do OR
A tabela é, naturalmente, a negação da do OR.
A expressão algébrica é a seguinte:
Naturalmente há também uma representação gráfica:
2010/2011
Sistemas Digitais - Taguspark
23
Mário Serafim Nunes Guilherme Silva Arroz
Estas funções são comutativas mas não são associativas e não gozam da propriedade da distributividade em relação a nenhuma outra função.
Trata-se de funções muito importante como se verá adiante
2010/2011
Sistemas Digitais - Taguspark
24
10/14/10
13
Mário Serafim Nunes Guilherme Silva Arroz
A função XOR ou disjunção exclusiva é igualmente uma função importante
A tabela é a seguinte. A expressão algébrica é a
seguinte: Naturalmente há também uma
representação gráfica:
2010/2011
Sistemas Digitais - Taguspark
25
Mário Serafim Nunes Guilherme Silva Arroz
Teoremas importantes relacionados com o XOR
2010/2011
Sistemas Digitais - Taguspark
26
x ! y = y ! x
(x ! y) ! z = x ! (y ! z)
x ! y = x · y + x · y
x ! y = (x + y) · (x + y)
x ! 0 = x x ! x = 1
x ! 1 = x x ! x = 0
x ! y = x ! y = x ! y
x ! y = x ! y
1
10/14/10
14
Mário Serafim Nunes Guilherme Silva Arroz
Através da associatividade é possível definir funções AND e OR directamente e NAND e NOR com alguns cuidados com mais de duas variáveis:
2010/2011
Sistemas Digitais - Taguspark
27
Mário Serafim Nunes Guilherme Silva Arroz
Assim, passa a ser possível definir funções com n variáveis.
Exemplifica-se com uma função definida pela sua expressão algébrica:
2010/2011
Sistemas Digitais - Taguspark
28
10/14/10
15
Mário Serafim Nunes Guilherme Silva Arroz
Como é evidente a mesma função pode ser representada por uma tabela de verdade.
2010/2011
Sistemas Digitais - Taguspark
29
Exemplificar a passagem da expressão para a tabela
Mário Serafim Nunes Guilherme Silva Arroz
E a mesma função tem, naturalmente, um logigrama.
2010/2011
Sistemas Digitais - Taguspark
30
10/14/10
16
Mário Serafim Nunes Guilherme Silva Arroz
Uma Álgebra de Boole é um terno de um conjunto e duas operações que cumpre:
2010/2011
Sistemas Digitais - Taguspark
31
Mário Serafim Nunes Guilherme Silva Arroz
Todos os teoremas da álgebra de Boole permitem manipular expressões lógicas.
Precisamos de o fazer por várias razões: Demonstrar algebricamente teoremas. Minimizar expressões para obter circuitos eléctricos
mais simples. Obter expressões equivalentes que cumpram
determinados critérios.
2010/2011
Sistemas Digitais - Taguspark
32
10/14/10
17
Mário Serafim Nunes Guilherme Silva Arroz
Até aqui demonstrámos os diversos teoremas por indução completa mas podem ser demonstrados por dedução. Exemplo
Teorema da absorção:
Pela distributividade vem:
Mas, considerando que:
2010/2011
Sistemas Digitais - Taguspark
33
Mário Serafim Nunes Guilherme Silva Arroz
Resulta que:
Pela comutatividade:
E, considerando que 1 é o elemento neutro da conjunção:
2010/2011
Sistemas Digitais - Taguspark
34
10/14/10
18
Mário Serafim Nunes Guilherme Silva Arroz
Minimização de expressões Considere-se, como exemplo a simplificação da
função dada como exemplo atrás:
2010/2011
Sistemas Digitais - Taguspark
35
Mário Serafim Nunes Guilherme Silva Arroz
Utilização de critérios Alteração de uma expressão para usar apenas
negações e operadores de duas variáveis:
2010/2011
Sistemas Digitais - Taguspark
36
10/14/10
19
Mário Serafim Nunes Guilherme Silva Arroz
Utilização de critérios Alteração de uma expressão para usar apenas
NANDs e negações:
2010/2011
Sistemas Digitais - Taguspark
37
Mário Serafim Nunes Guilherme Silva Arroz
Livro recomendado, secção 2.1 Carlos Sêrro: Sistemas Digitais – fundamentos
algébricos, ISTPress 2003, Capítulos 3 e 4 Existem muitos livros com capítulos sobre o
assunto. Há mesmo alguns só sobre este assunto.
A Internet é, como de costume, uma fonte que, explorada com espírito crítico, tem muito para dar.
2010/2011
Sistemas Digitais - Taguspark
38