Her NP-zor problemi hesaplanabilir mi?


Yanıtlar:


15

Hayır, zor bir sorunun hesaplanmasına gerek yoktur. Tanımı oldukça tamamlanmıştır: Bir sorun, olan , bir poli-zamanlı çözümü olan bu sorunu her bir sorun ima halinde -Sert , bir poli-zaman çözümü vardır (olduğunu, bir indirgeme her problem bulunmaktadır .).L N P N P L N PNPLNPNPLNP

Hesaplanamayan sorunlar daha sonra zordur: diyelim ki polinom zamanda çözebiliriz. Sonra, hem hesaplanabilir hem de hesaplanamaz bir çelişki olduğunu kanıtlamak için hesapsız olduğunu kanıtlıyoruz. Bu yanlışlıktan, baktığımız problemi için polinom zaman algoritması olduğu gibi her şeyi türetebiliriz .NP

Örneğin, durdurma problemini düşünün . Herhangi bir azaltabilir dil için , aşağıdaki gibi bir polytime denetleyicisi olduğu varsayılarak eğer kontrol için bir belge olup, :N P A H f ( s , c ) c s AHNPAHf(s,c)csA

  • Verilen girişs
  • girişini alan Turing Machine (ancak çalıştırmayın) her sertifikasını dener ve , doğrulayan bir sertifika ise durur .x c c s AMxccsA
  • Dönüş (yani girişinde gerçek iff duraklarını döndür )M xH(M,x)Mx

Böylece, Durdurma Problemini çözen bir çoklu zaman algoritmasına tek bir çağrı ile , polinom zamanında herhangi bir problemini çözebiliriz .NP

Böyle bir azalma yararlı değildir, çünkü tek yaptığı şey "eğer yanlışsa bir şey" olup olmadığını söyler. Hesaplanamayan problemler için çoklu zaman algoritması olmadığını zaten biliyoruz.


7
"Tanım oldukça eksiksizdir", ancak cevabınızda bu alıntıyı takip eden şey değildir.

Bununla ilgili bir sorum var. Bazı uygun kısıtlamalar altında mümkün olan en büyük program seti için durma problemini çözen bir fonksiyon hayal edebiliyorum, ancak bu fonksiyonun hala hesaplanamayacağını hayal edebiliyorum (sonsuz miktarda bile olsa asla bulamayacağımız anlamında) . Bir şekilde eğer Oysa ki buna çözüm, hatta mutlaka tüm NP-zor sorunları çözmek gerektiğini bana açık değil. Yani ya bu cevaptaki mantık takip etmiyor (anlamsız! = Hesaplanamaz) ya da akıl yürütmem kusurlu (muhtemelen). Peki kusur nedir?
user541686

12
Bu cevabın çoğu, NP sert tanımınız da dahil olmak üzere yanlıştır: A problemi, "her NP problemi B için, B'nin A'ya çoklu zaman azalması" varsa NP zordur. Bu, "A poli zaman ise, P = NP" ile aynı şey değildir . (İkincisi, birincisinin bir sonucudur, ancak bunun tersi değildir.) Özellikle, NP zor olamayan neredeyse kesin olarak hesaplanamayan sorunlar vardır. Ayrıntıları çözemedim, ancak yeterince genel bir sette (zorlama anlamında) üyelik sorunu hile yapmalı. Bununla birlikte, durdurma seti indirgenmenizle NP zordur.

7
Böyle B'ye A'dan bir poli-time azaltılması düşünün: o polinom sürede çalışır, ancak tek bir adımda sorguya özel yetenek, bir kahini olduğu bir program olduğunu sorun B'nin cevaplar örnekleri olup olursa olsun olmadığı B için bir poli-zaman algoritması vardır, ya da B hesaplanabilir olsa bile, aşağıdaki soruyu sormak hala mantıklıdır: kehanetin kendisinden sorulan sorulara (tek bir adımda) doğru cevap verdiğini varsayarak, söz konusu program polinom zamanında çalıştırmak ve A problemini doğru bir şekilde çözmek?

2
@MikeHaskel Kehanet benzetmeniz ancak kehaneti sorguladıktan sonra programın bu kehanetle aynı cevapla durması gerektiğinde doğrudur. Aksi takdirde, co-SAT SAT'a düşer: kâhini sorgulayın ve olumsuzlayın. Turing indirgeme gibi bazı indirgeme kavramlarında bu kabul edilebilir, ancak standart çoklu zaman indirimlerinde veya hatta bir-bir indirgeme işleminde bu kabul edilmez.
chi

16

Bu toplulukta bu soru ile ilgili ciddi bir karışıklık var gibi görünüyor. Suyu temizleme ve hesaplanabilirlik ile NP sertliği arasındaki ilişkiyi aydınlatma umuduyla ayrıntılı bir cevap vereceğim.

İlk olarak, ilgili çeşitli tanımlarla ilgili açık ve net olmanın karışıklığı çözeceğine inanıyorum.

Bir dize bazı sabit sonlu alfabesinden karakterlerin bir sonlu dizisidir.

Bir karar sorunu bir dizi dizgidir. (Bu küme genellikle sınırsızdır.) Karar sorununu bazı mülkler için sınama dizeleri olarak düşünün: özelliğe sahip dizeler küme içindedir ve özelliği olmayan dizeler değildir.

İki karar problemleri olduğunu varsayalım ve B . Ki bir bir polinom zamanlı indirgenebilir için B bir polinom varsa p ( x ) ve bir algoritma bir algoritma M bu şekilde, bütün dizileri için s ,ABABp(x)Ms

  • Eğer sağlarsanız girişi ile s , M duraklamalara daha az yer p ( | s | ) (adımlar | s | dize uzunluğudur lar ) ve bir dizge çıktılar M ( ler ) .MsMp(|s|)|s|sM(s)
  • olan A ve ancak, eğer M ( ler ) içinde B .sAM(s)B

Bir karar problemi olan NP-zor her NP karar problemi için, eğer A , A için polinom zamanlı indirgenebilir B .BAAB

Bir karar sorun hesaplanabilir bir algoritma var ise, , tüm şeritler için, s ,Ms

  • giriş s sağlarsanız , M durur ve "evet" veya "hayır" çıkışlarını verir.MsM
  • Eğer A'da ise çıkış "evet" , aksi takdirde "hayır" olur.sA

Yukarıdaki tanımlarla, sorunuzun kök karışıklığı olabileceğini düşündüğüm şeyi hemen açıklığa kavuşturabiliriz: karar problemi, indirimler veya NP-sertlik tanımlarındaki hiçbir şey karar sorunlarının hesaplanmasını gerektirmez. Tanımlar karar problemlerini keyfi dizeler olarak düşünmek için mükemmel bir anlam ifade eder ve bu kümeler gerçekten çok kötü olabilir.


Masanın üzerinde iki soru kalıyor:

  1. Tanımlar, hesaplanamayan fonksiyonların NP-zor olabileceği ihtimalini açık bırakır. Var mıdır aslında olmayan hesaplanabilir NP-zor fonksiyonlar?
  2. Bir sorunun NP-zor olduğunu söylemenin, çözmenin zor olduğunu söylediği bir sezgi vardır. Hesaplanamaz olduğunu söylemek, çözmenin "gerçekten zor" olduğunu söylemek gibidir. Peki, hesaplanamayan tüm sorunlar NP zor mudur?

1. soruya cevap vermek daha kolay. NP zor olan hesaplanamayan karar problemlerini bulmanın iki önemli yolu vardır. Birincisi durma problemi: durma problemi , her hesaplanabilir karar probleminin polinom zamanının H'ye indirgenebilir olması özelliğine sahiptir . NP problemleri hesaplanabilir olduğundan, her NP problemi polinom zamanı H'ye indirgenebilir , bu nedenle H NP-zordur.HHHH

Hesaplanamayan, NP zor bir problem oluşturmanın diğer önemli yolu, bilinen herhangi bir NP zor problemi bilinen herhangi bir hesaplanamayan problemle birleştirebildiğimizi gözlemlemektir. Let NP-zor ve B olmayan hesaplanabilir olması. Karar problemi A B'yi şu şekilde oluşturun: A B , "0 formunda olan dizeleri, ardından A " da bir dize ve "1 formunda olanları, ardından B'de bir dize içerir . A B NP-zordur çünkü herhangi bir sorunu (herhangi bir sorunun) A'ya indirgemek için A B'ye indirgeme yapabilirizABABABABABAAB: çıkış dizesinin önünde fazladan bir "0" çıktısı almak için algoritmayı değiştirin. hesaplanamaz, çünkü A B hesaplaması "1" ile başlayan dizelerin sette olduğuna karar vermeyi gerektirir; bu imkansızdır, çünkü B hesaplanamaz.ABABB


Soru 2 önemli ölçüde daha aldatıcıdır, ancak aslında NP zor olmayan (P NP olduğu varsayılırsa ) hesaplanamayan karar problemleri vardır . Yuval'ın iyi cevabı böyle bir karar sorununu açıkça ortaya koyuyor. (Odadaki herhangi bir hesaplanabilirlik teorisyeni için, herhangi bir "Cohen Π 0 1 -generic" de işe yarayacaktır.) "NP-zor problemlerin zor, hesaplanamayan problemlerin zor olduğu sezginin neden daha zor olduğunu anlatacağım " Hata.Π10

NP sertliği ve hesaplanamazlık, bir sorunun çok genel anlamda "zor" olduğunu söyler, ancak çok farklıdır ve aynı türden bir fenomenle bir araya getirilmemelidir. Özellikle, NP-sertlik "olumlu" bir özelliktir: NP zor bir problem için kısa notlar erişimin verilen anlamda zor A , sen yapabilirsiniz sorunların bir sabit sınıfını çözmekAA . : Öte yandan, sigara computability bir "olumsuz" bir özelliktir olmayan hesaplanabilir sorun O anlamda zor olamaz çözmek A kaynaklarının belirli bir sınıf ileAA .

("Zorlama" bu arada bahsettiğim "Cohen jenerik" ini üretmek için kullanılan tekniktir . Çok belirsiz olmak için, zorlama, "jenerik" olan şeyleri üretmenin genel bir yoludur. hiçbir olumlu özellik ve her olumsuz özellik yok. Bu yüzden zorlama, ne hesaplanabilir ne de NP zor olan bir sorunu doğrudan üretebilir.)Π10


2
Köşegenleştirme ile NP açısından zor olmayan kararsız bir dil oluşturamaz mısınız? Tüm karar vericilere ve SAT'ın tüm çoklu zaman azaltmalarına karşı köşegenleştirin.
Yuval Filmus

1
@YuvalFilmus Muhtemelen işe yarıyor, evet. SAT'ın çoklu zaman azaltımlarına karşı çaprazlaştırmanın olası miktarların neden olduğunu ayrıntılarını yazmanın, zorlama işlerini göstermenin tadına benzediğini düşünüyorum, bu yüzden bu terimler hakkında düşünmedim.

1
@YuvalFilmus Ayrıca P NP'yi varsaymanız gerektiğine dair açıklamayı da ekledim: Kanıtımda kesinlikle "NP'de biraz sorun var ama P'de değil" yazan bir adım vardı.

1
@aelguindy Bunu kanıtlamak için en erişilebilir yöntemin ne olduğundan emin değilim. Çok genel ve güçlü olan zorlama tekniğinden bahsettim . Ders kitaplarından değil insanlardan öğrendim, bu yüzden zorlama konusunda büyük bir referans olduğunu şahsen bilmiyorum. Bununla birlikte, Yuval'ın işaret ettiği gibi, zorlama muhtemelen aşırıdır: köşegenleştirmeyi içeren daha doğrudan bir tartışma muhtemelen işe yarıyor. Soare'nin "Yinelemeli Numaralandırılabilir Kümeler ve Dereceler", aşina olmak istiyorsanız, bu tarz bir argüman türünü kapsayan bir ders kitabıdır. Yine de, çoğu muhtemelen aşırıya kaçmış. ...

1
@aelguindy Ayrıca, bir dizi karar problemini topolojik bir alan olarak düşünüyorsanız, muhtemelen bir kanıt üretmek için Baire Kategori teoremine masaj yapabilirsiniz . Bu teorem zorlama ile yakından ilgilidir, ancak daha yaşlı ve daha açıktır.

11

Hayır! NP-Hard, en zor NP problemlerinden daha sert veya daha sert olduğu anlamına gelir. Sezgisel olarak, hesaplanamaz olmak NP'den çok daha zor hale getirecektir.

Wikipedia:

NP-zor ancak NP-tam olmayan karar problemleri vardır, örneğin durdurma problemi.

Herkes bunun hesaplanamayacağını biliyor


4
Bazı hesaplanamayan sorunların (durdurma sorunu gibi) NP-zor olmasına rağmen, bu hesaplanamayan tüm sorunların NP-zor olduğu anlamına gelmez. Jmite'ın cevabı hakkındaki yorumlarıma bakın. NP-sertliği olumlu bir özelliktir: probleminize cevapların NP problemlerini çözmeye yardımcı olabileceğini söylüyor . NP-zor olmak, sorunun bir dereceye kadar zor olduğu anlamına gelir. Tüm zor problemler NP-zor değildir.

@MikeHaskel: Durdurma problemine çözüm bulmak tüm problemleri durdurma probleminin P * zorluğuna indirgiyor ..
Joshua

1
@Joshua: Bu hiç mantıklı değil. Kanıt olmayan bir parça gibi. Bir problemin çözümünde sınırlı sayıda bite sahip olması için ne demek istiyorsun ve bunun neden tüm hesaplanamayan problemler için geçerli olduğunu düşünüyorsun? "P * dur" ile ne demek istiyorsun? Geri kalanı "n. Biti ile azalt" mı?
user2357112 Monica

1
@Joshua: Asıl mesele, her sorunun bir Turing makinesine karşılık geldiğini varsaymanızdır. Her sorun bir Turing makinesine karşılık gelmez. problem()Arayabileceğimiz bir işlev yok .
user2357112 Monica

1
Muhtemelen bunu sohbet etmek veya başka bir şey için taşımalısınız
Yıkılabilir Limon

9

Tamlık için aşağıdaki teoremi kanıtlayalım:

Sadece P NP ise NP zor olmayan hesaplanamayan bir dil vardır .

P = NP önemsiz olmayan herhangi bir dil (farklıdır bir Eğer NP-sert (egzersiz) olduğu), ve özellikle de herhangi bir uncomputable dil NP zordur.,{0,1}

Şimdi P NP olduğunu varsayalım . Let T i tüm Turing makinelerinin bazı numaralandırma olun. Gerekli dil L'yi aşamalar halinde oluşturacağız. Her aşamada bir tutacak { 0 , 1 , ? } L ile de belirttiğimiz { 0 , 1 } ∗ ' nin renklendirilmesi ; burada 0 , dizenin L' de olmadığına karar verdiğimiz anlamına gelir , 1 , dizenin L' de olduğuna karar verdiğimiz anlamına gelir ve ?TiL{0,1,?}{0,1}L0L1L?henüz karar vermediğimiz anlamına gelir. Sonlu pek çok dize hariç tümü renklendirilecek .?

Adım , T i'yi girdisini kabul eden, reddeden ya da asla durmayan bir makine olarak düşünüyoruz . Eğer T i her zaman o durdurmak değil biz bir şey yapmıyoruz. Eğer T i her zaman o zaman bir dize bulmak durur x böyle L ( x ) = ? Ve grubu L ( X ) : = 0 ise , T i ( x ) kabul eder ve L ( X ) : = 1 ise , T2iTiTiTixL(x)=?L(x):=0Ti(x)L(x):=1 reddeder.Ti(x)

Adım , T i'yi girişinde (muhtemelen) kısmi bir işlevi hesaplayan bir makine olarak düşünüyoruz . Eğer T i toplam değilse veya toplam ise ancak polinom zamanında çalışmazsa veya toplam ise ancak menzili sonlu ise, hiçbir şey yapmayız. Eğer T i polinom sürede çalışır, toplam ve sonsuz yelpazesine sahiptir, o zaman bir dize bulmak x öyle ki L ( T i ( x ) ) = ? . Eğer x S A , T (olduğundan, eğer x2i+1TiTiTixL(Ti(x))=?xSATxtatmin edici bir CNF kodlar, sonra ayarlıyoruz, aksi takdirde L ( x ) : = 1 ayarlıyoruz .L(x):=0L(x):=1

Sonsuz sayıda adımlardan sonra, bir olsun gerçek bir dile rasgele şekilde tamamladığımız { 0 , 1 } renklendirmesi .{0,1,?}{0,1}

Ortaya çıkan dili hesaplanamaz: adım 2 i , T i'nin hesaplamamasını sağlar. Ayrıca NP zor değil, ama burada akıl yürütme biraz daha hassas. Varsayalım ki , T i SAT ila bir polytime azalmadır L . Aralığı ise T i sonludur o zaman açabilirsiniz T i doğruluk tablosunun listeleyerek, SAT karar bir polytime makinesine L aralığında üzerinde T i . P NP varsayımı ile bu mümkün değildir . Bu nedenle , T i sonsuz sayıda olsa da, daha sonra aşama 2 iL2iTiTiLTiTiLTiTi , SAT'den L'ye bir azalma olduğunu ekarte eder.2i+1L


3

Her L N P için L polinom zamanının L'ye indirgenebilir olması durumunda dili NP zordur . Belirsiz Turing makineleri için kabul problemiLLNPLL

ANTM={M,wM is a nondeterministic Turing machine that accepts w}

kararsızdır ve NP zordur. Bir düşünün . L ' bir nondeterministic Turing makine tarafından karar M ' polinom zaman karmaşıklığı ile. Bir poli-zaman azaltma f den L " için bir K , T , M ile verilirLNPLMfLANTM

f(x)=M,x

3

İnsanların hesaplanamayan NP-zor bir sorun olmadığını düşünmelerine neden olan şey, NP-sertliğinin P veya NP gibi sertliklerinde bir üst sınır değil, bir sorunun sertliği üzerinde bir alt sınır olduğu noktasını kaçırmalarıdır.

L dilinin NP-sert olması, NP'deki dilin üstünde olduğu anlamına gelir. Şimdi bunu anlarsanız, keyfi olarak daha zor bir problem olduğunu göstermek gerekir.

Let bir dil olması. Bir kara kutu ile zenginleştirilmiş algoritmaları A üyeliğine karar vermek için kullanabileceklerini düşünün . En bunları göstersin C A . Bunun için durdurulması problem görmek kolaydır A , H , bir L t Cı- A değildir A .AACACAHaltCACA

Computablity Teorik olarak bu denir atlama arasında ve ile gösterilir A ' . Bu yüzden A < A kesinlikle. Ve hiçbir şey bunu tekrar etmemizi engellemez: A < A < A < A < . . .AAA<AA<A<A<A<...

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.