Estaba refactorizando código antiguo y encontré varias condiciones IF que eran demasiado complejas y largas y estoy seguro de que pueden simplificarse. Supongo que esas condiciones crecieron mucho debido a modificaciones posteriores.
De todos modos, me preguntaba si alguno de ustedes conoce un buen simplificador en línea que pueda usar. No me interesa ningún idioma específico, solo un simplificador que incluiría, por ejemplo:
((A O B) Y (! B Y C) O C)
Y dame una versión simplificada de la expresión, si la hay.
He mirado las otras preguntas similares pero ninguna me apunta a un buen simplificador.
Gracias.
boolean-logic
boolean-expression
mojarras
fuente
fuente
Respuestas:
Puede probar Wolfram Alpha como en este ejemplo basado en su entrada:
http://www.wolframalpha.com/input/?i=((A%20OR%20B)%20AND%20(NOT%20B%20AND%20C)%20OR%20C)&t=crmtb01&f=rc
fuente
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
.Try
Logic Friday 1
It incluye herramientas de la Universidad de California (Espresso y misII) y las hace utilizables con una GUI. Puede ingresar ecuaciones booleanas y tablas de verdad como desee. También cuenta con una entrada y salida de diagrama de puerta gráfico.La minimización se puede realizar en dos niveles o en varios niveles. La forma de dos niveles produce una suma mínima de productos. La forma de varios niveles crea un circuito compuesto por puertas lógicas. Los tipos de puertas pueden ser restringidos por el usuario.
Tu expresión se simplifica a
C
.fuente
Descubrí que The Boolean Expression Reducer es mucho más fácil de usar que Logic Friday. Además, no requiere instalación y es multiplataforma (Java).
También en Logic Friday, la expresión
A | B
solo devuelve 3 entradas en la tabla de verdad; Esperaba 4.fuente