Söylediğiniz gibi, karar vermeniz gerekmediğinden, optimizasyon problemleri için uygun bir NP sertliği tanımına ulaşmak için yeni karmaşıklık sınıfları ve yeni tür azaltmalara ihtiyaç duyulmaktadır .
Bunu yapmanın bir yolu, optimizasyon problemleri içeren iki yeni NPO ve PO sınıfına sahip olmak ve elbette karar problemleri için NP ve P sınıflarını taklit etmektir . Yeni indirimlere de ihtiyaç var. Sonra karar sorunları için başarılı olan çizgiler boyunca optimizasyon problemleri için NP sertliği versiyonunu yeniden oluşturabiliriz. Fakat önce bir optimizasyon probleminin ne olduğuna karar vermeliyiz .
Tanım: Let bir olduğu iyileştirme-sorunu . X , dizge olarak kodlanmış giriş veya örnek kümesidir . L , her bir x ∈ X örneğini , bir dizge kümesine, x örneğinin uygulanabilir çözümlerine eşleyen bir işlevdir . Bu bir set çünkü bir optimizasyon problemine birçok çözüm var. Böylece cenneti bir amaç fonksiyonu f her çifti için bize (O=(X,L,f,opt)XLx∈Xx fy ∈ L ( x ) örneği vemaliyetiniveyadeğerini belirleyin. o p t biz maksimize veya minimize edilip söyler.(x,y) y∈L(x)opt
Bu tanımlamak olanak sağlıyor uygun çözüm olup: olsun olmak en uygun çözümü , bir örneğinin X ∈ X bir optimizasyon sorunu, O = ( X , L , m , o s t ) ile f ( x , y o p t ) = o p t { f ( x , yyopt∈L(x)x∈XO=(X,L,f,opt)En iyi çözüm genellikle ile gösterilir Y * .
f(x,yopt)=opt{f(x,y′)∣y′∈L(x)}.
y∗
Şimdi NPO sınıfını tanımlayabiliriz : , tüm optimizasyon problemleri kümesi olsun = O , ( X , L , f , o p t ) :NPOO=(X,L,f,opt)
- X∈P
- Polinomlu bir var | y | ≤ p ( | x | ) tüm örnekler için x ∈ X ve tüm uygulanabilir çözümler y ∈ L ( x ) . Ayrıca olup polinom zamanda karar bir belirleyici bir algoritma var olan y ∈ L ( x ) .p|y|≤p(|x|)x∈Xy∈L(x)y∈L(x)
- polinom sürede değerlendirilebilir.f
Arkasındaki sezgi:
- gerçekten optimizasyon problemimizin geçerli bir örneği olup olmadığını etkin bir şekilde doğrulayabiliriz .x
- Uygulanabilir çözümlerin boyutu girdilerin boyutunda polinomla sınırlıdır, ve in x örneğinin elverişli bir çözümü olup olmadığını doğrulayabiliriz .y∈L(x)x
- Bir çözelti değeri etkin bir şekilde tespit edilebilir.y∈L(x)
Nasıl Bu ayna için, şimdi tanımlanmaktadır PO : Let P O tüm problemlerin kümesi K P O polinom zamanda bir belirleyici bir algoritma ile çözülebilir.NPPONPO
Şimdi bir yaklaşım algoritması olarak adlandırmak istediklerimizi tanımlayabiliriz : Bir optimizasyon probleminin bir yaklaşım algoritması uygun bir çözümü hesaplayan bir algoritmadır y ∈ L ( x ) bir örneği için x ∈ x .O=(X,L,f,opt)y∈L(x)x∈X
Not: Optimal bir çözüm istemediğimizi, sadece uygulanabilir bir şeye sahip olduğumuz için .
Şimdi iki tür hata vardır: mutlak hata uygun bir çözelti bir örneğinin X ∈ X optimizasyonu-problem O = ( X , L , m , o s t ) olup | f ( x , y ) - f ( x , y ∗ ) | .y∈L(x)x∈XO=(X,L,f,opt)|f(x,y)−f(x,y∗)|
Biz yaklaşık bir-algoritma mutlak hatayı diyoruz optimizasyonu-sorunu için O sınırlanmış k ise algoritma A her örneği için değerlerini hesaplar x ∈ X ile sınırlanan mutlak hata ile uygun bir çözüm k .AOkAx∈Xk
Örnek: Vizing Teoremine göre, grafiğin kromatik indeksini (en az sayıda renkle kenar boyamasında kullanılan renklerin sayısı), veya Δ + 1'dir ; burada Δ , maksimum düğüm derecesidir. Teorem ispatından, Δ + 1 renklerle kenar rengini hesaplayan bir yaklaşım algoritması geliştirilebilir . Buna uygun olarak biz yaklaşık bir-algoritması vardır M i , n ı m u m - E d g E Cı O l O r i nΔΔ+1ΔΔ+1 Mutlak hatanın 1 ile sınırlandırıldığı bir sorun.Minimum−EdgeColoring1
Bu örnek, küçük bir mutlak hatalar, böylece ender tanımlamaktadır bir istisnadır göreli hata yaklaştırma-algoritması A örneği üzerinde x optimizasyonu-problem O = ( X , L , f , O p t ) ile f ( x , y ) > 0 için tüm x ∈ X ve y ∈ L ( X ) olmak üzereϵA(x)AxO=(X,L,f,opt)f(x,y)>0x∈Xy∈L(x)
ϵA(x):={0|f(x,A(x))−f(x,y∗)|max{f(x,A(x)),f(x,y∗)}f(x,A(x))=f(x,y∗)f(x,A(x))≠f(x,y∗)
buradaki , yaklaşık algoritma hesaplanan uygun bir çözümdür .AA(x)=y∈L(x)A
Şimdi yaklaşım algoritması tanımlayabilir optimizasyonu-sorunu için bir olduğu -approximation algoritması için bağıl hata durumunda ile sınırlanan her bir örneği için , dolayısıyla
içinO = ( X , L , f , o p t ) δ O ϵ A ( x ) δ ≥ 0 x ∈ X ϵ A ( x ) ≤ δAO=(X,L,f,opt)δOϵA(x)δ≥0x∈X
ϵA(x)≤δ∀x∈X.
Seçimi nispi hatanın tanımı payda üst düzeye çıkartılması ve en aza indirmek için tanım simetrik yapmak için seçilmiştir. Göreceli hatanın değeri değeri . Bir maksimize probleminde, çözümün değeri hiçbir zaman ve asla en aza indirgeme problemi için .ϵ A ( x ) ∈ [ 0 , 1 ] ( 1 - ϵ A ( x ) ) ⋅ f ( x , y ∗ ) 1 / ( 1 - ϵ A ( x ) ) ⋅ fmax{f(x,A(x)),f(x,y∗)}ϵA(x)∈[0,1](1−ϵA(x))⋅f(x,y∗)1/(1−ϵA(x))⋅f(x,y∗)
Şimdi polinom zaman içinde çalışan için bir -yaklaşım-algoritması varsa, optimizasyon problemi yaklaşılabilir diyebiliriz .ö bir OδδAO
Her örnek için hata bakmak istemiyorum , sadece kötü durumda bak. Böylece tanımlayan , maksimum relativ hata tahmin algoritması bir optimizasyonu-sorunu için olduğu
ε bir ( n ) bir O ε bir ( n ) = sup { ε bir ( x ) | | x | ≤ n } .xϵA(n)AO
ϵA(n)=sup{ϵA(x)∣|x|≤n}.
Neredeörneğin boyutu olmalıdır .|x|
Örnek: Bir grafikteki maksimum eşleşme, eşleşmedeki tüm köşe düğümleri vertex kapağına eklenerek minimal düğüm kapağına dönüştürülebilir . Böylecekenarları kaplıdır. En uygun olanı içeren her köşe örtüsü her bir kapalı kenarın düğümlerinden birine sahip olması gerektiğinden, aksi takdirde geliştirilebilir, sahibiz . Bunun sonucunda
Dolayısıyla maksimum eşleşme için açgözlü algoritma approximatio- olur. için algoritma . Bu nedenle olan -approximable.C1/2⋅|C|1/2⋅|C|⋅f(x,y∗)
|C|−f(x,y∗)|C|≤12
1/2Minimal−VertexCoverMinimal−VertexCover1/2
Maalesef, göreceli hata, aşağıdaki örnekte gösterildiği gibi, bir yaklaşım için her zaman en iyi kalite anlayışı değildir:
Örnek: Basit bir açgözlü algoritma, . Bu incelendiğinde, Şekil ve böylece olur yaklaşılmaz.Minimum−SetCover
|C||C∗|≤Hn≤1+ln(n)
Minimum−SetCoverln(n)1+ln(n)
Göreceli hata yakınsa , aşağıdaki tanım avantajlıdır.1
Let olması ile bir optimizasyon sorunu için tüm ve ve için yaklaşık bir-algoritma . Yaklaşım oranı uygun çözelti örneğinin olan
O=(X,L,f,opt)f(x,y)>0x∈Xy∈L(x)AO rA(x)A(x)=y∈L(x)x∈X
rA(x)={1max{f(x,A(x))f(x,y∗),f(x,y∗)f(x,A(x))}f(x,A(x))=f(x,y∗)f(x,A(x))≠f(x,y∗)
Bir yaklaşım algoritması çağırmadan önce olduğu gibi , eğer yaklaşım oranı , her girişi için ile sınırlanırsa , optimizasyon problemi için bir -yaklaşım algoritmasıdır .
Ve eğer yine , optimizasyon problemi için bir -yaklaşım algoritması , zaman , onaylanabilir olarak adlandırılır . Yine, sadece kötü durum yaklaşık bakım ve tanımlamak maksimal yaklaşımı-oran olması
ArOrA(x)r≥1x∈X
rA(x)≤r
rAOOr rA(n)rA(n)=sup{rA(x)∣|x|≤n}.
Buna göre, yaklaşık oran suboptimal çözümler için büyüktür . Böylece daha iyi çözümler daha küçük oranlara sahiptir. İçin şimdi o olduğunu yazabilir -approximable. Ve durumunda , önceki örnekten olduğunu biliyoruz . Göreceli hata ve yaklaşıklık oranı arasında basit ilişkilerimiz vardır:
1Minimum−SetCover(1+ln(n))Minimum−VertexCover2rA(x)=11−ϵA(x)ϵA(x)=1−1rA(x).
Optimum ve küçük sapmalar için , nispi hata, yaklaşık sapma oranına göre avantajlıdır, ki bu, büyük sapmaların ve için kuvvetlerini göstermektedir .ϵ<1/2r<2ϵ≥1/2r≥2
-approximable öğesinin iki sürümü, bir sürümde her zaman ve diğer sahip olduğundan çakışmaz . Durumda , bu sadece bir tam çözelti elde ve sonuç olarak tahmin-algoritmalar olarak işlenmesi gerekli değildir algoritmaları tarafından ulaşılır ulaşılmaz sorun değildir.αα≤1α≥1α=1
Başka bir sınıf genellikle APX görünür . Tüm optimizasyon-problemleri grubu olarak tanımlamak olan dan bu sığınak, bir ile -approximation algoritması polinom zamanda çalışır olduğunu.ONPOrr≥1
Neredeyse bitti. Biz başarılı fikirleri kopyalamak istiyoruz indirimleri ve tamlanışını karmaşıklık teori. Gözlem, pek çok NP zor karar optimizasyon problemi varyantının birbirine indirgenebilirken optimizasyon varyasyonlarının yaklaşılabilirlikleriyle ilgili farklı özelliklere sahip olduğu yönündedir. Bunun nedeni, nesnel işlevi korumayan NP tamamlama indirgemelerinde kullanılan polinom-zaman-Karp azaltmadır. Amaç işlevler korunsa bile polinom-zaman-Karp-azaltma çözümün kalitesini değiştirebilir.
İhtiyacımız olan sadece optimizasyon-sorun örneklere eşleyen azaltılması, daha güçlü versiyonu örneklerine den değil, aynı zamanda iyi çözümler iyi çözümlere arka .O1O2O2O1
Bu nedenle biz tanımlayan yaklaşım koruyucu-azalma iki optimizasyon-problemleri için ve den . Diyoruz için -reducible olarak yazılır, iki işlevi vardır, eğer, ve ve sabit ile:O1=(X1,L1,f1,opt1)O2=(X2,L2,f2,opt2)NPOO1 APO2O1≤APO2ghc
- g(x1,r)∈X2 tüm ve rasyonelx1∈X1r>1
- L2(g(x,r1))≠∅ eğer tüm ve rasyonelL1(x1)≠∅x1∈X1r>1
- h(x1,y2,r)∈L1(x1) tüm ve tüm rasyonel ve tüm içinx1∈X1r>1y2∈L2(g(x1,r))
- Sabit için her iki fonksiyonun da ve girdilerinin uzunluğu polinom zamanda iki algoritma tarafından hesaplanabilir.rgh
- Biz tüm ve rasyonel ve hepsi için
f2(g(x1,r),y2)≤r⇒f1(x1,h(x1,y2,r))≤1+c⋅(r−1)
x1∈X1r>1y2∈L2(g(x1,r))
Bu tanımda ve çözeltisi kalitesine bağlıdır . Bu nedenle, farklı nitelikler için işlevler farklı olabilir. Bu genelliğe her zaman ihtiyaç duyulmaz ve sadece ve .ghrg(x1)h(x1,y2)
Şimdi, optimizasyon problemleri için bir azaltma nosyonuna sahip olduğumuza göre, sonunda karmaşıklık teorisinden bildiğimiz birçok şeyi aktarabiliriz. Örneğin, olduğunu biliyorsak ve de takip ettiğini .O2∈APXO1≤APO2O1∈APX
Son olarak , optimizasyon sorunları için -hard ve -complete ile ne demek istediğimizi tanımlayabiliriz :CC
Let bir optimizasyon-sorunun ve optimizasyon-problemlerin bir sınıfı sonra adlandırılır -Sert göre tüm ise tutar.ONPOCNPOOC≤APO′∈C O′≤APO
Böylece bir kez daha sınıfta en zor bir problem nosyonuna sahibiz . Bir şaşırtıcı değildir -Sert sorun olarak adlandırılır ile ilgili -Komple bunun bir eleman ise, .CC≤APC
Bu yüzden artık tamamlama ve tamamlama vb. Hakkında konuşabiliriz . Ve elbette şimdi rolünü üstlenen ilk tamamlayıcı bir problem göstermemiz . Neredeyse doğal olarak geliyor, olduğu gösterilebilir . PCP-Teoremi'nin yardımıyla bir kişi nin olduğunu gösterebilir .NPOAPXNPOSATWeighted−SatisfiabilityNPOMaximum−3SATAPX