Sistemas Digitais e Microprocessados

Minimização Algébrica

Professor: Gabriel Soares Baptista

Introdução

Minimizar uma expressão booleana é reduzir o que está sobrando sem alterar a tabela-verdade.

O circuito continua equivalente, mas usa menos portas, repete menos lógica e tende a ser mais fácil de ler e implementar.

Antes de seguir, vale lembrar três ideias da aula anterior: tabela-verdade, SOP e POS.

Ideia Central

Minimizar não é mudar a função.

É retirar redundâncias que não alteram nenhuma linha da tabela-verdade.

Critério prático

Se duas expressões produzem a mesma saída para todas as combinações de entrada, a forma menor costuma ser a melhor escolha.

Por que isso importa?

Uma forma menor não é só uma conta mais elegante.

Ela costuma significar menos portas, menos duplicação de lógica e um circuito mais direto de interpretar.

Leitura do circuito

Sempre pergunte: o que aqui ainda muda alguma linha da tabela-verdade?

Exemplo Inicial

Considere a função $S$ abaixo.

$$ \begin{array}{c|c||c} A & B & S \\ \hline 0 & 0 & 0 \\ 0 & 1 & 0 \\ 1 & 0 & 1 \\ 1 & 1 & 1 \end{array} $$

Da tabela, obtemos duas formas canônicas equivalentes:

  • POS: $S = \Pi M(0,1) = (A + B)(A + \bar{B})$
  • SOP: $S = \Sigma m(2,3) = A\bar{B} + AB$

Exemplo Inicial

As duas expressões descrevem a mesma função.

Uma reúne os casos em que a saída vale 1; a outra, os casos em que a saída vale 0.

SOP canônica

2026-04-06T17:52:19.367495 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ S A B A B

POS canônica

2026-04-06T17:52:19.719252 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ S A B A B

Exemplo Inicial

Com minimização, chegamos à forma reduzida:

Forma minimizada

2026-04-06T17:52:19.957705 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ S A

Leitura final

Quando $A=1$, o valor de $B$ deixa de importar.

Reflita

Se a SOP e a POS já descrevem a mesma tabela, o que a minimização precisa preservar e o que ela pode eliminar?

Identidades Básicas

As primeiras regras de simplificação funcionam como uma limpeza inicial.

Elas eliminam o que nunca ajuda, o que já está garantido e o que está apenas repetido.

Constantes

Comportamento Expressão Significado prático
Identidade $A \cdot 1 = A$
$A + 0 = A$
O sinal passa sem alteração.
Nulidade $A \cdot 0 = 0$
$A + 1 = 1$
A constante domina a saída.

Idempotência e Complemento

Regras fundamentais

Regra Expressão Significado prático
Idempotência $A + A = A$
$A \cdot A = A$
Repetir a mesma informação não cria uma condição nova.
Complemento OR $A + \bar{A} = 1$ Um sinal ou seu oposto cobrem todos os casos.
Complemento AND $A \cdot \bar{A} = 0$ Um sinal e seu oposto nunca valem 1 ao mesmo tempo.
Ideia-guia

Sempre que você simplificar, pergunte se essa parte ainda muda alguma linha da tabela-verdade.

Exemplo 1: O excesso que não muda nada

Questão 1

Simplifique a expressão: $S = AB + AB$

Os dois termos são idênticos, então a primeira suspeita é repetição inútil.

$$ \begin{split} S &= AB + AB \\ S &= AB \quad \text{(idempotência)} \end{split} $$

Leitura: o segundo termo não acrescenta nenhuma linha nova à tabela-verdade.

Exemplo 2: Um termo impossível

Questão 2

Simplifique a expressão abaixo:

$$ S = A\bar{A} + B $$

O produto $A\bar{A}$ é uma contradição interna.

$$ \begin{split} S &= A\bar{A} + B \\ S &= 0 + B \quad \text{(complemento)} \\ S &= B \quad \text{(identidade)} \end{split} $$

Leitura: ele ocupa espaço algébrico, mas não ocupa espaço lógico.

Exemplo 3: Uma constante não precisa de circuito

Questão 3

Simplifique a expressão abaixo:

$$ S = 1 \cdot (A + B) + 0 \cdot C $$

Aqui aparecem as duas regras de constante ao mesmo tempo.

$$ \begin{split} S &= 1 \cdot (A + B) + 0 \cdot C \\ S &= (A + B) + 0 \\ S &= A + B \end{split} $$

Leitura: o 1 preserva o bloco da esquerda; o 0 elimina o da direita.

Fatoração

Quando dois termos compartilham parte da estrutura, a fatoração revela o que está repetido.

Ela permite destacar o bloco estável da expressão e eliminar a variável que só muda dentro do grupo.

Exemplo 4: Eliminando uma variável por fatoração

Questão 4

Simplifique a expressão abaixo:

$$ S = ABC + AB\bar{C} $$

Os dois termos repetem o bloco $AB$.

$$ \begin{split} S &= ABC + AB\bar{C} \\ S &= AB(C + \bar{C}) \quad \text{(fatoração)} \\ S &= AB \cdot 1 \quad \text{(complemento)} \\ S &= AB \end{split} $$

Circuito original

2026-04-06T17:52:20.142967 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ S A B C A B C

Circuito reduzido

2026-04-06T17:52:20.308427 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ S A B

Leitura: o valor de $C$ era só a diferença interna entre os dois termos.

Exemplo 5: A mesma ideia com a outra variável

Questão 5

Simplifique a expressão abaixo:

$$ S = ABD + \bar{A}BD $$

Agora quem se repete é o bloco $BD$.

$$ \begin{split} S &= ABD + \bar{A}BD \\ S &= (A + \bar{A})BD \quad \text{(fatoração)} \\ S &= 1 \cdot BD \quad \text{(complemento)} \\ S &= BD \end{split} $$

Leitura: o raciocínio é o mesmo; só muda a variável que alterna entre normal e negada.

Exemplo 6: Fatoração em camadas

Questão 6

Simplifique a expressão abaixo:

$$ S = ABCD + ABC\bar{D} + AB\bar{C}D + AB\bar{C}\bar{D} $$

Primeiro, o par que difere só em $D$; depois, o resultado ainda repete a estrutura em $C$.

$$ \begin{split} S &= ABC(D + \bar{D}) + AB\bar{C}(D + \bar{D}) \\ S &= ABC \cdot 1 + AB\bar{C} \cdot 1 \\ S &= ABC + AB\bar{C} \\ S &= AB(C + \bar{C}) \\ S &= AB \end{split} $$

Leitura: a simplificação acontece em duas ondas, uma por vez.

Absorção

Depois que agrupamos fatores comuns, vale perguntar se algum termo passou a ser desnecessário.

Absorção acontece quando um termo menor já garante tudo o que o termo maior tentaria cobrir.

Exemplo 7: Absorção em soma de produtos

Questão 7

Simplifique a expressão abaixo:

$$ S = A + AB $$

O termo $AB$ está contido em $A$.

$$ \begin{split} S &= A + AB \\ S &= A(1 + B) \\ S &= A \end{split} $$

$$ \begin{array}{c|c|c|c} A & B & A + AB & AB \\ \hline 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 1 & 0 & 1 & 0 \\ 1 & 1 & 1 & 1 \end{array} $$

Antes da absorção

2026-04-06T17:52:20.524408 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ S A A B

Depois da absorção

2026-04-06T17:52:19.957705 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ S A

Leitura: o termo maior não cria nenhuma linha nova de saída 1.

Exemplo 8: Absorção com mais de um termo sobrando

Questão 8

Simplifique a expressão abaixo:

$$ S = AB + ABC + ABD $$

Primeiro desaparece um termo, depois o outro.

$$ \begin{split} S &= AB + ABC + ABD \\ S &= AB + ABD \quad \text{(absorção)} \\ S &= AB \quad \text{(absorção novamente)} \end{split} $$

Leitura: depois que $AB$ aparece, qualquer termo que dependa totalmente dele perde utilidade.

Exemplo 9: A absorção surge depois da fatoração

Questão 9

Simplifique a expressão abaixo:

$$ S = A\bar{B} + AB + BCD $$

A fatoração abre espaço para uma absorção imediata.

$$ \begin{split} S &= A\bar{B} + AB + BCD \\ S &= A(\bar{B} + B) + BCD \\ S &= A \cdot 1 + BCD \\ S &= A + BCD \end{split} $$

Leitura: às vezes a estrutura final só aparece depois de limpar o bloco principal.

Lei de DeMorgan

Quando a barra cobre um grupo inteiro, a operação interna troca:

  • AND vira OR
  • OR vira AND
  • cada variável é negada
Erro comum

O erro mais comum é mover a barra sem trocar a operação. Isso está errado.

Leitura estrutural

Pense em DeMorgan como uma reorganização da expressão, não como um truque isolado.

DeMorgan em comparação

Comparação de saída

$$ \begin{array}{c|c|c} A & B & \overline{AB} \\ \hline 0 & 0 & 1 \\ 0 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 0 \\ \end{array} $$

Forma equivalente

$$ \begin{array}{c|c|c} A & B & \bar{A} + \bar{B} \\ \hline 0 & 0 & 1 \\ 0 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 0 \\ \end{array} $$

Circuito negado

2026-04-06T17:52:20.963897 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ S A B

Circuito equivalente

2026-04-06T17:52:21.215991 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ S A B

Exemplo 10: Barra sobre soma

Questão 10

Simplifique a expressão abaixo:

$$ S = \overline{\bar{A} + B} $$

A barra cobre uma soma inteira.

$$ \begin{split} S &= \overline{\bar{A} + B} \\ S &= \overline{\bar{A}} \cdot \bar{B} \quad \text{(DeMorgan)} \\ S &= A\bar{B} \end{split} $$

Leitura: a negação externa abre a expressão e costuma deixar a expressão pronta para o próximo passo.

Exemplo 11: DeMorgan em duas camadas

Questão 11

Simplifique a expressão abaixo:

$$ S = \overline{(A + B)(\bar{A} + C)} $$

Primeiro a barra externa abre a expressão; depois cada parte é simplificada.

$$ \begin{split} S &= \overline{A + B} + \overline{\bar{A} + C} \\ S &= \bar{A}\bar{B} + A\bar{C} \end{split} $$

Leitura: DeMorgan reorganiza a estrutura; depois ainda vale perguntar se existe fatoração ou absorção.

Exemplo 12: Uma expressão maior com negação e fatoração

Questão 12

Simplifique a expressão abaixo:

$$ S = \overline{A + B}(C + D) + \overline{A + B}E $$

A barra externa aparece como fator comum.

$$ \begin{split} S &= \overline{A + B}(C + D) + \overline{A + B}E \\ S &= \overline{A + B}((C + D) + E) \\ S &= \overline{A + B}(C + D + E) \\ S &= \bar{A}\bar{B}(C + D + E) \end{split} $$

Leitura: primeiro abrimos a estrutura, depois reorganizamos o que sobrou.

Estratégia Prática

Quando a expressão ficar grande, vale seguir uma rotina fixa.

Sem método, tendemos a testar regras ao acaso e a nos perder no meio da conta.

  1. elimine constantes, repetições e complementos imediatos
  2. procure fatores comuns
  3. teste absorção sempre que um termo parecer contido em outro
  4. use DeMorgan quando houver barra sobre grupo inteiro
  5. volte a procurar absorção depois de cada passo

Um bom sinal de progresso é a expressão ficar menor a cada passo, com cada etapa apoiada em uma ideia simples.

Exemplo 13: Simplificação em várias camadas

Questão 13

Simplifique a expressão abaixo:

$$ S = ABC + AB\bar{C} + AD + ADE $$

Primeiro limpamos o par com $C$; depois aparece uma absorção no bloco com $D$.

$$ \begin{split} S &= AB(C + \bar{C}) + AD + ADE \\ S &= AB \cdot 1 + AD(1 + E) \\ S &= AB + AD \end{split} $$

Leitura: a simplificação costuma avançar em ondas, tratando cada parte da expressão.

Exemplo 14: Expressão maior com circuito equivalente

Questão 14

Simplifique a expressão abaixo:

$$ S = A\bar{B}C + A\bar{B}\bar{C} + \bar{A}BC + \bar{A}B\bar{C} $$

Cada par difere só em $C$.

$$ \begin{split} S &= A\bar{B}(C + \bar{C}) + \bar{A}B(C + \bar{C}) \\ S &= A\bar{B} + \bar{A}B \end{split} $$

Forma original

2026-04-06T17:52:21.550524 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ S A C B A B C B C A B A C

Forma reduzida

2026-04-06T17:52:21.805569 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ S A B B A

Leitura: cada par só diferia em $C$, então o circuito perde um nível inteiro de repetição.

Próximos Passos

No próximo capítulo, Minimização Visual, vamos usar o Mapa de Karnaugh para identificar esses agrupamentos de forma gráfica.