計算複雑性理論において、時間構築可能関数とは、自然数から自然数への関数fであって、 f ( n )をチューリングマシンによってf ( n )の時間で構築できる性質を持つ関数のことである。このような定義の目的は、何らかのチューリングマシンの実行時間の上限を与えない関数を除外することにある。[ 1 ]
チューリングマシンは、記号を含むアルファベットを用いて標準的な方法で定義されるものとする。入力文字列以外のゼロを含む標準入力テープを備えています。文字列を表すつまり、それは単項表現です。。 させてバイナリ表現とする。
関数チューリングマシンが存在する場合、それは時間構築可能と呼ばれる。計算停止値を持つステップ。
この定義では、代わりに、2つは相互変換できるため手順。[ 1 ]
完全に時間的に構築可能な関数という概念もある。
関数チューリングマシンが存在する場合、完全時間構築可能と呼ばれる。有限個を除くすべての、ちょうど停止するステップ。[ 2 ]この定義は最初の定義よりやや一般的ではないが、ほとんどのアプリケーションではどちらの定義でも使用できる。[ 3 ]次の等価定理は、これら 2 つの概念が実際に使用されるほとんどの関数で等価であることを示している。
定理[ 3 ]:定理2.6もしは、ある関数である。有限個を除くすべての、(つまり、もし)、 それから時間構築可能であるのは、それが完全に時間構築可能である場合に限る。
関数チューリングマシンが存在する場合、空間構築可能と呼ばれる。そのため価値を伴う停止(または同等の))使用中空間。[ 1 ]
同様に、チューリングマシンが存在する場合、空間構築可能と呼ばれる。有限個を除くすべての計算正確にセルは空白ではなく、操作中に他のセルに書き込みは行われていない。[ 3 ]:定義2.4これは「完全に空間構成可能」と呼ばれることもある。しかし、この2つの定義は同等である。[ 3 ]:定理2.7
一般的に使用されるすべての機能(例:)は時間的にも空間的にも構築可能である。構造は単純です。例えば、は 1 つのネストされた for ループによって構築され、は、2 つの入れ子になった for ループなどによって構築されます。
もし時間構築可能であれば、最終的には定数となる。そうでなければ、入力全体を読み込むのに十分な時間がないからである。
宇宙空間に構築可能であっても。
計算可能な関数すべてについて計算可能な関数が存在するそれは時間的に構築可能であり、[ 3 ] :補題2.3
時間構築可能関数は、時間階層定理などの計算複雑性理論の結果で使用されます。時間階層定理は、アルゴリズムがf ( n ) ステップ以上経過したかどうかをO ( f ( n )) 時間で判定しなければならないチューリングマシンに依存しているため、これらの関数は重要です。もちろん、その時間内にf ( n )を計算できなければ、これは不可能です。このような結果は通常、すべての自然関数fに対して真ですが、人工的に構築されたfに対しては必ずしも真ではありません。これらの結果を厳密に定式化するには、定理が真となる自然関数 fの厳密な定義が必要です。時間構築可能関数は、このような定義を提供するためによく使用されます。
空間構成可能な関数も同様に使用され、例えば空間階層定理で使用されています。
この記事は、 PlanetMathの constructible の素材を組み込んでおり、Creative Commons Attribution-Share-Alike Licenseの下でライセンスされています。