Simplificador de Álgebra Booleana

Reduza qualquer expressão booleana à sua soma de produtos e produto de somas mínimos, com cada implicante primo e uma verificação de tabela verdade linha por linha.

Expressão

Escreva as variáveis como letras únicas. AND pode ser AB, A·B, A*B ou A AND B; OR é A + B ou A OR B; NOT é A', !A ou NOT A; XOR, NAND e NOR também funcionam.
Inserir um operador

Até 6 variáveis diferentes e 2.000 caracteres. As constantes 0 e 1 são permitidas.

Experimente uma expressão

Forma mínima

Sua forma mínima aparecerá aqui

Digite uma expressão booleana para ver sua soma de produtos mais simples, seu produto de somas e como eles foram encontrados.

Digite uma expressão booleana para simplificá-la.

As expressões são simplificadas neste navegador e nunca saem do seu dispositivo.

FAQ

Quais formas de escrever uma expressão são compreendidas?

Todas as convenções comuns, misturadas livremente: estilo de engenharia (AB + A'C, com AND implícito e a plica para NOT), estilo de programação (A && !B || C, A ^ B), símbolos lógicos (¬ ∧ ∨ ⊕ ⊼ ⊽) e palavras simples (A AND B OR NOT C, NAND, NOR). Sequências de várias letras como ABC significam A AND B AND C, e as palavras AND, OR, NOT, XOR, NAND, NOR são sempre lidas como operadores.

Como a forma mínima é encontrada?

A ferramenta constrói a tabela verdade completa, agrupa as linhas de valor 1 adjacentes em implicantes primos (o método Quine–McCluskey), mantém os essenciais e cobre as linhas restantes com uma cobertura mínima exata. O resultado é garantidamente mínimo para a forma de soma de produtos — não é uma heurística — e o mesmo procedimento nas linhas de valor 0 produz o produto de somas.

Qual é a diferença entre os resultados SOP e POS?

Ambas descrevem a mesma função. A soma de produtos (SOP) une termos AND por meio de operadores OR, como AB' + BC, e mapeia-se diretamente para circuitos AND–OR; o produto de somas (POS) une fatores OR por meio de operadores AND, como (A + B)(B' + C), e mapeia-se para circuitos OR–AND. Dependendo da função, uma forma pode precisar de menos portas do que a outra, por isso a ferramenta sempre mostra ambas.

Por que são suportadas no máximo 6 variáveis?

Seis variáveis já produzem uma tabela verdade de 64 linhas, o que está no limite do que ainda é legível e verificável manualmente. Além disso, a minimização continua funcionando na teoria, mas a derivação e a tabela nas quais esta página se baseia deixam de ser úteis como prova. Softwares de design lógico com saída de arquivo são mais adequados para funções mais amplas.

Minimização Exata com o Método Quine–McCluskey

A simplificação de circuitos lógicos e expressões booleanas exige precisão para evitar o desperdício de portas lógicas em projetos de hardware ou condições redundantes em softwares. O Simplificador de Álgebra Booleana realiza essa tarefa reduzindo qualquer expressão booleana às suas formas matemáticas mais simples: a soma de produtos mínima (SOP) e o produto de somas mínimo (POS).

Diferente de métodos heurísticos que podem falhar em encontrar a solução ideal absoluta, esta ferramenta utiliza o algoritmo de Quine–McCluskey com cobertura mínima exata. Esse método sistemático garante que o resultado final seja matematicamente o menor possível. O processo inicia-se com a construção da tabela verdade completa da expressão inserida. A partir dela, o algoritmo agrupa as linhas adjacentes de valor 1 para identificar todos os implicantes primos. Em seguida, determina-se quais desses implicantes são essenciais — ou seja, aqueles que cobrem de forma única pelo menos um mintermo da função. Se restarem linhas de valor 1 descobertas, o algoritmo resolve a cobertura mínima exata para fechar a expressão com o menor número de termos adicionais. O mesmo procedimento é aplicado às linhas de valor 0 para derivar o produto de somas mínimo.

Formas de Entrada e Sintaxe Suportada

A ferramenta aceita até 6 variáveis diferentes e um limite máximo de 2.000 caracteres no campo de entrada. As variáveis devem ser escritas como letras únicas. Para facilitar o uso por estudantes, engenheiros e programadores, o interpretador aceita múltiplos sistemas de notação de forma livre e misturada:

  • AND (Conjunção): Pode ser implícito (como em AB), ou indicado por A·B, A*B, A AND B, A && B, ou símbolos lógicos. Sequências de letras como ABC são interpretadas diretamente como A AND B AND C.
  • OR (Disjunção): Representado por A + B, A OR B, A || B, ou símbolos lógicos.
  • NOT (Negação): Representado por uma plica após a variável (A'), ponto de exclamação (!A), NOT A, ou o símbolo de negação ¬A.
  • XOR (Ou Exclusivo): Representado por A ^ B, A XOR B, ou A ⊕ B.
  • NAND: Representado por A NAND B ou .
  • NOR: Representado por A NOR B ou .
  • Constantes: Os valores booleanos 0 e 1 são permitidos diretamente na expressão.

O painel de controle oferece atalhos rápidos para inserir operadores e três expressões de exemplo prontas para teste: "Fusão de termos" (exemplo de consenso), "Produto negado" (exemplo de De Morgan) e "XOR de três vias". O botão "Limpar" redefine o campo de entrada instantaneamente.

Diagnósticos e Resultados Detalhados

Ao processar uma expressão válida, a ferramenta exibe os resultados estruturados em painéis informativos:

  • Lido como: Mostra a interpretação normalizada que o sistema fez da entrada para garantir que a precedência dos operadores foi compreendida corretamente.
  • Soma de produtos mínima (SOP): O resultado simplificado no formato AND-OR.
  • Produto de somas mínimo (POS): O resultado simplificado no formato OR-AND.
  • Visão geral: Um painel de diagnóstico que exibe o número de variáveis detectadas, a contagem de linhas iguais a 1 (mintermos), a quantidade de implicantes primos e implicantes primos essenciais encontrados, a redução de literais (no formato "antes → depois") e o método de cálculo utilizado.

Se a expressão inserida for equivalente a uma constante, o sistema exibe mensagens específicas. Para tautologias, exibe: "Esta expressão é sempre 1: cada combinação de valores a torna verdadeira.". Para contradições, exibe: "Esta expressão é sempre 0: nenhuma combinação de valores a torna verdadeira.". Caso a expressão já esteja em seu estado mais simples, o sistema informa: "Sua expressão já é uma soma de produtos mínima.".

Verificação Passo a Passo e Tabela Verdade

Para fins educacionais, a ferramenta detalha todo o processo de simplificação no painel "Como foi simplificado". O texto reconstrói a lógica matemática descrevendo:

  1. O número de variáveis e o tamanho da tabela verdade (por exemplo, "A expressão usa ‹count› variáveis (‹variables›), portanto a tabela verdade tem ‹rows› linhas.").
  2. A localização dos mintermos e maxtermos: "Equivale a 1 nas linhas Σm(‹minterms›) e a 0 nas linhas ΠM(‹maxterms›).".
  3. A identificação dos implicantes primos: "Agrupar as linhas de valor 1 adjacentes o máximo possível resulta em ‹count› implicantes primos: ‹list›.".
  4. A definição dos essenciais: "Implicantes primos essenciais — a única cobertura restante para pelo menos uma linha: ‹list›." ou "Nenhum implicante primo é essencial: cada linha de valor 1 pode ser coberta de mais de uma maneira.".
  5. A resolução das linhas restantes: "As linhas ainda não cobertas são fechadas com o menor número de termos adicionais: ‹list›." ou "Os implicantes primos essenciais já cobrem todas as linhas de valor 1, portanto a soma está completa.".
  6. A derivação do POS: "Executar a mesma fusão nas linhas de valor 0 fornece o produto de somas mínimo ‹pos›.".
  7. A validação final: "Ambas as formas mínimas correspondem à expressão original em todas as ‹rows› linhas da tabela verdade.".

Abaixo da explicação, a "Tabela verdade" exibe o mapeamento completo de todas as combinações possíveis das variáveis. Ela compara, linha por linha, a coluna da expressão original com a coluna do SOP mínimo para provar visualmente a equivalência lógica. O usuário pode utilizar o botão "Copiar resultado" para transferir a saída simplificada diretamente para a área de transferência.

Tratamento de Erros e Validação de Entrada

Para garantir que apenas expressões matematicamente válidas sejam processadas, o simplificador valida a entrada em tempo real e exibe mensagens de erro específicas para orientar correções:

Situação de Erro Mensagem Exibida pelo Sistema
Entrada vazia "Insira uma expressão booleana."
Entrada muito longa "Mantenha a expressão com menos de 2.000 caracteres."
Caractere não reconhecido ""‹char›" (posição ‹position›) não é um operador booleano, variável ou constante."
Operador sem variável "Falta um operando para um operador perto da posição ‹position› — verifique se há um +, · ou ⊕ pendente."
Parênteses incorretos "Os parênteses estão desbalanceados — adicione ou remova um parêntese."
Excesso de variáveis "Esta expressão usa ‹count› variáveis diferentes; o simplificador suporta até 6."

Privacidade e Processamento Local

A privacidade dos dados inseridos é mantida pelo modelo de execução da ferramenta. Todas as expressões booleanas são simplificadas diretamente no navegador do usuário. O processamento ocorre localmente no dispositivo que acessa a página, de modo que nenhuma expressão, variável ou dado digitado é enviado para servidores externos ou armazenado fora do ambiente local.

Perguntas Frequentes

Por que são suportadas no máximo 6 variáveis?
Seis variáveis já produzem uma tabela verdade de 64 linhas, o que está no limite do que ainda é legível e verificável manualmente. Além disso, a minimização continua funcionando na teoria, mas a derivação e a tabela nas quais esta página se baseia deixam de ser úteis como prova. Softwares de design lógico com saída de arquivo são mais adequados para funções mais amplas.

Como a forma mínima é encontrada?
A ferramenta constrói a tabela verdade completa, agrupa as linhas de valor 1 adjacentes em implicantes primos (o método Quine–McCluskey), mantém os essenciais e cobre as linhas restantes com uma cobertura mínima exata. O resultado é garantidamente mínimo para a forma de soma de produtos — não é uma heurística — e o mesmo procedimento nas linhas de valor 0 produz o produto de somas.

Quais formas de escrever uma expressão são compreendidas?
Todas as convenções comuns, misturadas livremente: estilo de engenharia (AB + A'C, com AND implícito e a plica para NOT), estilo de programação (A &&!B || C, A ^ B), símbolos lógicos (¬ ∧ ∨ ⊕ ⊼ ⊽) e palavras simples (A AND B OR NOT C, NAND, NOR). Sequências de várias letras como ABC significam A AND B AND C, e as palavras AND, OR, NOT, XOR, NAND, NOR são sempre lidas como operadores.

Qual é a diferença entre os resultados SOP e POS?
Ambas descrevem a mesma função. A soma de produtos (SOP) une termos AND por meio de operadores OR, como AB' + BC, e mapeia-se diretamente para circuitos AND–OR; o produto de somas (POS) une fatores OR por meio de operadores AND, como (A + B)(B' + C), e mapeia-se para circuitos OR–AND. Dependendo da função, uma forma pode precisar de menos portas do que a outra, por isso a ferramenta sempre mostra ambas.