Toplam kenar ağırlıklarını en üst düzeye çıkarma


9

Aşağıdaki sorunun bir adı veya bununla ilgili herhangi bir sonuç olup olmadığını merak ediyorum.

İzin Vermek G=(V,w) ağırlıklı bir grafik olmak w(u,v) arasındaki kenarın ağırlığını belirtir u ve vve herkes için u,vV, w(u,v)[1,1]. Sorun, yanlarındaki kenarların ağırlıklarının toplamını en üst düzeye çıkaran bir köşe alt kümesini bulmaktır:

maxSV(u,v):uS or vSw(u,v)
Hem alt kümenin içinde hem de alt kümenin dışında olan kenarları saydığımı unutmayın, bu da bu sorunu maksimum kesmeden ayıran şeydir. Ancak, her iki bile ve olan , sadece kenar saymak istiyorum sadece derece toplamı olmaktan objektif ayıran şeyin ne olduğunu bir kez (daha doğrusu iki katından).uvS(u,v)

Tüm kenar ağırlıkları negatif değilse sorunun önemsiz olduğuna dikkat edin - tüm grafiği alın!


Tanımınız daha sonra yinelenen kenarları saymama konusunda notunuzla eşleşmiyor. Sipariş edilen çiftler mi yoksa 2 elemanlı altkümeler mi toplayacaksınız? (ikincisi size ihtiyacınız olan mülkü verecekti, sanırım)
Suresh Venkat

1
Başka bir not: sayılmayan tek kenar ağırlıkları V \ S için olanlardır. Sertlik sonuçları veya yaklaşımlarla ilgileniyor musunuz, çünkü eski durumda, S '= V \ S içindeki kenar ağırlıklarının toplamını en aza indirmek daha doğal bir sorun olabilir .
Suresh Venkat

@Suresh: Yaklaşım oranı söz konusu olduğu sürece, sorudaki biçimsel tanım doğrudur. Sadece kelimelerden ne beklediğinin tam iki katını verir.
Tsuyoshi Ito

@TsuyoshiIto: oh, anlıyorum, çünkü kesimin kenarları da iki kez sayılıyor.
Suresh Venkat

1
Kesin sorun NP-zor, çünkü Suresh yorumunda yazdığı gibi, problem NP-zor olan sınırsız {0,1} kuadratik programlamaya eşdeğerdir.
Tsuyoshi Ito

Yanıtlar:


3

Gerçekten bir çözüm değil, bazı gözlemler.

Bu, aşağıdaki sorunun özel bir örneğidir: evreni ve kümeleri koleksiyonu ve , resim bulmak , öyle ki (bir dizi ağırlığı, elemanlarının toplam ağırlığı) maksimize edilir. Sorununuz, her öğesinin tam olarak iki kümede göründüğü duruma karşılık gelir (ancak bu kısıtlamadan nasıl faydalanabileceğimden emin değilim).U={1,,m}S1,,SnUw:U[1,1]I[n]w(iISi)U

Bu bir kapsama sorunudur: Max-k-Set-Cover'a benzer, ancak setlerini kullanma kısıtlaması olmadan ve negatif ağırlıklara izin verilir. Max-k-Set-Cover'ın açgözlü yaklaşımı (her adımda, açıklanmamış elemanların şimdiye kadarki en büyük ağırlığa sahip olan set çıktısı), ilk setlerinin yaklaşık optimum (yani bu tüm için eşzamanlı bir yaklaşımdır ). Ne yazık ki, her zamanki gibi, ağırlıkların negatif olabileceği durumlarda analiz edilmesinde bir sorun var. Açgözlü algoritmanın analizinin temel gözlemi, eğer çıktısı verilen ilk , (kk1+1/ekS1w(S1)OPTk/kOPTkkapsadığı maksimum ağırlık olarak , çünkü setleri) daha düşük ağırlıklar toplamından daha uygun çözelti içinde kümeleri ve bunların her biri daha az ağırlığa sahip . Bununla birlikte, negatif ağırlıklar ile optimum çözümdeki ağırlıkların toplamından daha az olduğu artık doğru değildir . Genel olarak, sendika sınırı artık doğru değil.kOPTkkw(S1)OPTk


5

FWIW, herhangi bir için çarpım faktörü içinde probleminizi yaklaşık olarak bulmak zordur .n1ϵϵ>0

Aşağıda, yaklaşık olarak sertliğin bilindiği Bağımsız Kümeden yaklaşık koruyucu bir azalma sağlayarak göstermektedir.

Bağımsız Setten Düşüş

Yönlendirilmemiş grafik Bağımsız Kümenin bir örneği olsun. Let tepe noktası anlamında olabildikleri derecesi içinde . Let tepe nokta sayısını olduğu .G=(V,E)dvvGnG

Construct kenar ağırlıklı grafik gelen , aşağıdaki gibi. Her bir kenar vermek her yalıtımsız tepe için ağırlıkça 1 , ekleme ağırlığı ile yeni kenarlar, her e yeni köşe. V içinde her izole edilmiş köşe için, yeni bir tepe noktasına 1 yeni bir ağırlık kenarı ekleyin.G=(V,E)GEvVdv11dv1vV

(Not: her yeni tepe noktası (in , ancak )' de tam olarak bir komşu sahip ).GGG

Lemma. boyutu bağımsız bir kümesi vardır iff (sorunun bir örneği olarak) en az değerde bir çözüm vardır .GkGk

Kanıt. , herhangi bir bağımsız küme olsun . İçerisinde köşe yana sonra, bağımsızdırlar'değeri içinde (objektif ile), SGSGSG

vSdv(dv1) = |S|.

Tersine, en azından değerine sahip için bir çözelti . Genelliği kaybetmeden, yeni köşe noktaları içermediğini varsayın . (Her yeni tepe noktası bir kenarında olan ise. izole edilmemiş , daha sonra kenarın ağırlığı , kaldırma böylece gelen değerini artırır . Eğer çıkarılması bu nedenle izole edilmiş, daha sonra kenarın ağırlığı 1, gelen ve ekleme değerini muhafaza .)SGkSv(v,v)vG1vSSvvSvS

Genelliği kaybetmeden, bağımsız bir küme olduğunu varsayın . (Aksi takdirde izin böyle bir kenar haline ve olan toplam ağırlığı. 'de olay kenarları s bir , bu nedenle toplam ağırlık bireyin olay dışında kenarları sıfır, çoğu yer almaktadır. Bu nedenle, kaldırma gelen değerini arttırmak olmaz .)SG(u,v)uvSvGdv(dv1)=1v(u,v)vSS

Şimdi, ispatın başlangıcındaki hesaplama ile değeri. Bunu . QEDS|S||S|k

Bir kenara, bunun yerine , örneğin, veya ek bir yaklaşımı isteyebilirsiniz . O(n)ϵm

Sorununuz için pozitif değerli bir çözüm olup olmadığına karar vermek bile NP-zor olabilir.

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.