- Tim riset Rasmus Kyng di ETH Zurich mengembangkan algoritme yang menghitung masalah menemukan aliran maksimum dalam jaringan sekaligus meminimalkan biaya transportasi dengan kecepatan yang nyaris mencapai batas matematis
- Algoritme baru ini memakai pendekatan hampir waktu linear, yang menghasilkan jawaban dalam skala waktu yang hampir sama dengan waktu membaca data jaringan, dan dapat diterapkan pada perhitungan jaringan seperti rel kereta, jalan raya, jalur air, dan internet
- Sebelumnya, jika jumlah koneksi dinyatakan sebagai m, hingga sebelum tahun 2000 kecepatannya berada di kisaran m^1.5, dan pada 2004 sekitar m^1.33, tetapi pendekatan Kyng menurunkan waktu komputasi tambahan setelah pembacaan data ke tingkat yang nyaris bisa diabaikan
- Tim peneliti juga menghitung lintasan terpendek dan aliran maksimum biaya minimum dalam hampir waktu linear, melampaui jaringan statis dan berarah ke graf inkremental tempat koneksi ditambahkan dan graf dekremental tempat koneksi dihapus
- Ini menjadi dasar untuk menghitung ulang rute optimal dengan cepat ketika jaringan dunia nyata berubah, seperti penutupan dan pembukaan kembali sebagian Gotthard Base Tunnel atau longsor di jalan tol A13
Menghitung masalah aliran jaringan nyaris pada batas kecepatan
- Algoritme aliran jaringan dari tim Rasmus Kyng menangani masalah mencari aliran maksimum yang mungkin di jaringan sambil meminimalkan biaya transportasi
- Contoh yang representatif adalah mencari rute untuk memindahkan sebanyak mungkin barang dari Copenhagen ke Milan secepat dan semurah mungkin
- Aliran berbiaya rendah yang optimal dapat dihitung pada jaringan dengan koneksi dan kapasitas seperti rel kereta, jalan, jalur air, dan internet
- Kecepatan komputasinya ditekan hingga hampir setara dengan waktu yang dibutuhkan komputer untuk membaca data jaringan
Mengapa ini disebut algoritme “tercepat”
- Sebelumnya, waktu untuk menghitung aliran optimal jauh lebih lama daripada waktu yang dibutuhkan untuk memproses data jaringan
- Semakin besar dan kompleks jaringannya, waktu komputasi yang dibutuhkan meningkat lebih cepat daripada ukuran masalah itu sendiri
- Pendekatan Kyng membuat waktu komputasi dan ukuran jaringan meningkat dengan rasio yang sama
- Jika jumlah koneksi jaringan adalah m, maka hanya untuk membaca data satu kali saja dibutuhkan waktu m
- Hingga sebelum tahun 2000, tidak ada algoritme yang dapat menghitung lebih cepat dari m^1.5
- Pada 2004, jumlah komputasi yang dibutuhkan untuk menyelesaikan masalah turun hingga m^1.33
- Algoritme Kyng menurunkan waktu komputasi tambahan untuk mencapai solusi setelah membaca data ke tingkat yang nyaris bisa diabaikan
Penilaian dan perluasan algoritme hampir waktu linear
- Dua tahun lalu, tim Kyng menerbitkan makalah yang memuat pembuktian matematis konsep ini
- Algoritme yang nyaris optimal secepat ini disebut algoritme hampir waktu linear
- Daniel A. Spielman mengibaratkan algoritme ini seperti Porsche yang menyalip kereta kuda
- Makalah tersebut memenangkan Best Paper Award di IEEE Annual Symposium on Foundations of Computer Science, FOCS 2022
- Communications of the ACM juga menyoroti riset ini, dan редакси Quanta memilih algoritme Kyng sebagai salah satu dari 10 penemuan teratas ilmu komputer pada 2022
Dari jaringan statis ke jaringan yang berubah
- Algoritme awal berfokus pada jaringan tetap dan statis dengan arah koneksi yang sudah ditentukan
- Koneksi berarah adalah struktur seperti jalan satu arah pada jaringan jalan kota
- Setelah itu, tim peneliti mengembangkan algoritme untuk menghitung aliran optimal pada jaringan yang berubah secara bertahap seiring waktu
- Simon Meierhans mempresentasikan algoritme hampir waktu linear baru di Annual ACM Symposium on Theory of Computing, STOC, di Vancouver
- Algoritme ini menyelesaikan masalah aliran maksimum biaya minimum pada jaringan yang mendapat tambahan koneksi baru
- Dalam makalah kedua yang diterima di IEEE Symposium on Foundations of Computer Science, FOCS, pada Oktober, mereka mengembangkan algoritme yang juga menangani penghapusan koneksi
- Kedua algoritme tersebut mengidentifikasi lintasan terpendek pada jaringan tempat koneksi ditambahkan atau dihapus
Contoh perubahan jaringan di dunia nyata
- Gotthard Base Tunnel di Switzerland sempat ditutup total sejak musim panas 2023 lalu dibuka kembali sebagian
- Sebagian jalan tol A13, rute alternatif utama untuk Gotthard Road Tunnel, baru-baru ini rusak akibat longsor
- Jika perubahan seperti ini terjadi, komputer, layanan peta online, dan perencana rute harus menghitung ulang koneksi berbiaya terendah dan terpendek antara Milan dan Copenhagen
- Algoritme baru Kyng menghitung rute optimal dalam hampir waktu linear bahkan pada jaringan dengan penambahan atau penghapusan koneksi
- Bahkan ketika koneksi ditambahkan karena adanya jalan memutar atau rute baru, waktu komputasi tambahan tetap berada pada tingkat yang nyaris bisa diabaikan
Dua strategi lama dan cara penggabungan baru
- Perhitungan aliran jaringan perlu menganalisis jaringan berkali-kali untuk menemukan aliran optimal dan rute biaya minimum
- Pada tiap iterasi, perubahan seperti koneksi mana yang terbuka, tertutup, atau mencapai batas kapasitas hingga macet akan ditinjau
- Sebelum Kyng, ilmuwan komputer umumnya menggunakan salah satu dari dua strategi
- Model jaringan rel: pada tiap iterasi, seluruh satu bagian dari jaringan yang aliran lalu lintasnya berubah dihitung
- Model jaringan listrik: pada tiap iterasi, seluruh jaringan dihitung, tetapi perhitungan dipercepat dengan memakai nilai rata-rata statistik untuk aliran yang berubah di tiap bagian
- Tim Kyng menggabungkan keunggulan kedua strategi itu menjadi pendekatan gabungan yang baru
- Maximilian Probst Gutenberg menilai bahwa menggabungkan banyak langkah komputasi kecil yang efisien dan murah jauh lebih cepat daripada beberapa langkah besar
Konteks historis algoritme aliran
- Masalah aliran jaringan adalah salah satu masalah awal yang diselesaikan secara sistematis dengan algoritme pada 1950-an
- Algoritme aliran memainkan peran penting dalam memantapkan ilmu komputer teoretis sebagai bidang riset yang mandiri
- Algoritme terkenal dari Lester R. Ford Jr. dan Delbert R. Fulkerson juga muncul pada periode ini
- Algoritme Ford-Fulkerson secara efisien menyelesaikan masalah aliran maksimum, yaitu mengangkut sebanyak mungkin barang melalui jaringan tanpa melampaui kapasitas tiap rute
- Riset selanjutnya menunjukkan bahwa masalah aliran maksimum, masalah biaya minimum, dan berbagai masalah aliran jaringan lainnya adalah kasus khusus dari masalah aliran biaya minimum yang lebih umum
Keterbatasan algoritme sebelumnya dan titik balik 2004
- Banyak algoritme sebelum riset Kyng dapat menyelesaikan satu masalah tertentu secara efisien, tetapi belum cukup cepat dan sulit diperluas ke masalah aliran biaya minimum yang lebih luas
- John Edward Hopcroft, Richard Manning Karp, dan Robert Endre Tarjan, yang menciptakan algoritme aliran perintis pada 1970-an, masing-masing menerima Turing Award
- Karp menerimanya pada 1985
- Hopcroft dan Tarjan menerimanya pada 1986
- Pada 2004, Daniel Spielman, Shang-Hua Teng, dan kemudian Samuel Daitch menulis algoritme yang memberikan solusi cepat dan efisien juga untuk masalah aliran biaya minimum
- Kelompok ini menggeser sudut pandang dari rel kereta ke aliran listrik dalam jaringan listrik
- Dalam jaringan listrik, arus dapat sebagian dialihkan melalui koneksi yang sudah dilalui arus lain
- Kyng tidak langsung mengikuti pendekatan algoritmik kuat Spielman untuk seluruh jaringan, tetapi menerapkan gagasan perhitungan jalur parsial pada pendekatan sebelumnya dari Hopcroft dan Karp
- Fakta bahwa jalur parsial dihitung pada setiap iterasi berperan besar dalam mempercepat perhitungan seluruh aliran
Alat matematika baru dan struktur data
- Kemajuan tim riset ETH Zurich tidak hanya bertumpu pada algoritme baru, tetapi juga pada perancangan alat matematika yang mempercepat komputasi
- Tim peneliti mengembangkan struktur data baru untuk mengatur data jaringan
- Struktur data ini memungkinkan perubahan pada koneksi jaringan diidentifikasi dengan sangat cepat
- Identifikasi perubahan yang cepat menjadi faktor yang meningkatkan kecepatan solusi algoritmik
- Algoritme hampir waktu linear dan struktur data baru ini meletakkan dasar untuk menyelesaikan masalah sangat besar yang sebelumnya tidak bisa dihitung secara efisien
Makalah dan materi terkait
- Almost-Linear Time Algorithms for Decremental Graphs: Min-Cost Flow and More via Duality: makalah FOCS 2024 tentang aliran biaya minimum dan lainnya pada graf dekremental
- Almost-Linear Time Algorithms for Incremental Graphs: Cycle Detection, SCCs, s-t Shortest Path, and Minimum-Cost Flow: makalah STOC 2024 tentang deteksi siklus, SCC, lintasan terpendek s-t, dan aliran biaya minimum pada graf inkremental
- Maximum Flow and Minimum-Cost Flow in Almost-Linear Time: makalah FOCS 2022 yang menyelesaikan aliran maksimum dan aliran biaya minimum dalam hampir waktu linear
- Almost-Linear-Time Algorithms for Maximum Flow and Minimum-Cost Flow: artikel terkait dari Communications of the ACM
- Researchers Achieve ‘Absurdly Fast’ Algorithm for Network Flow: artikel terkait tahun 2022 dari Quanta Magazine
1 komentar
Opini Hacker News
Algoritma ini secara asimtotik hampir linear pada limit n -> inf
Di akhir video disebutkan bahwa implementasi apa pun dari algoritma ini akan sulit mengalahkan algoritma yang sudah ada di dunia nyata
https://cacm.acm.org/research/almost-linear-time-algorithms-...
https://en.wikipedia.org/wiki/Galactic_algorithm
Ungkapan kecepatan tercepat yang mungkin adalah klaim yang benar-benar berani
Sering kali jauh lebih praktis memakai 1% waktu untuk mendapatkan 99% kualitas
Menariknya, orang yang sama juga meneliti cara membuat algoritma khusus teori benar-benar bekerja dengan baik dalam praktik [1]
Namun proses itu tampaknya butuh sekitar 20 tahun lagi. [1] dibangun di atas terobosan teoretis tahun 2004 [2], dan sejauh yang saya pahami, algoritma-algoritma seperti ini baru mulai bekerja di praktik pada 2024. Jadi mungkin kita bisa menantikan algoritma minimum cost flow yang praktis pada 2044
[1] https://arxiv.org/pdf/2303.00709
[2] https://arxiv.org/abs/cs/0310051
Tetap saja, secara teoretis ini hasil yang keren
Kadang rasanya kita benar-benar tersesat ketika menjadikan kompleksitas sebagai metrik
Makin banyak algoritma yang mengoptimalkan metrik kompleksitas sampai tingkat gila-gilaan, tetapi sebenarnya tidak berguna
Setelah semua hasil yang mudah habis, riset algoritma menjadi satu lagi bidang yang sangat terspesialisasi, dan kecuali Anda peneliti di bidang yang sangat dekat, sebagian besar makalah tidak terlalu sepadan untuk dibaca
Tulisan terkait: https://news.ycombinator.com/item?id=31149038 (40 komentar)
https://news.ycombinator.com/item?id=31675015 (72 komentar)
Di mana makalah atau kode-nya?
https://cacm.acm.org/research/almost-linear-time-algorithms-...
Ada bagian yang membingungkan di sini: o(n) tampak seperti pernyataan yang lebih kuat daripada O(n)
Karena setiap algoritma o(n) adalah O(n), tetapi sebaliknya tidak benar. Selain itu, jika o(n) berlaku bahkan untuk n sekecil apa pun, sedangkan O(n) hanya berlaku saat n -> inf, bukankah algoritma ini seharusnya juga berlaku untuk n kecil? Kalau begitu bukankah ini harus menjadi kebalikan dari algoritma galaktik yang disebut di atas? Apakah ada yang saya lewatkan?
Definisi f(n) = o(g(n)) kira-kira adalah lim (n -> infinity) f(n)/g(n) = 0. Dengan kata lain, untuk n yang cukup besar, g tumbuh lebih cepat daripada f
Misalnya, fungsi seperti f(n) = 10n if n < 1000 else 1e1000 adalah o(n). Ketika n membesar, 1e1000/n menuju 0. Ini adalah representasi pseudo-Python dari fungsi bertahap yang naik secara eksponensial sampai 101000 hingga n = 1000, lalu tetap konstan setelah itu
Kalau ingatan saya benar, 3↑↑64 adalah bilangan Graham
Sialan faktor konstanta itu, bikin ingin mengacungkan tinju ke langit
Di abstraknya hanya tertulis waktunya m^(1+o(1))
Ada yang tahu apakah batas atas yang lebih konkret tercantum di suatu tempat?
https://de.m.wikipedia.org/wiki/Landau-Symbole
Dengan kata lain, ini adalah skema algoritma yang untuk sembarang ɛ>1 memberi algoritma yang berjalan dalam waktu O(m^ɛ)
o kecil adalah fungsi yang mendekati 0 ketika n menuju tak hingga, dan disebut dapat diabaikan secara asimtotik