Deigo'nun cevabı boyunca devam etmek için, öğrenme teorisinden gelen standart örnek karmaşıklık sınırları, "yaklaşık olarak doğru" bir program bulmaktan memnunsanız, çok fazla puan denemeniz gerekmediğini size söyler. Diyelim ki ikili olarak programları kodluyoruz, böylece d uzunluğunda sadece programlar var. Diyelim ki girdi örnekleri D üzerinde bir miktar dağılım var . Belki de amacınız neredeyse doğru olduğundan emin olduğunuz bir program bulmaktır ("Muhtemelen Yaklaşık Doğru" yani Valiants PAC öğrenme modelinde olduğu gibi). Yani örneklerin az sayıda alacak bir algoritma çalıştırmak istediğiniz olduğu x ~ D ile birlikte f ( x )2dDx∼Df(x)ve en azından olasılıkla D' den alınan girdilerin en az bir ( 1 - ϵ ) fraksiyonunda f ile anlaşan bir program P çıkarır . (1−δ)Pf(1−ϵ)D
Biz, sadece çekecek örnekler X ~ D ve çıkış herhangi bir program P uzunluğunun ≤ d kabul eder f tüm örneklerde üzerinde. (Biz varsayalım beri Bir varolmaya garanti f en fazla Kolmogorov karmaşıklığı vardır d ) ...mx∼DP≤dffd
Olasılık belirli bir program da ne ile katılmadığını f bir daha üzerinde ε örneklerin fraksiyonu ile tutarlıdır m, biz, seçilen örnekler? En fazla ( 1 - ϵ ) m'dir . Biz en az olmasını olasılığını almak istiyorum δ / 2 d yüzden her yerinde bağlı bir birlik alabilir 2 d programları ve olasılık en azından ile söylemek 1 - δ , hiçbir "kötü" programı bizim çizilmiş örneklerle tutarlıdır . Çözme, biz sadece m ≥ almak için yeterli olduğunu görüyoruz
1Pfϵm(1−ϵ)mδ/2d2d1−δ
örnekleri. (Kolmogorov karmaşıklığı sadece doğrusal birçok yanif...)
m≥1ϵ(d+log1/δ)
f
BTW, bunun gibi argümanlar "Occam's Razor" ı haklı çıkarmak için kullanılabilir: sabit bir sayıda gözlem göz önüne alındığında, bunları açıklayan tüm teoriler arasında, en düşük Kolmogorov karmaşıklığına sahip olanı seçmelisiniz, çünkü aşırı sığdırma şansı en azdır.
Tabii ki, tek bir sabit programı bu şekilde kontrol etmek istiyorsanız, sadece örneklerine ihtiyacınız vardır ...O(log(1/δ)/ϵ)