¿Algún buen simplificador de expresiones booleanas? [cerrado]


110

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.


1
WolframAlpha también llega a C . Sin puertas adicionales ...
Axel Kemper

1
Hay una buena herramienta en línea - tma.main.jp/logic/index_en.html
Roman Hocke

Otra herramienta es boolean-algebra.com , te mostrará los pasos para solucionarlo. Por ejemplo, el tuyo se puede resolver solo con la ley de absorción A + AB = A. No es demasiado avanzado, así que si necesitas algo más que una forma mínima, es mejor que uses otro sitio.
John Smith

Respuestas:


93

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


3
El sitio web no parece tan bueno para simplificar las fórmulas booleanas cuando se vuelven un poco más complejas. Pruebe este: (((NO C) Y (NO A)) O ((NO B) Y (NO C) Y (NO D) Y (NO A)) O ((NO B) Y (NO C) Y DY A) O (B Y C Y (NO D) Y (NO A)) O (B Y C Y D Y A))
Albert Hendriks

1
En efecto. Extraño. Incluso vomita en la versión simplificada 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.
500 - Error interno del servidor

2
Tenga en cuenta que si desea la tabla de verdad, que no siempre se calcula para algunas expresiones, inicie la consulta con las palabras "tabla de verdad" seguida de la expresión
Belgi

16

Try Logic Friday 1It 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.


2
Para una herramienta rápida en línea, esto es realmente útil: tma.main.jp/logic/index_en.html
Lenar Hoyt

6

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 | Bsolo devuelve 3 entradas en la tabla de verdad; Esperaba 4.


3
Active la opción "Tabla de verdad / Mostrar todas las filas" en Logic Friday 1. De lo contrario, solo obtendrá todas las filas con el valor de salida 1.
Axel Kemper

1
Internamente, bexpred utiliza algoritmos simples para fusionar términos mínimos. Puede ser útil para pequeñas expresiones, pero definitivamente no es lo último en tecnología.
Axel Kemper

2
Para la entrada "A * B * (! A * B +! A *! B)", este jar devuelve SOP False pero POS True. No es exactamente un guión confiable ...
Evil

el enlace está roto, ¿quién tiene un enlace que funcione?
HJLebbink
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.