Esempio di testimone della lunghezza logaritmica più facile da verificare che da trovare


12

Un'osservazione semplice è che se un problema è decidibile da un programma non deterministico in tempo polinomiale che usa bit non deterministici (cioè, tutti i testimoni sono di lunghezza logaritmica), allora .AO(logn)AP

Se uno si pone quindi la domanda "È più facile verificare un testimone che trovarlo?" per tali problemi, e si considerano tutti i tempi di esecuzione polinomiali equivalenti, quindi la risposta è no, poiché si possono trovare tali testimoni in tempi polinomiali cercando tra tutti i potenziali testimoni.

E se considerassimo le distinzioni a grana fine tra i tempi di esecuzione polinomiali? Mi chiedo se c'è un esempio concreto di un problema naturale in che ha testimoni di lunghezza logaritmica che sono più facili da verificare che da trovare, dove "più facile" significa un tempo di esecuzione polinomiale minore.P

Ad esempio, algoritmi noti per una perfetta corrispondenza nei grafici richiedono tempo polinomiale, ma più del tempo su un grafico con nodi. Ma dato un insieme di coppie di nodi (un testimone), è facile verificare in tempo che è una corrispondenza. Tuttavia, la corrispondenza stessa richiede codifica a bit.O(n)nn/2O(n)Ω(n)

C'è qualche problema naturale che raggiunge una velocità (apparente) simile nella verifica rispetto alla scoperta, in cui il testimone ha una lunghezza logaritmica ?


3
Considera il problema di calcolare se una stringa di input -bit non è uguale alla stringa di tutti zeri. Ci vuole tempo per farlo, ma un testimone di dimensioni (che punta a un ) lo rende molto più semplice (su una macchina ad accesso casuale). nΘ(n)logn1
Robin Kothari,

La domanda è particolarmente interessante se consideriamo problemi con un tempo di verifica almeno lineare su una macchina ad accesso casuale. La sezione 4 dell'articolo web.stanford.edu/~rrwill/improved-algs-lbs2.pdf fornisce alcune interessanti conseguenze di un miglioramento universale rispetto alla ricerca esaustiva anche con il non determinismo . (La sezione 5 dimostra anche alcuni limiti inferiori incondizionati.)O(logn)
Ryan Williams il

Risposte:


14

Considera il problema decisionale che decide se un dato input binario di lunghezza è un non-palindromo.xn

Esiste una prova di complessità della comunicazione piuttosto standard che un singolo nastro TM richiede almeno tempo per risolvere questo problema.O(n2)

D'altra parte, si può anche risolvere questo problema utilizzando un algoritmo non deterministico con un di lunghezza testimone : l'algoritmo accetta ogni volta che l' esimo bit dall'inizio della è diverso dal esimo bit a partire dalla fine del . Identificazione esimo bit dall'inizio o alla fine di una lunghezza stringa di bit può essere eseguita in tempo su un singolo nastro TM.log(n)iixixinO(nlogn)


1
Bene, sostanzialmente stai "sollevando" la differenza tra la complessità comunicativa non deterministica e deterministica (per l'uguaglianza di due stringhe) a una separazione di TM monodimensionali non deterministiche e deterministiche.
Ryan Williams,
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.