Kolmogorov karmaşıklığını giriş “boyut” olarak kullanma


21

Diyelim ki bir dizi problem örneği (olası girdiler) olan hesaplama problemimiz var, örneğin 3-SAT . Normalde algoritmaların veya hesaplama karmaşıklığı teorisinin analizinde, uzunluktaki tüm girdilerin ve bir fonksiyonu bir çözelti algoritması çalışma süresini verir girişi . Zaman dizisini çalıştıran en kötü durum daha sonra S

I(n)={wS:|w|=n}
nT(w)AwA
fn=maxwI(n)T(w).

Şimdi Kolmogorov karmaşıklığı n olan tüm girdilerin I ^ K (n) = \ {w \ setlerini tanımlayalım ve f ^ K_n = \ frac {1 dizisini tanımlayalım } {\ left | I ^ K (n) \ right |} \ sum_ {w ^ in I ^ K (n)} T (w). Burada f ^ K , girişlerin "boyutu" nun uzunlukları değil Kolmogorov karmaşıklığı dışında A için ortalama çalışma süresi dizisidir .

IK(n)={wS:K(w)=n}
n
fnK=1|IK(n)|wIK(n)T(w).
fKA

fn asimptotik olarak f ^ K_n'den önemli ölçüde farklı olduğu algoritmalar var fnKmı? Öyleyse, algoritmaları analiz etmenin bu farklı yolunu kullanırken zaman karmaşıklığı değişen sorunlar var mı?


4
Harika bir soru! Sıklıkla merak ettiğim bir şey - umarım iyi yanıtlar alır. (Parametreyi Kolmogorov karmaşıklığı olan SAT parametresinin karmaşıklığı sorusu olarak görüntüleyebileceğiniz parametreli karmaşıklık b / c etiketini ekledim.)
Joshua Grochow

3
Rastgele dizeler, yani çoğu dizeler, orijinal uzunluklarına yakın Kolmogorov karmaşıklığına sahiptir. Girişlerin büyük çoğunluğu için fn=fnK Kolmogorov karmaşıklığı yerine hesaplama derinliği hakkında soru sorarsanız daha ilginç bir sonuç alabilirsiniz. google.com/…
Chad Brewbaker

2
Oluşturmak için sert diline PARİTENİN bazı durumlarda karıştırarak S (örneğin, örneğin ila dili tarif biraz geçiş her örneği önek ile), daha sonra fnK daha küçük olacaktır fn . Ne kadar küçük göreceli yoğunluğa bağlıdır.
András Salamon

1
Vadhan'ın ders notlarında bir yer var (19 Şubat): people.seas.harvard.edu/~salil/cs221/spring10/lectures.html
usul

1
@ AndrásSalamon, evet, umarım çok özensiz değilim, ama benceaslında meşgul-kunduz işlevi olmalıdır. nmaxw:K(w)=n|w|
usul

Yanıtlar:


14

Eşlik işlevini (veya girdinin tüm / çoğu bitine bağlı olan herhangi bir işlevi) düşünün. Eşlik işlevi için . Yani Öte yandan, T(w)=Θ(|w|)

fn=Θ(n).
fnK=Θ(1|IK(n)|w:K(w)=n|w|)Ω(12nmaxw:K(w)=n|w|).

olduğuna dikkat edin . Böylece ve . Benzer şekilde, ; böylece “çok hızlı büyür”. Dahası, için hesaplanabilir bir üst sınır olmadığını görmek zor değildir .K(22n)=O(n)

maxw:K(w)=n|w|22Ω(n)
fnK22Ω(n)/2nK(222n)=O(n)fnK222Ω(n)/2nfnK

9

Bu soruya ilgi düşünüldüğünde, cevaptan hiç şaşırmamamızın nedenini daha açık bir şekilde belirtmenin ve sorunun ayrıntılandırılması için bir yön vermeye çalışmanın yararlı olabileceğini düşündüm. Bu, bazı yorumları toplar ve genişletir. Bu "açık" ise özür dilerim!

Kolmogorov karmaşıklığı : dizelerini düşünün En fazla var olduğu gibi Dizeler, uzunluk açıklamaları . Ancak bu kümenin genel için kararsız olduğuna dikkat edin (aksi takdirde, sadece ye yineleyerek ve üyeliğini kontrol ederek hesaplayabiliriz . Ayrıca, işlevi rakipsiz hızlı büyür. Meşgul-kunduz işlevinin bir çeşididir: bir Turing Machine tarafından açıklama uzunluğu en uzun çıktısı nedirn

JK(n)={w:K(w)=n}.
2n2nnnK(w)n=1|w|JK(n)
gK(n)=maxwJK(n)|w|
n? Bu bazı hesaplanabilir fonksiyon daha yavaş büyüdü, biz durdurulması problemi karar verebilir: Bir TM Verilen , yapı taklit ve yazdırır her adımda. nin açıklama uzunluğu , ya: en fazla adımda durur ; veya durmaz.MMM1MnMgK(n)M

Şimdi, Andrew sorusuna, elimizde , orijinal dildir. Tek yol önlemek için Yani çok büyük içeren girişler eğer olurdu sadece çok uncompressible dizeleri içerir. (Aksi takdirde, burada en kötü durum ve ortalama durum analizi arasındaki farkı tamamen görmezden gelebileceğimizi unutmayın, çünkü en fazla dizeyi ortalıyoruz, ancak en büyük dizenin boyutu herhangi bir hesaplanabilir fonksiyonundan daha hızlı büyüyor . )IK(n)=SJK(n)SIK(n)nS2nn

Ben sadece sıkıştırılamaz dizeleri içeren, ancak karar verilebilir herhangi bir önemsiz (yani sonsuz) inşa etmek imkansız olduğunu hissediyorum . Ama bilmiyorum. Bununla birlikte, umarım bu, çoğu dilde hesaplanabilir bir fonksiyondan daha yavaş büyümesini neden gerektiği konusunda sezgi verir .SfnK

Biraz geri gitmek için soru, uzunluğundaki girdilerdeki performansı, uzunluğuna sıkıştırılabilen girdilerdeki performansla karşılaştırmaktır . Ancak Kolmogorov Karmaşıklığından çok daha izlenebilir (ve daha az güçlü) sıkıştırma kavramlarımız var. Basit bir şekilde bir boyutta devre vermek girişi üzerinde ikili sayı, üreten bit inci . Burada giriş boyutundaki artış en üsteldir ( büyüklüğünde bir devre en fazla olası girişe sahiptir).nnnbbwn2n

Bu yüzden soruyu izin vererek yeniden ifade edebiliriz Ve benzer şekilde tanımlayın . Buradaki umut nedeni, çoğu dizginin dizginin kendisi kadar büyük bir devre gerektirmesidir ve hiçbir dizginin gerekli devreden katlanarak daha büyük olmamasıdır. Belki de bu durumda ve asimptotik olarak benzer olduğu dilleri bulabiliriz .

IC(n)={wS:the smallest circuit implicitly specifying w has size n}.
fnCfnfnC

Oldukça yakından ilişkili bir soru, IMPLICIT_SAT NEXP-complete ve genellikle NP-complete sorunlarının örtülü sürümü NEXP-complete'tur. Karar IMPLICIT_SAT kolay sadece tüm yazmak için devre kullanarak gibi en az bir daha sonra SAT için bir algoritma çalışan . Yani SAT için ise, bu durum ortalama durumda IMPLICIT_SAT'ın SAT'ın en kötü durumda olduğu kadar çabuk karar verilebildiğine dair kanıt vermeye yakın görünmektedir. Ama kimse doğrudan çünkü kavramı için "en küçük devrenin örtük dillere anlayışına karşılaştırmak istiyorsunuz bilmiyorum

IMPLICIT_SAT={circuits C:C implicitly specifies w,wSAT}.
wwfnC=Θ(fn)w"örtük diller için devreye girmez.

Bu yararlı / ilginç olduğunu umuyoruz!

Örtülü problemlerden bahseden bir ders kitabından emin değilim, ama bazı ders notları: http://people.seas.harvard.edu/~salil/cs221/spring10/lec8.pdf


|JK(n)|=2n ? Ancak her açıklama asgari düzeyde değildir.
Andrew

1
@ AndrewMacFie, doğru, "en fazla" olmalıdır. Düzeltecek.
usul

Bu yanıtı eklediğiniz için teşekkür ederiz :) 3-SAT için herhangi bir algoritma gibi geliyor, hızlı büyüyecek. fnK
Andrew

4

Kolay bir durum, dilinin yalnızca dolgulu örnekler içerdiği görünmektedir . Tüm dil elde edilen boyutu her bir örneğini arzuya göre ile semboller, bölgesinde olabilir .SSLn2nnfnK2fn


Yury'nin cevabının bu cevabı verdiğini ve aynı zamanda “bölgesinde olabilir” i kesin kıldığını unutmayın.
András Salamon
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.