Misalkan menjadi grafik dengan fungsi bobot . Masalah max-cut adalah menemukan:
Jika fungsi bobot adalah non-negatif (yaitu w (e) \ geq 0 untuk semua e \ di E ), maka ada banyak pendekatan 2-sangat sederhana untuk max-cut. Sebagai contoh, kita dapat:G = ( V , E , w )
- Memilih subset acak simpul S
S . - Pilih pemesanan pada simpul, dan dengan rakus letakkan setiap simpul v
v di SS atau ˉ SS¯ untuk memaksimalkan tepian yang terpotong sejauh ini - Buat peningkatan lokal: Jika ada titik di S
S yang dapat dipindahkan ke ˉ SS¯ untuk meningkatkan potongan (atau sebaliknya), lakukan langkah.
Analisis standar semua algoritma ini sebenarnya menunjukkan bahwa potongan yang dihasilkan setidaknya sama besar dengan 12 ∑e∈Ew(e)
Misalnya, algoritme 1 (pilih bagian acak dari simpul) jelas dapat gagal pada grafik dengan bobot tepi negatif.
Pertanyaanku adalah:
Apakah ada algoritma kombinatorial sederhana yang mendapat perkiraan O (1) untuk masalah max-cut pada grafik yang dapat memiliki bobot tepi negatif?
Untuk menghindari masalah lengket dari nilai pengambilan maks-cut 0
Jawaban:
Ini adalah usaha pertamaku untuk berdebat. Itu salah, tapi saya memperbaikinya setelah "EDIT:"
Jika Anda dapat dengan efisien memecahkan masalah max-cut dengan bobot edge negatif, tidak bisakah Anda menggunakannya untuk menyelesaikan masalah max-cut dengan bobot edge positif? Mulailah dengan masalah max-cut yang ingin Anda selesaikan, yang solusi optimalnya adalah . Sekarang, beri tepi bobot negatif yang besar (dengan bobot ) antara dan . Solusi optimal dari masalah baru adalah , jadi algoritma perkiraan hipotetis kami akan memberi Anda solusi dengan potongan maksimum yang nilainya paling banyak lebih buruk daripada optimal. Pada grafik asli, potongan maksimum masih paling banyak lebih buruk daripada optimal. Jika Anda memilih dekat denganb - a u v b - a ( b - a ) / 2 ( b - a ) / 2 a b ≠ 16 / 17b −a u v b−a (b−a)/2 (b−a)/2 a b , ini melanggar hasil yang tidak dapat diperkirakan bahwa jika P NP, Anda tidak dapat memperkirakan jumlah maksimum yang lebih baik dari faktor . ≠ 16/17
EDIT:
Algoritme di atas tidak berfungsi karena Anda tidak dapat menjamin bahwa dan berada di sisi berlawanan dari pemotongan pada grafik baru, bahkan jika mereka awalnya. Saya dapat memperbaikinya sebagai berikut.kamu vu v
Mari kita asumsikan bahwa kita memiliki algoritma aproksimasi yang akan memberi kita potongan dalam faktor 2 dari OPT selama jumlah dari semua bobot tepi positif.
Seperti di atas, mulailah dengan grafik dengan semua bobot non-negatif di tepinya. Kami akan menemukan grafik yang dimodifikasi dengan beberapa bobot negatif sehingga jika kami dapat memperkirakan pemotongan maksimum dalam faktor 2, kami dapat memperkirakan pemotongan maksimum sangat baik.G G ∗ G ∗ GG G∗ G∗ G
Pilih dua simpul dan , dan berharap mereka berada di sisi berlawanan dari pemotongan maksimum. (Anda dapat mengulangi ini untuk semua kemungkinan untuk memastikan bahwa satu percobaan berhasil.) Sekarang, beri bobot negatif besar pada semua tepian dan untuk , dan a besar berat badan positif di tepi . Asumsikan bahwa potongan optimal memiliki berat .u v v - d ( u , x ) ( v , x ) x ≠ u , v a ( u , v ) O P Tu v v −d (u,x) (v,x) x≠u,v a (u,v) OPT
Potongan dengan nilai dalam , di mana simpul dan berada di sisi yang sama dari potongan, sekarang memiliki nilai pada mana adalah jumlah simpul di sisi lain dari potongan. Potongan dengan di sisi yang berlawanan dengan nilai asli sekarang memiliki nilai . Jadi, jika kita memilih cukup besar, kita dapat memaksa semua potongan dengan dan di sisi yang sama memiliki nilai negatif, jadi jika ada potongan dengan nilai positif, maka potongan optimal akan memiliki danc G u v c - 2 d m m ( u , v ) c c + a - ( n - 2 ) d d u v G ∗ u v ( a - ( n - 2 ) d ) u vc G u v c−2dm m (u,v) c c+a−(n−2)d d u v G∗ u v di sisi yang berlawanan. Perhatikan bahwa kami menambahkan bobot tetap untuk setiap potongan dengan dan di sisi yang berlawanan.(a−(n−2)d) u v
Biarkan . Pilih sehingga (kami akan membenarkan ini nanti). Potongan dengan berat dalam memiliki dan di sisi yang berlawanan sekarang menjadi potongan dengan berat . Ini berarti potongan optimal dalam memiliki berat . Algoritma baru kami menemukan potongan dengan berat setidaknya . Ini berarti potongan dalam grafik dengan berat setidaknya (karena semua potongan dengan bobot positif terpisahf = ( a - ( n - 2 ) d ) a f ≈ - 0,98 O P T c G u v c - 0,98 O P T G ∗ 0,02 O P T G ∗ 0,01 O P T G ∗ 0,01 O P T G 0,99 O P T G ∗ uf=(a−(n−2)d) a f≈−0.98OPT c G u v c−0.98OPT G∗ 0.02OPT G∗ 0.01OPT G 0.99OPT G∗ u dan ), yang lebih baik daripada hasil yang tidak dapat diperkirakan.vv
Tidak ada masalah dengan memilih cukup besar untuk membuat potongan dengan dan pada sisi yang sama negatif, karena kita dapat memilih sebesar yang kita inginkan. Tapi bagaimana kita memilih sehingga ketika kita tidak tahu ? Kita bisa mendekati benar-benar baik ... jika kita membiarkan adalah jumlah dari bobot tepi dalam , kita tahu . Jadi kita memiliki kisaran yang cukup sempit nilai untuk , dan kita bisa iterate atas mengambil semua nilai antara dand u v d a f ≈ - .99 O P T O P T O P T T G 1d u v d a f≈−.99OPT OPT OPT T G 2 T≤OPT≤Tff-.49T-.99T0.005Tf≈-0.98OPT12T≤OPT≤T f f −.49T −.99T pada interval . Untuk salah satu interval ini, kami dijamin bahwa , dan salah satu iterasi ini dijamin akan mengembalikan potongan yang baik.0.005T f≈−0.98OPT
Akhirnya, kita perlu memeriksa bahwa grafik baru memiliki bobot tepi yang jumlahnya positif. Kami mulai dengan grafik yang bobot tepinya memiliki jumlah , dan menambahkan ke jumlah bobot tepi. Sejak , kami baik-baik saja T f - .99 T ≤ f ≤ - .49 TT f −.99T≤f≤−.49T
sumber
Dalam artikel " Perkiraan Max Cut " oleh S. Har-Peled, baris terakhir dari makalah ini menyebutkan bahwa versi max-cut yang nyata telah dibahas dalam
Ini memang merupakan algoritma SDP, dan bagi saya tampaknya rasio perkiraan adalah 0,56, meskipun saya tidak yakin apakah pengurangan yang dibahas dalam makalah ini adalah menjaga rasio. Mungkin melihat lebih dalam ke kertas akan membantu!
sumber
Masalah Anda memiliki perkiraan logaritmik dengan mereduksi menjadi masalah pemrograman kuadratik.
The MaxQP masalah adalah masalah yang mendekati bentuk kuadrat x T M x untuk n × n matriks M , di mana x berkisar lebih { ± 1 } n . MaxCut dapat ditulis dalam formulir ini dengan menetapkan M = 12 n (Σwe)I-12 A dimanaIadalah matriks identitas danAadalah matriks kedekatan. Thealgoritma MaxQP dari Charikar dan WirthmemberikanO(logn)pendekatan untuk MaxQP selamaMmemiliki diagonal non-negatif. Jadi selamaΣwe≥0, MaxCut dengan bobot negatif memiliki pendekatan logaritmik.
sumber