Kurze Antwort. Die Operator-Version von SAT ist effizient lösbar - zumindest, wenn wir beliebige Schaltungen von Gates mit zwei Eingängen ohne Fan-Out über eine beliebige Wahl des Gate-Sets annehmen.
Lange Antwort.
Ich nehme die folgende Form des Booleschen Problems an:
2-BAUM-OPSAT. Gibt es bei einem Eingang für n ⩾ 2 und einem Gatesatz G, der aus Gattern mit zwei Eingängen und einem Ausgang besteht, eine Schaltung C, die aus Gattern in G besteht, die akzeptiertx∈{0,1}nn⩾2GCG , d.erfüllt, wenn der Eingang x gegeben ist (Abbildung der Bits von x auf die Blätter der Schaltung C in der Reihenfolge)?xxxC
Insbesondere legen wir den Schaltungen keine bestimmte Struktur auf (abgesehen davon, dass es sich um Binärbäume handelt), lassen kein Fan-Out zu (so dass jedes Bit von xCx nur einmal verwendet wird), und die Gates können asymmetrisch sein. Indem ich nur Zwei-Bit-Gatter zulasse, schließe ich das NICHT- Gatter aus (das jedoch simuliert werden kann, indem mehrere Gatter vorhanden sind, die durch Negationen wie AND / NAND miteinander verbunden sind , und ich schließe auch Gatter aus, die einfach Konstanten ohne Eingaben ausgeben , so dass die Anzahl der Gatter in der Schaltung für einen n- Bit-Eingang tatsächlich immer . Der Kürze halber bezeichne ich 2-TREE-OPSAT im Folgenden einfach alsn−1nOPSAT ; Die Analyse des Problems kann jedoch für Schaltungen, die beliebige k- Eingangsgatter ( k-TREE-OPSAT ) oder Fan-out (was wir als k-FANOUT-OPSAT bezeichnen könnten ) zulassen, viel schwieriger werden .
[ Bearbeitet, um hinzuzufügen : Wir können dies leicht anpassen, um das allgemeinere Problem der aktuellen Überarbeitung Ihrer Frage zu berücksichtigen, bei der wir versuchen, ein gegebenes einem Zielwert b ∈ { 0 , 1 zuzuordnen } durch Vertauschen der Rollen von 0 undx∈{0,1}∗b∈{0,1}0 in der folgenden Analyse; Dies hat den Effektdie Rollen von VertauschenANDundOR,NANDundNOR,usw.]
1
Für eine feste Wahl von ist das Problem der Auswahl eines geeigneten Baums mit geeigneten Toren einer logischen Disjunktion nicht unähnlich: Verwendung von Äquivalenzen wie
OR ( x , y )x∈{0,1}n
Wir können Reduzierungen zwischen Sammlungen durchführen, die kompliziertere Gate-Sets mit einfachen (und leistungsstarken) Gate-Sets in Verbindung bringen. a kann aus einem Gatesatz sprichtLage, andere Tore nicht zu dem Satz gehörenzu emulieren, indem wiese ein Element der Wahl G , die die gleiche Wirkung hat wie ein Tor (wennmit einem bestimmten Eingang vorgelegt) G ∉ G . Insbesondere bestimmte Kombinationen von Toren (wie { OR ,
OR(x,y)≡(AND(x,y)∨PARITY(x,y))
GG∉G ) die konstante Funktion simulieren, die
1 ergibt: Wir sagen, dass solche Gatesätze
tautolog sind.
{OR,NAND}1
Wir gehen vor, indem wir Gatesätze betrachten, die verschiedene Arten von Gates , und diese Gates später aus späteren Fällen der Analyse ausschließen, um zu zeigen, dass Gatesets, an denen eines der Gates beteiligt ist, zu einem handhabbaren Problem führen. Wir werden in der Reihenfolge der Anzahl der Zwei-Bit-Strings fortfahren, die das fragliche Gate erfüllen, beginnend mit dem Gate mit konstanter 1 bis zum Gate mit konstanter 0 .G10
Für jede Gate-Menge die das konstante Gate G ( x , y ) = 1 enthält , können wir einfach eine Schaltung C nur unter Verwendung dieses Gates bauen. In diesem Fall akzeptiert C jedes x .GG(x,y)=1CCx
ODER und NAND. Für jede Gate-Menge die OR enthält : Wenn alle anderen Gates G ∈ G G ( x , y ) erfüllenGORG∈G , dann ist es kein Vorteil, ein anderes Gatter als ODER beim Aufbau der Schaltung C zu wählen. Eine Schaltung mit nur ODER- Gattern akzeptiert eine beliebige Zeichenfolge außer x ∈ 0 ∗ . Ansonsten existiert ein Gate G ∈ G, so dass { G , OR } tautolog ist. Jede Instanz vonOPSATmit OR ∈ G ist also einfach; und ähnliche Bemerkungen gelten fürG(x,y)⟹OR(x,y)ORCORx∈0∗G∈G{G,OR}OR∈G .NAND∈G
Implikationsähnliche Tore. Betrachten Sie das Gate , das nur dann Null ausgibt, wenn ( x , y ) = ( 1 , 0 ) . Für das Folgende gilt eine ähnliche Analyse für das Gate G ' ( x , y ) = x ∨ ¬ y .
Betrachten Sie eine beliebige Zeichenfolge x ∈ { 0 , endet mit 0 , zerlegen Sie xG(x,y)=¬x∨y(x,y)=(1,0)G′(x,y)=x∨¬y
. Wenn xx∈{0,1}nx0x in Teilzeichenfolgen der Form ; auf jedes solche w j wenden wir rekursiv G von rechts nach links an, was die Ausgabe 0 für jedes w j ergibt . (Für einen Teilstring der Länge 1 verwenden wir die Trivialschaltung, dh lassen Sie diesen Eingang in Ruhe.) Wenn x mit 1 endet , zerlegen Sie x in Teilstrings der Form w j = 0 ∗ 1 und wenden Sie G rekursiv von links nach an direkt auf jedemwj=1∗0wjG0wjx1xwj=0∗1G , was die Ausgabe 1 für jedes w j ergibt = 1 , für den der problematische Fall Eingaben x ∈ 1 sindwj1wj. So können wir das Problem für den Aufbau Schaltungen verringern , die entweder durch zufrieden ist oder 1 m , wobei m die Anzahl des Teils ist 1 * 0 oder 0 * 1 . Für m ⩾ 2 , können wir entweder unter Verwendung akzeptieren G durch rekursiv Anwendung Gates G von links nach rechts. Dies lässt nur den Fall m0m1mm1∗00∗1m⩾2GGm=1 . Für x = 1 ∗ 0 ergibtjede Schaltung, die nur aus G- Gattern besteht, nur kürzere Zeichenfolgen der Form 1 ∗ 0 , was letztendlich die Einzelbit-Zeichenfolge 0 ergibt: so dass keine Schaltung von G- Gattern durch diese Eingabe erfüllt werden kann. Wenn esauchein Gate H ∈ G gibt, für das H ( 1 , 0 ) = 1 ist , dann ist { G , H } tautolog; oder wenn es ein Tor H gibtx∈1∗0
x=1∗0G1∗00GH∈GH(1,0)=1{G,H} für das H ( 1 , 1 ) = 0 ist , können wir Zeichenfolgen der Form 11 ∗ 0 auf Zeichenfolgen der Form ( 1 ∗ 0 ) ∗ reduzieren
Somit istOPSATfür jeden Gate-Satz G, der einimplikationsähnlichesGate enthält,einfach.H∈GH(1,1)=011∗0(1∗0)∗durch Anwenden von auf die ersten beiden Bits von x . Andernfalls kann keine Schaltung aufgebaut werden, die x ∈ 1 ∗ 0 akzeptiert .Hxx∈1∗0
G
¬π1(x,y)=¬x¬π2(x,y)=¬y¬π1¬π2¬π10(0|1)n−1n⩾2n−1¬π11(0|1)n−1n⩾3n−2¬π1(¬π1(x1,x2),x3)¬π11011
PARITY(x,y)=(x∨¬y)∧(¬x∨y)G={PARITY}x∈{0,1}n
- PARITYANDNOR(x,y)=¬(x∨y)ORNAND
- π1(x,y)=xπ2(x,y)=yANDNORPARITY
- PARITYEQUAL=¬PARITY
- PARITYG01=¬x∧yx∈(11)∗0∗G0101xPARITYPARITYG10=x∧¬yx∈0∗(11)∗PARITYG01G10x∈0∗x=11
- PARITYZ(x,y)=0x∈(11)∗x∈0∗G0110
GPARITY
EQUALPARITYEQUAL(x,y)=¬PARITY(x,y)=¬PARITY(¬x,¬y)EQUAL0 s in der Eingabe. Wir können dann die Analyse für reduzierenEQUALPARITY01
π1(x,y)=xπ2(x,y)=y1π1π2
- π1π2x≠0nGG(0,0)=1x
- π1NORG01=¬x∧yOR
- π1ANDG10=x∧¬yZ(x,y)=01
π1π2π1π2π1∈Gπ2∈G
ANDNORG10(x,y)=x∧¬yG01(x,y)=¬x∧yAND1∗EQUALπ1π2NOR{G01,G10}PARITYG10G01Z(x,y)=0G10G01
G101(0|1)n−111n−2G10(x1,G10(x2,x3))11G10ZG101ZG10x∈1(0|10|11)(0|1)∗
Z
Da jedes Gate zu einer genau definierten und im Allgemeinen recht großen Klasse von Eingaben führt, die es akzeptiert, wobei zusätzliche Gates dazu neigen, das Problem zu trivialisieren, finden wir, dass 2-TREE-OPSAT in P ist .