Kolmogorov karmaşıklığını çıkartamaz mıyız?


28

Bize Turing makineleri ve evrensel Turing makinesinin bir ön ek içermeyen kodlama düzeltmek izin UU girişte söz ( T , x )(T,x) (önek içermeyen kodu olarak kodlanmış TT , ardından Xx ne olursa olsun, çıkışlar) TT girişi çıkış xx muhtemelen ( ikisi de sonsuza dek koşuyor). Kolmogorov karmaşıklığı tanımlar xx , K ( X )K(x) , en kısa programı uzunluğu olarak pp , öyle ki , U ( p ) = xU(p)=x .

TxT(x)|x|xT(x)K(x)lim inf | x | T ( x ) = lim inf|x|T(x)=

Koşullar gerekli çünkü

(a) eğerO zaman çıkış gelen trivially farklı bir sayı kolay olacağını K (x) bu daha büyük olduğu için x | | + c_U ,T ( x ) | x |T(x)|x|K(x)K(x)|x|+cU|x|+cU

(b) lim inf|x|T(x)<Clim inf|x|T(x)<C izin verilirse, hemen hemen tüm sayılar için "şans eseri" tahmin ederek hemen hemen tüm sayılar için 00 (veya başka bir sabit) çıktı verebiliriz. 00 (başka bir sabite göre) değerlendiren ve orada başka bir şey çıkaran (son derece birçok sayı) . X = 2 ^ n için 2 \ log n gibi bir şey çıkararak \ limsup_ {| x | \ rightarrow \ infty} T (x) = \ infty bile garanti edebiliriz .lim sup|x|T(x)=lim sup|x|T(x)=2logn2lognx=2nx=2n

Ayrıca, eğer T(x)T(x) in varsayımsal olmadığını biliyorsak , ancak bunun hakkında çok az şey biliniyor olsaydık, işimizin kolay olacağını unutmayın , bu yüzden cevabım U’ya bağlı olabilir UU, sanırım.

Genel olarak ilişkilerin çok çalışıldığını biliyorum ama

Hiç kimse amacımız yok bir algoritma vermektir benzer bir soru sordu Has değil çıktı bazı parametreler?

Benim motivasyon bu sorun http://arxiv.org/abs/1302.1109 .


5
Bu, kodlamanıza bağlıdır, çünkü linklediğiniz kimliliği konusundaki başlıkta bahsedildiği gibi , sadece uzunluktaki programları geçerli olabilir. Bu nedenle sorunuzu önemsiz hale getirmek için kodlama konusunda daha fazla hipoteziniz olması gerekir. KKpp
Denis

2
İkinci sorunuza: evet. Tamsayı verildiğinde , [ M ] ' nin M- Turing makinesini göstermesine izin verin . Bir çapraz olmayan yinelemeli (veya DNR) işlevi bir fonksiyonudur f : NN , öyle ki tüm tamsayılar için E , [ M ] ( E ) f ( E ) . (Yani, eğer, bir [ E ] ile durur M , daha sonra f ( E ) [ M ] ( EMM[M]Mf:NNM[M](M)f(M)[M]M) , ve başka türlü f ( M ) keyfi olabilir.) Bunlar, hesaplanabilirlik / hesaplanabilir rastlantısallık topluluğu içinde oldukça yakın bir zamanda incelenmiştir. Google "bu çapraz olarak özyinelemeli olmayan" konuyla ilgili kağıtları bulmak için. f(M)[M](M)f(M)
Joshua Grochow

1
@Denis: Sanırım yanılıyorsun. İlk paragrafta verilen evrensel Turing makineleri tanımına göre, tüm uzunluklar geçerli programlar olabilir.
domotorp

3
Birkaç kez önce, daha basit bir sürüm için (boşuna) düşündüm: (dis) yeterince büyük x 0 , K ( x ) | x | / 2 için tüm x x 0 . x0K(x)|x|/2xx0
Marzio De Biasi

1
@Ricky: Sorun değil, Turing makinelerinin kodlamaları üzerinde yalnızca ilk paragrafta okuyabileceğiniz programlar üzerinde hiçbir kısıtlama yok.
domotorp

Yanıtlar:


7

Sorusu olsun veya olmasın olarak adlandırılabilecek edilebilir lim inf | x | | T ( x ) - K ( x ) | = 0 ve Denis yorumlarda da belirtildiği gibi, bazı kodlamalar için bu yanlıştır. İşte daha zayıf bir ifade ve kodlamanın hiçbir detayına bağlı olmayan bir girişimi. Ancak basitlik için ikili bir dil kabul edeceğim:liminf|x||T(x)K(x)|=0

Let , T : { 0 , 1 } *N tatmin hesaplanabilir bir fonksiyon olarak 0 T ( x ) | x | ve lim inf | x | T ( x ) = . Sonra lim inf | x | | T ( x ) - K ( x ) | < T:{0,1}N0T(x)|x|liminf|x|T(x)=liminf|x||T(x)K(x)|<. Gayri resmi olarak, her bir dizinin sınırsız genişlikte büyüyen Kolmogorov karmaşıklığı etrafında bir hedef varsa, hiçbir hesaplanabilir işlev çarpmamaktan kaçınamaz.

Bunu görmek için, n'nin rastgele bir b- bit sayı olmasına izin verin , yani 0 n < 2 b ve K ( n ) b . Tüm b'ler için böyle bir rastgele n vardır. Ayrıca değerlerine sonsuz sayıda olduğunu unutmayın b için | { T ( x ) = b } | 2 b , bu T'ye yerleştirilen koşullardan kaynaklanır . Şimdi izin x olmak n incinb0n<2bK(n)bbnb|{T(x)=b}|2bTxnthen küçük dize, T ( x ) = b . Açık bir sabit vardır c 1 olacak şekilde K ( X ) > b - c 1 , çünkü K ( n ) b ve n hesaplanabilir x . Ve sürekli orada c 2 , öyle ki K ( X ) < b + c 2 , çünkü K ( n )T(x)=bc1K(x)>bc1K(n)bnxc2K(x)<b+c2K(n)ayrıca yukarıdan sadece b den daha fazla bir sabit ile bağlanır ve x , n'den hesaplanabilir . Sonra | K ( x ) - T ( x ) | < c 1 + c 2 ve b için sonsuz sayıda seçeneğe sahibiz ( x en az 2 b olan bir kardinaliteye sahip olanlar için ), x için sonsuz sayıda değer elde ediyoruz, bu yüzden biz yaptık.bxn|K(x)T(x)|<c1+c2b2bx

Bunun bir sonucu olarak, bazı c Z , T ( x ) = K ( x ) + c için sonsuz sıklıktır. Öyleyse, Kolmogorov karmaşıklığı olmayan bir şeyi çıkartamayacağımızı söyleyebiliriz!cZT(x)=K(x)+c


1
Güzel, bence bu işe yaramalı. Tabii ki, f ( x ) = b ile herhangi bir dize olmayabilir , bu yüzden belki f ( x ) b'ye ihtiyacınız olabilir , değil mi? f(x)=bf(x)b
domotorp,

1
Bu olması gerekmektedir f ( x ) = b , böylece , n den hesaplanabilir olan x b , n . Yani, bir ihtiyaçları tahmin seçim b böylece 2 b + 1 veya dizeleri yüzden eşlenir. Tahminen varsayımlar, sonsuz sayıda böyle b olduğu anlamına gelmelidir (şu anda tam olarak göremesem de). (Söyleyebileceğim kadarıyla, varsayımlar başka hiçbir şekilde kullanılmadı.)f(x)=bnxb,n b2b+1b
Emil Jeřábek,

1
Evet, gerçekten buna ihtiyaç var. Ancak ispat çelişki ile kolaydır - eğer her zaman < 2 b ise b > b 0 ise , o zaman b 0 < b B aralığına bakarak, en azından B - b 0 karakterlerininb ile eşlendiği sonucuna varabiliriz. 0 , bu nedenle sınırsız sayıda lim inf = ∞ ile çelişen sonsuz sayıdadır . <2bb>b0b0<bBBb0b0lim inf=
domotorp

Denis'in konuştuğu şey, sorumluluğu ilk satırında evrenselliği tanımlamam için geçerli değildir. Konuşması da önemsiz, neden bu kadar çok insanın yorumunu reddettiğine dair hiçbir fikrim yok. Ama ne yazık ki Peter'in yanlış cevabı da çok fazla olumlu tepki aldı, bu siteye olan inancımı
kaybediyorum

Evrensel TM hakkındaki kriterlerim karşılandığı sürece TM'lerin nasıl kodlandığı önemli değildir, bu yüzden Denis'in yorumu yanlış. Başka bir model hakkında bir açıklama olarak ifade edilmiş olsaydı, o zaman farklı bir şey olurdu. Her neyse, bunun yerine geçmek yerine, fikrinizi güçlendirebilir miyiz görmeye çalışalım ...
domotorp

3

I think the following works. I'll use C(x) for the Kolmogorov complexity

  • Give U a time bound t (say, some exponential function of the length of the input program), and call the result Ut. If a program exceeds the timebound, Ut enters an infinite loop.
  • Let Ct(x) be the shortest program for x on t. Note that Ct is computable.
  • Let T(x) return Ct(x)+1, unless this value is equal to |x| in which case return 0. Unless x is the output of the empty program, in which case return 1.
  • Since C(x)Ct(x), T(x) will always be different from C(x). The logic in the previous step takes care of the edge cases.
  • Ut functions as a code for all strings, so it has limit inferior infinity.

a couple of comments, KC theory in an alternative (but equivalent) interpretation states the following: Almost all strings are already in their optimum representation (wrt to a given model) except denumerable many strings which can be transformed into an optimum representation (minimum) w.r.t to a given computation model (or TM). In this sense almost every program outputs optimum string representations, but these are not known (or computable) a-priori
Nikos M.

Why will you have T(x)|x|?
domotorp

@domotorp Technically we have T(x)|x|+c where c is the length of the shortest print program. Of course, this constant is also there for C(x) (and in fact, unless the print program is really slow, it's the same constant).
Peter

But this is what makes the whole question interesting! I could have asked any function instead of |x|, e.g., |x|/2+99, my only objective was to eliminate solutions similar to yours.
domotorp

@domotrop I see, so you want to force T(x) to not be an upperbound to C(x). That is more interesting...
Peter
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.