• Nenhum resultado encontrado

Exemplo. Seja uma função matemática descrita por: y = 5x A relação funcional entre x e y pode ser dada por:

N/A
N/A
Protected

Academic year: 2021

Share "Exemplo. Seja uma função matemática descrita por: y = 5x A relação funcional entre x e y pode ser dada por:"

Copied!
22
0
0

Texto

(1)

Capítulo 3: Álgebra Binária Booleana

O Conceito de Função

O conceito de variável e de função de uma variável nos é familiar. O campo de uma variável, isto é, o intervalo de valores que pode ser assumido por uma variável x, pode ser especificado de inúmeras maneiras. Por exemplo, x pode variar sobre o campo dos reais de menos até mais infinito; ou x pode ser restrita ao intervalo de -17 a -4; ou pode ainda ser restrita a valores inteiros de 1 a 10 e assim por diante.

Uma função é uma regra através da qual se determina o valor de uma segunda variável (dependente) “y” a partir do valor da variável (independente) “x”, sendo esta dependên-cia representada por “y = f(x)”.

Exemplo. Seja uma função matemática descrita por: y = 5x2 + 3. A relação funcional entre x e y pode ser dada por:

X y = f(x)

0 3

1 8

2 23

3 48

As variáveis dependente (y) e independente (x) não precisam ser numéricas como na tabela a seguir, onde são descritos os significados das luzes de um semáforo:

X y = f(x)

Verde Prossiga Amarelo Devagar Vermelho Pare

Tipos de Função

As funções são classificadas como contínuas, quando podem assumir quaisquer valores dentro de um dado intervalo e discretas, caso só possam assumir alguns valores, como as funções booleanas usadas nos computadores.

(2)

Funções Booleanas

Em sistemas digitais como no caso dos computadores, encontramos variáveis que são particulares no sentido de só poderem assumir dois valores, geralmente denominados verdadeiro e falso, aos quais se associam os números binários 1 e 0. Este tipo de variável é denominado variável binária ou lógica, e as funções algébricas definidas para as variáveis binárias são conhecidas como álgebra booleana, em homenagem a Charles Boole, que no século XIX desenvolveu a álgebra das variáveis binárias. Uma variável lógica é uma variável que tem três propriedades:

• A variável lógica só pode assumir um de dois valores possíveis;

• Os valores são expressos por afirmações declarativas, como no exemplo do semáforo; • Os dois valores possíveis, expressos por afirmações declarativas, devem ser tais que,

com base em raciocínio humano, ou seja, com base na lógica, sejam mutuamente exclusivos.

Suponha que o semáforo do exemplo anterior, só pudesse estar “verde” ou “vermelho”. Neste caso, a variável “x” da tabela do semáforo seria uma variável lógica. As hipóteses possíveis seriam:

• “O semáforo está verde”, o que seria representado por “x = verde” ou;

• “O semáforo está vermelho”, representado por “x = vermelho”. Devido à mútua exclu-sividade, ao afirmarmos que “x = vermelho” também estamos dizendo que “x = não- verde”.

Com variáveis lógicas podemos representar qualquer coisa: temperatura, pressão, distân-cia, velocidade, tempo, etc. Ao se considerar a relação funcional entre variáveis do ponto de vista matemático, não nos interessa o que é representado por elas. Assim, devemos dar aos dois valores possíveis de uma variável lógica, nomes que permitam considerar a variável independentemente do que ela possa representar:

Seja a versão simplificada da tabela do exemplo do semáforo:

X Y = f(X) X Y = f(X)

Verde Prossiga -> a qual é equivalente a: -> 1 1

Vermelho Pare 0 0

“X” é a variável lógica independente e “Y” é a variável lógica dependente. Os valores 1 e 0 na tabela da direita são atribuídos arbitrariamente no caso de “X” para as cores “verde” e “vermelho”; e no caso da variável “Y” para os comandos “prossiga” e “pare”. Normalmente associamos ao valor 1 as idéias de verdadeiro, positivo, ativo, etc; e ao valor 0 as idéias de falso, inativo, etc.

(3)

Funções Booleanas Básicas

Existem várias funções booleanas, mas apenas umas popucas são necessárias para expressar a maioria dos problemas. No caso de funções com apenas uma variável independente temos:

função negação função coincidência X Y = não(X) X Y = (X)

1 0 1 1

0 1 0 0

Na função coincidência, Y assume o valor de X sempre. Na função negação ocorre o contrário. Vamos agora considerar o caso em que “Y” é função das variáveis booleanas “X” e “Z”. Neste caso, as duas funções mais comuns são:

função e função ou X Z Y = (X e Z) X Z Y = (X ou Z) 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1

Na função “e” Y só assume o valor 1 caso as variáveis X, Z sejam simultaneamente iguais a 1 (X e Z iguais a 1); Na função “ou” Y assume o valor 1 caso X seja 1 ou Z seja1 ou ambos.

Expressões Booleanas

Usando funções booleanas podemos escrever expressões matemáticas representando situ-ações que envolvam uma tomada de decisão. Seja por exemplo a questão:

“João irá ao cinema mas apenas se conseguir um carro emprestado e Maria também puder ir.”

Para transformarmos esta sentença em um problema matemático devemos associar a cada afirmação uma variável booleana para depois compormos a função que a representa. • Variável X = empréstimo do carro. Como X só pode assumir dois valores, vamos estipular que:

X = 1 significa que João conseguiu o empréstimo do carro. X = 0 significa que ninguem emprestou o carro para João.

• Variável Z = compania da Maria. De forma análoga ao caso anterior podemos estipular que:

Z = 1 significa que Maria irá ao cinema. Z = 0 significa que Maria não poderá ir. • Variável Y = ida de João ao cinema

(4)

Y = 1 significa que João irá ao cinema. Y = 0 significa que João não poderá ir.

Sabemos que Y depende de X e Z, logo Y = f(X,Z). Montando uma tabela com todas as possibilidades descobrimos que a relação entre X,Z,Y é: Y = (X e Z)

X Z Y = f(X,Z) SIGNIFICADO

0 0 0 João não irá ao cinema porque está sem carro e Maria não pode ir. 0 1 0 João não irá ao cinema porque está sem carro.

1 0 0 João não irá ao cinema porque Maria não pode ir.

1 1 1 João irá ao cinema com Maria usando um carro emprestado.

As linguagens de programação de computadores possuem formas de escrever expressões como a do exemplo acima (ou bem mais complexas), as quais podem ser avaliadas pelo computador. Desta forma, usando álgebra booleana em um computador é possível criar programas que resolvam problemas que possuam uma solução lógica.

(5)

FUNÇÕES BOOLEANAS - Estudo Completo

A notação 0 e 1

A = 0 ==> A = F | ou tensões elétricas, geralmente A = 1 ==> A = V | 0 V e +5 V.

0 e 1 são valores lógicos de uma variável (não são números).

Funções Lógicas

a) a função AND

Z = A AND B ou Z = A ∧ B ou Z = AB (A e B) Imagine o seguinte circuito:

Convenções: chave aberta = 0 chave fechada = 1 lâmpada apagada = 0 lâmpada acesa = 1

A tabela verdade é o mapa onde se coloca todas as possíveis situações com seus respectivos resultados. A tabela reflete o modo como a função se comporta perante todas as situações possíveis:

CHAVE A CHAVE B CHAVE C

aberta aberta apagada

aberta fechada apagada

fechada aberta apagada

fechada fechada acesa

ou: A B Z=f(A,B) 0 0 0 0 1 0 1 0 0 1 1 1

(6)

A porta and é um circuito que executa a função AND:

Pode-se descrever a função AND para qualquer número de entradas. A saída Z permanecerá no estado 1 se, e somente se, as N entradas forem iguais a 1 e permanecerá no estado 0 nos demais casos. O número de situações possíveis (número de linhas da tabela verdade) é igual a 2N, onde N é o número de variáveis.

b) a função OR

Z = A + B ou Z = A ∨ B (A ou B) Imagine o seguinte circuito:

Tabela Verdade: A | B | Z = A + B --- 0 | 0 | 0 0 | 1 | 1 1 | 0 | 1 1 | 1 | 1 Porta Lógica OR:

(7)

c) a função NOT (complemento)

A função NOT, ou função complemento, inverte o estado da variável. Z = ¬A (não A)

A | Z = A --- 0 | 1 1 | 0

Bloco Lógico que executa a função NOT = inversor

d) a função NAND

A função NAND é a função AND combinada com a função NOT. Z = ¬(A ∧ B) Tabela verdade: A | B | Z = ¬(A ∧ B) --- 0 | 0 | 1 0 | 1 | 1 1 | 0 | 1 1 | 1 | 0 Porta Lógica:

(8)

e) a função NOR

A função NOR é a função OR combinada com a função NOT. Z = ¬(A ∨ B) Tabela Verdade: A | B | Z = ¬(A ∨ B) --- 0 | 0 | 1 0 | 1 | 0 1 | 0 | 0 1 | 1 | 0 Porta Lógica:

f) a função XOR - Exclusive-Or Z = A ⊕ B

Z = 1 quando A ou B, na exclusão da outra variável, tiver valor lógico 1. Tabela Verdade: A | B | Z = A ⊕ B --- 0 | 0 | 0 0 | 1 | 1 1 | 0 | 1 1 | 1 | 0 Porta Lógica:

(9)

g) a função X-NOR - Exclusive-Nor

A função Exclusive-Nor é a função Exclusive-Or combinada com a função NOT. Z = ¬(A ⊕ B) Tabela Verdade: A | B | Z = ¬(A ⊕ B) --- 0 | 0 | 1 0 | 1 | 0 1 | 0 | 0 1 | 1 | 1 Porta Lógica: h) a função Implicação Z = A → B (A implica B)

Considere o seguinte exemplo: usa-se a variável A para representar a afirmação: "Está chovendo", isto é, quando está chovendo A = V e quando não está, A = F. Usa-se B para representar a afirmação "As pessoas estão usando guarda-chuvas". Suponha que se deseje escrever uma equação lógica que diga que A implica B, ou seja, que a ocorrência da chuva implica o uso do guarda-chuva. Se introduzir-se a variável Z = A → B, Z será relacionada a A e B pela seguinte maneira: (Tabela Verdade)

A | B | Z = A → B --- 0 | 0 | 1 0 | 1 | 1 1 | 0 | 0 1 | 1 | 1

Se a situação com respeito a A e B for consistente com a idéia de que A implica B, então Z será verdadeira. A única possibilidade que não é consistente com a idéia de A implicar B é que A seja verdadeiro e B seja falso. Neste caso, B será falso.

(10)

Teoremas da Álgebra de Boole

Variáveis Lógicas => só dois valores

Sistema binário de numeração => só dois dígitos Para definir uma função:

1) Expressão lógica: Z = A ∨ (B ∧ C), 2) Tabela Verdade, ou

3) A função é definida como tendo valores 1 nas linhas 3,4,5,6 e 7 da coluna Z de uma tabela verdade de três variáveis.

linha no. A B C Z 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 1 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1

Propriedades das funções lógicas:

1) Comutatividade: Z = A ∧ B = B ∧ A AND Z = A ∨ B = B ∨ A OR Z = A ⊕ B = B ⊕ A XOR 2) Associatividade: Z = (A ∧ B) ∧ C = A ∧ (B ∧ C) AND Z = (A ∨ B) ∨ C = A ∨ (B ∨ C) OR Z = (A ⊕ B) ⊕ C = A ⊕ (B ⊕ C) XOR 3) Princípio da Dualidade

Se trocarmos os sinais ∨ (OR) e ∧ (AND) entre si e trocarmos os 0s e 1s entre si, teremos substituído a equação original por outra igualmente válida.

(11)

Teoremas: 1. ¬¬A = A 2. A ∨ 0 = A 3. A ∨ 1 = 1 4. A ∨ A = A 5. A ∨ ¬A = 1 6. A ∧ 1 = A 7. A ∧ 0 = 0 8. A ∧ A = A 9. A ∧ ¬A = 0 10. A ∨ (A ∧ B) = A 11. A ∧ (A ∨ B) = A 12. (A ∧ B) ∨ (A ∧ ¬B) = A 13. (A ∨ B) ∧ (A ∨ ¬B) = A 14. A ∨ (¬A ∧ B) = A ∨ B 15. A ∧ (¬A ∨ B) = A ∧ B 16. A ∨ (B ∧ C) = (A ∨ B) ∧ (A ∨ C) 17. A ∧ (B ∨ C) = (A ∧ B) ∨ (A ∧ C) 18. (A ∧ B) ∨ (¬A ∧ C) = (A ∨ C) ∧ (¬A ∨ B) 19. (A ∨ B) ∧ (¬A ∨ C) = (A ∧ C) ∨ (¬A ∧ B) 20. (A ∧ B) ∨ (¬A ∧ C) ∨ (B ∧ C) = (A ∧ B) ∨ (¬A ∧ C) 21. (A ∨ B) ∧ (¬A ∨ C) ∧ (B ∨ C) = (A ∨ B) ∧ (¬A ∨ C)

A equação (17) indica que a álgebra de variáveis lógicas é distributiva: A ∧ (B ∨ C) = (A ∧ B) ∨ (A ∧ C)

ou pode ser fatorado um fator comum: (A ∧ B) ∨ (A ∧ C) = A ∧ (B ∨ C) \ / |

fator comum ---

(12)

Funções de Duas Variáveis

Existem 16 funções de duas variáveis. As funções f0 e f15 não são funções de A e

B. As funções f3, f5, f10 e f12 são funções de uma variável (f10 e f12 são funções NOT). A

seguir a relação de todas as funções de duas variáveis, a partir da tabela verdade para duas variáveis (A e B). As funções são também expressas usando apenas as funções AND, OR e NOT (as expressões são demonstradas usando uma tabela verdade. Por exemplo, f6:

A B ¬A ¬B ¬A ∧ B A ∧ ¬B (¬A ∧ B) ∨ (A ∧ ¬B) 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 1 1 1 1 0 0 0 0 0 ou seja, (¬A ∧ B) ∨ (A ∧ ¬B) = A ⊕ B. As 16 funções: A 0 0 1 1 B 0 1 0 1 Função f0 0 0 0 0 f = 0 f1 0 0 0 1 f = A ∧ B (and) f2 0 0 1 0 f = ¬(A → B) = A ∧ ¬B f3 0 0 1 1 f = A f4 0 1 0 0 f = ¬(B → A) = ¬A ∧ B f5 0 1 0 1 f = B f6 0 1 1 0 f = A ⊕ B = (A ∧ ¬B) ∨ (¬A ∧ B) f7 0 1 1 1 f = A ∨ B (or) f8 1 0 0 0 f = ¬(A ∨ B) (nor) f9 1 0 0 1 f = ¬(A ⊕ B) = (¬A ∧ ¬B) ∨ (A ∧ B) f10 1 0 1 0 f = ¬B f11 1 0 1 1 f = B → A = A ∨ ¬B f12 1 1 0 0 f = ¬A f13 1 1 0 1 f = A → B = ¬A ∨ B f14 1 1 1 0 f = ¬(A ∧ B) (nand) f15 1 1 1 1 f = 1

(13)

Teoremas de De Morgan

(1) o complemento de um produto lógico (AND) de variáveis é igual a soma lógica (OR) dos complementos de cada variável.

¬(A ∧ B ∧ C ∧ ...) = ¬A ∨ ¬B ∨ ¬C ∨ ...

(2) o complemento de uma soma lógica (OR) de variáveis é igual ao produto lógico (AND) dos complementos de cada variável.

¬(A ∨ B ∨ C ∨ ...) = ¬A ∧ ¬B ∧ ¬C ∧ ... (1) é dual a (2) => Princípio da Dualidade.

Exercício: Mostrar que f2 (A ∧ ¬B) é o complemento de f13 (¬A ∨ B) através de De

Morgan.

Diagramas de Venn

O diagrama de Venn divide o espaço em regiões mutuamente exclusivas => útil para visualizar geometricamente os teoremas da álgebra boolena.

a) A ∨ ¬A = 1 => o 1 representa o universo de interesse.

b) (A ∧ B) ∨ (A ∧ ¬B) ∨ (¬A ∧ B) ∨ (¬A ∧ ¬B) = 1

(14)

Interseção : A ∧ B União: A ∨ B

Os diagramas de Venn dividem o universo (o retângulo) em 2n áreas identificáveis diferentes, onde n é o número de variáveis.

No esquema a) 1 variável => 21 = 2 áreas

b) e c) 2 variáveis => 22 = 4 áreas

Os diagramas de Venn são úteis quando se deseja a visualização geométrica de funções booleanas, podendo também ser usados para estabelecer ou verificar teoremas algébricos booleanos.

d) Diagrama de Venn de 3 variáveis => 23 = 8 áreas

Exercício.: Usar um diagrama de Venn para verificar o teorema da equação (19), isto é,

(A ∨ B) ∧ (¬A ∨ C) = (A ∧ C) ∨ (¬A ∧ B)

(15)

Exemplos de aplicação dos teoremas da Álgebra de Boole

Uma operação lógica que une duas variáveis lógicas, como a função AND, etc., é muitas vezes denominada de conetivo. Funções de mais de duas variáveis são formadas pela aplicação repetida destes conetivos de duas variáveis.

Os teoremas booleanos servem para simplificar expressões algébricas: Ex. 1: Simplificar w = xy + ¬(yx)z

w = xy + ¬(xy)z pois AB = BA (comutatividade)

Se v = xy => w = v + ¬vz pois a função de variáveis lógicas é uma variável lógica.

w = v + z pois A + ¬AB = A + B (teo. 14) w = xy + z Ex. 2: Simplificar w = x (¬x + y) w = x (¬x + y) = xy A (¬A + B) = AB (teo. 15) ou w = x (¬x + y) = x¬x + xy A (B + C) = AB + AC = 0 + xy A¬A = 0 = xy A + 0 = A Ex. 3: Simplificar w = ¬x ( x + y) + ¬z + zy

w = ¬x(x+y)+¬z+zy = ¬x(x+y)+¬z+y A + ¬AB = A + B (¬A = z)

w = x¬x+¬xy+¬z+y = ¬xy+¬z+y A(B+C) = AB+AC e ¬AA=A¬A=0 w = y+¬xy+¬z = y+y¬x+¬z A+B = B+A; AB = BA

w = y + ¬z A + AB = A Exemplos da aplicação dos teoremas de De Morgan: Ex. 4: Simplificar v = ¬(w + w¬x + yz)

v = ¬(w+w¬x+yz) = ¬w . ¬(w¬x) . ¬(yz) Teo. de De Morgan v = ¬w (¬w + ¬¬x)(¬y + ¬z) Teo. de De Morgan v = ¬w (¬w + x)(¬y + ¬z) ¬¬A = A

v = ¬w (¬y + ¬z) A(A+B) = A, A = ¬w ou:

v = ¬(w + w¬x + yz) = ¬(w + yz) A + AB = A v = ¬(w + yz) = ¬w . ¬(yz) Teo. de De Morgan

(16)

Ex. 5: Simplificar v = ¬{w [(x+y(z+¬w))]}

v = ¬{w [(x+y(z+¬w))]} = ¬w + ¬[x + y(z+¬w)] De Morgan v = ¬w + ¬x . ¬[y(z + ¬w)] De Morgan v = ¬w + ¬x [¬y + ¬(z + ¬w)] De Morgan

v = ¬w + ¬x (¬y + ¬zw) De Morgan e ¬¬A = A v = ¬w + ¬x.¬y + ¬x.¬z.w A (B + C) = AB + BC

v = ¬w + ¬x.¬y + ¬x.¬z A + ¬AB = A + B (A = ¬w) v = ¬w + ¬x(¬y + ¬z) AB + AC = A (B + C)

Os exemplos seguintes ilustram o uso dos teoremas (20) e (21): Ex. 6: Simplificar v = wx + x¬y + yz + x¬z

v = wx + x¬y + yz + x¬z + xy Teo. (20)

v = wx + x(¬y + y) + yz + x¬z AB + AC = A(B + C) v = wx + x + yz + x¬z ¬A + A = 1 e A . 1 = A v = x + yz + x¬z A + AB = A

v = x + yz A + AB = A Ex. 7: Simplificar v = (w + x + y)(w + ¬x + y)(¬y + z)(w + z)

v = (w + y)(¬y + z)(w + z) (A+B)(A+¬B) = A A = w + y, B = x v = (w + y)(¬y + z) Teo. (21)

Exemplos adicionais

Como foi visto, afirmações e condições relativamente complexas podem ser expressas sob a forma de expressões algébricas booleanas. A partir daí usamos os teoremas da álgebra booleana para encontrar expressões mais simples e equivalentes, ilustrando assim, como o conceito de variável lógica e sua álgebra associada é usado para executar um processo de raciocínio lógico.

Ex. 1: Uma estudante consulta o catálogo da universidade e fica sabendo que pode se matricular em determinada disciplina somente se ela satisfizer uma das seguintes condições:

1. Já completou sessenta créditos e é uma estudante de Análise de Sistemas regularmente matriculada;

2. Completou sessenta créditos e é uma estudante de Análise e tem o consentimento do Instituto de Informática;

3. Completou menos de sessenta créditos e é uma estudante de Análise com matrícula especial;

(17)

4. É uma estudante regularmente matriculada e tem o consentimento do Instituto; 5. É uma estudante de Análise e não tem o consentimento do Instituto.

Encontre uma expressão mais simples que indique a possibilidade de a estudante matricular-se na disciplina.

SOLUÇÃO: Introduzimos as variáveis w, x, y, z e v para representar as seguintes situações:

w = a estudante completou sessenta créditos; x = a estudante é aluna de Análise de Sistemas; y = a estudante tem matrícula regular;

z = a estudante tem o consentimento do Instituto; v = a estudante pode se matricular na disciplina.

Ou seja, se y = V ou y = 1 => a estudante tem matrícula regular, ou se y = F ou y = 0 => a estudante tem matrícula especial. Quando as variáveis w, x, y e z assumem valores tais que v = verdadeiro, a estudante pode se matricular. A especificação de quando isto ocorre pode ser feita pela equação algébrica lógica:

v = wxy + wxz + ¬wx¬y + yz + x¬z

A simplificação, usando os teoremas de álgebra booleana: v = wxy + wxz + ¬wx¬y + yz + x¬z v = wxy + ¬wx¬y + yz + x(¬z + zw) v = wxy + ¬wx¬y + yz + x(¬z + w) v = wxy + ¬wx¬y + yz + x¬z + xw v = wx(y + 1) + ¬wx¬y + yz + x¬z v = wx + ¬wx¬y + yz + x¬z v = x(w + ¬w.¬y) + yz + x¬z v = x(w + ¬y) + yz + x¬z v = xw + x¬y + yz + x¬z

A expressão é idêntica à do exemplo 6 do sub-ítem anterior, portanto: v = x + yz

Assim, a estudante poderá se matricular na disciplina (v = 1) se for uma aluna de Análise (x = 1) ou se simultaneamente tiver matrícula regular (y = 1) e consentimento do Instituto (z = 1).

(18)

Ex. 2: Há cinco livros v, w, x, y e z, numa prateleira. Você deve selecionar alguns entre eles de modo a satisfazer todas as condições a seguir:

1. Selecionar v ou w ou ambos; 2. Selecionar x ou z ou não ambos;

3. Selecionar v e z juntos ou nenhum dos dois; 4. Se selecionar y também deve selecionar z; 5. Se selecionar w também deve selecionar v e y.

SOLUÇÃO: A expressão que satisfaz todas as condições é dada por u: u = (v + w)(x ⊕ z)¬(v ⊕ z)(y → z)(w → vy)

Transformando nas expressões equivalentes usando somente as funções AND, OR e NOT: u = (v + w)(x¬z + ¬xz)(vz + ¬v.¬z)(¬y + z)(¬w + vy) u = (vz + ¬vw¬z)(x¬z + ¬xz)(¬y + z)(¬w + vy) u = (v¬wz + vyz)(x¬y.¬z + ¬x.¬yz + ¬xz) u = v¬w.¬x.¬yz + v¬w.¬ xz + v¬xyz u = v¬xz (¬w.¬y + ¬w + y) u = v¬xz (¬w + y)

Devemos selecionar v e z e rejeitar x e, ao mesmo tempo, se rejeitarmos w, não importa se selecionamos ou rejeitamos y.

(19)

Diagramas de Circuitos Lógicos

Existe uma correspondência entre uma expressão lógica e um diagrama de portas lógicas. Por exemplo considere a expressão simplificada do exemplo anterior:

u = v¬xz(¬w + y)

Agora como ficaria a implementação em circuitos lógicos da expressão original, sem a simplificação ?

u = (v + w)(x¬z + ¬xz)(vz + ¬v.¬z)(¬y + z)(¬w + vy)

A simplificação de expressões lógicas, como acabou-se de ver, leva a uma implementação física, através de circuitos lógicos, bem mais econômica (no exemplo acima foram economizadas oito portas lógicas, sem contar os inversores).

Simplificação de Circuitos Lógicos: Mapeamento

Consideremos a expressão booleana Z = A.¬B + ¬A.B + A.B. Um diagrama lógico dessa expressão (figura 6.1 a) e da expressão simplificada (figura 6.1 b) a seguir:

(20)

(a) circuito lógico não simplificado

(b) circuito lógico simplificado

(c) tabela verdade A | B | Z --- 0 | 0 | 0 0 | 1 | 1 1 | 0 | 1 1 | 1 | 1 Figura 6.1

Notar que devem ser usadas seis portas, contando os inversores, para implementar esse circuito lógico, que executa a lógica detalhada na tabela verdade acima (figura 6.1c). Do exame da tabela verdade, e determinado que uma única porta OR de 2 entradas executará a função. Verifica-se que a porta OR mostrada acima (figura 6.1b) será o

(21)

método mais simples de executar esta lógica. Os circuitos lógicos das figuras (6.1a) e (6.1b) executam exatamente a mesma função lógica. Obviamente um projetista escolheria o circuito mais simples, e menos dispendioso, mostrada na figura (6.1b). A simplificação obtida foi feita pelo simples exame da tabela verdade e pelo reconhecimento do padrão OR. Porém, existem métodos sistemáticos de simplificação, além dos já vistos, e de obtenção da expressão algébrica de uma função lógica através da tabela verdade.

Expressões booleanas de soma-de-produtos

Considere a seguinte tabela verdade (figura 6.2a) de três variáveis (A, B e C). Observe que só duas combinações de variáveis irão gerar uma saída 1. Estas combinações são mostradas nas quinta e oitava linhas da tabela verdade:

(a) A B C | Z --- 0 0 0 | 0 0 0 1 | 0 0 1 0 | 0 0 1 1 | 0 1 0 0 | 1 ⇒ A.¬B.¬C 1 0 1 | 0 1 1 0 | 0 1 1 1 | 1 ⇒ A.B.C (b) Expressão booleana: Z = A. ¬B. ¬C + A.B.C (c) Circuito lógico AND-OR

(22)

Da quinta linha, dizemos que uma entrada "um A E um não B E um não C irá gerar uma saída 1". Isto é mostrado do lado da linha, como a expressão booleana A.¬B.¬C. A outra combinação de variáveis que irá gerar uma saída 1 é mostrada na oitava linha. Nessa linha se lê que "um A E um B E um C irá gerar uma saída 1". A expressão booleana equivalente é mostrada do lado da linha como A.B.C. Estas duas combinações possíveis são depois submetidas juntas a uma operação OR para formar a expressão booleana completa da tabela verdade. A expressão completa é mostrada na figura 6.2b. Esta expressão é chamada de soma-de-produtos de uma expressão booleana. É conhecida também como forma de termos mínimos. O diagrama lógico da figura 6.2c executa a lógica desta função.

Expressões booleanas de produto-de-somas

Considere a tabela verdade OR da figura 6.3b. A expressão booleana desta tabela verdade pode ser escrita de duas formas. A primeira é a expressão de soma-de-produtos a partir dos 1s de saída da tabela verdade, como já visto no item anterior. Cada 1 na coluna de saída torna-se um termo a ser submetido a uma operação OR na expressão de termos mínimos. A expressão de termos mínimos para a tabela verdade é mostrada na figura 6.3c como Z = ¬A.B + A.¬B + A.B.

A segunda forma de se obter a expressão lógica é a forma de termos máximos ou produto-de-somas. Este tipo de expressão é desenvolvida a partir dos 0s na coluna de saída da tabela verdade. Para cada 0 na coluna de saída, é desenvolvido um termo submetido a uma operação OR. Notar que a variáveis de entrada são invertidas e depois submetidas a uma operação OR. A expressão de termos máximos para a tabela verdade OR é mostrada na figura 6.3a. A expressão de termos máximos para a tabela verdade OR é mostrada como Z = A + B. Para a tabela verdade da figura 6.3, a expressão booleana de termos máximos revela-se a mais simples. Tanto as expressões de termos mínimos quanto as de termos máximos descrevem a lógica da tabela verdade na fig. 6.3.

(a) Expressão booleana de termos máximos: Z = A + B (b) Tabela verdade OR A B | Z --- 0 0 | 0 ⇒ Inverte as variáveis ⇒ A + B 0 1 | 1 ⇒ ¬A .B 1 0 | 1 ⇒ A. ¬B 1 1 | 1 ⇒ A. B

(c) Expressão boolena de termos mínimos: Z = ¬A.B + A.¬B + A.B

Referências

Documentos relacionados

Deliberações: Examinando os itens constantes da ordem do dia, os acionistas presentes tomaram a seguinte deliberação: foi examinada, discutida e aprovada, pela unanimidade de votos

1 – Abra a transformação do exercício anterior, clique com o botão direito em cima do step Excel input e escolha a opção Movimento dos dados -> Distribui os dados para os

As variáveis independentes (X) foram definidas levando em consideração a relação direta de cada uma delas com a variável dependente (Y), sendo essas variáveis:

Contínua – observação de comportamentos durante as sessões; Final – elaboração de um projeto de simulação financeira; Avaliação da Satisfação:

As provas (P i ) na forma de provas escritas serão realizadas em sala de aula, consistindo de resoluções de exercícios e/ou questões, os quais estarão de acordo com os

Definição. Uma função é uma relação binária entre elementos de um conjunto X e elementos de um conjunto Y satisfazendo as condições de não ambigüidade e não exceção.

Probabilidade: um curso em nível intermediário. Introduccion a la Teoria de

O coeficiente de correlação parcial mede a correlação entre 2 variáveis, incluindo os efeitos que a terceira possa ter causado sobre o comportamento delas, isto é, considerando que