Quand avons-nous trouvé de meilleures limites pour les algorithmes connus?

16

Existe-t-il des exemples intéressants d'algorithmes qui ont été publiés avec des limites prouvées et où des limites strictement meilleures ont été publiées par la suite? Pas de meilleurs algorithmes avec de meilleures limites - c'est évidemment ce qui est arrivé! Mais une meilleure analyse conduisant à une meilleure limite sur un algorithme existant

Je pensais que la multiplication matricielle en était un exemple, mais je m'en suis dissocié (peut-être à tort!) Après avoir essayé de mieux comprendre Coppersmith – Winograd et ses amis.

Rob Simmons
la source
Un exemple idéal est la multiplication matricielle. Les améliorations récentes sont toutes en fait une meilleure analyse (Le Gall, Williams, etc.).
Lwins
Lwins - Je soupçonnais que cela pourrait être le cas, mais l'écrémage de certains articles m'a fait penser qu'ils variaient légèrement l'algorithme et l'analyse. J'ai peut-être besoin de regarder plus en profondeur
Rob Simmons
Il s'agit d'une demi-réponse, car il s'agit d'un ouï-dire de seconde main: lors de la détermination des automates Buechi ( dl.acm.org/citation.cfm?id=1398627 ), Safra a initialement analysé sa construction pour avoir un exposant quadratique. Puis, après avoir écrit la construction, et en raison d'un malentendu, il s'est retrouvé avec le meilleur (optimal) exposant . nlogn
Shaull
Je suggérerais d'examiner les problèmes de planification de mouvement - j'ai l'impression qu'il y a eu plusieurs cas là-bas. De plus, l'IIRC a évalué la complexité précise de l'algorithme (s?) Simplex pendant un certain temps.
Steven Stadnicki
1
Légèrement différent, mais la preuve d'existence d'une entrée satisfaisant des clauses dans une instance 3SAT a été améliorée en un algorithme explicite par une analyse plus approfondie. 7m/8
Stella Biderman

Réponses:

23

L' algorithme Union-Find, dont Tarjan 1 a montré la complexité nα(n) , où α(n) est la fonction Ackermann inverse, avait été analysé précédemment par plusieurs personnes. Selon Wikipedia, il a été inventé par Galler et Fischer 2 , mais cela semble être incorrect, car ils n'avaient pas tous les composants de l'algorithme nécessaires pour le faire fonctionner aussi rapidement.

Sur la base de brèves analyses des articles, il semble que l'algorithme a été inventé par Hopcroft et Ullman 3 , qui ont donné une limite de temps O(n) (incorrecte) . Fischer 4 a ensuite trouvé l'erreur dans la preuve et a donné une limite de temps O(nloglogn) . Ensuite, Hopcroft et Ullman 5 ont donné une limite de temps O(nJournaln) , après quoi Tarjan 1 a trouvé la limite de temps (optimale) O(nα(n)) .

1 RE Tarjan, "Efficacité d'un bon algorithme d'union d'ensemble non linéaire" (1975).
2 BS Galler et MJ Fischer, "Un algorithme d'équivalence amélioré" (1964).
3 JE Hopcroft et JD Ullman, «Un algorithme de fusion de liste linéaire» (1971).
4 MJ Fischer, "Efficacité des algorithmes d'équivalence" (1972).
5 JE Hopcroft et JD Ullman, «Set-merging algorithms» (1973).

Peter Shor
la source
2
L'histoire de cette structure de données est un peu floue pour moi et ce serait bien de l'explorer. J'ai survolé l'article Galler et Fischer, et il semble décrire la structure de données de la forêt des ensembles disjoints (DSF), mais sans l'heuristique cruciale de compression de chemin (PC) et d'union pondérée (WU). Hopcroft et Ullman attribuent DSF avec PC et sans WU à Tritter, citant Knuth. Je ne sais pas si DSF avec PC et WU a été proposé dans un article publié avant Hopcroft et Ullman, bien que je ne serais pas surpris si c'était le cas.
Sasho Nikolov
1
@Sasho: Tout cela doit être vérifié, car il est basé sur de brèves analyses des documents. Tarjan attribue DSF avec PC et WU à Michael Fischer, dans "Efficiency of equivalence algorithms" (1972), qui lui donne un temps d'exécution . En parcourant l'article de Fischer, il semble attribuer l'algorithme à Hopcroft et Ullman dans "Un algorithme de fusion de liste linéaire", mais ils lui donnent un temps d'exécution Θ ( n ) , la preuve dont Fischer montre qu'elle est incorrecte. Tarjan dit que Hopcroft et Ullman, dans "Set-merging algorithms" se rachètent en donnant une limite O ( n log n ) .O(nloglogn)Θ(n)O(nlogn)
Peter Shor
12

L'algorithme de Paturi, Pudlák, Saks et Zane (PPSZ) pour k-SAT était connu pour avoir un temps de fonctionnement de O(1.364n) pour 3-SAT , avec une meilleure limite de O(1.308n) pour les formules garanties d'avoir une affectation satisfaisante unique. Plus tard, Hertli a donné une analyse améliorée montrant que cette limite d'exécution améliorée vaut également pour le cas général, montrant ainsi PPSZ comme le meilleur algorithme pour 3-SAT connu à l'époque.

Jan Johannsen
la source
C'est une réponse vraiment satisfaisante! Je pense que les exemples Union Find sont les meilleurs exemples de ce que j'espérais.
Rob Simmons
8

FpFp

Lp(1/3,32/3)Lp(1/3,1.232), where:

Lp(v,c)=exp((c+o(1))(logp)v(loglogp)1v)
It's worth mentioning that this is technically an expected cost, and not an upper bound. This still seems in the spirit of the question to me, but I'll remove it if it's not what you're looking for.

Mark
la source
1
Very much in the spirit, thank you!
Rob Simmons
6

Recent work of Anupam Gupta, Euiwoong Lee, and Jason Li [1] shows that the Karger-Stein algorithm for the minimum k-cut problem has, in fact, asymptotic time complexity O(nk+o(1)), improving on the original analysis which gave O(n2k2) (and on previous work by the same authors, which obtained a different algorithm running in time O(n1.98k+O(1))).

This is likely to be (near)optimal, based on a conditional lower bound of Ω(nk).

Note: A talk by Jason Li (and the corresponding slides) can be found on the TCS+ website.


[1] The Karger—Stein Algorithm is Optimal for k-cut, Anupam Gupta, Euiwoong Lee, Jason Li. arXiv:1911.09165, 2019.

Clement C.
la source
4

The work function algorithm for k-server was shown to be (2k1)-competitive by Koutsipias and Papadimitrou - the algorithm was known previously and analyzed only in special cases. It is conjectured to be k-competitive.

Chandra Chekuri
la source
4

The 3-Hitting Set problem had a few iterations of "better analysis" (see Fernau's papers [1] [2]) The algorithm before these paper had some arbitrary choices (like 'choose an edge'...), but when the choices are specifically-chosen in a certain way, it allows for a more refined analysis, that is where the improvement comes in. And I think his Appendices in 1 give a more refined analysis (counting subproblems/substructures) leading to better recurrences and so better runtimes. I think there are a number of such examples in the parameterized complexity literature, where adding another variable to the analysis can lead to improved runtimes, but I have been out of that game for several years now and I can't think of specific ones at the moment. There are a number of papers in FPT and PTAS areas that come up when looking for "improved analysis" in the paper titles.

If specifying choices counts as the same algorithm (like union-find's depth-rank heuristic), then the Edmonds-Karp algorithm is an 'improved analysis' of Ford-Fulkerson, and I'd imagine there are plenty of other problems that have algorithms that have seen runtime improvements from new choice rules.

Then there are a whole bunch of amortized analysis of existing algorithms (I think union-find fits under this description, here is another one https://link.springer.com/article/10.1007/s00453-004-1145-7 )

JimN
la source
Making new choices feels close to what I was looking for, but isn't quite there - in a sense, a more-specified algorithm is a "different algorithm" - but these are still very interesting examples!
Rob Simmons