NP-komple problemler neden yaklaşımları açısından bu kadar farklı?


22

Soruya, programcı olduğumu söyleyerek başlamak istiyorum ve karmaşıklık teorisinde çok fazla geçmişim yok.

Fark ettiğim bir şey, birçok sorunun NP-tamam olmasına rağmen, optimizasyon problemlerine genişlediğinde, bazılarının diğerlerinden yaklaşık olarak daha zor olması.

İyi bir örnek TSP'dir. Her türlü TSP NP-komple olmasına rağmen, karşılık gelen optimizasyon problemleri ardışık sadeleştirmelerle hesaplanması daha kolay ve daha kolay hale gelir. Genel durum NPO tamamlandı, metrik durum APX tamamlandı ve Öklid vakasında aslında bir PTAS var.

Bu bana karşı sezgisel görünüyor ve bunun bir nedeni olup olmadığını merak ediyorum.


2
Temel bilgileri okumak istiyorsanız, referans sorumuza bakın . Sorunuza gelince, zayıf ve güçlü NP-tam problemler arasındaki farkı gözlemliyorsunuz .
Raphael

Yanıtlar:


14

NP-komple problemler için farklı yaklaşım karmaşıklıklarını görmemizin bir nedeni, NP-komple için gerekli koşulların, bir problemin karmaşıklığının çok kaba taneli bir ölçüsünü oluşturmasıdır. Bir problemin temel tanımını biliyor olabilirsiniz tamamlayıcı olması:Π

  1. Π , NP cinsinden ve
  2. Her sorun için np, biz bir örnek açabilirsiniz ait örneğidir içine arasında öyle ki polinom zamanda bir evet-örneğidir ancak ve ancak bir evet-örneğidir .ΞxΞyΠyΠxΞ

Koşul 2'yi göz önünde bulundurun: tüm gerekli olan, alıp "tek-bit" evet / hayır cevabını koruyan çevirebiliriz . Örneğin, şahitlerin göreceli büyüklüğü ile ilgili evet veya hayır (yani, optimizasyon bağlamındaki çözümün boyutu) ile ilgili hiçbir koşul yoktur. Bu nedenle, kullanılan tek ölçü, çözümün boyutu üzerinde çok zayıf bir koşul veren girdinin toplam büyüklüğüdür. Oldukça "kolay" olduğunu Yani bir çevirmek bir içine .xyΞΠ

Bazı basit algoritmaların karmaşıklığına bakarak çeşitli NP-komple problemlerdeki farkı görebiliriz. -Renklendirme, kaba bir kuvvetine sahiptir (burada , girdi büyüklüğüdür). İçin -Dominating Set, bir ham kuvvet yaklaşımıdır almak . Bunlar, özünde sahip olduğumuz en iyi kesin algoritmalardır. -Vertex Cover, ancak çok basit bir algoritmasına sahiptir (bir kenar seçin, hangi uç noktanın ekleneceği, tüm kaplamayı işaretleyin, kenarları işaretlenene veya isabet edene kadar devam edin) bütçenizkO(kn)nkO(nk)kO(2knc)kve bactrack). Polinom-zamanında çok-bir azaltma altında (Karp azaltmaları, yani yukarıda 2. durumda ne yaptığımız) bu sorunlar eşdeğerdir.

Karmaşıklığa biraz daha hassas araçlarla yaklaşmaya başladığımızda (yaklaşıklık karmaşıklığı, parametreli karmaşıklık, aklıma gelmeyen diğerleri), kullandığımız azaltmalar çözümün yapısına daha katı veya daha duyarlı hale geliyor ve farklılıklar ortaya çıkmaya başlar; -Vertex Cover (Yuval'ın bahsettiği gibi) basit bir 2-yaklaşıma sahiptir (ancak bazı karmaşıklık sınıfları çökmediği sürece bir FPTAS yoktur), -Ayarın Seti -aproximasyon algoritmasına sahiptir (ancak -bazı ) ve yaklaşım, -Coloring'in ileri düz versiyonu için hiç bir anlam ifade etmiyor .kk(1+logn)(cgünlükn)c>0k


13

O(günlükn)1/2+k/nkO(1) yaklaşım algoritması.

Bu örnekler tamamen oluşturulmamıştır. MAX-INDEPENDENT-SET'in (MAX-CLIQUE'ye eşdeğer) ve MIN-VERTEX-COVER ile ilgili problemleri yakından ilgilidir - bağımsız bir setin tamamlayıcısı bir köşe örtüsüdür. Fakat birincisine yaklaşması zor olsa da, ikincisi basit bir 2-yaklaşımına sahiptir.

Belirli bir problemin NP sertliğini gösteren indirimler bazen yaklaşıklığın sertliğini göstermek için de kullanılabilir, ancak bu her zaman böyle değildir - bu azalmaya bağlıdır. Örneğin, MAX-INDEPENDENT-SET'ten MIN-VERTEX-COVER değerine düşürülmesi, önceki problemin yaklaşık olarak tahmin edilmesi zorluğunu göstermez;

Özetlemek gerekirse, NP sertliği bir problemin sadece bir yönüdür. Yaklaşımın sertliği farklı bir özelliktir ve kuvvetle yaklaşım kavramına bağlıdır.


Luke Mathieson'un karp azaltmalarının, yaklaşım karmaşıklığı sınıfları için kullanılan azaltmalardan doğal olarak daha az "hassas" olduğu konusundaki sezgisel ifadesine katılıyor musunuz? Olmazsa, bu fikre karşı iyi örnekleriniz var (belki EXP gibi diğer karmaşıklık sınıflarında)?
GregRos

PNPP=NP

5

Sezgisel bir yaklaşım olarak, NP-tamamlanmış sorunların somutlaştırılmasının her zamanki gibi zor olmadığını düşünün. İkili doyma kabiliyeti (SAT) NP tamamlandı, ancak çözümü A v B v C v D v ... 'ye bulmak çok önemli. Karmaşıklık algoritmaları en kötü durumu, ortalama durumu değil, hatta% 90 durumunu bağladı. .

NP-tamam problemini daha basit bir şeye indirgemenin en kolay yolu sert parçaları dışlamaktır. Hile yapıyor, evet. Ancak çoğu zaman kalan parçalar gerçek dünyadaki problemleri çözmek için hala faydalıdır. Bazı durumlarda, "kolay" ve "zor" arasındaki çizginin çizilmesi kolaydır. TSP'ye dikkat çektiğiniz gibi, sorunu bir kişinin düşünebileceği "normal" yönler etrafında sınırladığınızda zorlukta güçlü bir azalma olur. Diğer problemler için , kolay ve zor kısımları ayırmak için gerçek hayattaki faydalı yollar bulmak daha zordur.

Tamamen CS ve matematik alanını bırakmak için eski bir araba düşünün. Arkadaşın araba sürmek istiyor. Ona söylemek zorundaysan, "hey, araba mükemmel çalışıyor. Sadece 95mph'nin üstüne çıkma. Seni yoldan çıkaracak pis bir yalpalama var", muhtemelen büyük bir sorun değil. Arkadaşın muhtemelen sadece yine de kasabaya götürmek istemiştir. Bununla birlikte, ona "1'den 2'ye doğru gitmek için debriyajı yumuşatmak zorundasınız, yoksa motor durur" demeniz gerekiyorsa, arkadaşınızın kasabada küçük bir eğitim almadan araba kullanması daha zor olabilir.

Aynı şekilde, NP'nin tamamladığı bir sorun yalnızca egzotik durumlarda zorlaşırsa, alt alanlara baktığınızda karmaşıklığı oldukça hızlı bir şekilde azaltır. Bununla birlikte, sık görülen vakalarda zorlaşırsa, zor kısımdan kaçınan pek çok kullanışlı alt alan yoktur.


P=NP
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.