Jalur terpendek yang tidak mengizinkan setiap sisi

9

Saya menghargai petunjuk atau ketentuan yang dapat membantu saya memulai ke arah yang benar.

Kami memiliki grafik berarah dan panjang untuk setiap tepi yang dapat dianggap positif. Ada adalah awal simpul khusus dan akhir simpul .G=(V,E)lijijst

Untuk setiap tepi , kami ingin menghitung panjang jalur terpendek dari ke yang tidak menggunakan tepi .ijstij

Algoritma brute force sederhana adalah menjalankan algoritma jalur terpendek untuk setiap sisi, setiap kali menghilangkan sisi yang berbeda dari grafik asli. Apakah ada algoritma yang lebih efisien yang mengambil keuntungan dari kenyataan bahwa ada banyak komputasi berulang yang terjadi dalam algoritma brute force ini?

Terima kasih sebelumnya.

dan_x
sumber

Jawaban:

18

Masalah yang Anda sebutkan disebut "jalur pengganti". Berikut ini beberapa referensi:

  1. Gotthilf dan Lewenstein, Peningkatan algoritma untuk k jalur terpendek sederhana dan masalah jalur penggantian. Inf. Proc Letters, 109 (7): 352-355, 2009. Makalah ini memberikan algoritma yang paling tepat saat ini untuk masalah jalur penggantian, berjalan dalam waktu waktu dalam grafik dengan node dan ujung-ujungnya.O(mn+n2loglogn)nm
  2. A. Bernstein. Algoritma yang hampir optimal untuk memperkirakan jalur pengganti dan k jalur sederhana terpendek dalam grafik umum. Dalam Proc. SODA, halaman 742-755, 2010. Makalah ini secara menakjubkan memberikan skema perkiraan waktu quasilinear untuk masalah tersebut.
  3. J. Hershberger, S. Suri, dan A. Bhosle. Pada kesulitan beberapa masalah jalur terpendek. Dalam Proc. STACS, halaman 343–354, 2003. Makalah ini menunjukkan bahwa algoritma perbandingan jalur apa pun yang menyelesaikan masalah jalur penggantian harus menghabiskan setidaknya waktu .Ω(mn)
  4. V.Vassilevska W., R. Williams. Kesetaraan Subkubik antara Masalah Jalur, Matriks, dan Segitiga. Dalam Proc. FOCS, halaman 645-654, 2010. Kami menunjukkan bahwa jika Anda mendapatkan algoritma tepat waktu untuk jalur pengganti untuk konstanta , maka ini dapat dikonversi menjadi algoritma waktu untuk semua pasangan jalur terpendek untuk konstanta . Algoritma yang benar-benar sub-subktik untuk semua pasangan jalur terpendek adalah masalah terbuka yang sudah berlangsung lama.O(n3ε)ε>0O(n3ε)ε>0
  5. O. Weimann, R. Yuster. Jalur Pengganti melalui Penggandaan Matriks Cepat. Dalam Proc. FOCS, halaman 655-662, 2010. dan V. Vassilevska W. Jalur Penggantian Lebih Cepat. Dalam Proc. SODA, halaman 1337-1346, 2011. Makalah ini menunjukkan cara menggunakan perkalian matriks cepat untuk menemukan jalur pengganti dalam grafik dengan bobot tepi integer dalam interval . Makalah yang terakhir memberikan runtime paling terkenal sejauh ini, .{M,,M}O~(Mnω)
virgi
sumber
8

Jika Anda ingin mengaitkan ke setiap sisi panjang jalur terpendek antara dan , Anda bisa mulai dengan menghitung jalur terpendek di seluruh grafik, dan mengaitkan ke setiap tepi tidak di jalur terpendek yang Anda hitung panjangnya saat ini jalur terpendek. Setelah itu, Anda memiliki paling banyak tepi yang Anda tidak tahu jawabannya.stn1

Nathann Cohen
sumber
Terima kasih. Saya telah menerima jawaban yang lain, karena memberikan lebih banyak konteks yang saya cari, tetapi saya mungkin akan menggunakan pendekatan ini untuk implementasi pass pertama yang saya butuhkan.
dan_x