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|=mk∈Nc∈Σ+|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.ababck≤k
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
[ 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.
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 hatM w w darauf 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)M p(n) M f(p(n)) f n2 und 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)) M m p(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!
quelle