Karar problemlerine karşı evet-hayır-hayır-gerçek problemler


36

Ben bazı sorunlar yaklaştığı zor olduğunu birçok yerde okumak (o NP-zor yaklaşmak için onları). Ancak yaklaşım bir karar sorunu değildir: cevap evet veya hayır değil gerçek bir sayıdır. Ayrıca istenen her bir yaklaşım faktörü için doğru ve birçok yanlış olan cevaplar vardır ve bu istenen yaklaşım faktörü ile değişir!

Peki bu sorunun NP zor olduğunu nasıl söyleyebiliriz?

(ikinci kurşun esinlenerek ne kadar zor yönlendirilmiş grafikte iki düğüm arasındaki basit yolların sayısı sayılarak nedir? )

Yanıtlar:


27

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)XLxXx fy L ( x ) örneği vemaliyetiniveyadeğerini belirleyin. o p t biz maksimize veya minimize edilip söyler.(x,y) yL(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 , yyoptL(x)xXO=(X,L,f,opt)En iyi çözüm genellikle ile gösterilir Y * .

f(x,yopt)=opt{f(x,y)yL(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)

  1. XP
  2. 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|)xXyL(x)yL(x)
  3. polinom sürede değerlendirilebilir.f

Arkasındaki sezgi:

  1. gerçekten optimizasyon problemimizin geçerli bir örneği olup olmadığını etkin bir şekilde doğrulayabiliriz .x
  2. 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 .yL(x)x
  3. Bir çözelti değeri etkin bir şekilde tespit edilebilir.yL(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)yL(x)xX

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 ) | .yL(x)xXO=(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 .AOkAxXk

Ö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 O l O r i nΔΔ+1ΔΔ+1 Mutlak hatanın 1 ile sınırlandırıldığı bir sorun.MinimumEdgeColoring1

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)>0xXyL(x)

ϵA(x):={0f(x,A(x))=f(x,y)|f(x,A(x))f(x,y)|max{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)=yL(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)δ0xX

ϵA(x)δxX.

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/2MinimalVertexCoverMinimalVertexCover1/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.MinimumSetCover

|C||C|Hn1+ln(n)
MinimumSetCoverln(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)>0xXyL(x)AO rA(x)A(x)=yL(x)xX

rA(x)={1f(x,A(x))=f(x,y)max{f(x,A(x))f(x,y),f(x,y)f(x,A(x))}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)r1xX

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: 1MinimumSetCover(1+ln(n))MinimumVertexCover2
rA(x)=11ϵA(x)ϵA(x)=11rA(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/2r2

-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.ONPOrr1

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 APO2O1APO2ghc

  1. g(x1,r)X2 tüm ve rasyonelx1X1r>1
  2. L2(g(x,r1)) eğer tüm ve rasyonelL1(x1)x1X1r>1
  3. h(x1,y2,r)L1(x1) tüm ve tüm rasyonel ve tüm içinx1X1r>1y2L2(g(x1,r))
  4. Sabit için her iki fonksiyonun da ve girdilerinin uzunluğu polinom zamanda iki algoritma tarafından hesaplanabilir.rgh
  5. Biz tüm ve rasyonel ve hepsi için
    f2(g(x1,r),y2)rf1(x1,h(x1,y2,r))1+c(r1)
    x1X1r>1y2L2(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 .O2APXO1APO2O1APX

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.ONPOCNPOOCAPOC OAPO

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, .CCAPC

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 .NPOAPXNPOSATWeightedSatisfiabilityNPOMaximum3SATAPX


11
Oh ve lütfen bu nispeten uzun yazı için özürümü kabul ediyorum, ama daha kısa bir tane yazmak için zamanım olmadı.
uli

1
Tabii ki, vuruş çizgisi PCP teoremi ile MAX3SAT ve SAT arasında bağlantı kurabileceğiniz ve böylece MAX 3SAT'ı bir sabitten daha iyi hale getirmenin NP-zor olduğunu göstermesidir. Bir anlamda, Cook-Levin teoreminin karşılığı.
Suresh

1
Tabii ki, ama bahsettiğiniz bu sonuç hatırladığım kadarıyla bir boşluk koruma azaltma ihtiyacı. Ve görevinizde zaten onlar hakkında yazdığınızdan, onları burada çoğaltmak istemedim.
uli

Harika cevap, +1! Cevabınız bazı referanslara dayanıyor mu acaba?
Tim

@Tim Tabii ki kitaplar var, başka bir cevabın
uli

19

Genellikle gösterilen, sorunun "Boşluk" versiyonunun NP sertliğidir. Örneğin, SET COVER değerini 2 faktöre yaklaştırmanın zor olduğunu göstermek istediğinizi varsayalım.

2-GAP-SET-COVER olarak adlandıracağımız SET COVER örneğini aşağıdaki "ver" örneğini tanımlarsınız:

Bazı sayı Fix . 2-GAP-SET-COVER, optimum ayar kapağının boyutunun ya da olduğu set kapağının tüm örneklerinden oluşur:

  • En fazla
  • en az2

Diyelim ki bir sorunun içine düştüğü iki durumdan hangisine karar verme problemi NP tamamlandı. Daha sonra SET COVER değerinin 2 katına yaklaştırılmasının NP zor olduğunu gösterdik, çünkü bu iki durumu ayırt etmek için böyle bir algoritma kullanabiliriz.


4

Var olan iki cevap oldukça bilgilendiricidir, ancak ikisinin de sorusuna cevap verdiğini sanmıyorum, "NP bir karar sorunu sınıfı olduğunda," Karar sorunu bile olmayan bir sorun nasıl NP-zor olabilir? " ?"

Cevap NP-zor ne anlama geldiğini hatırlamaktır. Bir sorun  NP her sorunun indirgenebilir eğer indirimleri çeşit altında NP-zor  . (Ve  NP NP zor ve NP ise tamamlandı.) Gayri resmi, NP zor demek "Eğer bu sorunu çözebilirsem, NP'deki her şeyi çözebilirim", bahsettiğiniz sorun olmasa bile NP cinsinden t. NP-sertliği, NP üyeliği gerektirmez, ancak doğru azaltma nosyonuna ihtiyaç duyar.LLL

Bazı örnekler.

  1. Herhangi bir NEXPTIME-komple problem  , polinom-zaman-birçok indirimler altında NP-zordur. NP'deki herhangi bir problem NEXPTIME içindedir, bu nedenle tanım olarak indirgenebilir  . Zaman sıradüzeni teoremi ile  , NP   cinsinden olamaz , bu yüzden NP tamamlanmaz.LLLL
  2. #SAT, CNF formüllerine tatmin edici atamaların sayısını hesaplama problemidir. Açıkça NP'de değil çünkü gözlemlediğiniz gibi NP karar problemlerinin bir sınıfı ve #SAT bunlardan biri değil. Bununla birlikte, #SAT polinom-zaman Turing azaltmalarında NP-zordur çünkü SAT'ı azaltabiliriz. Bir SAT örneği göz önüne alındığında, kaç tane tatmin edici ödevin olduğunu soruyoruz: en az bir tane varsa, "tatmin edici" diyoruz; Aksi takdirde, "tatmin edilemez".
  3. APPROXSAT'ın, bir CNF formülüne verilen tatmin edici atamanın sayısının 10'luk bir faktörü içinde olan bir sayı hesaplama problemi olmasına izin verin  . Sadece can sıkıcı olmak için diyelim ki, yuvarlama izniniz  var, diyelim ki üç tatmin edici ödev varsa, algoritmanın "0.3" düşünmesine ve bunu sıfıra yuvarlamasına izin verilir. Bu, polinom-zaman Turing azaltmalarında NP-zordur, çünkü ona hala SAT azaltabiliriz. Bir CNF formülü  verildiğinde,  yeni değişkenler olduğu için tatmin edici atamaların sayısını isteyin .  eğer ve sadece ise,  , amaφ φ φ ' = φ ( Z 1Z 10 ) , Z ı φ ' φ φ ' φ φ 'φφφφ=φ(Z1Z10)Ziφφφ  varsa, 1.000'den fazla tatmin edici ödeviniz olmasını garanti eder. Bu nedenle,  APPPXSAT algoritması yalnızca varphi'nin  en az 100 tatmin edici ödevi olduğunu söylerse tatmin edicidir.φφ
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.