Terkecil Kedua -

13

Apakah ada yang diketahui tentang - t terkecil - terpotong dalam aliran jaringan? Atau, lebih umum, tentang masalah ini:st

Input: Jaringan dan angka k , semuanya dalam biner. Output: Sebuah k th terkecil s - t cut.Nk
kst

Sebuah th terkecil s - t cut ( S , T ) adalah setiap s - t dipotong, sehingga ada persis k - 1 s - t luka yang kapasitaskst(S,T)stk1 st

  • berbeda berpasangan dan
  • benar-benar lebih kecil dari kapasitas .(S,T)

Saya ingin tahu bagaimana hal itu dapat dihitung dan apakah ini dapat dilakukan secara efisien untuk kasus .k=1

Oliver Witt
sumber
Anda dapat menemukan potongan terkecil kedua dengan menambahkan bobot ke semua tepi dalam potongan terkecil dan kemudian menghitung potongan terkecil yang baru. Ini mungkin bekerja selama k dikodekan dalam unary (dan tentunya untuk konstanta k ). ϵkk
Yuval Filmus
2
Saya tidak melihat bagaimana itu membantu. Bayangkan sebuah jaringan jalur yang terdiri dari tiga node , v , t hanya dengan dua sisi ( s , v ) dan ( v , t ) . Selanjutnya, biarkan kapasitas menjadi c ( s , v ) = 1 dan c ( v , t ) = 2 . Jelas, potongan min-cut ( s , v ) dan potongan terkecil terkecil ( v ,svt(s,v)(v,t)c(s,v)=1c(v,t)=2(s,v) . Meningkatkan kapasitas seperti yang Anda gambarkan lagi akan menghasilkan ( s(v,t) sebagai min-cut dengan kapasitas 1 + ϵ . Bagaimana saya menyimpulkan potongan terkecil kedua dari itu? (s,v)1+ϵ
Oliver Witt
Menambahkan batas bawah pada tutup potongan adalah ketidaksamaan linier, cukup tambahkan satu epsilon lebih besar dari tutup min dan jalankan LP. Anda dapat mengulanginya k kali untuk mendapatkan apa yang Anda inginkan. Ini mungkin dapat disusun kembali sebagai modifikasi pada jaringan tetapi saya belum berhasil.
Kaveh
Saya melihat cara kerjanya jika dalam pengkodean unary. Apa, jika itu biner? Dalam hal ini, modifikasi jaringan tidak dapat dilakukan dalam k iterasi.kk
Oliver Witt
1
Saya ragu ada solusi mudah jika k adalah biner. Kita dapat memeriksa apakah ada potongan c seperti yang saya jelaskan. Tampaknya bagi saya bahwa pada dasarnya menghitung jumlah kemungkinan c, mungkin disediakan untuk berhubungan dengan menghitung jumlah kecocokan dan mungkin # P-lengkap. (Ini hanya intuisi saya, bukan argumen.)
Kaveh

Jawaban:

7

Pemotongan terkecil kedua, dan lebih umum pemangkasan terkecil, dapat ditemukan dalam polinomial waktu dalam k dan ukuran jaringan. Lihat:kk

HW Hamacher. Sebuah algoritma untuk menemukan k potongan terbaik dalam jaringan. Oper. Res. Lett. 1 (5): 186–189, 1982, doi: 10.1016 / 0167-6377 (82) 90037-2 .(Kn4)k

HW Hamacher, J.-C. Picard, dan M. Queyranne. Pada menemukan pemotongan terbaik dalam jaringan. Oper. Res. Lett. 2 (6): 303–305, 1984, doi: 10.1016 / 0167-6377 (84) 90083-X .K

HW Hamacher dan M. Queyranne. K solusi terbaik untuk masalah optimisasi kombinatorial. Ann. Oper. Res. 4 (1-4): 123–143, 1985, doi: 10.1007 / BF02022039 .

David Eppstein
sumber
Tidakkah ini memungkinkan bobot yang sama di antara top ? Pertanyaannya tampaknya bertanya tentang berat k- th terkecil , yang seperti yang disarankan Kaveh berbau lebih seperti masalah # P-complete. kk
András Salamon
Saya mengerti seperti itu juga: bobot yang sama diizinkan. Ini sepertinya tidak menjawab pertanyaan. Namun demikian, saya tidak mengetahui makalah ini, terima kasih untuk itu.
Oliver Witt
1
Pertanyaannya adalah worded bad, karena ia meminta satu hal ( potongan terkecil ) dan kemudian menambahkan batasan yang mengubah pertanyaan menjadi sesuatu yang lain ( bobot terkecil k terkecil). Saya setuju bahwa versi bobot masalah yang berbeda cenderung $ P-complete. kk
David Eppstein