NP zor bir sorunun hesaplanabilir olması gerekli midir?
Ben öyle düşünmüyorum ama emin değilim.
NP zor bir sorunun hesaplanabilir olması gerekli midir?
Ben öyle düşünmüyorum ama emin değilim.
Yanıtlar:
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 P
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 .
Ö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 ∈ A
Böylece, Durdurma Problemini çözen bir çoklu zaman algoritmasına tek bir çağrı ile , polinom zamanında herhangi bir problemini çözebiliriz .
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.
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 ,
- 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 ) .
- olan A ve ancak, eğer M ( ler ) içinde B .
Bir karar problemi olan NP-zor her NP karar problemi için, eğer A , A için polinom zamanlı indirgenebilir B .
Bir karar sorun hesaplanabilir bir algoritma var ise, , tüm şeritler için, s ,
- giriş s sağlarsanız , M durur ve "evet" veya "hayır" çıkışlarını verir.
- Eğer A'da ise çıkış "evet" , aksi takdirde "hayır" olur.
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. 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.
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 yapabiliriz: çı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.
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.
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ı çözmek . : Ö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 ile .
("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.)
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
problem()
Arayabileceğimiz bir işlev yok .
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.
Ş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 ?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 , T reddeder.
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 xtatmin edici bir CNF kodlar, sonra ayarlıyoruz, aksi takdirde L ( x ) : = 1 ayarlıyoruz .
Sonsuz sayıda adımlardan sonra, bir olsun gerçek bir dile rasgele şekilde tamamladığımız { 0 , 1 } ∗ renklendirmesi .
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 i , SAT'den L'ye bir azalma olduğunu ekarte eder.
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 problemi
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 verilir
İ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 Cı A , H , bir L t Cı- A değildir Cı A .
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 ‴ < . . .