最後の数日間、私は(完全に)時間で構成可能な関数について多くのことを考え、Q1とQ3に答えることで見つけたものを紹介します。Q2は難しすぎるようです。
Q3:
彼の記事で小林(参照が問題である)関数ことが証明された、そこに存在するためにε > 0 ST F (N )≥ (1 + ε )nは、そのときに限り、完全に時間構成可能であるがO (f (n ))時間で計算可能。(入力または出力が単項/バイナリであるかどうかは無関係であることに注意してください。これらの2つの表現を線形時間で変換できるからです)。これにより、次の関数が完全に時間構築可能になります:2 n、f:N → Nϵ > 0f(n )≥ (1 + ϵ )nO (f(n ))2n、 n !、 nは⌊ ログN ⌋、すべての多項式 Pを超える N番目の P (N )≥ (1 + ε )nはより遅い成長、いくつかの機能のための...小林も証明した、完全に時間-constructibility(1 + ε )Nのように、 n個+ ⌊ ⌊ ログインN ⌋ Q ⌋のためのq ∈ Q + ...22nn !n⌊logn⌋pNp(n)≥(1+ϵ)n(1+ϵ)nn+⌊⌊logn⌋q⌋q∈Q+
完全に時間構成可能な機能の例を続行するためには、場合に証明することができとfが2で、次いで、完全に時間構成可能であるfは1 + F 2、F 1 、F 2、F F 2 1及びF 1 ∘ F 2でありますまた、完全に時間構成可能です(後者は、小林の定理3.1から直接続きます)。これにより、多くの優れた機能が実際に完全に時間構成可能であることを完全に納得させます。f1f2f1+f2f1f2ff21f1∘f2
小林(すてき)関数の完全時間constructibilityを証明する方法を見ていないことは驚くべきことである(と私は行いませんどちらも)。⌊nlogn⌋
私たちはまた、より精細コメントしてみましょうウィキペディアの記事を:関数チューリングマシンが存在する場合、時間が構成可能であるM列与えられ、1 nは、出力F (N )でO (F (N ))時間が。fM1nf(n)O(f(n)) この定義は、関数の完全な時間構築性の定義と同等であることがわかります。f(n)≥(1+ϵ)n
Q1:
この質問には本当に興味深い答えがあります。すべての時間構成可能な関数が完全に時間構成可能な場合、と主張します。それを証明するために、私たちは、任意の問題を見てみましょうL ∈ N E X P - T I M E、L ⊆ { 0 、1 } *を。次いで、存在するのk ∈ N、ST LはEXP−TIME=NEXP−TIMEL∈NEXP−TIMEL⊆{0,1}∗k∈NLNDTM により2 n k − 1ステップで解決できます。簡単にするために、各ステップMで最大2つの異なる状態になると仮定できます。今関数定義
F (N )= { 8 N + 2 であれば (第 ⌊ K √をM2nk−1M
f(n)={8n+28n+1if (first ⌊⌊logn⌋+1−−−−−−−−−√k⌋ bits of bin(n))∈Lelse
私は、が時間解釈可能であると主張します。次の決定論的チューリングマシンTを考えます。fT
- 入力上のの長さNは計算(第 ⌊ kは√wnでO(N)時間(first ⌊⌊logn⌋+1−−−−−−−−−√k⌋ bits of bin(n))O (n )
- 次に、これらのビットでをシミュレートします。ここで、wのビットは、どの(以前は非決定的)選択肢を選択するかを決定します。Mw
- iffを 受け入れます。(Mwで 指定された選択肢を使用して受け入れます )
音符の長さはその(= Nは)それがあるため、すべての非決定的選択を決定することは十分であるMの入力に(最初 ⌊ K √w= nM高々なるNステップを。(最初の ⌊ ⌊ ログN ⌋ + 1−−−−−−−−−√k⌋ bits of bin(n))n
我々は作ることができる せいぜいランを8つのn + 1ステップ。次のチューリングマシンは、fが時間構成可能であることを証明します。T8n+1f
- 入力上のの長さのn個実行Tそのexaclyように並列にステップをカウント8 Nステップが行われます。wnT8n
- 場合拒否されたり、次のステップで拒否し、次のステップで停止状態になります。それ以外の場合は、もう1ステップ進み、停止状態になります。T
ここで、が完全に時間構成可能であると仮定します。これがE X P − T I M E = N E X P − T I M Eにつながることを証明します。fEXP−TIME=NEXP−TIME
次のアルゴリズムは解きます。L
- 入力で、nをバイナリ表現x 00 … 0(| x | k − 1ゼロ)の数とします。その次、X = (最初 ⌊ K √xnx00…0|x|k−1。x=(first ⌊⌊logn⌋+1−−−−−−−−−√k⌋ bits of bin(n))
- 計算時間でF (N )と、それが2で割り切れるかどうかをチェックします。f(n)f(n)
このアルゴリズムは指数時間で実行され、を解きます。以来、L ∈ N E X P - T I M Eは、任意たE X P - T I M E = N E X P - T I M E。LL∈NEXP−TIMEEXP−TIME=NEXP−TIME