Problemi che possono essere utilizzati per mostrare i risultati della durezza del tempo polinomiale


58

Quando si progetta un algoritmo per un nuovo problema, se non riesco a trovare un algoritmo temporale polinomiale dopo un po ', potrei provare a dimostrare che è NP-difficile. Se ci riesco, ho spiegato perché non sono riuscito a trovare l'algoritmo del tempo polinomiale. Non è che io sappia per certo che P! = NP, è solo che questo è il meglio che si può fare con le conoscenze attuali, e in effetti il ​​consenso è che P! = NP.

Allo stesso modo, supponiamo di aver trovato una soluzione in tempo polinomiale per qualche problema, ma il tempo di esecuzione è . Dopo molti sforzi, non faccio progressi nel miglioramento. Quindi, invece, potrei provare a dimostrare che è 3SUM-difficile invece. Questo di solito è uno stato soddisfacente, non a causa della mia suprema convinzione che 3SUM richiede davvero tempo , ma perché questo è lo stato dell'arte attuale, e molte persone intelligenti hanno cercato di migliorare e hanno fallito. Quindi non è colpa mia se è il meglio che posso fare.Θ ( n 2 )O(n2)Θ(n2)

In questi casi, il meglio che possiamo fare è un risultato di durezza, al posto di un limite inferiore effettivo, poiché non abbiamo limiti inferiori super-lineari per le macchine di Turing per problemi in NP.

Esiste una serie uniforme di problemi che possono essere utilizzati per tutti i tempi di esecuzione polinomiali? Ad esempio, se voglio dimostrare che è improbabile che qualche problema abbia un algoritmo migliore di , c'è qualche problema X tale che posso mostrare che è X-hard e lasciarlo a quello?O(n7)

Aggiornamento : questa domanda originariamente chiedeva famiglie di problemi. Poiché non ci sono molte famiglie di problemi, e questa domanda ha già ricevuto eccellenti esempi di singoli problemi difficili, sto rilassando la domanda a qualsiasi problema che può essere utilizzato per i risultati della durezza del tempo polinomiale. Sto anche aggiungendo una generosità a questa domanda per incoraggiare più risposte.


5
La pagina maven.smith.edu/~orourke/TOPP/P11.html sintetizza alcuni risultati sui limiti inferiore (e superiore) di 3SUM e sui relativi problemi e vale la pena di leggerlo.
Tsuyoshi Ito,

2
L'assenza di limiti inferiori superlineari è per una TM con almeno due nastri, non è vero? Ricordo di aver letto da qualche parte che il controllo di un palindromo su una TM a nastro singolo ha un limite inferiore del tempo quadratico. Quando parliamo di limiti inferiori all'interno di , del tipo vs. , è ancora OK supporre che il modello esatto di TM non contenga molto? Ω ( n i ) Ω ( n i + 1 )PΩ(ni)Ω(ni+1)
gphilip,

3
Fuori tema: Robin, Tsuyoshi, grazie per aver introdotto la famiglia di limiti inferiori 3SUM: non ne avevo mai sentito parlare prima.
gphilip,

2
@Tsuyoshi: grazie per l'informazione. Questo è un bel sondaggio sull'argomento: cs.mcgill.ca/~jking/papers/3sumhard.pdf . @gphilip: recentemente sono stato introdotto a questo problema da alcuni geometri computazionali. Immagino sia molto noto in quella zona.
Robin Kothari,

Ottima domanda Potresti chiarire cosa intendi con "uniforme": vuoi limitare la quantità di preelaborazione del parametro?
András Salamon,

Risposte:


35

Sì, l'algoritmo più noto per -SUM viene eseguito nel tempo , quindi è molto probabile che tu possa sostenere qualche problema è difficile, perché se è in allora puoi risolvere -SUM più velocemente.O ( n k / 2 ) n 7 n 6.99 14kO(nk/2)n7n6.9914

Nota che il problema -SUM diventa "più facile" con l' aumentare di : dato un algoritmo migliorato per -SUM, è abbastanza facile ottenere un algoritmo migliorato per -SUM: prendi tutte le coppie di numeri nel tuo data l' istanza -SUM, sostituendo ciascuna coppia con la somma delle due e cerca una somma di numeri tra quelli uguali a . Quindi, un algoritmo per -SUM implica un algoritmo per -SUM. Detto in altro modo, un limite inferiore stretto perk k 2 k O ( n 2 ) n 2 k k 0 O ( n kkkk2kO(n2)n2kk0O(nk/2ε)kO(nk2ε)2k2k-SUM è un presupposto più forte di un limite inferiore stretto per -SUM.k

Un altro candidato per un problema difficile è -Clique. Vedere la mia risposta -Clique per ulteriori informazioni al riguardo . Se puoi mostrare (per esempio) che un algoritmo migliore per il tuo problema implica un algoritmo per clique, allora sarebbe necessario un super-breakthrough per migliorare il tuo algoritmo. La complessità parametrizzata fornisce molti esempi di altri problemi come questo: -Clique è difficile per la classe e -SUM è difficile per .O ( registro nkO(logn)O(n2)3kW\[1\]kW\[2\]

Lascia che ti avverta che sebbene problemi come questo siano molto convenienti con cui lavorare, problemi come SUM non sono tra i "più difficili" in , ad esempio, è molto improbabile che ogni problema in può effettivamente essere ridotto a tempo lineare a -SUM. Questo perché -SUM può essere risolto con bit di non determinismo in tempo lineare, quindi se tutto in tempo quadratico può essere ridotto a SUM, allora e altri risultati fantastici. Maggiori informazioni su questo punto sono disponibili nell'articolo "Quanto sono difficili i problemi di -hard?"T I M E [ n 2 ] T I M E [ n 2 ] 3 3 O ( log n ) 3 P N P n 2 n 23TIME[n2]TIME[n2]33O(logn)3PNPn2(Ad un certo punto, "3SUM-hard" è stato chiamato " -hard"; questo articolo di SIGACT si è giustamente lamentato di quel nome.)n2


4
L'unico problema che ho con l'uso di k-clique è che la 3-cricca è risolvibile in . Se fosse il caso che k-clique sembrasse richiedere , sarebbe una grande famiglia naturale da usare. O(n2.376)Θ(nk)
Robin Kothari,

Non vedo una differenza fondamentale tra l'uso di -SUM e -Clique. -SUM è in anche per . Se puoi dimostrare che un algoritmo migliore per il tuo problema implica che -Clique è in , questa è una prova evidente che sarà difficile trovare un algoritmo migliore per il tuo problema. k k O ( n k /kkkO(nk/2)kkO(nk/2)
Ryan Williams,

riferimento pulito, Ryan. Mi vergogno di non averlo saputo prima, dato quanto 3SUM sia popolare nella comunità della geometria. Naturalmente questo pone la domanda: ci sono candidati naturali per essere difficili? n2
Suresh Venkat,

@Ryan: hai ragione, sono gli stessi. Sebbene, con k-SUM, almeno abbiamo prove in modelli più deboli che il limite congetturato sia corretto. Non conosco argomenti che suggeriscano che la cricca 3 non dovrebbe essere risolvibile più velocemente della moltiplicazione di matrici.
Robin Kothari,

@Robin: avrei pensato che qualsiasi naturale famiglia di problemi con probabili limiti inferiori, per , sarebbe una buona risposta. La costante precisa sembra meno importante? nf(k)f(k)=Θ(k)
András Salamon,

14

Si ritiene che il problema APSP (All-Pairs Shortest Paths) richieda tempo . Ridurlo è un ottimo modo per sostenere che sono improbabili miglioramenti basati sulla moltiplicazione a matrice rapida (FMM).Ω(n3)


2
Che ne dici del diametro di un grafico? Meglio ancora, rendilo un problema decisionale "Il diametro è almeno k?". Questo ha il vantaggio di non avere alcun limite superlineare evidente, per quanto ne so.
Raffaello,

9

Si ritiene che i migliori algoritmi per il problema della degenerazione affine nello spazio dimensionale vengano eseguiti nel tempo . Il problema è il seguente: Dati punti nello spazio dimensionale con coordinate intere, ci sono punti su un iperpiano comune?O ( n d ) n d d + 1dO(nd)ndd+1

Il problema della degenerazione affine è -SUM difficile. Se inseriamo il limite inferiore ipotizzato per -SUM, otteniamo un limite inferiore di . Tuttavia, la congettura per la complessità del problema della degenerazione affine è molto più forte per .k Ω ( n d / 2 + 1 ) d 3(d+1)kΩ(nd/2+1)d3

J. Erickson, S. Har-Peled e DM Mount, On the Least Median Square Problem, Discrete and Computational Geometry, 36, 593-607, 2006. http://www.cs.umd.edu/~mount/Papers /dcg06-lms.pdf

J. Erickson e R. Seidel. Limiti inferiori migliori nella rilevazione di degenerazioni sane e sferiche. Computo discreto. Geom., 13: 41–57, 1995. http://compgeom.cs.uiuc.edu/~jeffe/pubs/degen.html

J. Erickson. Nuovi limiti inferiori per problemi di scafo convesso in dimensioni dispari. SIAM J. Comput., 28: 1198–1214, 1999. http://compgeom.cs.uiuc.edu/~jeffe/pubs/convex.html


Mi piace questa risposta, ma potresti spiegarmi? Perché si crede?
Aaron Sterling,

8

Si ipotizza che il problema di Hopcroft richieda il tempo di : dato un insieme di punti e un insieme di linee nel piano, c'è qualche punto su una linea?n nΘ(n4/3)nn


7
ci sono problemi non geometrici che riducono al problema di Hopcroft?
Suresh Venkat,

Ho deciso di assegnare la generosità a questa risposta perché non avevo mai sentito parlare di questo problema prima.
Robin Kothari,
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.