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)ln∑iexp(yi)maxiyimaxiyi ≤ 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)/∑i′exp(−yi′)Gi(y)exp(yi)/∑i′exp(yi′)
Lmin ve Lmax şu anlamda pürüzsüzdür : herhangi bir vektörde ve ,
ve
d∈[0,ε]ny∈RnLmin(y+d) ≥ Lmin(y) + (1−O(ε))d⋅g(y)
Lmax(y+d) ≤ Lmax(y) + (1+O(ε))d⋅G(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 .Ax↦Lmin(Ax)x(g(Ax))TAxj∑iAijexp(−Aix)/∑iexp(−Aix)(Ax)xj∑iAijexp(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=1e∈sAexxe
LP . Verilen , algoritma isemin{|x|:Ax≥1;x≥0}ε∈(0,1)
- Tümünü başlat . Let . xs=0N=log(n)/ε
kadar tekrar edin : mineAex≥N
2.1. Seç Lmin kısmi türevi maksimize wrt .
(Açıkça, tercih maksimize ). s(Ax)xs
s∑e∈sexp(−∑s′∋exs′)
2.2. Artış tarafından . xsε
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))TAs′x∗/|x∗|xs′(g(Ax))TAx∗/|x∗|Ax∗≥1|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)(1−O(ε))ε/|x∗|
Bu şekilde, algoritma değişmeyen
(Not Lmin olduğu eşit .)Lmin(Ax)≥(1−O(ε))|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≥(1−O(ε))|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{c⋅x:(∀e)∑s∋exs≥1}esAes=1/cse∈sAes=0xscsmin{|x|:Ax≥1;x≥0}
Tümünü başlat . Let .xs=0N=log(n)/ε
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
s∑e∈sexp(−∑s′∋exs′)/cs
2.2. Artış tarafından , kalan her kaplama kısıtlama için, bu maksimum şekilde seçilir , artış isimli en .xsδδeAe⋅xε
2.3 bütün kaplama kısıtlar silme bu şekilde .eAe⋅x≥N
Döndür .x/mineAe⋅x
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.∑e∋vxe≤1}
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|:Ax≤1;x≥0}Ave=1v∈e
- Hepsini başlat . Let .xe=0N=log(n)/ε
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
e∑v∈eexp(∑e′∋vxe′)
2.2. Artış tarafından . xeε
Dönüş .x/maxvAvx
Algoritma , yinelemelerde yaklaşık bir çözüm sunar . (Bunun nedeni, her yinelemenin tarafından artması ve son olarak normalizasyondan önce .)(1−O(ε))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|
- Hepsini başlat . Let . xe=0N=4ln(n)/ε
kere tekrarla :nN
2.1. dan rastgele seçin .
2.2. Seç öyle ki minimize .
2.3. Artış tarafından . uU
w(u,w)∈E∑e∋wxe
xuwε
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|=nu∈U1−O(ε)≤∑e∋uxe≤1+O(ε)w∈W∑e∋wxe≤1+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? Px≤p;Cx≥c;x≥0.
p=1¯¯¯c=1¯¯¯
Let (satır kısıtlar sayı artı satır ).mPC
- Tümünü başlat . Let .xj=0N=2ln(m)/ε
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 .iCix≥N
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.xPx≤1Cx≥1−O(ε)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).
maxPx≤2ln(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 x∗xj′x∗/|x∗|(Px)xj′1/|x∗|(Cx)xj′1/|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
- Olasılık dağılımını ( adlandırılan uzmanlar ) üzerinden seçersiniz . pt[n]n
- bilerek , rakip daha sonra bir ödeme vektörü seçer . ptat∈[0,1]n
- Tur için ödeme alırsınız . pt⋅at
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(maxi∑tati)−∑tpt⋅at
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ε∑s≤tasεtG(y)(y)
Burada analiz eder temel strateji:
tur üzerinde , tercih olduğu .tptG(yt−1)
Muayene ile, bu ödeme veren yuvarlak .at⋅G(yt−1)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 , yaniFLmax(yt)≤Lmax(yt−1)+(1+O(ε))εat⋅G(yt−1).
Lmax(yt)ε(1+O(ε))Lmax(0¯¯¯)=lnnLmax(yt)ε(1+O(ε)ln(n)imaxi∑tatiε−1maxiyti, 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ı.∑tpt⋅at−miniatiptLmin(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)atptst∑e∈spteate=1e∈state=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
Xssx∗T=|Xs|∑tat⋅pt≤ε−1ln(m)+mine∑tate.
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ğuattt∑e∈stpteststx∗/|x∗|∑sx∗s|x∗|∑e∈spte = 1|x∗|∑epte∑s∋ex∗s ≥ 1|x∗|∑epte = 1|x∗|.
∑s∋ex∗s≥1e|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)+mine∑tate.
X|X|=T∑tate=∑e[e∈st]=∑s∋eXs|X||x∗|≤ε−1ln(m)+mine∑s∋eXs.
mine∑s∋eXs=Ω(ε−2lnm)|X|mine∑s∋eXs ≤ (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.