Kapan kami menemukan batasan yang lebih baik untuk algoritme yang dikenal?


16

Adakah contoh algoritma yang menarik yang telah dipublikasikan dengan batasan yang telah terbukti, dan di mana batasan yang lebih baik kemudian telah diterbitkan? Algoritme yang tidak lebih baik dengan batasan yang lebih baik - jelas itu terjadi! Tetapi analisis yang lebih baik mengarah pada ikatan yang lebih baik pada algoritma yang ada

Saya pikir perkalian matriks adalah contoh dari hal ini, tetapi saya telah berbicara sendiri tentang hal itu (mungkin salah!) Setelah mencoba memahami Coppersmith – Winograd dan teman-temannya dengan lebih baik.


Contoh yang ideal adalah Penggandaan Matriks. Perbaikan terbaru sebenarnya adalah analisis yang lebih baik (Le Gall, Williams, dll.).
Lwins

Lwins - Saya menduga hal itu mungkin terjadi, tetapi membaca sekilas beberapa makalah membuat saya berpikir mereka sedikit memvariasikan baik algoritma maupun analisisnya. Saya mungkin perlu melihat lebih dalam.
Rob Simmons

Ini adalah setengah jawaban, karena ini adalah kabar angin tangan kedua: ketika bekerja pada determinasi Buechi automata ( dl.acm.org/citation.cfm?id=1398627 ), Safra awalnya menganalisis konstruksinya untuk memiliki eksponen kuadratik. Kemudian, setelah menulis konstruksi bawah, dan karena beberapa kesalahpahaman, ia berakhir dengan baik (optimal) eksponen. nlogn
Shaull

Saya akan menyarankan melihat ke masalah perencanaan gerak - Saya merasa seperti ada beberapa kasus di sana. Juga, IIRC kompleksitas yang tepat dari algoritma simpleks (s?) Adalah masalah studi cukup lama.
Steven Stadnicki

1
Sedikit berbeda, tetapi bukti keberadaan input yang memenuhi klausa dalam instance 3SAT ditingkatkan menjadi algoritma eksplisit dengan analisis yang lebih cermat. 7m/8
Stella Biderman

Jawaban:


23

The Union-Cari algoritma, yang Tarjan 1 menunjukkan memiliki kompleksitas nα(n) , di mana α(n) adalah kebalikan Ackermann fungsi, telah dianalisis sebelumnya oleh beberapa orang. Menurut Wikipedia, itu diciptakan oleh Galler dan Fischer 2 , tetapi ini tampaknya tidak benar, karena mereka tidak memiliki semua komponen algoritma yang diperlukan untuk membuatnya berjalan secepat itu.

Berdasarkan scan singkat dari makalah, tampak bahwa algoritma ditemukan oleh Hopcroft dan Ullman 3 , yang memberikan (salah) O(n) terikat waktu. Fischer 4 kemudian menemukan kesalahan dalam pembuktian dan memberikan batas waktu O(nloglogn) . Selanjutnya, Hopcroft dan Ullman 5 memberikan batas waktu O(nlogn) , setelah itu Tarjan 1 menemukan batas waktu (optimal) O(nα(n)) .

1 RE Tarjan, "Efisiensi algoritma persatuan linear yang baik tetapi tidak linier" (1975).
2 BS Galler dan MJ Fischer, "Algoritma peningkatan kesetaraan" (1964).
3 JE Hopcroft dan JD Ullman, "Algoritma penggabungan daftar linear" (1971).
4 MJ Fischer, "Efisiensi algoritma kesetaraan" (1972).
5 JE Hopcroft dan JD Ullman, "Algoritma set-merging" (1973).


2
Sejarah struktur data ini sedikit tidak jelas bagi saya dan akan menyenangkan untuk menyelidikinya. Saya membaca skim artikel Galler dan Fischer, dan sepertinya menggambarkan struktur data Disjoint Sets Forest (DSF) tetapi tanpa kompresi jalur krusial (PC) dan heuristik weighted union (WU). Hopcroft dan Ullman menghubungkan DSF dengan PC dan tanpa WU ke Tritter, mengutip Knuth. Saya tidak yakin apakah DSF dengan PC dan WU diusulkan dalam makalah yang diterbitkan sebelum Hopcroft dan makalah Ullman, meskipun saya tidak akan terkejut jika itu.
Sasho Nikolov

1
@Sasho: Ini semua harus diperiksa, karena didasarkan pada pemindaian singkat kertas. Tarjan menghubungkan DSF dengan PC dan WU ke Michael Fischer, dalam "Efisiensi algoritma kesetaraan" (1972), yang memberikan waktu berjalan untuk itu. Pemindaian kertas Fischer, ia tampaknya atribut algoritma untuk Hopcroft dan Ullman di "Daftar linear penggabungan algoritma", tetapi mereka memberikan Θ ( n ) waktu berjalan untuk itu, bukti yang menunjukkan Fischer tidak benar. Tarjan mengatakan bahwa Hopcroft dan Ullman, dalam "Algoritma set-merging" menebus diri mereka sendiri dengan memberikan O ( n log O(nloglogn)Θ(n)ikatan n ) .O(nlogn)
Peter Shor

12

Algoritma Paturi, Pudlák, Saks dan Zane (PPSZ) untuk k-SAT telah diketahui memiliki waktu berjalan O(1.364n) untuk 3-SAT , dengan batas O(1.308n) lebih baik ( 1,308 n ) untuk formula yang dijamin memiliki tugas memuaskan yang unik. Kemudian Hertli memberikan analisis yang ditingkatkan yang menunjukkan bahwa run-time bound yang ditingkatkan ini juga berlaku untuk kasus umum, sehingga menunjukkan PPSZ menjadi algoritma terbaik untuk 3-SAT dikenal pada saat itu.


Ini jawaban yang sangat memuaskan! Saya pikir itu dan contoh-contoh Union Find adalah contoh terbaik dari apa yang saya harapkan.
Rob Simmons

8

The kebuntuan Serangan menyebutkan bahwa analisis saringan jumlah lapangan umum (seperti yang diterapkan untuk komputasi logaritma diskrit lebih Fp ) langkah keturunan adalah tightend, lihat kiri atas halaman ke-3. Karena ini adalah satu-satunya langkah yang tidak dapat pra-dihitung (jika Fp adalah tetap), efisiensi berperan untuk menyerang mereka.

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

Lp(v,c)=exp((c+o(1))(logp)v(loglogp)1v)


1
Sangat semangat, terima kasih!
Rob Simmons

5

Karya terbaru dari Anupam Gupta, Euiwoong Lee, dan Jason Li [1] menunjukkan bahwa algoritma Karger-Stein untuk minimumkMasalah -cut memiliki, pada kenyataannya, kompleksitas waktu asimptotikO(nk+o(1)), meningkatkan analisis asli yang memberi 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.


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.


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 )


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.