İş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 / 17b−auvb−a(b−a)/2(b−a)/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 ∗ GGG∗G∗G
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 Tuvv−d(u,x)(v,x)x≠u,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 vcGuvc−2dmm(u,v)cc+a−(n−2)dduvG∗uvkarşı taraflarda. Karşı taraflarda ve ile herhangi bir kesime sabit bir ağırlık eklediğimizi unutmayın .(a−(n−2)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−(n−2)d)af≈−0.98OPTcGuvc−0.98OPTG∗0.02OPTG∗0.01OPTG0.99OPTG∗u 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≈−.99OPTOPTOPTTG12T≤OPT≤Tff−.49T−.99T aralıklarla . Bu aralıklardan biri için olması garantidir ve bu yinelemelerden birinin iyi bir kesim yapması garanti edilir.0.005Tf≈−0.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−.99T≤f≤−.49T