Her hesaplanabilir bir fonksiyon için, iyi çözülebilir bir sorun vardır halen mevcut İçeride ISTV melerin RWMAIWi'nin ( f ( n ) ) zaman ya da hesaplanabilir bir işlevi yoktur f bu şekilde çözülebilir her sorunun O ( f ( n ) ) , aynı zamanda olabilir çözülmesi o ( f ( n ) ) zaman?
Bu soru dün aklıma geldi. Bunu bir süredir düşünüyorum ama anlayamıyorum. Bunun için Google'ı nasıl yapacağımı gerçekten bilmiyorum, bu yüzden burada soruyorum. İşte ben geldim:
Her hesaplanabilir fonksiyon için: İlk düşüncem cevabı evet idi sorunu "Çıktı f ( n ) noktalar" (veya bir dize oluşturmak f ( n ) nokta veya her neyse) besbelli içinde çözülemez o ( f ( n ) ) zaman. Bu yüzden sadece O ( f ( n ) ) zamanda çözülebildiğini göstermemiz gerekiyor . Sorun değil, sadece aşağıdaki sahte kodu alın:
x = f(n)
for i from 1 to x:
output(".")
Açıkçası bu algoritma belirtilen sorunu çözüyor. Ve çalışma zamanı açıkça , bu yüzden problem çözüldü. Kolaydı, değil mi? Hayır hariç, ilk satırın maliyetini göz önünde bulundurmanız gerekmiyor. Yukarıdaki algoritmanın çalışma zamanı içinde sadece İçeride ISTV melerin RWMAIWi'nin ( f ( n ) ) hesaplamak için gereken zaman ise f ( n ) olan O ( f ( n ) ) . Açıkçası bu tüm fonksiyonlar 1 için doğru değildir .
Yani bu yaklaşım beni hiçbir yere götürmedi. Bunu doğru bir şekilde anlayabilmem için beni doğru yönde işaret eden herkes için minnettar olurum.
1 n , aksi takdirde n asal 2 ise fonksiyonunu düşünün . Açıkça O ( s ( n ) ) = O ( 1 ) , ancak bir algoritma bu hesaplar vardır s olarak O ( 1 ) zaman.