UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 6 Álgebra de Boole Prof. Leonardo Augusto Casillo
Álgebra de Boole (ou Boleana) Desenvolvida pelo matemático britânico George Boole para estudo da lógica. Definida sobre um conjunto de dois elementos: (falso, verdadeiro) (0, 1) (baixo, alto) Seus elementos, a princípio, não tem significado numérico. Postulados: se x é uma variável booleana então: Se x 0 x = 1 Se x 1 x = 0
Álgebra de Boole: funções Uma variável booleana só pode assumir apenas um dos valores possíveis (0 e 1) Uma ou mais variáveis e operadores podem ser combinados formando uma função lógica Z 1 (A) = f(a) =... (expressão usando var. A) Z 2 (A,B) = f(a,b) =... (expressão usando var. A e B) Resultados de uma função lógica podem ser expressos numa tabela relacionando todas as combinações possíveis dos valores que suas variáveis podem assumir e seus resultados correspondentes: a Tabela-Verdade.
Álgebra de Boole: Tabela Verdade Variáveis Função Lógica Lista das combinações possíveis dos estados das variáveis de entrada A B Z=f(A,B) 0 0 0 0 1 1 1 1 0 1 1 1 Resultados da função lógica para cada combinação dos estados de entrada Tabela-Verdade relaciona os resultados (saída) de uma função lógica para todas as combinações possíveis de suas variáveis (entrada). Na Tabela-Verdade acima a função lógica Z possui duas variáveis A e B, sendo Z = f(a, B) = A + B
Álgebra de Boole: Resumo Considere uma variável binária x. Por definição x assume apenas 0 ou 1. Portanto, a variável x pode ser utilizada apenas para descrever situações em que apenas duas situações podem ocorrer. Ex: verdadeiro ou falso; Para representar dados com mais de dois valores usamos palavras binárias São grupos de bits formados em uma ordem definida e que representam todas as possíveis combinações Ex: dado = a 3 a 2 a 1 a 0 Cada bit pode assumir o valor 0 ou 1; existem 2 4 possíveis combinações para dado
Álgebra de Boole: Resumo A B C Célula F(A,B,C) Função binária As entradas A,B e C {0,1} A saída é uma função f(a,b,c) que pode assumir o valor 0 ou 1. A saída é uma variável binária que é dependente das entradas.
Álgebra de Boole: Resumo Várias abordagens podem ser utilizadas para definir uma função binária F(x) = f(x 1 x 2... x r ) x i {0,1} F(x) é uma correspondência única que associa um valor que pode ser 0 ou 1 para cada um dos 2 r possíveis valores do vetor A Tabela da Verdade possibilita uma forma fácil de implementar esta tarefa. A tabela da verdade é simplesmente uma lista de todas as possíveis combinações dos bits de entrada e os respectivos valores de saída para cada combinação. Para n variáveis de entrada, existem 2 n possíveis combinações para os n bits.
Álgebra de Boole: operações São definidas algumas operações elementares na álgebra booleana: Operação Não (NOT) Operação E (AND) Operação Ou (OR) Operação Não E (NAND) Operação Não Ou (NOR) Operação Ou-Exclusivo (Exclusive-Or ou XOR) XNOR
Álgebra de Boole: precedência Precedência das Operações (0) parêntesis (1) Negação (2) E (3) Ou (4) Ou-exclusivo O uso de parêntesis altera a precedência normal dos operadores, como na álgebra comum.
Álgebra de Boole: identidades NOT 0 = 1 1 = 0 A = A AND A. 1 = A A. 0 = 0 A. A = A A. A = 0 OR A + 1 = 1 A + 0 = A A + A = A A + A = 1
Teorema de De Morgan Primeira Lei A. B = A + B Segunda Lei A + B = A. B Estes teoremas fornecem expressões alternativas que relacionam as operações NOR e NAND. Ambas as leis podem ser estendidas para n variáveis.
Álgebra de Boole: propriedades Sendo A, B e C variáveis booleanas Propriedade Comutativa A. B = B. A A + B = B + A A B = B A Propriedade Associativa ( 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 Propriedade Distributiva A. ( B + C ) = A. B + A. C
Álgebra de Boole: propriedades Propriedades (Leis) de Absorção A + A.B = A A + A.B = A + B (A + B).B = A.B Identidades importantes (provar) A.B + A.B = A (A + B). (A + B) = A A.(A + B) = A A.(A + B) = AB A.B + A.C = (A + C). (A + B)
Álgebra de Boole: dualidade Existe um princípio na álgebra booleana denominado princípio da dualidade : Para uma equação booleana qualquer, se trocarmos as operações E (.) e operações OU (+) entre si, assim como valores 0s e 1s entre si, obteremos uma equação igualmente válida. A + 0 = A A. 1 = A A + 1 = 1 A. 0 = 0 A + A = A A. A = A A + A = 1 A. A = 0
Equivalência e Suficiência de Operações Equivalência das operações Qualquer função lógica pode ser expressa em termos das operações AND, OR e NOT. A E = ĀE + AĒ Suficiência das operações Apenas as operações AND e NOT ou OR e NOT são suficientes para expressar qualquer operação: ĀE + AĒ (aplicando De Morgan) ĀE. AĒ
Lógica baseada em NAND Aplicar as regras de DeMorgan para eliminar qualquer operação OR Primeira Lei A. B = A + B Segunda Lei A + B = A. B Exemplo: f = x + y (complemento duas vezes e uso DeMorgan) F = x + y = x. y A. A = A + A = A
Lógica baseada em NOR Aplicar as regras de DeMorgan para eliminar qualquer operação OR Primeira Lei A. B = A + B Segunda Lei A + B = A. B Exemplo: f = x + y (complemento duas vezes e uso DeMorgan) F = x + y = x. y A + A = A. A = A
Simplificação Os teoremas, propriedade e identidades da álgebra booleana podem ser aplicados para simplificar funções lógicas e, com isso, reduzir o número necessário de operações. Reduzir operações = reduzir área
Exercícios (1) Prove se as seguintes simplificações são possíveis: w = x.y + y.x.z w = x ( x + y) w = x (x + y) + z + z.y (2) Simplifique: temos w = xy + z temos w = xy temos w = y + z w = (w + y + x)(w + y + x)(y + z)(w + z) w = v + vx + yz
Exercícios (3) Reescreva as expressões booleanas em função apenas de Portas NAND e NOR: w = x.y + y.z w = x.( x + y) w = x. (x + y) + z + z.y w = x.y + z.x w = x