Una riduzione polinomiale da qualsiasi problema NP-completo a PCP limitato


18

I libri di testo in tutto il mondo per scontato che il Bounded corrispondenza postale problema è NP-completo (non più di N indici ammessi con ripetizioni). Tuttavia, da nessuna parte viene mostrato un semplice (come in, qualcosa che uno studente può capire) riduzione del tempo polinomiale da un altro problema NP-completo.

Tuttavia, ogni riduzione che mi viene in mente è esponenziale (di o della dimensione della serie) in fase di esecuzione. Forse si può dimostrare che è riducibile a SAT?N

Risposte:


10

Come spesso accade per le riduzioni di NP, ha senso cercare problemi simili . In particolare, è difficile codificare condizioni globali tali che "hanno visto alcuni nodi" in PCP (con polinomialmente molti riquadri) che controindicano i problemi dei grafici, i problemi di impacchettamento ci richiederebbero di codificare numeri unari in PCP (creando istanze esponenzialmente grandi), e presto. Pertanto, ci si può aspettare che un problema di stringa con solo restrizioni locali funzioni meglio.

Considera la versione decisionale del problema di supersequenza comune più breve :

Dato due stringhe con | a | = n e | b | = m e k N , decidi se esiste una stringa c Σ + con | c | k tale che un e b sono sottosequenze di c .a,bΣ+|a|=n|b|=mkNcΣ+|c|kabc

L'idea è quella di lasciare supersequences PCP compilazione di e B da sinistra a destra, la codifica in sovrapposizioni delle piastrelle in quale posizione ci troviamo in un e b , rispettivamente. Userà una tessera per simbolo in c , quindi k corrisponde al limite del BPCP: se possiamo risolvere questo PCP con tessere k , puoi leggere la supersequenza comune di uguale lunghezza e viceversa.ababckk

La costruzione delle piastrelle è un po 'noiosa, ma abbastanza chiara. Nota che non creeremo tessere che non inoltrano o b ; tali non possono mai far parte di una supersequenza comune più breve , quindi sono superflui. Possono essere facilmente aggiunti senza rompere le proprietà della riduzione.ab

I numeri nelle sovrapposizioni sono codificati in binario, ma usando simboli al di fuori di e riempiendoli con un log di lunghezza comune max ( m , n ) . Pertanto assicuriamo che le tessere vengano utilizzate come suggerito dalla grafica (tetris), ovvero i caratteri e le sovrapposizioni di codifica dell'indice non si mescolano (PCP non lo impedisce di per sé). Abbiamo bisogno:Σlogmax(m,n)

  • Piastrelle di inizio: può iniziare con un 1 , b 1 o entrambi se sono uguali.ca1b1
  • Tessere intermedie: può procedere con il simbolo successivo in a , in b o entrambi se sono uguali.cab
  • Tessere che terminano : termina con l'ultimo simbolo di a (se è già stato visto l'ultimo di b ), simile per b , o con l'ultimo simbolo di entrambi.caBB

Questi sono gli schemi delle piastrelle. Nota che le tessere intermedie devono essere istanziate per tutte le coppie . Come accennato in precedenza, creare le piastrelle senza * solo se i rispettivi personaggi in un e b partita.(io,j)[n]×[m]*un'B

inserisci qui la descrizione dell'immagine
[ fonte ]

I sono simbolici per "non importa"; nelle tessere effettive, l'altro simbolo dovrà essere copiato lì. Si noti che il numero di tessere è in Θ ( m n ) e ogni tessera ha lunghezza 4 log max ( m , n ) + 1 , quindi l'istanza BPCP costruita (sopra l'alfabeto Σ { 0 , 1 }*Θ(mn)4logmax(m,n)+1Σ{0,1}più simboli di separazione) ha dimensione polinomiale. Inoltre, la costruzione di ogni piastrella è chiaramente possibile in tempi polinomiali. Pertanto, la riduzione proposta è effettivamente una trasformazione polinomiale valida che riduce al BPCP il problema di supersequenza comune più breve completo di NP.


Bella risposta. Immagino la riduzione più semplice conosciuta.
Mohammad Al-Turkistany,

8

Penso che tu possa provare che BPCP è NP completo usando una riduzione simile a quella usata per dimostrare la sua indecidibilità. Dimostreremo direttamente che BPCP è NP completo mostrando come ridurre qualsiasi problema in NP ad esso in tempo polinomiale.

La riduzione standard utilizzata per dimostrare che il PCP è indecidibile ( delineato qui ) funziona costruendo una serie di tessere in modo tale che esista una soluzione PCP se esiste un calcolo accettabile di un dato TM su una stringa w . Il numero di tessere create in questa riduzione è polinomialmente elevato - in particolare, il numero di domino costruiti è una funzione della dimensione dell'alfabeto del nastro e del numero di stati nella TM. L'unico domino le cui dimensioni possono essere grandi è il domino iniziale, che ha wMwwscritto su di esso. Se generalizziamo questa riduzione dal lavorare su TM deterministiche a lavorare su TM non deterministiche, allora questo introduce al massimo un numero costante di domino, poiché il numero di transizioni è finito. Di conseguenza, possiamo costruire l'insieme standard di domino per la normale riduzione dell'indecidibilità nel tempo polinomiale.

Detto questo, possiamo ridurre qualsiasi problema NP a BPCP come segue - dato qualsiasi problema NP, ha un NTM in tempo polinomiale che gira nel tempo p ( n ) . Possiamo quindi ridurre questo problema a BPCP in tempo polinomiale come segue: costruire il set standard di domino da M , quindi chiedere se esiste una soluzione che utilizza f ( p ( n ) ) domino, dove f è una funzione polinomiale che esprime il numero di domino necessari per l'esistenza della soluzione (questo è probabilmente qualcosa come n 2Mp(n)Mf(p(n))fn2e non è certamente esponenziale). Quindi, usando la stessa prova che usi per dimostrare che PCP è indecidibile, puoi provare che esiste una soluzione a questa istanza BPCP che utilizza al massimo i riquadri se la NTM M originale accetta m entro p ( n ) passi. Di conseguenza, abbiamo una riduzione del tempo polinomiale da ogni problema in NP a BPCP, quindi BPCP è NP-difficile.f(p(n))Mmp(n)

(Dovremmo anche mostrare che BPCP è in NP, ma è facile; basta indovinare non deterministicamente quali domino mettere in ordine, quindi verificarlo in modo deterministico).

Spero che sia di aiuto!


Aiuta in qualche modo, anche se preferirei comunque una riduzione direttamente da un altro problema.
Giovanni,

@ john- C'è un motivo particolare che vuoi ridurre a BPCP un problema noto NP-complete? La dimostrazione sopra mostra che il problema è NP-completo ed evidenzia la connessione tra l'indecidibilità di PCP e la completezza NP di BPCP.
templatetypedef,

Motivo puramente educativo, dal momento che normalmente la maggior parte dei libri di testo utilizza il metodo di riduzione diretta per dimostrare la completezza di NP e comprendere che questo problema non è diverso dal resto al riguardo.
Giovanni,

1
@john: puoi ovviamente usare la riduzione di templatetypedef su qualsiasi problema NP-completo (che è diretto), ma ciò non lo farà sfruttare la struttura del problema scelto. Per scopi educativi, questo è brillante, perché di solito vedi solo una prova di non riduzione che un problema è NP-completo.
Raffaello
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.