すべての計算可能な関数について、時間で最大で解決できる問題が存在するか、またはO (f (n ))で解決できるすべての問題ができるような計算可能な関数がありますo (f (n ))時間で解けるか?
この質問は昨日私の頭に浮かびました。少し前から考えていましたが、理解できません。どうやってこれをグーグルで検索するかわからないので、ここで質問します。ここに私が思いついたものがあります:
私の最初の考えは答えがイエスだということでした:すべての計算可能な関数について、問題「出力ドット」(またはドットなどで文字列を作成する)は明らかに時間。したがって、時間で解けることを示す必要があります。問題ありません。次の擬似コードを使用してください。
x = f(n)
for i from 1 to x:
output(".")
明らかに、このアルゴリズムは前述の問題を解決します。そして、ランタイムは明らかになので、問題は解決しました。簡単でしたね?いいえを除いて、最初の行のコストを考慮する必要があるからではありません。上記のアルゴリズムの実行時のみであるを計算するために必要な時間あればである。明らかに、すべての機能1に当てはまるわけではありません。
そのため、このアプローチでは私はどこにも行きませんでした。これを適切に理解するために正しい方向に私を指し示している人に感謝します。
1例として機能するために検討して。明らかにO (p (n ))= O (1 )ですが、時間でpを計算するアルゴリズムはありません。