kleinste Schaltungsgröße unter Verwendung von XOR-Gattern

15

Angenommen, wir erhalten eine Menge von n booleschen Variablen x_1, ..., x_n und eine Menge von m Funktionen y_1 ... y_m, wobei jedes y_i das XOR einer (gegebenen) Teilmenge dieser Variablen ist. Das Ziel besteht darin, die minimale Anzahl von XOR-Operationen zu berechnen, die Sie ausführen müssen, um alle diese y_1 ... y_m-Funktionen zu berechnen.

Beachten Sie, dass das Ergebnis einer XOR-Operation, z. B. x_1 XOR x_2, bei der Berechnung mehrerer y_j verwendet werden kann, aber als eins gezählt wird. Beachten Sie auch, dass es nützlich sein kann, XOR einer viel größeren Sammlung von x_i zu berechnen (größer als jede y_i-Funktion, z. B. XOR aller x_i), um y_i effizienter zu berechnen.

Angenommen, wir haben eine binäre Matrix A und einen Vektor X, und das Ziel ist, den Vektor Y so zu berechnen, dass AX = Y ist, wobei alle in GF (2) ausgeführten Operationen eine minimale Anzahl von Operationen verwenden.

Auch wenn jede Zeile von A genau k hat (sagen wir k = 3), ist das interessant. Kennt jemand die Komplexität (Härte der Approximation) dieser Frage?

Mohammad Salavatiopur

Mohammad R. Salavatipour
quelle

Antworten:

18

Das ist NP-schwer. Siehe: Joan Boyar, Philip Matthews, René Peralta. Techniken zur Logikminimierung mit Anwendungen für die Kryptologie. http://link.springer.com/article/10.1007/s00145-012-9124-7

Die Reduktion ist von Vertex Cover und ist sehr schön.

Gegeben sei ein Graph mit m = | E | Definieren Sie eine m × ( n + 1 ) -Matrix A als: A [ i , j ] = 1, wenn j < n + 1 und ( i , j ) E , und A [ i , n({1,,n},E)m=|E|m×(n+1)EINEIN[ich,j]=1j<n+1(ich,j)E . Mit anderen Worten, mit n + 1 Variablen x 1 , , x n + 1 wollen wir die m linearen Formen x i + x j + x n + 1 für alle ( i , j ) E berechnenEIN[ich,n+1]=1n+1x1,,xn+1mxich+xj+xn+1(ich,j)E .

Ein kleiner Gedanke zeigt, dass es eine XOR-Schaltung für mit Gates of Fan-In Two gibt, die die lineare Transformation A mit nur m + k Gates berechnet , wobei k die optimale Scheitelpunktabdeckung für den Graphen ist. (Berechnen Sie zuerst x i ' + x n + 1 für alle i ' in der Vertexbedeckung unter Verwendung von k Operationen. Die linearen Formen sind dann alle in m berechenbarEINEINm+kkxich+xn+1ichkm weiteren Operationen .) Es stellt sich heraus, dass dies auch eine Schaltung mit minimaler Größe ist!

Der Beweis, dass die Reduzierung korrekt ist, ist nicht so schön. Ich würde gerne einen kurzen Beweis dafür sehen, dass diese Reduzierung korrekt ist.

Ryan Williams
quelle
Vielen Dank, Ryan. Sehr relevantes Papier in der Tat. Ich dachte, ob das Problem in Hypergraphen so schwer wie eine Scheitelpunktabdeckung sein könnte, zumindest für den Fall, dass Sie keine größeren XOR-Summen generieren sollten (was in diesem Artikel als stornierungsfrei bezeichnet wird, denke ich).
Mohammad R. Salavatipour
3
Für den stornofreien Fall wird die NP-Härte in Garey-Johnson unter dem etwas unklaren Namen "Ensemble Computation" notiert (Problem PO9, in A11.1). Die Reduzierung entspricht der von Ryan beschriebenen, siehe Abschnitt 3.2.2 in GJ.
Janne H. Korhonen,