Es ist ein klassisches Ergebnis, dass jede Fan-In-2-UND-ODER-NICHT-Schaltung, die PARITÄT aus den Eingangsvariablen berechnet, eine Größe von mindestens und diese scharf ist. (Wir definieren Größe als die Anzahl der UND- und ODER-Gatter.) Der Beweis erfolgt durch Gattereliminierung und es scheint zu scheitern, wenn wir willkürliches Fan-In zulassen. Was ist für diesen Fall bekannt?
Kennt jemand ein Beispiel, bei dem ein größerer Fan-In hilft, dh wir brauchen weniger als Tore?
Update 18. Oktober. Marzio hat gezeigt, dass für sogar 5 Gatter mit der CNF-Form von PARITY ausreichen. Dies impliziert eine Schranke von ⌊ 5für allgemeinesn. Können SIE es besser machen?
Antworten:
Es ist möglich, die Parität mit nur 2,33n + C Gattern zu berechnen. Der Aufbau ist recht einfach und wird in diesem Artikel angegeben.
http://link.springer.com/article/10.3103/S0027132215050083
Hier ist ein Beispiel einer Schaltung für die Parität von 6 Variablen unter Verwendung von nur 12 Gattern (jedes Gate ist ein UND-Gatter, ein Kreis nahe dem Eingang eines Gatters bedeutet, dass dieser Eingang invertiert ist). Beachten Sie, dass eine Schaltung für die Parität von 6 Variablen, die durch Stapeln von DNF-Blöcken (wie in Marzios Obergrenze) aufgebaut ist, aus 13 Gattern besteht.
Ich habe überprüft, dass für n = 2,3,4,5,6 optimale Schaltkreisgrößen 3,5,8,10,12 sind. Diese Werte sind auch Schaltkreisgrößen, die eine Obergrenze von 2,33n ergeben. Ich weiß immer noch nicht, ob 2,33n die Größe der optimalen Schaltung für jedes n ist. Außerdem kenne ich die Größe der optimalen Schaltung für die Parität von 7 Variablen nicht (es gibt zwei mögliche Werte, 14 und 15).
quelle
Diese untere Grenze für die Gate-Elimination stimmt nicht mit der oberen Grenze von Marzio überein, aber es ist ein Anfang.
Der Einfachheit halber verwende ich ein Modell, bei dem die einzigen Gatter UND-Gatter sind, wir jedoch Negationsdrähte zulassen. Es ist leicht zu erkennen, dass für n = 2 Gatter erforderlich sind , daher ist es ausreichend zu zeigen, dass wir , wenn C eine Schaltungsparität mit minimaler Größe für n > 2 Variablen ist, eine Einschränkung für eine Variable finden können, die mindestens tötet zwei Tore.3 n = 2 C n > 2
Wenn eine Variable mindestens zwei positive Eltern hat (dh über nicht verbundene Drähte mit zwei verschiedenen Gattern verbunden ist), setzen Sie diese Variable auf 0xich 0 werden die Eltern getötet, wird, und wir sind fertig; Ebenso, wenn es zwei negative Eltern hat. Wir können daher annehmen, dass jede Variable höchstens ein positives und höchstens ein negatives Elternteil hat.
Sei ein unteres Tor in der Schaltung. Ohne Beschränkung der Allgemeinheit, a = x 1 ∧ x 2 ∧ ⋯ . Setze x 1 = 0 , was a = 0 zwingt und tötet. Die eingeschränkte Schaltung C ' berechnet noch Parität, insbesondere es hängt von x 2 , also x 2 hat eine negative Mutter b = ¬ x 2 ∧ c 1 ∧ ⋯ ∧ c r . Beachten Sie, dass inein a = x1∧ x2∧ ⋯ x1=0 a=0 C′ x2 x2 b=¬x2∧c1∧⋯∧cr , nein c j hängt von x 2 ab . Wenn es eine Zuweisung zu x 3 , … , x n gäbe , die (über x 1 = 0 ) c j falsch macht, wäre die durch diese Zuweisung eingeschränkte Schaltung konstant, was der Tatsache widerspricht, dass sie x 2 oder ¬ x berechnet 2 . So wird in C ' ,alle die C j compute Konstante 1 und b berechnet ¬ xC′ cj x2 x3,…,xn x1=0 cj x2 ¬x2 C′ cj 1 b , daher können wir es zusammen mit a beseitigen.¬x2 a
EDIT: Wie ich aus Yuri Kombarovs Artikel erfahren habe, ist diese Untergrenze ebenso wie die ⌊ 52n−1 obere Schranke impliziert durch die Antwort von Marzio De Biasi, wurden ursprünglich in bewiesen⌊52n⌋−2
[1] Ingo Wegener, Die Komplexität der Paritätsfunktion in unbegrenzten Fan-In-Schaltkreisen mit unbegrenzter Tiefe , Theoretical Computer Science 85 (1991), No. 1, S. 155–170. http://dx.doi.org/10.1016/0304-3975(91)90052-4
quelle
Ich erweitere meinen Kommentar:
2) Wenn Sie einen beliebigen Fan zulassen , können Sie die -Grenze schlagen . Betrachten Sie beispielsweise die PARITÄT für 3 Variablen ( x 1 , x 2 , x 3 ) . Die folgende Schaltung berechnet es mit nur 5 beliebigen Fan-In-Gattern:3(n−1) (x1,x2,x3)
quelle
Dies ist ein erweiterter Kommentar, der zeigt, was Emil argumentiert, wenn wir versuchen, die beweisen5n/2 Grenze zu . Hier können wir versuchen, 3 Gates mit einer Variablen oder 5 Gates mit zwei Variablen zu eliminieren.
Wenn es ein Literal mit 3 Eltern gibt, können wir alle 3 mit einer Variablen eliminieren.
Wenn zwei Literale zusammen in zwei verschiedenen Gates vorkommen, können wir das Hauptargument aus Emil's Antwort anwenden und wiederum drei Gates mit einer Variablen eliminieren.
quelle