Die Definition von P ist eine Sprache, die durch einen Polynomzeitalgorithmus bestimmt werden kann. Unter der Definition von P / Poly kann eine Sprache verstanden werden, die von einer Schaltung mit Polynomgröße bestimmt werden kann (siehe http://pages.cs.wisc.edu/~jyc/02-810notes/lecture09.pdf ). Warum kann eine polynomgroße Schaltung nicht in Polynomzeit simuliert werden?
10
Antworten:
Der Punkt bei Schaltungen ist, dass eine Schaltung eine feste Anzahl von Eingängen hat. Dies bedeutet, dass wir zum Definieren einer Sprache eine Familie von SchaltkreisenC.0, C.1, C.2, … benötigen , sodass der Schaltkreis C.ich für jedes i angibt, welche Zeichenfolgen der Länge ich in der Sprache sind . Dies erfordert keine Beziehung zwischen den Schaltkreisen C i und C i + 1 : Sie können völlig unterschiedlich sein. Insbesondere können Sie für jede Menge S ⊆ N die Deklaration C i setzenich C.ich C.i + 1 S.⊆ N. C.ich= t r u e , wenni ∈ S. undC.ich= fa l s e füri ∉ S. . Auch wennS. unentscheidbar ist!
Im Gegensatz dazu ist eine Sprache inP. wenn es eine einzelne Turing-Maschine gibt, die Ihnen sagt, ob jede mögliche Eingabe jeder möglichen Länge in der Sprache ist. Jetzt können Sie keine lustigen Spiele über Eingaben unterschiedlicher Länge spielen.
Sie haben Recht, dass wir jeden festen Schaltkreis inP. auswerten können . Aber das ist nicht unbedingt genug , um eine Sprache in entscheiden , P / p o l y . Dazu müssten wir zuerst die Länge des Eingangs berechnen und dann bestimmen, welche Schaltung C.ich ausgewertet werden muss, und dann die Schaltung auswerten. Wie das obige Beispiel zeigt, ist der Teil "Bestimmen, welche Schaltung" möglicherweise nicht einmal berechenbar, geschweige denn in Polynomzeit berechenbar.
quelle