Confronto tra due algoritmi per il problema 3SUM con numeri interi


17

L'articolo "Algorithms subquadratici per 3SUM", di Ilya Baran, Erik D. Demaine, Mihai Patrascu presenta la seguente complessità per

Problema 3SUM: dato un elenco di numeri interi se ci sono tali cheLnx,y,zLx+y=z.

Essi affermano, "su una parola RAM di serie con parole bit, si ottiene un tempo di esecuzione di . Nel circuito RAM con una non standard AC0 operazione, otteniamo O (n ^ 2 / w ^ 2 \ log w) . In memoria esterna, otteniamo O (n ^ 2 / (MB)) , anche nell'ipotesi di serie di indivisibilità dei dati. Cache-inconsapevolmente, otteniamo un tempo di esecuzione di O (n ^ 2 / MB \ log M) . In tutti i casi, la nostra velocità è quasi quadratica nel "parallelismo" il modello può essere un ff ord, che potrebbe essere il migliore possibile Vedi il documento Baran, Demaine, Patrascu qui .wO(n2/max{wlogw,logn(loglogn)2})AC0O(n2/w2logw)O(n2/(MB))O(n2/MBlogM)

Recentemente, un articolo "Sesso a tre, degenerati e triangoli amorosi" di Grondlund e Pettie ha dimostrato che "la complessità dell'albero decisionale di 3SUM è O(n3/2logn) e che esiste un algoritmo 3SUM randomizzato in esecuzione in O(n2(loglogn)2/logn) e un algoritmo deterministico in esecuzione in O(n2(loglogn)5/3/(logn)2/3) ora.

Questi risultati confutano la versione più forte della congettura di 3SUM, vale a dire che la sua complessità dell'albero decisionale (e algoritmico) è Ω(n2) . "

Vedi questo secondo documento qui .

Chiaramente, entrambi sono documenti importanti. Non essendo un esperto in questo settore, la mia domanda è su come confrontare l'impatto e il significato di entrambi, dati i diversi modelli di complessità. Anche qualsiasi altro commento approfondito su questo problema è il benvenuto. Ad esempio, il primo documento aveva già escluso il limite Ω(n2) ?

Risposte:


14

Ecco alcuni punti che aiutano a dare una prospettiva ai nuovi risultati.

Il risultato della complessità dell'albero decisionale è grande. Una linea di attacco (e Jeff Erickson può dire di più al riguardo) è stata quella di provare a ridurre il limite di 3SUM osservando la complessità decisionale del problema (ovvero il numero di confronti necessari per risolvere il problema). La speranza era che fosse possibile ottenere qualcosa di simile a .Ω(n2)

Questo risultato cancella decisamente quell'argomento con un limite . Nota che questo non dice nulla sulla vera complessità del problema. Dice che un limite inferiore dell'albero decisionale non accadrà. E questo (insieme ad altre prove) mette in dubbio la premessa di base che 3SUM è "moralmente" vicino a .O(n3/2)n2

Il risultato algoritmico è subquadratico incondizionatamente (cioè non in un modello parallelo di parole). Questo è un grosso problema, anche se suppongo che uno potrebbe cavillare sul fatto che non è per qualche costante .O(n2ϵ)ϵ

Come dice @domotorp, questo potrebbe benissimo essere l'inizio di una serie di nuovi risultati. È davvero difficile da dire. L'attuale limite superiore deriva dal "reimplementare" l'algoritmo dell'albero decisionale con alcuni trucchi magici di Timothy Chan. È concepibile che questo possa essere spinto oltre.


4
Jeff Erickson può dire di più su questo - Non c'è molto altro da dire, davvero. Ho dimostrato che un modello di albero decisionale naturale richiede profondità ; il nuovo documento mostra che con un modello leggermente più forte, la profondità è sufficiente. A posteriori, questo risultato non dovrebbe sorprendere, alla luce dei risultati di Fredman e Chan sull'ordinamento X + Y e sui percorsi più brevi. Ma chiude completamente una linea di attacco naturale. Come ho detto a Seth, sono incredibilmente sollevato e incredibilmente geloso. Ω(n2)O(n3/2)
Jeffε

14

Il primo articolo fornisce essenzialmente un algoritmo subquadratico se sappiamo che ogni numero di input ha bit e possiamo aggiungere due numeri bit in un solo passaggio. Questo non è stato un risultato molto sorprendente e non ha escluso un limite di .wwΩ(n2)

Il secondo documento non usa tali assunzioni e migliora l'esponente di per gli alberi decisionali, il che è una sorpresa, anche se non così grande come sarebbe per tutti gli algoritmi, per i quali sono solo leggermente migliorati (confutando così la congettura più forte) . Immagino che a breve seguiranno altri risultati.n


Sono contento di entrambe le risposte, ma potrei accettarne solo una, quindi ho accettato quella più dettagliata.
Kodlu,
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.