Gibt es bekanntermaßen Funktionen mit der folgenden Direktsummeneigenschaft?


15

Diese Frage kann entweder im Rahmen der Schaltungskomplexität von Booleschen Schaltungen oder im Rahmen der algebraischen Komplexitätstheorie oder wahrscheinlich in vielen anderen Situationen gestellt werden. Durch Zählen der Argumente kann leicht gezeigt werden, dass es boolesche Funktionen für N Eingänge gibt, die exponentiell viele Gatter erfordern (obwohl wir natürlich keine expliziten Beispiele haben). Angenommen, ich möchte die gleiche Funktion M-mal für eine ganze Zahl M an M verschiedenen Eingangssätzen auswerten, so dass die Gesamtzahl der Eingänge MN ist. Das heißt, wir wollen nur bewerten für die gleiche Funktionfzu jedem Zeitpunkt.f(x1,1,...,x1,N),f(x2,1,...,x2,N),...,f(xM,1,...,xM,N)f

Die Frage ist: Ist bekannt, dass es eine Folge von Funktionen (eine Funktion für jedes N), so dass für jedes N für jedes M die erforderliche Gesamtanzahl von Gattern mindestens gleich dem M-fachen einer Exponentialfunktion von ist N? Das einfache Zählargument scheint nicht zu funktionieren, da wir wollen, dass dieses Ergebnis für alle M gilt. Man kann einfache Analoga dieser Frage in der algebraischen Komplexitätstheorie und in anderen Bereichen finden.f

Antworten:


13

Nun, das ist falsch: Es ist möglich, M Kopien von ANY f nur mit O (N (M + 2 ^ N)) - Gattern zu bewerten, die viel kleiner als M * exp (N) sein können (tatsächlich werden Sie linear amortisiert) Komplexität für exponentielle M). Ich erinnere mich nicht an eine Referenz, aber ich denke, dass dies in etwa so aussehen kann:

Addieren Sie zunächst 2 ^ N fiktive Eingänge, die nur Konstanten 0 ... 2 ^ N-1 sind, und bezeichnen Sie nun den i-ten N-Bit-Eingang mit xi (also haben wir für i <= 2 ^ N xi = i und für 2 ^ N <i <= 2 ^ N + M haben wir die ursprünglichen Eingaben). Nun erzeugen wir für jeden der M + 2 ^ N Eingänge ein Triplett: (i, xi, fi) wobei fi für die ersten 2 ^ N Eingänge (eine in die Schaltung festverdrahtete Konstante) und fi = ist "*" Andernfalls. Nun sortieren wir die Tripletts (i, xi, fi) nach dem Schlüssel xi und lassen das j-te Triplett (i_j, x_j, f_j) daraus berechnen wir ein Triplett (i_j, x_j, g_j), indem wir g_j sein lassen f_j wenn f_j kein "*" ist und g_j andernfalls g_ (j-1) sein soll. Sortieren Sie nun die neuen Drillinge zurück nach dem Schlüssel i_j, und Sie erhalten die richtigen Antworten an den richtigen Stellen.


Klug! Eine Kleinigkeit: Wir müssen die Drillinge stabil sortieren (oder mit einer anderen Methode, die garantiert, dass die Drillinge mit fi fi “ ” früher als die Drillinge mit fi = “ ” kommen).
Tsuyoshi Ito

Sehr klug und danke. Funktioniert jedoch etwas Ähnliches in der algebraischen Komplexitätseinstellung oder nicht?
Matt Hastings

1
Ich nehme an, eine andere Möglichkeit, dies zu sagen, wenn M gegen unendlich geht, besteht darin, dass Sie 2 ^ N * 2 ^ N Zeit investieren können, um eine Hash-Tabelle für alle Werte von f zu erstellen, und dann jede Kopie in O (N) berechnen können ) Zeit. Ich denke, es gibt einen weiteren Grund, warum wir zumindest nicht wissen sollten, ob so etwas zutrifft, selbst für mildere Werte von N, was bedeutet, dass es bessere als bekannte Untergrenzen gibt. Sie könnten eine Funktion mit einer superlinearen Untergrenze konstruieren, indem Sie zuerst brachial zwingen, eine Funktion auf Eingängen mit n '= log n (oder vielleicht n' = log log n) mit großer Komplexität zu finden und dann n / n Kopien davon zu erstellen .
Boaz Barak,

1
In dem obigen Argument, warum solche Ergebnisse zu Untergrenzen führen, weiß ich nicht, ob die Anzahl der Wiederholungen wirklich geringer ist, aber es gilt auch für unendliche Felder.
Boaz Barak

Hallo Boaz, in der Tat ist dein Kommentar genau der Grund, warum ich an der Existenz dieser Funktionen interessiert war. Es gibt jedoch einen subtilen Punkt, das "Brute Forcing". Es könnte sein (worauf meine Frage abzielte), dass solche Funktionen existieren, aber dass wir keinen Algorithmus haben, der es uns erlaubt zu demonstrieren, dass eine gegebene Funktion diese Eigenschaft hat. Schließlich scheint es keine Möglichkeit zu geben, die Eigenschaft, die eine solche Untergrenze für alle M-Werte enthält, brachial zu erzwingen, da unendlich viele verschiedene Schaltkreise überprüft werden müssten. Vielleicht gibt es solche Funktionen für unendliche Felder, aber wir können sie nicht anzeigen.
Matt Hastings

10

Ö(2n/n)mmfm2n/n

"Netzwerke, die Boolesche Funktionen für mehrere Eingabewerte berechnen"

m=2Ö(n/Logn)mfÖ(2n/n)m=1

Ich kann online keine nicht gesperrte Kopie oder eine Homepage für den Autor finden, bin jedoch auf die folgende Veröffentlichung gestoßen:

Boolesche Funktionskomplexität (Vorlesungsreihe der London Mathematical Society)


Vielen Dank! Gab es nicht eine Frage zu Paradoxien bei TCS? Dies könnte dort auch als Antwort dienen :)
Arnab

Danke auch für diese Antwort. Da ich das Protokoll nicht lesen kann, gehe ich davon aus, dass es ähnlich wie bei der vorherigen Antwort auf die endliche Anzahl möglicher Eingaben ankommt. Wieder dieselbe Frage wie oben: Wie steht es mit dem Fall der algebraischen Komplexität?
Matt Hastings

Tatsächlich scheint Shannon zuerst die obere Grenze von O (2 ^ n / n) bewiesen zu haben; Lupanov bekam die richtige Leitkonstante. Ich habe das korrigiert. Die Details werden in "Überprüfung der Grenzen der Schaltungsgröße der härtesten Funktionen" von Frandsen und Miltersen erläutert.
Andy Drucker

5

In Bezug auf die algebraische Komplexität kenne ich kein Beispiel, bei dem die exponentielle Komplexität auf eine subexponentielle amortisierte Komplexität abfällt, aber es gibt zumindest ein einfaches Beispiel dafür, dass die Komplexität von M disjunkten Kopien erheblich geringer sein kann als die M-fache Komplexität einer einzelnen Kopie :

Für eine "zufällige" n * n-Matrix A ist die Komplexität der durch A definierten bilinearen Form (die Funktion f_A (x, y) = xAy, wobei x und y 2 Vektoren der Länge n sind) Omega (n ^ 2 ) - Dies kann durch ein "zählähnliches" Dimensionsargument angezeigt werden, da Sie n ^ 2 "Stellen" in der Schaltung benötigen, um Konstanten zu setzen. Wenn jedoch n verschiedene Paare von Vektoren (x ^ 1, y ^ 1) ... (x ^ n, y ^ n) gegeben sind, können Sie die x in die Zeilen einer n * n-Matrix X und in ähnlicher Weise die y einfügen in die Spalten einer Matrix Y, und lesen Sie dann alle Antworten x ^ iAy ^ i aus der Diagonale von XAY, wobei dies in n ^ 2.3 (oder so) Operationen unter Verwendung einer schnellen Matrixmultiplikation berechnet wird, die bedeutend kleiner als n * n ist ^ 2.


Danke, ich kenne das Beispiel. Ähnlich ist es, dass es in einer Variablen Grad n Polynome gibt, deren Auswertung an einem bestimmten Punkt n Zeit benötigt (obwohl ich glaube, dass es keine expliziten Beispiele gibt, irre ich mich?). Man kann jedoch ein solches Polynom bei auswerten n Zeitpunkte n log ^ 2 (n).
Matt Hastings

1
Ich fand zwei Arbeiten aus den 80er Jahren zum algebraischen Direktsummenproblem: "Zur Gültigkeit der Direktsummenvermutung" von Ja'ja und Takche und "Zur erweiterten Direktsummenvermutung" von Bshouty. Ich kann ihren Inhalt nicht zusammenfassen, aber vielleicht sind sie hilfreich.
Andy Drucker

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.