Menemukan potongan minimum grafik yang tidak diarahkan

25

Ini pertanyaan dari ujian sebelumnya yang saya coba selesaikan:

Untuk grafik tidak terarah dengan bobot positif w ( e ) 0 , saya mencoba mencari potongan minimum. Saya tidak tahu cara lain untuk melakukan itu selain menggunakan teorema min-cut max-flow. Tetapi grafik tidak diarahkan, jadi bagaimana saya harus mengarahkannya? Saya berpikir untuk mengarahkan ujung pada kedua ujungnya, tetapi kemudian simpul mana yang akan menjadi sumber dan simpul mana yang akan menjadi wastafel? Atau adakah cara lain untuk menemukan potongan minimum?Gw(e)0

Jozef
sumber
1
Jika Anda tidak memiliki sumber dan target di grafik asli, saya kira Anda harus mencoba beberapa pilihan. (Untuk setiap angka dan t , potongan minimal mungkin tidak memisahkan keduanya.)st
Raphael
Apakah Anda mencoba menemukan min-cut untuk node source dan sink yang diberikan atau min-cut grafik?
Peter
@ Peter: Potongan minimum grafik.
Jozef

Jawaban:

13

Ada banyak algoritme untuk menemukan potongan minimum dari grafik yang tidak diarahkan. Algoritma Karger adalah algoritma acak sederhana namun efektif.

Singkatnya, algoritma ini bekerja dengan memilih tepi secara acak dan mengontraknya dengan loop otomatis dihilangkan. Proses berhenti ketika ada dua node yang tersisa, dan dua node tersebut mewakili potongan. Untuk meningkatkan probabilitas keberhasilan, algoritma acak dijalankan beberapa kali. Saat melakukan lari, orang melacak jejak terkecil yang ditemukan sejauh ini.

Lihat entri Wikipedia untuk detail lebih lanjut. Untuk pengenalan yang lebih baik, lihat bab pertama Probabilitas dan Komputasi: Algoritma Acak dan Analisis Probabilistik oleh Michael Mitzenmacher dan Eli Upfal.

Juho
sumber
Apakah ini algoritma perkiraan?
Strin
@ Strin Ini adalah algoritma acak yang menemukan potongan minimum dengan probabilitas tinggi.
Juho
1
Saya tidak berpikir Karger's cocok untuk menemukan potongan berat minimum. Derivasi dari probabilitas bahwa ia menemukan potongan minimum tergantung pada itu menemukan pemotongan kardinalitas minimum; Karger's sangat tidak mungkin menemukan potongan minimum dengan banyak ujung yang ringan.
Sumudu Fernando
8

(u,v,weight)(u,v,weight)(v,u,weight) .

... tapi kemudian simpul mana yang akan menjadi sumber dan simpul mana yang akan menjadi wastafel?

Tidak masalah.

Pratik Deoghare
sumber
1
Mengapa ini tidak penting?
The Coding Wombat
1

Ford-FulkersonAlgoritma harusnya cocok untuk Anda. Anda dapat membuat dua simpul palsu yaitu. sumber dan wastafel.

Lihat juga algoritma Edmonds-Karp . Ada dua variasi:

  1. Satu versi memilih jalur terpendek
  2. Lainnya memilih jalur dengan kapasitas maksimum

, sebagai lawan dari Ford-Fulkerson yang mengambil jalan sewenang-wenang.

Ini sumber yang bagus.

ajmartin
sumber
Selamat datang di cs.stackexchange! Ini dapat membantu OP jika Anda bisa menjelaskan lebih lanjut bagaimana simpul palsu terhubung ke grafik yang ada. Dan apa yang akan menjadi bobot tepi dari tepi yang baru.
Paresh