Eu estava refatorando um código antigo e encontrei várias condições IF que eram muito complexas e longas e tenho certeza de que podem ser simplificadas. Meu palpite é que essas condições cresceram muito por causa de modificações posteriores.
De qualquer forma, gostaria de saber se algum de vocês conhece um bom simplificador online que eu possa usar. Não estou interessado em nenhuma linguagem específica, apenas um simplificador que levaria por exemplo:
((A OU B) E (! B E C) OU C)
E me dê uma versão simplificada da expressão, se houver.
Eu olhei para outras questões semelhantes, mas nenhuma me aponta para um bom simplificador.
Obrigado.
boolean-logic
boolean-expression
mojarras
fonte
fonte
Respostas:
Você pode experimentar o Wolfram Alpha como neste exemplo com base em sua entrada:
http://www.wolframalpha.com/input/?i=((A%20OR%20B)%20AND%20(NOT%20B%20AND%20C)%20OR%20C)&t=crmtb01&f=rc
fonte
NOT C AND NOT A OR NOT B AND NOT C AND NOT D AND NOT A OR NOT B AND NOT C AND D AND A OR B AND C AND NOT D AND NOT A OR B AND C AND D AND A
.O Try
Logic Friday 1
It inclui ferramentas da Universidade da Califórnia (Espresso e misII) e as torna utilizáveis com uma GUI. Você pode inserir equações booleanas e tabelas de verdade conforme desejado. Ele também possui uma entrada e saída de diagrama gráfico de portas.A minimização pode ser realizada em dois níveis ou multinível. A forma de dois níveis produz uma soma minimizada de produtos. A forma multinível cria um circuito composto de portas lógicas. Os tipos de portas podem ser restringidos pelo usuário.
Sua expressão é simplificada para
C
.fonte
Descobri que o Boolean Expression Reducer é muito mais fácil de usar do que o Logic Friday. Além disso, não requer instalação e é multiplataforma (Java).
Também no Logic Friday, a expressão
A | B
retorna apenas 3 entradas na tabela verdade; Eu esperava 4.fonte