Plotkin-Shmoys-Tardos ve Arora-Kale çözücüler için Oyuncak Örnekleri


34

Arora-Kale SDP çözücüsünün Goemans-Williamson gevşemesine neredeyse lineer zamanda nasıl yaklaştığını, Plotkin-Shmoys-Tardos çözücüsünün kesirli “paketleme” ve “örtme” problemlerine neredeyse lineer zamanda nasıl yaklaşdığını ve algoritmaların nasıl olduğunu anlamak istiyorum. “Uzmanlardan öğrenme” soyut çerçevesinin somutlaşmış örnekleridir.

Kale'nin tezinin mükemmel bir sunumu var ama doğrudan soyut çerçeveye atlamayı çok zor buluyorum ve ne yapılacağı belli olan basit bir problem örneğinden başlamayı tercih ediyorum ve sonra daha genel problemlere geçmeyi tercih ediyorum. algoritmaya ve analizine aşamalı olarak “özellikler” eklenir.

Örneğin:

Plotkin-Shmoys, ağırlıklandırılmamış vertex kapağının doğrusal programlama gevşemesini nasıl çözer? Ağırlıklı tepe örtüsü? Kapağı ayarla? Bipartit eşleştirme?

Arora-Kale algoritmasının ilginç bir şey yaptığı en basit örnek nedir? Bir grafiğin Laplacianının en büyük özdeğerini nasıl hesaplar?

(Laplacian'ın en büyük özdeğerini hesaplamak, Goemans-Williamson SDP Max Cut'ın daha zayıf bir versiyonunu çözme problemine eşdeğerdir; buradaki her vektörün bir uzunluk olmasını istemek yerine, karelerin toplamını istediğinizde normlarının | V |.)


2
Bu güzel bir soru.
Suresh Venkat

4
Paketleme problemleri için PST tarzı algoritmaları anlamak için, PST'nin evrimleştiği çoklu emtia akış problemini yaklaşık olarak çözmek için algoritmalara bakmak iyi olacaktır. Neal Young'ın makalesinde set kapağı ayrıntılı olarak açıklanmaktadır. Ihttp: //www.cs.ucr.edu/~neal/non_arxiv/SODA_1995_170.pdf. Arora-Kale-Hazan'ın anketinin ayrıca uzmanlar çerçevesi ile ambalajlama / örtücü çözücüler arasındaki bağlantıyı açıkça yaptığını düşündüm.
Chandra Chekuri

1
@ChandraChekuri: Oldukça gecikti, ama bunu bir cevap haline getirip getirmemeyi merak ediyorum?
Suresh Venkat

2
FWIW, belirtilen SODA kağıdı @ChandraChekuri'de genişleyen bazı notlar için, bkz. Greedyalgs.info/blog/about .
Neal Young,

Güncelleme bağlantısı: algnotes.info/on/obliv
Neal Young

Yanıtlar:


26

Luca, bir yıl geçtiğinden beri, muhtemelen kendi cevabını araştırdın. Buradaki bazı sorularınızı sadece kayıt için cevaplıyorum. Bahsettiğiniz problemler için bazı Lagrangian gevşeme algoritmalarını gözden geçiriyorum ve öğrenmeyle bağlantınızı çiziyorum (özellikle uzman tavsiyelerini izleyerek). Burada SDP algoritmaları hakkında yorum yapmıyorum.

Bahsettiğiniz belirli algoritmaların neredeyse doğrusal sürede çalışmadığını unutmayın. ( Açıkça verilen paketleme veya kaplama problemleri için neredeyse doğrusal bir zaman algoritması vardır . Bkz. Kesirli Paketleme ve Kaplama Doğrusal Programları için Simplex Beating'e bakınız .) Aklınızdaki algoritmalar tipik olarak neredeyse doğrusal bir yinelemede çalışan değişkenlere sahiptir ancak her biri yineleme tipik olarak en azından doğrusal zaman gerektirir. Bu algoritmaların bazılarını aşağıda tartışıyorum.

Bazı faydalı fonksiyonlar

Başlamadan önce, ihale taslaklarında kullanacağımız bazı fonksiyonlar. (Algoritmalarla ilgileniyorsanız, ancak ispat ayrıntılarıyla ilgilenmiyorsanız, ileri atlayabilirsiniz.) Herhangi bir vektör içinymaksimum i y ıLmax(y)lniexp(yi)maxiyi

maxiyi  Lmax(y)  maxiyi+lnm.
Lmin(y)Lmax(y)miniyi

İzleyenlerde kolaylık sağlamak için, gradyanını olarak göstermek için kullanın . Kullandığımız gradyanı belirtmek için Lmax arasında.g(y)Lmin(y)G(y)Lmax(y)

Açıkça, ise ise ise .gi(y)exp(yi)/iexp(yi)Gi(y)exp(yi)/iexp(yi)

Lmin ve Lmax şu anlamda pürüzsüzdür : herhangi bir vektörde ve , ve d[0,ε]nyRn

Lmin(y+d)  Lmin(y) + (1O(ε))dg(y)
Lmax(y+d)  Lmax(y) + (1+O(ε))dG(y).

Her iki degradenin 1'e eşit 1-normuna sahip olduğunu unutmayın: . (Boyunca i 1 normunu göstermek için kullanırız.)|G(y)|=|g(y)|=1|z|

Ayrıca dikkat, bir matris için , fonksiyon gradyanı ile ilgili olarak (zincir kuralı ile), . Daha açık bir ifadeyle, fonksiyonun kısmi türevi, göre . Benzer şekilde, Lmax kısmi türevi göre hiç isimli .AxLmin(Ax)x(g(Ax))TAxjiAijexp(Aix)/iexp(Aix)(Ax)xjiAijexp(Aix)/iexp(Aix)

Kesirli Set Kapağı

Set-Cover örneğini düzeltin. Let elemanı / set insidansı matrisi göstermektedir. Bu nedenle, eğer , eğer ise , ve , fraksiyonel kapak elementini kapsadığı .AAes=1esAexxe

LP . Verilen , algoritma isemin{|x|:Ax1;x0}ε(0,1)


  1. Tümünü başlat . Let . xs=0N=log(n)/ε
  2. kadar tekrar edin : mineAexN

    2.1. Seç Lmin kısmi türevi maksimize wrt . (Açıkça, tercih maksimize ). s(Ax)xs
    sesexp(sexs)

    2.2. Artış tarafından . xsε

  3. Döndür .x/mineAex


Algoritma , yinelemelerinde yaklaşık bir çözüm döndürür , burada , öğelerin sayısıdır ve , en uygunudur kesirli küme kapağı (önemsiz ). ( Chandra de belirtilen gazetede benzer bir algoritma belirir . Vertex Cover elbette özel bir durumdur.)(1+O(ε))O(|x|log(n)/ε2)nx|x|n

( Not: Sınırlamanın yinelemenin kümelerin sayısına, sadece öğelerin sayısına bağlı olmadığını unutmayın. Bu nedenle, algoritma, öğeler üzerinde ağırlıklar verildiği sürece, etkin bir şekilde tanımlanabilen bir küme sistemi ile kullanılabilir. bir dizi maksimum (veya maksimum-maksimum) toplam ağırlık bulursunuz.Bu tür oracle, elipsoid algoritmasını ikili soruna uygulamak için gerekli olan ayırma oracle ile aynıdır .. Set paketleme gibi paketleme problemleri için, oracle, elemanlar üzerindeki ağırlıklar verilen toplam ağırlığı en aza indiren bir set döndürür Çoklu mal akışı gibi problemler için, örneğin, bazı kenar ağırlıklarının toplamını en aza indiren bir yol bulmanız gerekebilir.)

İşte performans garantisinin ispatı. Her bir yinelemede, kısmi türev wrt seçilen , en azından,burada optimal kesirli küme kapaktır.s1/|x|x

(Lmin gradyan göre, neden hatırlama görmek için göre olan bir dizi seçim olsaydı. dağılımdan rasgele , göre kısmi türevi beklenen değeri böylece olacaktır . yana , bu en az bir . yana , bu en az bir . Bu nedenle, var olmalıdır bazı en azından kısmi türev veren . Algoritma seçtiğinden(Ax)x(g(Ax))TAsx/|x|xs(g(Ax))TAx/|x|Ax1|g(Ax)|/|x||g(Ax)|=11/|x|s1/|x|xs kısmi türevini maksimize etmek için her yinelemede , en az.)1/|x|

Ardından, adım boyutu yeterince küçük seçilmiştir, böylece koordinatı yok değerinden fazla artmaz . Bu nedenle, düzgünlüğü nedeniyle, - arttırılması değerini en az .εAxεxsxs+εLmin(Ax)(1O(ε))ε/|x|

Bu şekilde, algoritma değişmeyen (Not Lmin olduğu eşit .)

Lmin(Ax)(1O(ε))|x|/|x|lnn.
(0¯)lnn

Sonlandırmada, değişmezde, terimi, değerinin sol tarafının , bu nedenle hesaplamada bir. Algoritmanın son satırındaki normalizasyondan sonra, bu.lnnO(ε)mineAex(1O(ε))|x|/|x||x|(1+O(ε))|x|

FWIW, değişmezliği kanıtlamada rol oynayan eşitsizlikler, esasen Chernoff'un sınırını kanıtlayanlarla aynıdır. (Aslında bu algoritma bir randomize-yuvarlama Şema şartlı olasılık yöntemi uygulayarak elde edilebilir dağılımından sürekli örnekler setleri (değiştirme) ile, artan örnek alınan her bir kümesi için Bunun derandomizasyonu algoritmayı verir: alttaki değişmez sadece kötümser tahmin edicinin 1 altında kalmasıdır. Kötümser tahmin edicideki üstel cezalar, yuvarlama düzeninin analizinde bağlı olan Chernoff'un kullanımından kaynaklanmaktadır. içinde Chandra bahsedilen kağıt ).x/|x|xss

Kesirli Ağırlıklı Set Kapağı (ve genel kesirli Kaplama)

Weighted Set Cover gibi problemleri etkin bir şekilde ele almak için , algoritmayı düzgün olmayan artışlar ( Garg ve Konemann kaynaklı bir fikir) kullanmak için algoritmayı değiştiririz .

LP, , burada elementlerin üzerinde, setlerin üzerindedir ve tüm değişkenler değişken değildir. -negatif. Algoritmayı sunmak için önce problemi genel bir örtme problemi olarak yeniden yazın. Let için ve , aksi. Sonra (değişkenlerin değişmesi, her ile ), LP , genel olarak LP'yi kapsayan bir görünüm olarak görebiliriz. İşte algoritma:min{cx:(e)sexs1}esAes=1/csesAes=0xscsmin{|x|:Ax1;x0}


  1. Tümünü başlat . Let .xs=0N=log(n)/ε

  2. Tüm kaplama kısıtlamaları silinene kadar tekrarlayın:

    2.1. Seç Lmin kısmi türevi maksimize wrt . (Açıkça, tercih maksimize .)s(Ax)xs
    sesexp(sexs)/cs

    2.2. Artış tarafından , kalan her kaplama kısıtlama için, bu maksimum şekilde seçilir , artış isimli en .xsδδeAexε

    2.3 bütün kaplama kısıtlar silme bu şekilde .eAexN

  3. Döndür .x/mineAex


Algoritma , yinelemesinde yaklaşık bir çözüm döndürür , burada , kaplama sınırlamalarının sayısıdır. (Her yineleme de bazı artar ile , bu sadece olabilir silinmeden önce bir kısıtlama kez). Doğruluğunun kanıtlanması Seti Kapak için olan aynı değişmez yoluyladır.(1+O(ε))O(nlog(n)/ε2)nAexεN/ε

Ağırlıklı Vertex Kapağı özel bir durumdur.

Maksimum Kesirli Bipartit Eşleştirme

grafiği verildiğinde sorunun doğal LP'si .G=(U,W,E)max{|x|:v.evxe1}

Matris sunumunda, bu bir paketleme LP 0-1 katsayılı ( eğer ise olur ). Bu tür problemler düzgün olmayan artışlar gerektirmez, bu yüzden ağırlıklandırılmamış Set Cover algoritmasına benzer basit bir algoritma (ancak paketleme için) şunları yapar:max{|x|:Ax1;x0}Ave=1ve


  1. Hepsini başlat . Let .xe=0N=log(n)/ε
  2. iken :Ax<N

    2.1. Seç Lmax kısmi türevi minimize wrt . (Açıkça, seçim en aza indirmek için ).e(Ax)xe
    eveexp(evxe)

    2.2. Artış tarafından . xeε

  3. Dönüş .x/maxvAvx


Algoritma , yinelemelerde yaklaşık bir çözüm sunar . (Bunun nedeni, her yinelemenin tarafından artması ve son olarak normalizasyondan önce .)(1O(ε))O(nlog(n)/ε2)|x|ε|x|=O(Nn)

Sadece eğlence için, işte Perfect Bipartite Matching için ilginç bir alternatif algoritma. hatırlayın . Let.G=(U,W,E)n=|U|=|W|


  1. Hepsini başlat . Let . xe=0N=4ln(n)/ε
  2. kere tekrarla :nN

    2.1. dan rastgele seçin . 2.2. Seç öyle ki minimize . 2.3. Artış tarafından . uU
    w(u,w)Eewxe
    xuwε

  3. Dönüş .x/N


Eğer bir tam bir uyum, bir algoritma döner sahip öyle ki ve yüksek olasılıkla, tüm köşeler için , ve tüm köşeler için , . Kanıtın detayları ile ilgileniyorsanız, lütfen sorunuz ...Gx|x|=nuU1O(ε)euxe1+O(ε)wWewxe1+O(ε)

Karışık Paketleme ve Kaplama

Karma bir paketleme ve örtme problemi örneği için iki taraflı eşleşme umudunu sormuş olabilirsiniz , yani, olan formlardan biri İşte bu tür problemler için bir algoritma. Öncelikle, ve olacak şekilde normalleştirin .

x? Pxp;Cxc;x0.
p=1¯c=1¯

Let (satır kısıtlar sayı artı satır ).mPC


  1. Tümünü başlat . Let .xj=0N=2ln(m)/ε
  2. iken :Px<N

    2.1. Seç Lmax kısmi türevi, böylece göre Lmin kısmi türevi en olduğu ile ilgili olarak . (Açıkça, tercih bu şekildej(Px)xj(Cx)xjj

    iPijexp(Pix)iexp(Pix)iCijexp(Cix)iexp(Cix).)

    2.2. Artış tarafından , hiçbir kısıtlama bu maksimum şekilde seçilir ya da kalan kısıtlama 'den daha fazla bir artış .xjδδPixCixε

    2.3. Tüm kaplama kısıtlamaları sil bu şekilde .iCixN

  3. Döndür .x/maxiPix


Verilen bir problemi varsayarak mümkündür, algoritma döner bir şekilde ve . Yinelemelerin sayısı , çünkü her yineleme tarafından bir miktar kısıtlamayı arttırır ve bu her kısıtlama için en fazla defa gerçekleşebilir.xPx1Cx1O(ε)O(mln(m)/ε2)εN

Doğruluğun kanıtı değişmez Değişmez, Sonlandırmada sol taraf ve performans garantisini kanıtlar.

Lmax(Px)2ln(m)+(1+O(ε))Lmin(Cx).
maxPx2ln(m)+(1+O(ε))minCx.
Ω(log(m)/ε)

2.1 Adımı'nda, istenen , asıl sorun mümkün olduğu sürece mevcut olmalıdır. (Bunun nedeni, uygun olan herhangi bir ve herhangi bir , dağılımından rastgele bir seçersek , Lmax'ın kısmi türevinin beklenen değeridir. ile ilgili olarak en olacaktır . (Set Kapak önceki geçirmez çizime bakınız) Benzer bir şekilde, Lmin kısmi türevinin beklenen değer ile ilgili olarak en az . Böylece, birj xxjx/|x|(Px)xj1/|x|(Cx)xj1/|x|jBu tür Lmax kısmi türevi olduğu göre Lmin kısmi türevi en olduğu ).(Px)xj(Cx)

Daha sonra, değişmeyen her yinelemede tutulur, çünkü, ve seçimi ve Lmin ve düzgünlüğü, ila arttırılması, Lmax en fazla kat daha fazla arttırır . Lmin'deki artış .xjδxjxj+δ(Px)1+O(ε)(Cx)

Öğrenme (uzmanları takip etme / güçlendirme)

Bu bağlantıyı anlamak için bir referans , Freund ve Schapire tarafından çok ağırlıkları kullanarak uyarlamalı oyun oynamadır. İşte teknik fikir vermek için kısa bir özet.

Aşağıdaki tekrarlanan oyunu düşünün. Her turda : t

  1. Olasılık dağılımını ( adlandırılan uzmanlar ) üzerinden seçersiniz . pt[n]n
  2. bilerek , rakip daha sonra bir ödeme vektörü seçer . ptat[0,1]n
  3. Tur için ödeme alırsınız . ptat

Oyun birkaç turdan sonra durur. Amacınız herhangi bir tek uzman (yani saf stratejisi) ile karşılaştırıldığında da pişmanlık minimize etmektir . Yani, hedefiniz simge durumuna küçültmek .i(maxitait)tptat

Herhangi bir düzeltildi . Vektör olsun göstermektedirler , olduğu, süresi için ödeme vektörlerinin katı vektör toplamı . nin Lmax nin gradyanı olduğunu hatırlayın .ε>0ytεstasεtG(y)(y)

Burada analiz eder temel strateji: tur üzerinde , tercih olduğu .tptG(yt1)

Muayene ile, bu ödeme veren yuvarlak .atG(yt1)t

düzgünlüğü özelliği nedeniyle , Yani, her turda, , kazancınızın katından daha fazla . Yana , bu durum değişmez muhafaza toplam ödeme günlerin en olduğunu artı diğer taraftan, iyi uzman kıyasla sizin pişmanlık. ise , yaniF

Lmax(yt)Lmax(yt1)+(1+O(ε))εatG(yt1).
Lmax(yt)ε(1+O(ε))Lmax(0¯)=lnnLmax(yt)ε(1+O(ε)ln(n)imaxitaitε1maxiyit, sırasıyla .ε1Lmax(yt)

Bu nedenle, pişmanlığınız en fazla , artı toplam kazancınızın çarpıdır.ε1ln(n)O(ε)

Not: Freund ve Schapire'ın işaret ettiği gibi, bir "artırıcı" algoritmanın (öğrenme teorisinde) bu analizde de önemli olduğunu düşünüyorum. Daha fazla ayrıntı için makalelerine bakın.

Toplam kazancı minimize etmek

Hedefin toplam getiriyi en üst düzeye çıkarmak yerine en aza indireceği ortam için benzer bir strateji türetebilirsiniz . Hala en aza indirmek istediğiniz pişmanlığınız . Bu durumda, karşılık gelen strateji nin degradesi olarak seçmektir . Bu strateji ile pişmanlığınız yine en fazla artı toplam kazancınızın çarpı.tptatminiaitptLmin(yt)ε1lnnO(ε)

Lagrangian gevşeme algoritmalarına bağlantı

Lagrangian gevşeme algoritmalarına bağlantıyı görmek için bir Set-Cover örneği düzeltin. Uzmanlar elemanları karşılık, (minimize bir ödeme amacı ile) oyunun ikinci tip düşünün set sisteminin. Her turda, olasılık dağılımı tercih Lmin gradyanı olarak , yukarıdaki gibi, ve rakip vektör kazancını tercih sahip bir fonksiyonu olarak aşağıdaki gibi: grubu tercih maksimize , daha sonra izin ise ve , aksi.ept(yt)atptstespetaet=1estaet=0

Doğru durdurma koşulu göz önüne alındığında (aşağıda tartışılmıştır), bu işlem size başlangıçta tartışılan Set-Cover algoritmasını verir.

Algoritmanın performans garantisi aşağıdaki gibi bağlı pişmanlık izler. Let hasım seti seçti kaç kez olmak oyun sırasında. Let optimum fraksiyonel kümesi kapak olsun. Letoynanan tur sayısı olun. Bağlanan pişmanlık XssxT=|Xs|

tatptε1ln(m)+minetaet.

Tanımını kullanarak , inci ödeme ( soldaki toplamı inci terimi) eşittir . Düşman tercih , bu kazancını en aza indirmek için. Eğer rakip, bunun yerine rastgele seçmişse ,, ödeme beklentisi (O kullanımı üzerinde için tüm ve ). Her bir ödeme az olduğuatttestpetststx/|x|

sxs|x|espet = 1|x|epetsexs  1|x|epet = 1|x|.
sexs1e|pt|=11/|x|, bağlı pişman tanımına göre , (her turda bir set seçer) ve , vererek Bu işlem stop yapmak , böylece daha sonra (yeniden düzenleme terimleri) Yani, normalleştirildiğinde , en çok kesirli boyutta bir küme kapak verilir optimum zamanlar.
T|x|ε1ln(m)+minetaet.
X|X|=Ttaet=e[est]=seXs
|X||x|ε1ln(m)+mineseXs.
mineseXs=Ω(ε2lnm)
|X|mineseXs  (1+O(ε)|x|.
X(1+O(ε))

Not: Bir anlamda, bu öğrenme teorisi yorumlaması algoritmik yorumlamayı genelleştirir. Bununla birlikte, verimlilik için gerekli olan algoritmik tekniklerin bazıları (tek biçimli olmayan artışlar ve tatmin edici kaplama sınırlamalarını bırakmak gibi), doğal olarak öğrenme teorisi ortamına taşımıyor gibi görünmektedir. Benzer şekilde, karışık paketleme ve LP'leri kapsayan algoritmalar (örneğin bunlar ) öğrenme-teori ortamında doğal analoglara sahip görünmüyor.


8
Bu oldukça cevap!
Suresh Venkat

1
Teşekkürler. Muhtemelen abarttı. Geribildirim ile ilgileniyorum: bu fikirleri erişilebilir bir şekilde nasıl sunacağımı, başka neler dahil edebileceğimizi ...
Neal Young
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.