Pengantar
Dalam algoritme, seperti dalam kehidupan, kenegatifan bisa menjadi hambatan.
Pertimbangkan masalah menemukan jalur terpendek antara dua titik pada grafik โ jaringan simpul yang dihubungkan oleh tautan, atau tepi. Seringkali, sisi-sisi ini tidak dapat dipertukarkan: Grafik dapat mewakili peta jalan di mana beberapa jalan lebih lambat dari yang lain atau memiliki tol yang lebih tinggi. Ilmuwan komputer memperhitungkan perbedaan ini dengan memasangkan setiap tepi dengan "bobot" yang menghitung biaya untuk bergerak melintasi segmen tersebut - apakah biaya tersebut mewakili waktu, uang, atau yang lainnya. Sejak tahun 1950-an, mereka telah mengetahui cara menemukan jalur terpendek pada dasarnya secepat mungkin secara teori, dengan asumsi semua bobot adalah angka positif.
Namun pada beberapa grafik, bobot bisa negatif โ perjalanan sepanjang satu segmen dapat mengimbangi biaya melintasi yang lain. Pertimbangkan, misalnya, seorang pengemudi pengiriman yang harus menyeimbangkan biaya bahan bakar dan tol (diwakili oleh bobot positif) terhadap pendapatan dari pengangkutan paket (diwakili oleh bobot negatif). Dalam kasus seperti itu, algoritma jalur terpendek tercepat yang diketahui tidak berfungsi. Selama beberapa dekade, algoritme cepat untuk menemukan jalur terpendek pada grafik berbobot negatif tetap sulit dipahami.
Sekarang trio ilmuwan komputer telah memecahkan masalah lama ini. baru mereka algoritma, yang menemukan jalur terpendek melalui grafik dari simpul "sumber" yang diberikan ke setiap simpul lainnya, hampir menyamai kecepatan yang dicapai algoritme berbobot positif di masa lalu.
Terlebih lagi, pendekatan baru menggunakan teknik matematika puluhan tahun, menghindari metode yang lebih canggih yang telah mendominasi penelitian teori graf modern.
โSaya tidak percaya ada algoritme sesederhana itu,โ kata Maximilian Probst Gutenberg, seorang ilmuwan komputer di Swiss Federal Institute of Technology Zurich. โSemua itu sudah ada selama 40 tahun. Hanya perlu seseorang untuk menjadi sangat pintar dan bertekad untuk membuat semuanya berhasil.
Batas Keserakahan
Cerita dimulai pada tahun 1956, ketika ilmuwan komputer Belanda Edsger Dijkstra mengembangkan algoritma cepat untuk menemukan jalur terpendek pada grafik dengan bobot positif saja. Untuk memahaminya, bayangkan mulai dari sumber dan menjelajahi grafik satu simpul pada satu waktu, mencatat bobot tepi yang baru ditemukan saat Anda melakukannya. Setiap kali Anda mengunjungi sebuah node, buat perkiraan awal jalur terpendek dari sumber ke setiap tetangga node baru, perbarui perkiraan yang ada jika Anda telah menemukan jalur baru yang lebih pendek. Untuk memutuskan node mana yang belum dijelajahi untuk dikunjungi selanjutnya, gunakan apa yang disebut strategi serakah: Pergi ke mana pun yang paling dekat dengan sumber menurut perkiraan Anda saat ini.
Dengan bobot positif, jalur yang diambil algoritme Dijkstra untuk mengunjungi setiap node untuk pertama kali benar-benar terpendek. Paling mudah untuk melihat bahwa ini benar untuk langkah pertama. Bayangkan dua simpul A dan B dihubungkan oleh sebuah sisi dengan bobot 2. Jika A adalah simpul sumber, dan setiap sisi lain yang menyentuhnya memiliki bobot yang lebih besar, maka jalur langsung dari A ke B harus merupakan jalur terpendek yang menghubungkan kedua titik tersebut. , karena segmen pertama dari jalur lain mana pun sudah lebih panjang. Penalaran serupa bekerja di setiap langkah. Algoritme tidak perlu melihat ke belakang, jadi dijamin akan selesai setelah menjalankan grafik sekali โ itulah yang membuatnya begitu cepat.
Tapi bobot negatif menimbulkan masalah bagi strategi serakah Dijkstra. Pertimbangkan lagi driver pengiriman kami. Rute langsung dari A ke B yang menghasilkan keuntungan kecil mungkin menghasilkan lebih sedikit uang daripada jalur memutar yang memiliki hasil besar di suatu tempat. โAnda tidak dapat membuat keputusan hanya berdasarkan informasi lokal,โ kata Sanjeev Khanna, seorang ilmuwan komputer di University of Pennsylvania. โAnda mungkin harus melakukan beberapa gerakan yang tampaknya kurang optimal untuk akhirnya mendapatkan hadiah yang nyata.โ
Selama beberapa dekade, ilmuwan komputer yang mengerjakan grafik berbobot negatif mencoba mencocokkan kecepatan algoritme Dijkstra dengan algoritme โkombinatorialโ serupa. Ini melibatkan operasi diskrit โ seperti menghitung kemungkinan, memodifikasi bobot, dan menghapus tepi secara selektif โ yang mencerminkan struktur diskrit dari grafik yang mendasarinya. Namun, kemajuan melambat pada 1990-an. Baru-baru ini, para peneliti telah menggunakan algoritma โpengoptimalan berkelanjutanโ, yang meminjam trik dari kalkulus. Sayangnya, percepatan yang dihasilkan terbatas, dan sering kali mengorbankan kesederhanaan.
Putuskan Siklusnya
Pada musim panas 2021, dua ilmuwan komputer yang menjadi kolega di Universitas Kopenhagen โ Danupon Nanongkai dan Christian Wulf-Nilsen โ sedang mencari topik untuk proyek penelitian bersama. โChristian berkata, 'Oh, omong-omong, saya sedang berlibur, dan karena itu saya mencoba memikirkan sesuatu yang sangat ambisius,'โ kenang Nanongkai, yang sekarang bekerja di Max Planck Institute for Informatics di Saarbrucken, Jerman. Mereka menyelesaikan masalah jalur terpendek berbobot negatif dan mengundang Harun Bernstein Universitas Rutgers untuk bergabung dengan mereka.
Ketiga peneliti adalah ahli dalam algoritma grafik kombinatorial untuk masalah lain, dan mereka ingin melihat sejauh mana pendekatan yang relatif kuno ini dapat membantu mereka. โSebenarnya ada kebebasan tertentu dalam mengerjakan masalah yang ambisius dan sudah terbuka sejak lama,โ kata Bernstein.
Ketiganya memulai dengan mengabaikan sementara subset dari grafik yang mungkin: grafik yang berisi siklus negatif. Ini adalah jalur yang berputar kembali ke tempat mereka memulai setelah melewati serangkaian tepi yang bobotnya berjumlah negatif. Dalam grafik dengan siklus negatif yang dapat dicapai dari titik awal, gagasan tentang jalur terpendek akan rusak, karena Anda dapat membuat jarak ke simpul mana pun sebagai negatif (atau menguntungkan) sesuka Anda, dengan mengambil putaran berulang di sekitar siklus negatif sebelumnya. berangkat ke tujuan Anda.
Para peneliti menduga bahwa jalur negatif yang panjang terutama bertanggung jawab untuk mempersulit masalah. Jadi mereka mulai fokus pada kelompok ketat dari node terdekat, yang tidak dapat berisi jalur negatif yang panjang: Itu karena jika dua titik dihubungkan dengan jalur positif pendek, menambahkan jalur negatif yang panjang di antara keduanya akan menciptakan siklus negatif. Dalam kelompok yang ketat, "fakta bahwa setiap orang berdekatan dalam arti positif sebenarnya memberi Anda informasi berguna tentang sisi negatifnya juga," kata Bernstein. "Ini memberi tahu Anda bahwa hal-hal tidak boleh terlalu negatif."
Sebagian besar grafik berisi banyak kluster yang erat yang hanya terhubung dengan lemah satu sama lain. Jika para peneliti dapat menunjukkan dengan tepat semua kluster, mereka menduga mereka dapat mengembangkan cara untuk menemukan jalur terpendek dengan cepat di dalam masing-masing kluster. Dari sana, mereka mungkin lebih mudah menghubungkan cluster individu dan menemukan jalur terpendek pada grafik asli. Tapi itu akan membutuhkan cepat menemukan daerah dari setiap grafik di mana node berdekatan โ sesuatu yang mereka tidak tahu bagaimana melakukannya. Kuncinya ternyata adalah teknik yang berasal dari cabang teori graf yang sama sekali berbeda.
Memotong Grafik
Pada 1980-an, ilmuwan komputer mengembangkan teknik yang disebut dekomposisi berdiameter rendah untuk memilih kelompok yang rapat dalam grafik dan mengidentifikasi tepi yang akan dihapus untuk memisahkan kelompok tersebut. Teknik ini menyediakan cara untuk membagi grafik menjadi beberapa bagian independen. Itu diciptakan untuk memfasilitasi algoritma "terdistribusi", di mana perhitungan berjalan secara paralel pada bagian grafik yang berbeda, jadi itu kurang berguna untuk algoritma jalur terpendek, yang tidak memiliki properti ini.
Bernstein, Nanongkai, dan Wulff-Nilsen menyadari bahwa dekomposisi berdiameter rendah dapat membantu mereka mengidentifikasi gugus tanpa banyak hal negatif yang terkonsentrasi. Sayangnya, algoritme dekomposisi berdiameter rendah standar hanya bekerja pada graf tak berarah โ graf yang setiap tepinya dapat dilintasi di kedua arah. Masalah jalur terpendek berbobot negatif, sementara itu, hanya masuk akal pada grafik berarah, di mana setiap sisi adalah jalan satu arah. (Jika tidak, satu tepi negatif tidak terarah akan menciptakan siklus negatif yang terdiri dari lompatan berulang-ulang melintasi tepi itu.) Jika para peneliti ingin menggunakan dekomposisi berdiameter rendah, mereka harus mengadaptasinya.
Itulah yang mereka lakukan di koran baru mereka. Terinspirasi oleh pekerjaan masa lalu di mana Bernstein dan Wulff-Nilsen telah berkolaborasi dengan Probst Gutenberg, mereka mengembangkan prosedur rekahan untuk grafik terarah yang analog dengan dekomposisi berdiameter rendah. Prosedur memotong grafik yang diarahkan secara sewenang-wenang menjadi serangkaian kelompok yang terjalin erat dengan menggunakan proses acak untuk menghapus hanya segelintir tepi. Setelah itu, cluster-cluster tersebut dihubungkan oleh jaringan yang lebih jarang di mana semua ujungnya mengarah ke arah yang sama. Jaringan semacam itu disebut grafik asiklik terarah, atau DAG.
Pikirkan DAG seperti aliran di mana air dapat mengalir ke jalur yang berbeda: Beberapa jalur mengalir dari sumber yang berbeda, yang lain menyebar ke arah yang berbeda, dan yang lainnya mungkin terpisah dan bergabung kembali. Tapi tidak ada yang mengalir mundur, jadi tidak ada siklus; ini membuat DAG lebih mudah untuk digunakan.
Para peneliti telah lama mengetahui cara cepat menemukan jalur terpendek pada DAG bahkan dengan bobot negatif. Jadi teknik rekahan memungkinkan ketiga peneliti untuk mengurangi grafik terarah apa pun menjadi kombinasi dua kasus khusus โ DAG dan kluster ketat โ yang masing-masing mudah ditangani.
Algoritme jalur terpendek yang baru berulang kali menggunakan prosedur rekahan untuk memecah grafik menjadi kluster yang erat yang dihubungkan oleh DAG. Itu kemudian memecah kelompok-kelompok itu semakin jauh. Di akhir proses, cluster-cluster di level terdalam terhubung sedekat mungkin. Salah satu alasan mengapa algoritme ini sangat cepat adalah karena tidak perlu banyak iterasi untuk benar-benar memecah bahkan grafik yang sangat besar, sama seperti tidak butuh waktu lama untuk memotong angka besar ke ukuran yang wajar jika Anda berulang kali membagi itu menjadi dua.
Dengan grafik yang sepenuhnya dipecah dengan cara ini, para peneliti dapat dengan cepat menemukan jalur terpendek melalui setiap bagian grafik. Untuk klaster ketat di tingkat paling dalam dari struktur grafik bersarang, ini mudah โ mereka praktis tidak memiliki sisa negatif. Dan para peneliti sudah mengetahui cara menemukan jalur terpendek di bagian DAG yang bergabung dengan mereka.
Terakhir, algoritme menambahkan kembali tepi yang dihilangkan oleh proses rekahan dan menghitung efeknya pada jalur terpendek. Para peneliti membuktikan bahwa proses mereka untuk menghapus tepi secara acak hampir selalu membutuhkan hanya beberapa penghapusan untuk menghilangkan tepi "mundur" โ jenis yang akan mengubah DAG mereka menjadi grafik dengan siklus besar. Itu membuat sangat tidak mungkin bahwa jalur terpendek akan melewati terlalu banyak segmen mundur seperti itu, sehingga mereka dapat menyelesaikan langkah terakhir yang rumit ini dengan menggabungkan dua metode buku teks dari tahun 1950-an: algoritme Dijkstra dan algoritme pertama yang dikembangkan untuk grafik berbobot negatif.
โIni komposisi yang sangat cerdas dari ide-ide ini,โ kata Khanna. Algoritme ini adalah yang pertama untuk grafik berbobot negatif yang berjalan dalam waktu "hampir linier" โ yang berarti waktu prosesnya hampir sebanding dengan waktu yang diperlukan hanya untuk menghitung semua sisi, yang paling cepat.
Dan bagaimana dengan grafik dengan siklus negatif, yang para peneliti putuskan untuk diabaikan di awal? Setelah memberikan sentuhan akhir pada algoritme jalur terpendek mereka, mereka menunjukkan bahwa itu juga dapat berfungsi sebagai algoritme cepat untuk menentukan siklus negatif. Hampir tidak ada grafik yang berada di luar jangkauannya.
Jalur Paralel
Bernstein mempresentasikan hasil tim pada konferensi Foundations of Computer Science 2022, di mana manuskrip mereka yang menjelaskan algoritme baru dianggap sebagai salah satu dari dua makalah terbaik. Itu kertas lain juga terjadi untuk menggambarkan algoritma waktu dekat-linier baru untuk memecahkan masalah lama dalam teori grafik.
Algoritme tersebut, yang dikembangkan oleh Probst Gutenberg dan lima peneliti lainnya, membahas masalah yang lebih umum yang disebut arus biaya minimum, di mana tujuannya adalah untuk mengoptimalkan transportasi melalui banyak jalur secara paralel, dan setiap sisi memiliki kapasitas maksimum serta biaya terkait. . Masalah jalur terpendek adalah kasus khusus aliran biaya minimum, sehingga algoritma aliran biaya minimum yang baru juga dapat digunakan untuk menyelesaikan masalah jalur terpendek berbobot negatif dalam waktu hampir linier, meskipun dengan pendekatan yang sangat berbeda.
Tim yang bekerja pada aliran biaya minimum mengembangkan algoritme cepat tujuan umum mereka menggunakan sintesis rumit dari teknik pengoptimalan kombinatorial dan berkelanjutan yang membuatnya sulit digunakan dalam praktik, setidaknya saat ini. Algoritme kombinatorial oleh Bernstein dan rekan-rekannya, meskipun terbatas pada masalah yang lebih spesifik, mencapai runtime hampir linier tanpa mengorbankan kesederhanaan.
โInilah yang sangat mencengangkan tentang makalah ini,โ kata Probst Gutenberg. โAnda dapat menjelaskannya kepada mahasiswa sarjana, dan Anda juga dapat menerapkannya di komputer Anda.โ
Hasilnya, algoritme baru ini menghidupkan kembali minat pada pendekatan kombinatorial untuk masalah lain dalam teori graf. Masih harus dilihat masalah mana yang dapat diselesaikan dengan cepat menggunakan algoritma kombinatorial murni, dan mana yang benar-benar membutuhkan teknik berkelanjutan yang dikembangkan dalam 20 tahun terakhir.
โIni adalah pertanyaan filosofis yang saya coba pahami,โ kata Nanongkai. โMasalah jalur terpendek ini memberikan sedikit harapan.โ
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- Platoblockchain. Intelijen Metaverse Web3. Pengetahuan Diperkuat. Akses Di Sini.
- Sumber: https://www.quantamagazine.org/finally-a-fast-algorithm-for-shortest-paths-on-negative-graphs-20230118/
- 20 tahun
- 2021
- 2022
- a
- Tentang Kami
- Menurut
- Akun
- dicapai
- di seluruh
- sebenarnya
- asiklik
- menyesuaikan
- Menambahkan
- Setelah
- terhadap
- algoritma
- algoritma
- Semua
- sudah
- selalu
- ambisius
- Kuno
- dan
- Lain
- selain
- pendekatan
- pendekatan
- sekitar
- terkait
- kembali
- Saldo
- berdasarkan
- karena
- menjadi
- sebelum
- mulai
- Percaya
- Bernstein
- TERBAIK
- antara
- Luar
- Besar
- meminjam
- Cabang
- Istirahat
- istirahat
- Rusak
- menghitung
- bernama
- Kapasitas
- kasus
- kasus
- tertentu
- CIS
- Penyelesaian
- rapat
- Kelompok
- berkolaborasi
- rekan
- kombinasi
- menggabungkan
- bagaimana
- perhitungan
- komputer
- Komputer Ilmu
- Pekat
- Konferensi
- terhubung
- Menghubungkan
- Mempertimbangkan
- Terdiri dari
- kontinu
- Biaya
- bisa
- membuat
- terbaru
- Sekarang
- Memotong
- siklus
- DAG
- dekade
- memutuskan
- keputusan
- pengiriman
- menggambarkan
- tujuan
- ditentukan
- mengembangkan
- dikembangkan
- MELAKUKAN
- perbedaan
- berbeda
- sulit
- langsung
- arah
- ditemukan
- jarak
- Tidak
- Dont
- turun
- pengemudi
- Dutch
- setiap
- mendapatkan
- mudah
- termudah
- Tepi
- efek
- menghapuskan
- dieliminasi
- diaktifkan
- sepenuhnya
- dasarnya
- memperkirakan
- perkiraan
- Bahkan
- pERNAH
- semua orang
- ada
- ada
- ahli
- Menjelaskan
- Menjelajahi
- sangat
- memudahkan
- kipas
- FAST
- tercepat
- Federal
- beberapa
- terakhir
- Akhirnya
- Menemukan
- temuan
- menemukan
- Pertama
- pertama kali
- aliran
- Mengalir
- Fokus
- ditemukan
- Foundations
- Kebebasan
- dari
- sepenuhnya
- lebih lanjut
- GAS
- Umum
- tujuan umum
- Jerman
- mendapatkan
- diberikan
- memberikan
- Go
- tujuan
- grafik
- grafik
- Serakah
- terjamin
- Gutenberg
- Setengah
- segenggam
- menangani
- terjadi
- Kepala
- membantu
- lebih tinggi
- berharap
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTML
- HTTPS
- ide-ide
- mengenali
- melaksanakan
- in
- Pendapatan
- independen
- sendiri-sendiri
- informasi
- terinspirasi
- contoh
- Lembaga
- bunga
- Jadian
- melibatkan
- IT
- iterasi
- ikut
- bergabung
- kunci
- Jenis
- Tahu
- dikenal
- besar
- lebih besar
- Tingkat
- Hidup
- Terbatas
- batas
- link
- lokal
- Panjang
- lama
- lama berdiri
- lagi
- melihat
- terbuat
- membuat
- MEMBUAT
- Membuat
- cara
- banyak
- peta
- Cocok
- matematis
- max
- maksimum
- cara
- Sementara itu
- Bergabung
- metode
- mungkin
- modern
- uang
- lebih
- bergerak
- bergerak
- hampir
- negatif
- tetangga
- Nets
- jaringan
- New
- berikutnya
- simpul
- node
- Gagasan
- jumlah
- nomor
- mengimbangi
- ONE
- Buka
- Operasi
- optimasi
- Optimize
- asli
- berasal
- Lainnya
- Lainnya
- jika tidak
- paket
- pasangan
- kertas
- dokumen
- Paralel
- bagian
- bagian
- Lewat
- lalu
- path
- Pennsylvania
- memilih
- plato
- Kecerdasan Data Plato
- Data Plato
- Titik
- poin
- positif
- kemungkinan
- mungkin
- praktis
- praktek
- disajikan
- Masalah
- masalah
- proses
- Keuntungan
- menguntungkan
- Kemajuan
- proyek
- milik
- terbukti
- menyediakan
- murni
- Puting
- Majalah kuantitas
- pertanyaan
- segera
- sama sekali
- acak
- cepat
- mencapai
- nyata
- menyadari
- alasan
- masuk akal
- baru-baru ini
- menurunkan
- mencerminkan
- daerah
- relatif
- tetap
- sisa
- ulang
- BERKALI-KALI
- mewakili
- diwakili
- merupakan
- membutuhkan
- wajib
- penelitian
- peneliti
- tanggung jawab
- terbatas
- mengakibatkan
- dihasilkan
- Pahala
- jalan
- Rute
- Run
- berjalan
- Rutgers University
- berkorban
- Tersebut
- sama
- Ilmu
- ilmuwan
- ilmuwan
- mencari
- bagian
- ruas
- segmen
- rasa
- Seri
- Lunas
- beberapa
- Pendek
- mirip
- Sederhana
- kesederhanaan
- sejak
- tunggal
- Ukuran
- kecil
- So
- MEMECAHKAN
- Memecahkan
- beberapa
- Seseorang
- sesuatu
- di suatu tempat
- mutakhir
- sumber
- sumber
- khusus
- tertentu
- kecepatan
- MENGEJA
- membagi
- standar
- awal
- mulai
- Mulai
- Langkah
- Masih
- Cerita
- Penyelarasan
- aliran
- jalan
- struktur
- mahasiswa
- seperti itu
- musim panas
- Swiss
- Mengambil
- Dibutuhkan
- pengambilan
- tim
- teknik
- Teknologi
- mengatakan
- buku pelajaran
- Grafik
- Grafik
- Sumber
- mereka
- hal
- tiga
- Melalui
- waktu
- untuk
- bersama
- terlalu
- tema
- sentuhan
- mengangkut
- Perjalanan
- kesulitan
- benar
- MENGHIDUPKAN
- Berbalik
- pokok
- memahami
- universitas
- memperbarui
- menggunakan
- liburan
- sebenarnya
- ingin
- air
- webp
- berat
- Apa
- apakah
- yang
- SIAPA
- dalam
- tanpa
- Kerja
- kerja
- bekerja
- akan
- tahun
- Kamu
- Anda
- zephyrnet.dll
- Zurich