Negatif ağırlık kenarlı maksimum kesim


35

G=(V,E,w)w:ER

argmaxSV(u,v)E:uS,vSw(u,v)
w(e)0eE
  1. tepe noktalarının rastgele bir alt kümesini seçin .S
  2. Noktalar üzerinde bir sıralama Pick iştahla her köşe yer içinde veya kenarları kadar kesilmiş en üst düzeye çıkarmak içinvSS¯
  3. Yerel geliştirmeler yapın: herhangi bir noktada bir tepe bulunmayacağım ise taşınmış olabilir (veya tam tersine) deliği geliştirmek için, hareket yapmak.SS¯

Bu algoritmaların hepsinin standart analizi, sonuçta elde edilen kesimin en azından de bir üst sınır olan büyük olduğunu gösterir. negatif değilse maksimum kesmenin ağırlığı - ancak bazı kenarların negatif ağırlığa sahip olmalarına izin verilirse, değildir!12eEw(e)1/2w

Örneğin, algoritma 1 (rastgele bir tepe noktası alt kümesi seçin) negatif kenar ağırlıklarına sahip grafiklerde açıkça başarısız olabilir.

Sorum şu:

Negatif kenar ağırlıklarına sahip grafiklerde max-cut problemine O (1) yaklaşımı alan basit bir kombinasyon algoritması var mı?

Maksimum kesme değerinin olması muhtemel yapışkan sorununu önlemek için , olmasını ve / veya ek olarak küçük ek hataya neden olan algoritmalardan memnun kalmasını sağlayacağım. çarpımsal faktör yaklaşımı.0eEw(e)>0


1
Burada "basit birleşimsel" durum şart mı?
Hsien-Chih Chang張顯之

En çok pozitif ağırlık için 2-yaklaşım gibi basit, birleşik bir algoritma ile ilgileniyorum. Herhangi bir O (1) yaklaşımı hakkında soru sorduğumu, bu nedenle eğer herhangi bir algoritma bunu başarabilirse, bunun basit bir taneyle mümkün olmasını beklerim. Ancak, negatif kenar ağırlıklarına sahip grafiklerdeki SDP algoritmaları için performans garantilerinin ne olduğunu veya ise sabit faktör yaklaşımı algoritmasının bulunmadığının kanıtlarını da merak ediyorum . PNP
Aaron Roth

Yanıtlar:


28

İşte benim bir tartışmaya ilk girişimdi. Yanlıştı, ama "EDIT:" den sonra düzelttim.

Maksimum kesme problemini negatif kenar ağırlıkları ile yaklaşık olarak etkili bir şekilde çözebilseniz, bunu maksimum kesim problemini pozitif kenar ağırlıkları ile çözmek için kullanamaz mıydınız? En iyi çözümü olan çözmek istediğiniz max-cut problemi ile başlayın . Şimdi, ve arasında büyük bir negatif ağırlık kenarı (ağırlık ) koyun . Yeni sorunun optimum çözümü , bu yüzden varsayımsal yaklaşım algoritmamız, değeri en iyi değerinden en iyi olandan daha kötü olan maksimum kesim ile bir çözüm elde edecek . Orijinal grafikte, maksimum kesim hala en fazla değerinden daha kötü. Seçerseniz karşı kapanış- a u v b - a ( b - a ) / 2 ( b - a ) / 2 bir b 16 / 17bauvba(ba)/2(ba)/2abBu, yaklaşılmazlık sonucunu ihlal ederse, P NP ise, maksimum kesimi faktöründen daha iyi bir değere çıkaramazsınız . 16/17

DÜZENLE:

Yukarıdaki algoritma değil iş o garanti olamaz çünkü ve başlangıçta bile, yeni grafikte kesik ters tarafta bulunmaktadır. Yine de bunu şöyle düzeltebilirim.vuv

Tüm kenar ağırlıklarının toplamı pozitif olduğu sürece, bizi OPT 2 faktörü içinde kesecek bir yaklaşım algoritmasına sahip olduğumuzu varsayalım.

Yukarıdaki gibi, kenarlarda negatif olmayan tüm ağırlıkları içeren bir grafiği ile başlayın . yı bazı negatif ağırlıklarla değiştirmiş bir grafik bulacağız, öyle ki nın maksimum kesimini 2 faktörü içinde yaklaşık olarak hesaplayabilirsek, maksimum kesimini çok iyi hesaplayabiliriz.G G GGGGG

ve iki köşe seçin ve maksimum kesimin zıt taraflarında olduklarını umalım. (Tüm olası için tekrarlayabilirsiniz bu bir deneyin çalışabilmesi için.) Şimdi, büyük bir negatif ağırlık koymak tüm kenarlarda ve için ve a büyük pozitif ağırlık kenarda . Optimum kesimin ağırlığına sahip olduğunu varsayın .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

Değeri ile bir kesim de özet olarak, ve kesim aynı tarafta, hemen okuyun değerine sahip kesme diğer tarafında köşe sayısıdır. Karşı taraflarda ile orijinal değeri olan bir kesim şimdi değerine sahiptir . Seçtiğimiz Böylece, geniş yeterince biz tüm kesimler zorlayabilir ve çok olumlu değere sahip olan her kesim varsa, negatif değere sahip aynı tarafta, daha sonra optimum kesim olacak veG u v c - 2 d m m ( u , v ) Cı- C + bir - ( n - 2 ) d d u v G * u v ( a - ( N - 2 ) d ) u vcGuvc2dmm(u,v)cc+a(n2)dduvGuvkarşı taraflarda. Karşı taraflarda ve ile herhangi bir kesime sabit bir ağırlık eklediğimizi unutmayın .(a(n2)d)uv

Let . Seç şekilde (bunu sonra haklı olur). Ağırlığı ile bir kesim de sahip olan ve ters tarafta hemen ağırlığı bir kesim olur . Bu, ' de optimum kesimin ağırlığa sahip olduğu anlamına gelir . Yeni algoritmamız cinsinden, en az ağırlıkta bir kesim bulur . Bu, orijinal grafik en az ağırlığa sahip bir (çünkü tüm cinsinden ağırlık ayrıbir ön - 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.99 O P T G * u vf=(a(n2)d)af0.98OPTcGuvc0.98OPTG0.02OPTG0.01OPTG0.99OPTGu ve ), inapproximability sonucu daha iyidir.v

ve ile herhangi bir kesimi negatif yapmak için yeterince büyük seçmekle ilgili bir sorun yoktur , çünkü istediğimiz kadar büyük seçebiliriz . Ama nasıl seçtin böylece biz bilmiyorduk ne zaman ? Biz yaklaşık edebilirsiniz biz izin verirsek ... gerçekten iyi içinde kenar ağırlıkları toplamı , bildiğimiz . Bu yüzden için oldukça dar bir değer ve ile arasındaki tüm değerleri alarak üzerinde tekrarlayabiliriz.duvdaf.99OPTOPTOPTTG12TOPTTff.49T.99T aralıklarla . Bu aralıklardan biri için olması garantidir ve bu yinelemelerden birinin iyi bir kesim yapması garanti edilir.0.005Tf0.98OPT

Son olarak, yeni grafiğin toplamı pozitif olan kenar ağırlıklarının olduğunu kontrol etmemiz gerekir. Kenar ağırlıkları toplamı olan bir grafikle başladık ve kenar ağırlıklarının toplamına ekledik . beri , Tf.99Tf.49T


1
Ama ne ve ? Maksimum kesme sorun, olağan formulasyon ihtiyacı ayrılacak herhangi "özel düğümler" yoktur. uv
Jukka Suomela

3
Selam Ian - Ben bunun işe yaradığını sanmıyorum. Neden orijinal grafikte max-cut ile ayrılan ve - ile zorunda kalmaları ve aralarına ağır bir negatif kenar eklendikten sonra max-cut ile ayrılmaları gerekir? Örneğin, tüm grafiği düşünün - herhangi bir yere keyfi, tek bir negatif kenar eklemek, kesim değerini hiç değiştirmez. uv
Aaron Roth

2
Bir sorun, her bir köşe çifti arasına negatif bir kenar eklerseniz, farklı kesimlerin değerini farklı miktarlarda değiştiriyor olmanızdır. ( , ' kesik değerinden çıkarırız ). Bu nedenle, değiştirilmiş grafikteki max-cut kimliğinin mutlaka orijinal grafikteki max-cut'a karşılık gelmemesi sorununu yaşıyoruz. |S||S¯|aS
Aaron Roth

1
@Peter: Alıntı yaptığımdan sonraki paragrafta yapmak yeterince küçük seçin . Güvenle seçemezsiniz tek paragrafta yeterince büyük ve bir sonraki yeterince küçük olması! Özellikle, tümü için dır ve eşzamanlı olarak yi sağlamak için ve yi seçmenin yolu yoktur. . Bunun nedeni tümü için , olduğu anlamına gelir . af0.98OPTaadc+a(n2)d>cdm0mna(n2)d=f0.98OPTc+a(n2)d>cdm0mnf=a(n2)d>0
Warren Schudy

2
@Warren, siz karar kadar büyük yeterince tüm kesimler için. Bu yeterince büyük seçilerek yapılabilir . Sen o zaman seçim optimum kesim zar zor üstünde olacak şekilde uygun büyüklükte . Cevabımın son iki paragrafını okuyun. dcdm<0da0
Peter Shor

11

S. Har-Peled tarafından " Yaklaşık Maksimum Kesim " makalesinde, makalenin son satırında, maksimum kesmenin gerçek ağırlıklı versiyonunun ele alındığı belirtilmiştir.

Cut normuna grothendieck eşitsizliği yaklaşımı , Noga Alon ve Assaf Naor, SIAM Bilgisayar Dergisi, 2006.

Gerçekten de bir SDP algoritması ve bana yaklaşma oranının 0,56 olduğunu gösteriyor, ancak kâğıtta tartışılan azalmanın oranın korunup korunmadığından emin değilim. Belki kağıdın içine daha derinden bakmak yardımcı olacaktır!


Alon-Naor'daki problem benzer ancak azaltma oranını koruyan bir oran olduğunu sanmıyorum. onların sorunu maksimize burada ve bir matrisidir. max-cut ve yakın akrabaları için çok önemlidirxTMyx,y{±1}nMn×nx=y
Sasho Nikolov

@SashoNikolov: Kesim normu için, ya da olmasın , sabit faktörlere kadar önemsizdir . x=y
david

@david Bu azaltmayı biliyorum, ancak gerçekte doğru olan ifade şudur:burada tüm maksimumlar ve , negatif olmayan diyagonal ile simetriktir. Ancak, sorun (MaxCut için ihtiyacımız olan şey) ' den çok farklı bir değere sahip olabilir . Örneğin, göz önünde bulundurun , burada , her birinin matrisinin . Görebilirsiniz hakkındadır ise, ise . maxx|xTMx|maxx,yxTMy4maxx|xTMx|{1,1}nMmaxx|xTMx|maxxxTMxM=IJJn×n N / 2 maksimum x | x T M x | n 2 -nmaxxxTMxn/2maxx|xTMx|n2n
Sasho Nikolov,

6

Probleminiz ikinci dereceden bir programlama problemine indirgenerek logaritmik bir yaklaşıma sahiptir.

MaxQP sorunu, matrisi için ikinci dereceden oluşan formuna yaklaşma problemidir; burada , değerinin üzerindedir . MaxCut ayarlayarak, bu biçimde yazılabilir birim matristir ve bitişiklik matrisidir. Charikar ve Wirth MaxQP algoritması bir verir uzun olarak MaxQP için yaklaşım , negatif olmayan bir çapını sahiptir. olduğu sürece , negatif ağırlıklara sahip MaxCut logaritmik bir yaklaşıma sahiptir.N x N M x { ± 1 } , n M = 1xTMxn×nMx{±1}nIAO(logn)Mwe0M=12n(we)I12AIAO(logn)Mwe0

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.