Girişleri tek tek kodlandığında, NP-zor veya tamamlayıcı sorunların karmaşıklığı değişiyor mu?


12

Güçlü bir NP-zor veya NP-tam probleminin (örneğin burada tanımlandığı gibi ) zorluğu , ikili kodlanmış yerine girişi tekli olduğunda değişiyor mu?

Güçlü bir NP-zor sorununun girişi tek olarak kodlanmışsa ne fark eder? Yani, örneğin zayıf NP-komple Knapsack problemini alırsam, ikili kodlandığında NP-tamamlanmış olur, ancak tekli kodlandığında dinamik programlama ile polinom zamanda çözülebilir. Belki de polinom zaman heirarşisinin yüksek seviyelerinin sertliği için bazı etkileri vardır?

Kuvvetli ...- zor kavramı, diğer polikom zaman hiyerarşisinin daha yüksek sınıfları gibi diğer karmaşıklık sınıfları için de geçerli midir?

Daha önce bu soruyu stackoverflow.com'da sordum ama burada daha uygun olduğuna dikkat çekildi .


Bu soruyu cstheory.stackexchange.com adresinden daha iyi sormalıyım ? Sadece var olduğunu bilmiyordum. Buradaki soranlar umduğum yöne gitmiyor.
user2145167

Neden olmasın? Onlar (söyleyebildiğim kadarıyla) doğru, belki de sorunuz sormak istediğiniz soru değil mi? Ayrıca, Teorik Bilgisayar Bilimi , araştırma seviyesi TCS soruları içindir, ki bu kesinlikle değildir.
Raphael

Yanıtlar:


4

Bir sorun, boyutu tekli kodlanmış boyutu , N ve log N ikili ise. Geçen süre ise F ( N ) , bu F ( boyut ) , birinci durumda F ( 2 boyutlu ) ikinci durumda. Yani birinci durum için polinom olan bir algoritma muhtemelen ikinci durum için üstel olacaktır. Sorunun kodlanması bir algoritmanın karmaşıklığını kökten değiştirebilir.N-N-günlükN-F(N-)F(boyut)F(2boyut)


3

Hayır.

Girişin kodlamasını değiştirirseniz, sorunun biçimsel tanımını değiştirmiş olursunuz, bu farklı bir sorun olduğu anlamına gelir . Orijinal sorunun karmaşıklığı değişmez, aynı nedenle gökyüzünde farklı bir ışığa işaret etmek ayın kütlesini değiştirmez.


2
PP1

2

Kısa cevap, eğer giriş tekli kodlanmışsa, o zaman daha uzun olmasıdır . Öyle katlanarak uzun. Şimdi, girişin boyutunda polinom zamanda çalışan bir algoritmanın sorunu çözmek için "yeterli zaman" vardır, çünkü girişin kendisi orijinal problemden katlanarak daha uzundur.


1

Formülasyon sorununun ötesine bakıldığında JeffE'nin cevabına işaret etti, cevap evet.

Sırt Çantası sorununu düşünün . Girişte kodlanan bir sayıdaki bir polinom tarafından çalışma zamanı olan bir sözde polinom algoritmasına sahiptir. Tekli kodlama değerlerinde uzunluğa karşılık geldiğinden, bu tekli sürüm için bir polinom-zaman algoritmasıdır.

Aslında, her zayıf NP-tamam problemi bu kategoriye girer.


Yan soru, ama hiç anlamadım - hatta bir şeyi nasıl "kodlarsınız"? Bir çeşit sınırlayıcıya ihtiyacınız yok mu?
user541686

@Mehrdad Evet ve hayır. Evet; ayırma sembolleri genellikle bu anlamda sayılmaz; cf ayrıca teybe karşı alfabe girer; burada sadece giriş alfabesinin boyutunu dikkate alıyoruz. Hayır; prensip olarak, bir sayı, tuples ve sayılabilen sayı kümelerini kodlamak için yeterlidir, böylece ayırma sembollerine ihtiyacınız yoktur. Bu, bu tür makinelerle "çalışmak" için açıkça yararlı değildir, ancak ayırma (ve diğer kontrol) simgelerini yoksaymayı haklı çıkarır.
Raphael

Hmm ... "Hayır" bölümünü anladığımdan emin değilim; Sonunda bir ayırıcı yoksa, sayının nerede bittiğini nasıl bilebilirsiniz? Bana biraz dairesel bir mantık gibi geliyor: ayırıcıları görmezden gelirsek, o zaman etkin bir şekilde "girdiyi katlanarak daha fazla yer kaplamaya zorlarsak, giriş boyutuna göre üstel bir algoritmanın çalışma süresini değiştirir mi? ?" cevabı önemsiz olan evet ... tanımı gereği. Ayırıcıları hesaba kattığınızda yapay olarak gereksiz bitler eklediğinden kodlamayı çok fazla değiştirmez.
user541686

@Mehrdad Tamam, sadece birden fazla sayıyı birbirinden ayırmayı düşünüyordum. Her durumda, uç işaretleyicileri gerekir . Turing makinelerinde "boş" semboller; kurtulamazsın. Geri kalanı bir numaraya kodlayabilirsiniz (bir çalışma zamanı cezasında, açıkça).
Raphael
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.