Eine Polynomreduktion von jedem NP-vollständigen Problem zu beschränktem PCP

18

In Lehrbüchern wird überall davon ausgegangen, dass das Bounded Post Correspondence Problem NP-vollständig ist (nicht mehr als Indizes mit Wiederholungen zulässig). Nirgends wird jedoch eine einfache (wie für einen Studenten verständliche) Reduzierung der Polynomzeit durch ein anderes NP-vollständiges Problem gezeigt.N

Allerdings ist jede Reduzierung, die ich mir vorstellen kann, in der Laufzeit exponentiell (nach oder nach der Größe der Serie). Vielleicht kann gezeigt werden, dass es auf SAT reduzierbar ist?N

John
quelle

Antworten:

10

Wie so oft bei NP-Reduktionen ist es sinnvoll, nach ähnlichen Problemen zu suchen . Insbesondere ist es schwierig, globale Bedingungen zu codieren, wie sie "einige Knoten" in PCP "gesehen" haben (mit polynomiell vielen Kacheln), was Graphprobleme kontraindiziert, Packprobleme erfordern würden, dass wir unäre Zahlen in PCP codieren (was eine exponentiell große Instanz erzeugt), und bald. Daher kann erwartet werden, dass ein Zeichenfolgenproblem mit nur lokalen Einschränkungen am besten funktioniert.

Betrachten Sie die Entscheidungsversion des kürzesten allgemeinen Supersequenzproblems :

Gegeben seien zwei Strings mit | a | = n und | b | = M und k N , entscheiden , ob ein String ist c & Sgr; + mit | c | k so, dass a und b Teilfolgen von c sind .a,bΣ+|a|=n|b|=mkNcΣ+|c|kabc

Die Idee ist, dass PCP die Supersequenzen von und b von links nach rechts aufbaut und dabei die Überlappungen der Kacheln codiert, an welcher Position wir uns in a bzw. b befinden . Es wird eine Kachel pro Symbol in c verwendet , also entspricht k der BPCP-Grenze: Wenn wir diese PCP mit k Kacheln lösen können , können Sie die gemeinsame Supersequenz gleicher Länge ablesen und umgekehrt.ababckk

Die Konstruktion der Fliesen ist etwas mühsam, aber recht übersichtlich. Beachten Sie, dass wir keine Kacheln erstellen, die weder noch b weiterleiten . solche können niemals Teil einer kürzesten gemeinsamen Supersequenz sein, so dass sie überflüssig sind. Sie können leicht zugesetzt werden, ohne die Eigenschaften der Reduktion zu beeinträchtigen.ab

Die Zahlen in den Überlappungen sind binär codiert, verwenden jedoch Symbole außerhalb von und füllen sie auf eine gemeinsame Länge log max ( m , n ) auf . Auf diese Weise stellen wir sicher, dass die Kacheln so verwendet werden, wie es die Grafiken vermuten lassen (Tetris), dh, dass Zeichen und Überlappungen der Indexcodierung nicht gemischt werden (PCP verhindert dies nicht per se). Wir brauchen:Σlogmax(m,n)

  • Startplättchen : kann mit a 1 , b 1 oder beiden beginnen, wenn sie gleich sind.ca1b1
  • Zwischenplättchen: kann mit dem nächsten Symbol in a , in b oder beiden fortfahren , wenn sie gleich sind.cab
  • Kacheln beenden: endet mit dem letzten Symbol von a (wenn das letzte von b bereits gesehen wurde), ähnlich für b , oder mit dem letzten Symbol von beiden.cabb

Dies sind die Kachelschemata. Beachten Sie, dass die Zwischenkacheln für alle Paare instanziiert werden müssen . Wie oben erwähnt, erstellen Sie die Kacheln ohne nur, wenn die entsprechenden Zeichen in a und b übereinstimmen.(i,j)[n]×[m]ab

Bildbeschreibung hier eingeben
[ Quelle ]

Das symbolisch für "egal"; In den eigentlichen Kacheln muss das andere Symbol dort kopiert werden. Beachten Sie, dass die Anzahl der Kacheln in Θ ( m n ) angegeben ist und jede Kachel eine Länge von maximal 4 log ( m , n ) + 1 hat , sodass die erstellte BPCP-Instanz (über dem Alphabet Σ { 0 , 1 })Θ(mn)4logmax(m,n)+1Σ{0,1}plus Trennzeichen) hat Polynomgröße. Darüber hinaus ist die Konstruktion jeder Fliese in polynomialer Zeit eindeutig möglich. Daher ist die vorgeschlagene Reduktion in der Tat eine gültige Polynomtransformation, die das NP-vollständige Problem der kürzesten gemeinsamen Supersequenz auf BPCP reduziert.

Raphael
quelle
Gute Antwort. Ich denke die einfachste bekannte Reduktion.
Mohammad Al-Turkistany
8

Ich denke, Sie können beweisen, dass BPCP NP-vollständig ist, indem Sie eine Reduktion verwenden, die derjenigen ähnelt, die zum Nachweis der Unentscheidbarkeit verwendet wird. Wir werden direkt beweisen, dass BPCP NP-vollständig ist, indem wir zeigen, wie jedes NP-Problem in polynomialer Zeit darauf reduziert werden kann.

Die Standardreduktion, die verwendet wird, um zu beweisen, dass PCP unentscheidbar ist (hier skizziert ), erstellt eine Reihe von Kacheln, sodass eine PCP-Lösung vorliegt, wenn eine akzeptierende Berechnung eines gegebenen TM für eine Zeichenfolge w vorliegt . Die Anzahl der Kacheln, die bei dieser Reduzierung erzeugt werden, ist polynomial groß - insbesondere ist die Anzahl der hergestellten Dominosteine ​​eine Funktion der Größe des Bandalphabets und der Anzahl der Zustände im TM. Der einzige Domino, dessen Größe groß sein kann, ist der ursprüngliche Domino, der w hatMwwdarauf geschrieben. Wenn wir diese Reduktion von der Arbeit an deterministischen TMs auf die Arbeit an nicht deterministischen TMs verallgemeinern, führt dies höchstens eine konstante Anzahl von Dominosteinen ein, da die Anzahl der Übergänge endlich ist. Folglich können wir die Standardmenge von Dominosteinen für die normale Unentscheidbarkeitsverringerung in der Polynomzeit konstruieren.

In Anbetracht dessen können wir jedes NP-Problem wie folgt auf BPCP reduzieren - bei jedem NP-Problem hat es eine NTM Polynomzeit , die in der Zeit p ( n ) abläuft . Wir können dieses Problem dann wie folgt auf BPCP in Polynomialzeit reduzieren - konstruieren Sie die Standardmenge der Dominosteine ​​aus M und fragen Sie dann, ob es eine Lösung gibt, die f ( p ( n ) ) - Dominosteine ​​verwendet, wobei f eine Polynomfunktion ist, die das ausdrückt Anzahl der für die Lösung erforderlichen Dominosteine ​​(dies ist wahrscheinlich etwa n 2)Mp(n)Mf(p(n))fn2und ist sicherlich nicht exponentiell). Mit dem gleichen Beweis, den Sie verwenden, um zu zeigen, dass PCP unentscheidbar ist, können Sie dann beweisen, dass es eine Lösung für diese BPCP-Instanz gibt, die höchstens Kacheln verwendet, wenn das ursprüngliche NTM M m innerhalb von p ( n akzeptiert ) Schritte. Folglich haben wir eine Reduzierung der Polynomzeit von jedem Problem in NP zu BPCP, so dass BPCP NP-hart ist.f(p(n))Mmp(n)

(Wir sollten auch zeigen, dass BPCP in NP ist, aber das ist einfach; raten Sie nicht deterministisch, welche Dominosteine ​​zu ordnen sind, und verifizieren Sie sie dann deterministisch.)

Hoffe das hilft!

templatetypedef
quelle
Es hilft in gewisser Weise, obwohl ich immer noch eine Reduzierung direkt von einem anderen Problem vorziehen würde.
John
@ john- Gibt es einen bestimmten Grund, warum Sie ein bekanntes NP-vollständiges Problem auf BPCP reduzieren möchten? Der obige Beweis zeigt, dass das Problem NP-vollständig ist und hebt den Zusammenhang zwischen der Unentscheidbarkeit von PCP und der NP-Vollständigkeit von BPCP hervor.
Templatetypedef
Aus rein pädagogischen Gründen, da die meisten Lehrbücher normalerweise die direkte Reduktionsmethode verwenden, um die NP-Vollständigkeit nachzuweisen und zu verstehen, dass sich dieses Problem in dieser Hinsicht nicht von den anderen unterscheidet.
John
1
@ John: Sie können natürlich Verwendung templatetypedef die Reduktion auf jedem NP-vollständiges Problem (das ist direkt), aber das wird es nicht machen ausbeuten die Struktur des gewählten Problem. Für pädagogische Zwecke ist dies hervorragend, da Sie normalerweise nur einen nicht reduzierenden Beweis dafür sehen, dass ein Problem NP-vollständig ist.
Raphael