Syntax
~
nicht
/\
und
\/
oder
t
wahr
f
falsch
P
, Q
, FISH
, etc: Variablen
(Die Operatoren werden in der Rangfolge angegeben.)
Einführung
Einige Boolesche Formeln können in andere Formen geändert werden, um sie zu verkürzen. Zum Beispiel die Formel
~(~P /\ ~Q)
kann in die kürzere Form geändert werden
P\/Q
während die Formel
P \/ ~P
kann in die kürzere Form geändert werden
t
Herausforderung
In dieser Herausforderung sind Sie verpflichtet , ein Programm zu schreiben , dass, da jede Boolesche Formel nur /\
, \/
, ~
, t
, f
, Klammern, boolean Variablen (in Großbuchstaben) und Leerzeichen, gibt eine kürzeste Form (da es mehr sein kann als eine kürzeste Form ) in Zeichen des Ausdrucks, der für alle Zuweisungen der Variablen äquivalent ist. Der kürzeste Code (in einer beliebigen Sprache) gewinnt. I / O kann auf jede vernünftige Weise erfolgen.
Da sich die Antworten nur schwer überprüfen lassen, ist es hilfreich (aber nicht erforderlich), eine kurze Erläuterung der Funktionsweise des Codes beizufügen.
BooleanMinimize
) tun
b9c98d088b78c30bb2108008a064a7b95722a4694d90ddad94a025c2eb4ed30a
. Ich werde den eigentlichen Code zu einem späteren Zeitpunkt veröffentlichen, da ich die Kreativität nicht unterdrücken möchte.