Max-cut dengan tepi berat negatif


35

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 ) G=(V,E,w)w : E Rw:ER arg max S V ( u , v ) E : u S , v S w ( u , v )

argmaxSV(u,v)E:uS,vSw(u,v)
w ( e ) 0 w(e)0e EeE
  1. Memilih subset acak simpul SS .
  2. Pilih pemesanan pada simpul, dan dengan rakus letakkan setiap simpul vv di SS atau ˉ SS¯ untuk memaksimalkan tepian yang terpotong sejauh ini
  3. Buat peningkatan lokal: Jika ada titik di SS 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 12eEw(e)12eEw(e) , yang merupakan batas atas pada 1 / 21/2 berat max-cut jika ww adalah non-negatif - tetapi jika beberapa sisi dibiarkan memiliki bobot negatif, bukan!

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 00 , saya akan mengizinkan Σ e E w ( e ) > 0eEw(e)>0 , dan / atau puas dengan algoritma yang menghasilkan kesalahan aditif kecil selain dari pendekatan faktor multiplikatif.


1
Apakah syarat "kombinasi sederhana" penting di sini?
Hsien-Chih Chang 張顯 之

Saya paling tertarik pada algoritma kombinatorial yang sederhana seperti perkiraan 2 untuk kasus bobot positif. Perhatikan bahwa saya bertanya tentang perkiraan O (1), jadi saya berharap bahwa jika algoritma apa pun dapat mencapai ini, itu harus dimungkinkan dengan yang sederhana. Tetapi saya juga akan tertarik dengan jaminan kinerja untuk algoritma SDP pada grafik dengan bobot tepi negatif, atau bukti bahwa tidak ada algoritma pendekatan faktor konstan yang ada jika . P N PPNP
Aaron Roth

Jawaban:


28

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 / 17bauvba(ba)/2(ba)/2ab, 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 vuv

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 GGGGG

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 Tuvvd(u,x)(v,x)xu,va(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 vcGuvc2dmm(u,v)cc+a(n2)dduvGuvdi sisi yang berlawanan. Perhatikan bahwa kami menambahkan bobot tetap untuk setiap potongan dengan dan di sisi yang berlawanan.(a(n2)d)uv

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(n2)d)af0.98OPTcGuvc0.98OPTG0.02OPTG0.01OPTG0.99OPTGu 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 1duvdaf.99OPTOPTOPTTG2 TOPTTff-.49T-.99T0.005Tf-0.98OPT12TOPTTff.49T.99Tpada interval . Untuk salah satu interval ini, kami dijamin bahwa , dan salah satu iterasi ini dijamin akan mengembalikan potongan yang baik.0.005Tf0.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 TTf.99Tf.49T


1
Tapi apa yang Anda dan ? The formulasi biasa masalah max-potong tidak memiliki "node khusus" yang perlu dipisahkan. kamu vuv
Jukka Suomela

3
Hai Ian - Saya pikir itu tidak berhasil. Mengapa harus ada dan yang dipisahkan oleh max-cut dalam grafik asli, dan tetap dipisahkan oleh max-cut setelah tepi negatif yang berat ditambahkan di antara mereka? Perhatikan misalnya grafik lengkap - menambahkan satu sisi, tepi negatif semaunya saja di mana saja tidak mengubah nilai pemotongan sama sekali. kamu vuv
Aaron Roth

2
Satu masalah adalah bahwa jika Anda menambahkan tepi negatif antara setiap pasangan simpul, maka Anda mengubah nilai pemotongan yang berbeda dengan jumlah yang berbeda. (Kami mengurangi, katakanlah dari nilai cut ). Jadi kita memiliki masalah bahwa identitas pemotongan maksimum dalam grafik yang dimodifikasi tidak harus sesuai dengan pemotongan maksimum dalam grafik asli. | S | | ˉ S | a S
Aaron Roth

1
@ Peter: Dalam paragraf setelah yang saya kutip Anda memilih cukup kecil untuk membuat . Anda tidak dapat dengan aman memilih untuk menjadi cukup besar dalam satu paragraf dan cukup kecil di depan! Secara khusus, tidak ada cara untuk memilih dan untuk memastikan bahwa untuk semua dan secara bersamaan memiliki . Ini mengikuti karena untuk semua menyiratkan bahwa . a f - 0,98 O P T a a d c + a - ( n - 2 ) d > c - d m 0 m na - ( n - 2 ) d = f - 0.98 O P T c + a - ( n - 2 ) d > c - d m 0 m n f = a - ( n - 2 ) d > 0
Warren Schudy

2
@ Warren, Anda memilih cukup besar sehingga untuk semua potongan. Ini bisa dilakukan dengan memilih cukup besar. Anda kemudian memilih ukuran yang tepat sehingga dipotong optimal hanya hampir di atas . Baca dua paragraf terakhir dari jawaban saya. dcdm<0da0
Peter Shor

11

Dalam artikel " Perkiraan Max Cut " oleh S. Har-Peled, baris terakhir dari makalah ini menyebutkan bahwa versi max-cut yang nyata telah dibahas dalam

Mendekati cut-norm melalui ketimpangan grothendieck , Noga Alon dan Assaf Naor, SIAM Journal on Computing, 2006.

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!


masalah di Alon-Naor serupa tetapi saya tidak berpikir ada rasio pengurangan melestarikan. masalah mereka adalah memaksimalkan mana dan adalah matriks . untuk max-cut dan kerabat dekatnya sangat penting bahwa x = yx T M y x , y { ± 1 } n M n × n
Sasho Nikolov

@SashoNikolov: untuk norma cut itu tidak penting, hingga faktor konstan, apakah kita menuntut x = y atau tidak.
david

@david Saya tahu pengurangan ini, tetapi pernyataan yang benar adalah max x | x T M x | maks x , y x T M y4 maks x | x T M x | di mana semua maksimum melebihi { - 1 , 1 } n , dan M simetris dengan diagonal nonnegatif. Namun, masalahnya maks x | x T M x |dapat memiliki nilai yang sangat berbeda dari max x x T M x (yang kami butuhkan untuk MaxCut). Sebagai contoh, pertimbangkan M = I - J , di mana J adalah n × n semua matriks. Anda dapat melihat maks x x T M x adalah tentang n / 2 , sedangkan maks x | x T M x | adalah n 2 - n .
Sasho Nikolov

6

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Σwe0, MaxCut dengan bobot negatif memiliki pendekatan logaritmik.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.