Sintassi
~
Non
/\
e
\/
o
t
veri e propri
f
falsi
P
, Q
, FISH
, ecc: variabili
(Gli operatori sono indicati in ordine di precedenza)
introduzione
Alcune formule booleane possono essere modificate in forme diverse per renderle più brevi. Ad esempio, la formula
~(~P /\ ~Q)
può essere modificato nella forma più breve
P\/Q
mentre la formula
P \/ ~P
può essere modificato nella forma più breve
t
Sfida
In questa sfida, si sono tenuti a scrivere un programma che, data qualsiasi formula booleana utilizzando solo /\
, \/
, ~
, t
, f
, parentesi, le variabili booleane (in maiuscolo) e gli spazi bianchi, emette una forma più breve (dal momento che ci possono essere più di una forma più breve ) in caratteri di quell'espressione che è equivalente per tutte le assegnazioni delle variabili. Vince il codice più breve (in qualsiasi lingua). L'I / O può essere eseguito in modo ragionevole.
Inoltre, poiché le risposte sono difficili da verificare, sarebbe utile (ma non necessario) includere una breve spiegazione del funzionamento del codice.
BooleanMinimize
)
b9c98d088b78c30bb2108008a064a7b95722a4694d90ddad94a025c2eb4ed30a
. Pubblicherò il codice attuale in un secondo momento, poiché non voglio soffocare la creatività.