Álgebra Booleana, Tabelas Verdade e Propriedades Algébricas

Este tópico é fundamental para a compreensão do funcionamento interno dos computadores e circuitos digitais, pois a Álgebra Booleana é a base matemática por trás das operações lógicas realizadas com os valores binários e com ela que construimos nossos circuitos.


Introdução à Álgebra Booleana

  • Propósito e Contexto:
    A Álgebra Booleana é um ramo da matemática voltado para a lógica binária, onde os valores possíveis são apenas dois: verdadeiro (1) e falso (0). Ela serve como base para a construção de circuitos digitais e para a representação de decisões lógicas em computadores. Seu nome é uma homenagem ao matemático George Boole, que desenvolveu esse sistema lógico no século XIX.
  • Relevância em Circuitos Digitais:
    A Álgebra Booleana permite descrever e projetar o funcionamento de portas lógicas — blocos fundamentais dos circuitos digitais. Portas como AND, OR e NOT operam sobre os valores binários, manipulando sinais de entrada para produzir saídas coerentes com regras lógicas. Combinando essas portas, é possível construir dispositivos complexos, como somadores, registradores, memórias e até processadores completos.

Conceitos Fundamentais e Operadores Booleanos

  • Valores Lógicos:
    • Verdadeiro (True), geralmente representado por 1.
    • Falso (False), geralmente representado por 0.
  • Operadores Lógicos Fundamentais: São utilizadas algumas portas lógicas para facilitar as operações visando torná-las mais alto nível, mais pra frente você vai aprender que todas podem ser feitas com NAND.
    Os principais são:
    • AND (E Lógico): Retorna 1 apenas se ambas as entradas forem 1.
      Possíveis sinais: . | e | and |
    • OR (OU Lógico): Retorna 1 se pelo menos uma das entradas for 1.
      Possíveis sinais: + | ou | or | v
    • NOT (NÃO Lógico/Inversor): Inverte o valor da entrada (0 → 1, 1 → 0).
      Possíveis sinais: | ¬ | ~ | not |
    • XOR (OU Exclusivo): Retorna 1 se apenas uma das entradas for 1.
      Possíveis sinais: | xor | ^ (em alguns contextos)
    • Outros Operadores: Cada operador acima (exceto o NOT) possui sua inversão, que funciona da mesma que um NOT após a porta. Elas são: NAND (↑), NOR (↓), XNOR (≡).
      Ex: NAND é igual a AND → NOT
      (A ↑ B) = ¬(A ∧ B)

Tabelas Verdade

As tabelas verdade são uma ferramenta essencial na hora de criar circuitos digitais, principalmente mais simples. Ela lista todas as combinações possíveis de entradas e a respectiva saída para cada, assim, sendo possível criar uma expressão booleana para um circuito.

Estrutura: Uma tabela verdade irá conter 2n linhas, sendo n o número de entradas do circuito. Ela deve conter todas as entradas possíveis para o circuito.

Exemplos:

Tabela verdade AND  (1 quando A e B são 1)

ABSaída
000
010
100
111

Tabela verdade OR (1 quando A ou B são 1)

ABSaída
000
011
101
111

Tabela verdade NOT (inverte a entrada)

ASaída
01
10

Propriedades Algébricas da Álgebra Booleana

Importância:
Permitem simplificar expressões lógicas, otimizando designs de circuitos (menos portas, menor consumo energético).

Lista de Propriedades

  • Comutativa:
    A + B = B + A
    A * B = B * A
  • Associativa:
    A + (B + C) = (A + B) + C
    A * (B * C) = (A * B) * C
  • Distributiva:
    A * (B + C) = (A * B) + (A * C)
    A + (B * C) = (A + B) * (A + C)
  • Identidade:
    A + 0 = A
    A * 1 = A
  • Complemento:
    A + A′ = 1
    A * A′ = 0
  • Leis de De Morgan:
    (A + B)’ = A’ * B’
    (A * B)’ = A’ + B’
  • Idempotência:
    A + A = A
    A * A = A
  • Absorção:
    A + (A * B) = A
    A * (A + B) = A


Exemplos de Expressões Booleanas e Simplificação

Construção de Expressões

Expressões booleanas combinam variáveis lógicas e operadores (AND, OR, NOT, etc.) para representar o comportamento de circuitos digitais.

Exemplo 1:
F(A, B, C) = (A AND B) OR (NOT C)
Essa função retorna 1 se A e B forem verdadeiros, ou se C for falso.

Exemplo 2:
F(A, B, C) = (A AND NOT B) OR (B AND C)
Aqui, a saída será 1 se A for 1 e B for 0, ou se B e C forem ambos 1.

Essas expressões representam comportamentos comuns em circuitos, como decisões condicionais, comparações ou ativação de componentes com base em múltiplas entradas.


Objetivos da Simplificação

Simplificar expressões booleanas visa:

  • Reduzir o número de portas lógicas necessárias no circuito.
  • Diminuir o tempo de processamento (menos níveis de lógica).
  • Economizar energia e espaço físico nos chips e placas.
  • Facilitar a análise e manutenção do circuito.

Métodos de Simplificação

1. Uso de Propriedades Algébricas

Exemplo 1:
Expressão original:
F = A·B + A·B’

Aplicando a propriedade de absorção:
F = A

Exemplo 2:

Expressão original:
F = (A⋅B⋅C)+(A′⋅B)+(A⋅B⋅C′)+(A⋅B⋅D)+(A⋅B⋅D′)

PassoExpressãoPropriedade Utilizada
0(A⋅B⋅C)+(A′⋅B)+(A⋅B⋅C′)+(A⋅B⋅D)+(A⋅B⋅D′)Comutativa
1(A⋅B⋅C)+(A⋅B⋅C′)+(A′⋅B)+(A⋅B⋅D)+(A⋅B⋅D′)Distributiva
2(A⋅B)⋅(C+C′)+(A′⋅B)+(A⋅B)⋅(D+D′)Complemento
3(A⋅B)⋅1+(A′⋅B)+(A⋅B)⋅1Identidade
4A⋅B+A′⋅B+A⋅BIdempotência
5A⋅B+A′⋅BDistributiva
6B⋅(A+A′)Complemento
7B⋅1Identidade
8B 

2. Mapas de Karnaugh

Mapas de Karnaugh organizam todas as possíveis entradas de uma função booleana em uma tabela visual. Agrupando os 1s adjacentes, é possível encontrar formas mais simples da função. É muito útil para quando se tem a tabela verdade do circuito e quer simplificar a expressão.
Geralmente são utilizados para circuitos com até 4 entradas, após isso ele começa a ficar mais complexo e menos intuitivo de ser utilizado.

Exemplo:

ABCDSAÍDA
00001
00010
00100
00111
01001
01010
01101
01110
10001
10010
10100
10110
11001
11011
11100
11111


Para montar o Mapa de Karnaugh, as colunas e linhas adjacentes a um espaço devem respeitar a regra de negar apenas uma das variáveis em relação à do lado.

 CDCD̅C̅D̅C̅D
AB1 11
AB̅  1 
A̅B̅1 1 
A̅B 11 

Inclusive, pode-se notar nos exemplos abaixo que quando os 1s estão distribuídos de forma análoga a um tabuleiro de xadrez, pode-se uní-los formando um XOR ou XNOR.

Mapas com diferentes quantidades de variáveis:

2 Variáveis

 B
A1 
 1

A̅ ⊕ B

3 Variáveis

 C
AB1 
AB̅11
A̅B̅1 
A̅B1 

C v AB̅

4 Variáveis

 CDCD̅C̅D̅C̅D
AB1 1 
AB̅ 1 1
A̅B̅1 1 
A̅B 1 1

(A ⊕ B ⊕ C ⊕ D)

5 Variáveis

Para 5 variáveis deve-se montar 2 mapas de 4 variáveis. Um mapa será para quando a quinta variável estiver ligada e o outro para quando ela estiver negada.


S = CD̅E̅ + A̅B̅D̅ + ADE + A̅BD

 CDCD̅C̅D̅C̅D
AB1  1
AB̅1  1
A̅B̅ 11 
A̅B1  1

E

 CDCD̅C̅D̅C̅D
AB 1  
AB̅ 1  
A̅B̅ 11 
A̅B11 1

¬E

A partir de 6 variáveis, o Mapa de Karnaugh não é viável de se utilizar, sendo recomendado usar as propriedades algébricas para simplificar uma expressão.


Exercícios

1. Qual é a saída da operação A AND B quando A = 1 e B = 0?

  • a) 0
  • b) 1
  • c) A
  • d) B
  • e) 1 − A

2. Qual expressão representa corretamente a operação XOR?

  • a) A + B
  • b) A · B
  • c) A’ + B’
  • d) A’B + AB’
  • e) A + AB

3. Quantas linhas tem uma tabela verdade com 4 variáveis?

  • a) 4
  • b) 8
  • c) 12
  • d) 16
  • e) 32

4. Qual das expressões abaixo é equivalente a ¬(A + B)?

  • a) ¬A + ¬B
  • b) ¬A · ¬B
  • c) A · B
  • d) A’ + AB’
  • e) (A + B)’ = A + B

5. Simplifique: A + A’ · B

  • a) 0
  • b) 1
  • c) A + B
  • d) A + B’
  • e) A · B

6. Qual porta lógica retorna 0 apenas quando ambas as entradas são 1?

  • a) AND
  • b) OR
  • c) NAND
  • d) XOR
  • e) NOR

7. Qual expressão aplica corretamente a distributiva?

  • a) A + (BC) = (A + B)(A + C)
  • b) A(B + C) = AB + AC
  • c) AB + C = A + BC
  • d) A + B = AB’
  • e) A + AB = AB

8. Dada a função F = A·B + A·C, qual simplificação correta?

  • a) A(B + C)
  • b) A + BC
  • c) AB + AC + BC
  • d) A(B · C)
  • e) B + C

9. Qual propriedade justifica: A + (A·B) = A ?

  • a) Absorção
  • b) Identidade
  • c) Complemento
  • d) Distributiva
  • e) Comutativa

10. Simplifique a expressão: A + A’B + AB

  • a) 1
  • b) A + B
  • c) A
  • d) B
  • e) A’B

11. Qual das alternativas representa a Lei de De Morgan?

  • a) A + A = A
  • b) A(A + B) = A
  • c) (AB)’ = A’ + B’
  • d) (A + B)’ = A + B
  • e) AB + A’B = B