Simplificador de Álgebra Booleana

Use A, B, C... para variáveis. Operadores: & (E), | (OU), ! (NÃO), ^ (XOU), ( )

Dada uma expressão booleana — A·B + A·¬B + ¬A·B ou uma tabela verdade com mintermos — este simplificador retorna a forma mínima de soma de produtos usando o algoritmo de Quine-McCluskey, além de uma visualização do mapa de Karnaugh para até seis variáveis. Ele mostra cada passo (implicantes primos, implicantes primos essenciais, a tabela de cobertura) então é útil não apenas para lição de casa, mas para auditar o que um minimizador dentro da sua ferramenta de síntese escolheu.

Como a simplificação booleana funciona

  1. 1

    Insira a expressão ou mintermos

    Use operadores · (E), + (OU), ' ou ¬ (NÃO), ⊕ (XOR). Ou cole índices de minterm como m(0,1,3,7).

  2. 2

    Tabela verdade é gerada

    Cada atribuição de variável é avaliada e a saída da função é tabulada.

  3. 3

    Quine-McCluskey encontra implicantes primos

    Mintermos são agrupados e combinados iterativamente. Grupos adjacentes (diferindo em uma variável) se fundem até que não haja mais reduções possíveis.

  4. 4

    Implicantes essenciais cobrem a função

    Uma tabela de cobertura do método de Petrick escolhe o conjunto mínimo de implicantes primos. O resultado é a SOP simplificada. A forma POS é derivada do complemento.

Notação de operadores suportada

Operação Símbolos aceitos
E ·, *, &, , espaço
OU +, |,
NÃO \', ¬, !, ~, barra superior (A com barra superior renderiza como A\')
XOR , ^
Constantes 0, 1

Exemplo

Entrada: A·B + A·¬B + ¬A·B

Tabela verdade:

A B F
0 0 0
0 1 1
1 0 1
1 1 1

Mintermos: m(1, 2, 3). A SOP mínima reduz para A + B (OU das duas variáveis). O simplificador passa por:

  1. Agrupar mintermos pelo número de 1s
  2. Combinar pares adjacentes: (1,3) → -B, (2,3) → A-
  3. A tabela de cobertura mostra que ambos são essenciais — forma final: A + B

Por que minimizar

  • Menos portas: cada termo AND/OR custa silício ou LUTs de FPGA.
  • Caminho crítico mais curto: lógica menor geralmente significa menor atraso de propagação.
  • Menor consumo de energia: menos nós de comutação.

Limites do algoritmo

  • Número de variáveis: Quine-McCluskey escala como O(3^n / n) no pior caso. A ferramenta lida confortavelmente com até 8 variáveis; além disso, use minimizadores heurísticos estilo Espresso (você não obterá garantia de minimalidade, mas é viável).
  • Termos não considerados: inclua-os com a sintaxe d(indices) para obter resultados menores quando algumas combinações de entrada não podem ocorrer.

Perguntas frequentes

Soma de produtos é OU de ANDs (como AB + CD); produto de somas é AND de ORs (como (A+B)(C+D)). Mesma função, estrutura diferente. O simplificador retorna ambos — escolha o que melhor se adapta à sua ferramenta a jusante.

Sim. Insira-as como d(index1, index2, ...) junto com os mintermos. O minimizador as trata como “livres” para atribuir qualquer valor que resulte em um resultado menor.

Ambos produzem custo mínimo se você escolher corretamente, mas K-maps dependem da pessoa que identifica os maiores grupos possíveis. Quine-McCluskey é determinístico e sempre encontra um ótimo.

XOR é expandido em AND/OR/NÃO antes da minimização. Você obterá uma SOP equivalente, mas a estrutura XOR é perdida. Para otimização que preserva XOR, um algoritmo diferente (Reed-Muller) é necessário.

Ferramentas relacionadas