Gibt es für jede berechenbare Funktion eine äquivalente Rechenschaltung?

6

Gibt es für jede berechenbare Funktion eine äquivalente Rechenschaltung?

Ich habe versucht, mich mit der obigen Aussage zu beschäftigen, aber kein Gegenbeispiel gefunden, obwohl ich glaube, dass die Aussage falsch ist.

Was mich neugierig gemacht hat, ist, dass ich einige Theoreme gelesen habe, die besagen, dass ein Protokoll (Kryptographieprotokolltheorie) jede berechenbare Funktion berechnen kann, dann aber erfordert, dass die Funktion als arithmetische Schaltung angegeben wird.

Shuzheng
quelle
Arithmetische Schaltungen können nur Multinome berechnen
Ariel
@Ariel - Können Sie einem Programmierer, der ein wenig Kryptographie als Hobby studiert, beschreiben, was ein Multinom ist? :-)
Shuzheng
Arithmetische Schaltungen berechnen Funktionen an endlich vielen Eingängen. Sie können alle Polynome berechnen .
Yuval Filmus

Antworten:

10

Arithmetische Schaltungen berechnen in ihrer Eingabe ein Polynom. Eine arithmetische Schaltung über ein Feld mit Variablen und dem Gesamtgrad kann die Funktionen der folgenden Form berechnen :F.ndf::F.nF.

f(x1,...,xn)=ich1+...+ichndαich1,...,ichnx1ich1x2ich2...xnichn

Dabei sind die Koeffizienten des multivariaten Polynoms.αich1,...,ichnF.

Es gibt viele berechenbaren Funktionen, die nicht als ein Polynom ausgedrückt werden, zum Beispiel nehmen , das ist bei und Null überall sonst. Da mit einer unendlichen Anzahl von Nullen nicht konstant ist, kann es nicht als univariates Polynom geschrieben werden.f::Q.Q.1x=0f

Ariel
quelle
Was ist der Gesamtgrad d?
Shuzheng
Die maximale Summe der Potenzen so dass das Monom in der von der Schaltung berechneten Funktion mit einem Koeffizienten ungleich Null erscheint. Beachten Sie, dass dies bereits davon ausgeht, dass eine arithmetische Schaltung ein Polynom berechnet. Sie können dies jedoch leicht durch Induktion zeigen. ich1+...+ichnx1ich1...xnichn
Ariel
14

Jede berechenbare boolesche Funktion mit einer Eingabe fester Länge kann durch eine arithmetische Schaltung berechnet werden. Betrachten Sie eine boolesche Funktionf::{0,1}}n{0,1}}. Dann existiert ein multivariates Polynom so dass für alle , wobei die Arithmetik modulo durchgeführt wird zwei (dh über dem Feld ). Jetzt kann jedes multivariate Polynom durch eine arithmetische Schaltung berechnet werden, so dass durch eine arithmetische Schaltung berechnet werden kann.p(x1,,xn)f(x1,,xn)=p(x1,,xn)x1,,xnF.2={0,1}}f

In gewissem Sinne sind die Einschränkungen für Eingänge fester Länge unvermeidbar, da jede Schaltung von Natur aus eine feste Anzahl von Eingängen und eine feste Anzahl von Ausgängen aufweist. Wenn Sie sich also auf boolesche Funktionen konzentrieren, ist die Aussage, die Sie in der Kryptoliteratur gesehen haben, gerechtfertigt: Jede boolesche Funktion, die von einer Schaltung berechnet werden kann, kann von einer arithmetischen Schaltung berechnet werden. Und jede berechenbare boolesche Funktion kann durch arithmetische Schaltungen berechnet werden, wobei wir unter "berechnet" verstehen, dass es eine Familie von arithmetischen Schaltungen gibt, eine pro Eingangslänge (das ungleichmäßige Modell; dies ist unvermeidlich, wenn Sie mit berechnen möchten Schaltungen, da jede Schaltung nur eine feste Eingangslänge haben kann).

DW
quelle