Qualche buona espressione booleana semplifica là fuori? [chiuso]


110

Stavo eseguendo il refactoring del vecchio codice e ho riscontrato diverse condizioni IF che erano troppo complesse e lunghe e sono certo che possano essere semplificate. La mia ipotesi è che quelle condizioni siano cresciute così tanto a causa delle successive modifiche.

Ad ogni modo, mi chiedevo se qualcuno di voi conosce un buon semplificatore online che posso usare. Non mi interessa nessun linguaggio specifico, solo un semplificatore che prenderebbe ad esempio:

((A OR B) AND (! B AND C) OR C)

E dammi una versione semplificata dell'espressione, se esiste.

Ho esaminato altre domande simili, ma nessuna mi indica un buon semplificatore.

Grazie.


1
WolframAlpha arriva anche C . Nessun cancello aggiuntivo ...
Axel Kemper

1
C'è un simpatico strumento online - tma.main.jp/logic/index_en.html
Roman Hocke

Un altro strumento è boolean-algebra.com che mostrerà i passaggi per risolverlo. Ad esempio, la tua può essere risolta solo con la legge di assorbimento A + AB = A. Non è troppo avanzata, quindi se hai bisogno di qualcosa di diverso dalla forma minima, è meglio che usi un altro sito.
John Smith

Risposte:


93

Puoi provare Wolfram Alpha come in questo esempio in base al tuo input:

http://www.wolframalpha.com/input/?i=((A%20OR%20B)%20AND%20(NOT%20B%20AND%20C)%20OR%20C)&t=crmtb01&f=rc


3
Il sito web non sembra così buono per semplificare le formule booleane quando diventano un po 'più complesse. Prova questo: (((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))
Albert Hendriks

1
Infatti. Strano. Risulta anche nella versione semplificata 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 - Errore interno del server

2
Nota che se vuoi la tabella di verità, che non è sempre prodotta per alcune espressioni, avvia la query con le parole "tabella di verità" seguite dall'espressione
Belgi

16

Try Logic Friday 1It include strumenti dell'università della California (Espresso e misII) e li rende utilizzabili con una GUI. È possibile immettere equazioni booleane e tabelle di verità come desiderato. Dispone inoltre di un input e output del diagramma di gate grafico.

La minimizzazione può essere eseguita a due o più livelli. La forma a due livelli produce una somma ridotta di prodotti. La forma multi-livello crea un circuito composto da porte logiche. I tipi di porte possono essere limitati dall'utente.

La tua espressione si semplifica C.


2
Per uno strumento online veloce questo è davvero utile: tma.main.jp/logic/index_en.html
Lenar Hoyt

6

Ho scoperto che The Boolean Expression Reducer è molto più facile da usare rispetto a Logic Friday. Inoltre non richiede installazione ed è multipiattaforma (Java).

Anche in Logic Friday l'espressione A | Brestituisce solo 3 voci nella tabella della verità; Me l'aspettavo 4.


3
Attiva l'opzione "Truthtable / Show all Rows" in Logic Friday 1. Altrimenti, ottieni solo tutte le righe con valore di output 1.
Axel Kemper

1
Internamente, bexpred utilizza semplici algoritmi per unire i minterm. Potrebbe essere utile per piccole espressioni, ma sicuramente non è all'avanguardia.
Axel Kemper

2
Per l'input "A * B * (! A * B +! A *! B)" questo jar restituisce SOP False ma POS True. Script non esattamente affidabile ...
Evil

il collegamento è interrotto, chi ha un collegamento funzionante?
HJLebbink
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.