Comparaison de deux algorithmes pour un problème 3SUM sur des nombres entiers

17

L'article "Algorithmes sous-quadratiques pour 3SUM", par Ilya Baran, Erik D. Demaine, Mihai Patrascu a la complexité suivante pour le

Problème 3SUM: étant donné une liste L de n entiers s'il y a x,y,zL tels que x+y=z.

wA C 0 O ( n 2 / w 2 log w ) O ( n 2 / ( M B ) ) O ( n 2 / M B log M )O(n2/max{wlogw,logn(loglogn)2})AC0O(n2/w2logw)O(n2/(MB))O(n2/MBlogM)

Récemment, un article "Triplettes, dégénérés et triangles d'amour" par Grondlund et Pettie a prouvé que "la complexité de l'arbre de décision de 3SUM est O(n3/2logn) , et qu'il y a un algorithme 3SUM randomisé fonctionnant en O(n2(loglogn)2/logn) temps, et un algorithme déterministe fonctionnant en O(n2(loglogn)5/3/(logn)2/3) heure.

Ces résultats réfutent la version la plus forte de la conjecture 3SUM, à savoir que sa complexité d'arbre de décision (et algorithmique) est Ω(n2) . "

Voir ce deuxième article ici .

De toute évidence, les deux sont des documents importants. N'étant pas un expert dans ce domaine, ma question est de savoir comment comparer l'impact et l'importance de l'un ou l'autre, compte tenu des différents modèles de complexité. Tout autre commentaire perspicace sur ce problème est également le bienvenu. Par exemple, le premier article avait-il déjà exclu la liaison Ω(n2) ?

kodlu
la source

Réponses:

14

Voici quelques points qui permettent de mettre en perspective les nouveaux résultats.

Le résultat de la complexité de l'arbre de décision est grand. Une ligne d'attaque (et Jeff Erickson peut en dire plus à ce sujet) était d'essayer de réduire la limite 3SUM en examinant la complexité de décision du problème (c'est-à-dire le nombre de comparaisons nécessaires pour résoudre le problème). L'espoir était que quelque chose de proche de était réalisable.Ω(n2)

Ce résultat supprime de façon décisive cet argument avec une limite . Notez que cela ne dit rien sur la véritable complexité du problème. Il dit qu'un arbre de décision ne se produira pas. Et cela (avec d'autres preuves) jette le doute sur la prémisse de base que 3SUM est "moralement" proche de .n 2O(n3/2)n2

Le résultat algorithmique est sous-quadratique inconditionnellement (c'est-à-dire pas dans un modèle mot-parallèle). C'est un gros problème, bien que je suppose que l'on puisse chipoter sur le fait que ce n'est pas pour une constante .ϵO(n2ϵ)ϵ

Comme le dit @domotorp, cela pourrait très bien être le début d'une série de nouveaux résultats. C'est vraiment difficile à dire. La limite supérieure actuelle provient de la «ré-implémentation» de l'algorithme d'arbre de décision avec quelques tours de magie de Timothy Chan. Il est concevable que cela puisse être poussé plus loin.

Suresh Venkat
la source
4
Jeff Erickson peut en dire plus à ce sujet - Pas grand-chose de plus à dire, vraiment. J'ai prouvé qu'un modèle d'arbre de décision naturel nécessite une profondeur ; le nouvel article montre qu'avec un modèle très légèrement plus fort, la profondeur est suffisante. Rétrospectivement, ce résultat ne devrait pas être surprenant, à la lumière des résultats de Fredman et Chan sur le tri X + Y et les chemins les plus courts. Mais cela ferme complètement une ligne d'attaque naturelle. Comme je l'ai dit à Seth, je suis à la fois incroyablement soulagé et incroyablement jaloux. O ( n trois / 2 )Ω(n2)O(n3/2)
Jeffε
14

Le premier article donne essentiellement un algorithme sous-quadratique si nous savons que chaque numéro d'entrée a bits et que nous pouvons ajouter deux nombres de bits en une seule étape. Ce n'était pas un résultat très surprenant et cela n'excluait pas une borne .w Ω ( n 2 )wwΩ(n2)

Le deuxième article n'utilise pas de telles hypothèses et améliore l'exposant de pour les arbres de décision, ce qui est une surprise, mais pas aussi grand que pour tous les algorithmes, pour lesquels ils ne se sont que légèrement améliorés (réfutant ainsi la conjecture la plus forte) . Je suppose que d'autres résultats suivront sous peu.n

domotorp
la source
Je suis satisfait des deux réponses, mais ne pouvais en accepter qu'une, j'ai donc accepté la plus détaillée.
kodlu