Paddingtechnik

Die Paddingtechnik ist ein Verfahren der Komplexitätstheorie, um nachzuweisen, dass die Gleichheit bestimmter Komplexitätsklassen die Gleichheit größerer nach sich zieht.

Beispiel

Der Beweis, dass aus P = N P {\displaystyle \mathrm {P} =\mathrm {NP} } auch E X P = N E X P {\displaystyle \mathrm {EXP} =\mathrm {NEXP} } folgt, verwendet Padding. Da E X P N E X P {\displaystyle \mathrm {EXP} \subseteq \mathrm {NEXP} } nach Definition gilt, genügt es E X P N E X P {\displaystyle \mathrm {EXP} \supseteq \mathrm {NEXP} } zu zeigen. (Wegen Kontraposition zeigt dies auch, dass aus E X P N E X P {\displaystyle \mathrm {EXP} \neq \mathrm {NEXP} } auch P N P {\displaystyle \mathrm {P} \neq \mathrm {NP} } folgt.)

Sei L N E X P {\displaystyle L\in \mathrm {NEXP} } und N {\displaystyle N} eine passende nichtdeterministische Turingmaschine mit Laufzeit O ( 2 n c ) {\displaystyle {\mathcal {O}}(2^{n^{c}})} für ein festes c {\displaystyle c} abhängig von L {\displaystyle L} . Konstruiere nun eine neue Sprache L {\displaystyle L'} , indem an jedes Wort eine bestimmte Zahl eines neuen Symbols (hier: 1 {\displaystyle 1} ) angefügt wird:

L := { x   1 2 | x | c | x L } {\displaystyle L':={\biggl \{}\,x\ 1^{2^{|x|^{c}}}\,{\bigg |}\,x\in L\,{\biggr \}}}

wobei 1 L {\displaystyle 1\notin L} . Durch dieses Padding wird die Länge der Wörter künstlich aufgebläht, ohne die Schwierigkeit des Entscheidungsproblems wesentlich zu erhöhen. Mit dieser Konstruktion ist L N P {\displaystyle L'\in \mathrm {NP} } , wie im Folgenden ausgeführt. Anschließend wird aus der Annahme P = N P {\displaystyle \mathrm {P} =\mathrm {NP} } abgeleitet, dass L E X P {\displaystyle L\in \mathrm {EXP} } .

L {\displaystyle L'} kann für die Eingabe x {\displaystyle x'} wie folgt in nichtdeterministisch polynomieller Zeit entschieden werden: Überprüfe, ob x {\displaystyle x'} von der Form x = x   1 2 | x | c {\displaystyle x'=x\ 1^{2^{{|x|}^{c}}}} ist, und verwirf, falls dies nicht der Fall ist. Andernfalls simuliere die nichtdeterministische Turingmaschine N {\displaystyle N} mit Eingabe x {\displaystyle x} . Die Simulation benötigt nichtdeterministisch die Zeit O ( 2 | x | c ) {\displaystyle {\mathcal {O}}(2^{{|x|}^{c}})} , was polynomiell in der Größe von x {\displaystyle x'} ist. Daher ist L N P {\displaystyle L'\in \mathrm {NP} } .

Mit der Annahme P = N P {\displaystyle \mathrm {P} =\mathrm {NP} } gibt es eine deterministische Maschine D {\displaystyle D} , die L {\displaystyle L'} in Polynomialzeit entscheidet. Die Sprache L {\displaystyle L} ist dann in Exponentialzeit entscheidbar, indem für eine Eingabe x {\displaystyle x} die Maschine D {\displaystyle D} auf der Eingabe x   1 2 | x | c {\displaystyle x\ 1^{2^{{|x|}^{c}}}} simuliert wird. Das benötigt nur exponentiell viel Zeit in Abhängigkeit von der Eingabegröße.

Dieses Argument wird gelegentlich auch für Platzkomplexität, alternierende Klassen und beschränkte alternierende Klassen gebraucht.

Siehe auch

  • P-NP-Problem
  • EXP und NEXP

Literatur

  • Sanjeev Arora, Boaz Barek (2009): Computational Complexity: A Modern Approach. Cambridge University Press, Cambridge/ New York 2009, ISBN 978-0-521-42426-4, S. 57.