Tampaknya masalah Anda ada di . Berikut ini adalah algoritma.NL
Pertama, secara nondeterministis menebak jalur dari ke . Jika Anda salah menebak, tolak . Sebut algoritma ini .t AstA
Pertimbangkan algoritma nondeterministic berikut , yang menentukan apakah setidaknya ada dua jalur. Diberikan grafik dan , untuk semua pasangan tepi yang berbeda , tebak jalur dari ke yang mencakup tetapi bukan , lalu tebak jalur dari ke yang mencakup tetapi tidak . Jika tebakannya benar, terima . Jika tidak ada penerimaan untuk semua pilihan dan , tolak . Catatan dapat diterapkan di ruang log nondeterministic.s , t e , f s t e f s t f e e f BBs,te,fstefstfeefB
Sekarang, himpunan adalah himpunan grafik - dengan setidaknya dua jalur dari ke . Karena , komplemen juga dalam , yaitu, kita dapat menentukan apakah dan memiliki kurang dari dua jalur, dalam ruang log nondeterministic.s t s t N L = c o N L B N L s tL(B)ststNL=coNLBNLst
Algoritma terakhir adalah: "Jalankan Jika menerima, maka jalankan pelengkap dan output jawabannya."A BAAB
Saya tidak tahu referensi.
PEMBARUAN: Jika Anda benar-benar menginginkan referensi, lihat paragraf pertama Bagian 3 dari makalah ini . Tapi ini mungkin hanya satu dari banyak referensi yang mengutip konsekuensi ini. Akan lebih masuk akal untuk menyebut hasilnya "cerita rakyat" daripada mengutip makalah yang menyebutkannya.
UPDATE 2: Anggaplah Anda ingin menentukan apakah ada jalur sederhana yang unik. Dalam hal ini, algoritma tidak harus berubah: jika ada jalur sama sekali maka ada jalur sederhana. Saya percaya modifikasi berikut akan bekerja untuk algoritma .BAB
Kami ingin menulis ulang algoritme sehingga menerima jika ada setidaknya dua jalur sederhana.B
Pertama-tama pertimbangkan algoritma waktu polinomial berikut untuk masalahnya. Temukan jalur terpendek dari ke . Untuk setiap tepi dalam , periksa apakah ada jalur - yang tidak melalui . Jika Anda menemukan jalan seperti itu maka terima . Jika Anda tidak pernah menemukan jalan lain, tolak . Karena paling pendek, ia tidak memiliki siklus, dan jika ada jalur lain yang tidak menggunakan tepi , maka ada jalur lain yang sederhana dan tidak menggunakan tepis t e P s t e P P PPstePstePPP. (Algoritma ini digunakan untuk masalah "jalur terpendek kedua").
Kami akan mengimplementasikan algoritma ini dalam . Jika kami memiliki algoritme untuk menanyakan tepi dalam jalur tetap , kami dapat mengimplementasikan hal tersebut di dalam nondeterministic logspace: iterasi melalui semua tepi dalam , tebak - path dan periksa bahwa untuk setiap tepi yang dikunjungi sepanjang jalan , tidak satupun dari mereka yang sama dengan .N L e P e P s t eNLNLePePste
Jadi yang kita butuhkan adalah "jalur oracle", sebuah algoritma dengan properti: diberikan , dalam setiap jalur perhitungan algoritma baik melaporkan tepi ke- pada jalur - tetap tertentu , atau menolak . Kita bisa mendapatkan jalur oracle dengan menggunakan untuk mengisolasi jalur leksikografis pertama.i = 1 , … , n i s t N L = c o N LNLi=1,…,nistNL=coNL
Berikut ini adalah sketsa jalur oracle.
Temukan , panjang jalur terpendek dari ke , dengan mencoba semua dan menggunakan .s t k = 1 , … , n N L = c o N Lkstk=1,…,nNL=coNL
Setel variabel , , .x : = 1 j : = ku:=sx:=1j:=k
Untuk semua tetangga dari agar leksikografis,uvu
Tentukan apakah ada jalur dari ke dengan panjang (menggunakan hasil ). Lebih tepatnya, jalankan algoritma nondeterministic untuk konektivitas - (dengan panjang ) dan algoritma untuk komplemennya, secara bersamaan. Ketika salah satu dari mereka menerima, lanjutkan dengan jawabannya (itu pasti benar; keduanya tidak dapat menerima). Jika keduanya menolak maka tolak .t j - 1 N L = c o N L s t j - 1vtj−1NL=coNLstj−1
Jika tidak ada jalan, lanjutkan ke tetangga berikutnya. Jika Anda sudah kehabisan semua tetangga maka tolak .
Jika ada jalur, maka jika , output sebagai tepi ke- di jalur dari ke . Jika tidak, tambahkan , turunkan , atur , dan mulai for-loop lagi jika .( u , v ) i s t x j u : = v v ≠ tx=i(u,v)istxju:=vv≠t
Jika setelah mencapai output bad (yang diberikan terlalu besar).t i ix<itii
Diberikan , algoritma ini menghasilkan tepi ke- pada jalur pendek tersingkat secara leksikografis dari ke , atau menolak.i P s tiiPst