Syntax
~nicht
/\und
\/oder
twahr
ffalsch
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.