単元一覧 › 大学院数学 計算理論・ラムダ計算

計算理論・ラムダ計算の問題

難易度 2大学院の講義の演習問題レベル大学院数学 計算理論・ラムダ計算

とし、 を空列 を含む 上の有限列全体、 を列 の長さ、 を長さ の列全体とする。部分計算可能関数 に対し、 の に関する(プレーンな)記述複雑性を

で定める。ただし となる が存在しないときは とする。 の定義域が接頭語自由であることは仮定しない。

すべての部分計算可能関数 を考えたときの

の最小値を求めよ。

この問題で使うもの

この問題を解けるようになるまで(11 技能)
算数中学高校大学大学院

読み込み中…

右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。

一覧で見る(前提が先)
  1. 四則の混じった計算の順序
  2. 等間隔にならんだ数の和
  3. 分数のたし算・ひき算
  4. 小数の四則計算
  5. 正負の数の加法・減法
  6. 分数のかけ算・わり算
  7. 正負の数の乗除・累乗と四則混合
  8. 分配法則を使った計算のくふう
  9. 文字式の計算(同類項・分配法則)
  10. 等差・等比数列の和と Σ
  11. 記述複雑性とカウンティング論法

ヒント

行き詰まったら、上から順に 1 つずつ開いてください。

ヒント 1

は関数なので、異なる出力の最短記述は異なる列になる。長さ 未満の記述が何個あるかを数えよう。

ヒント 2

となる は高々 個。値を小さい順に並べると 番目は 以上になる。

ヒント 3

下界は 。これが達成できる を有限の表で作り、和を計算する。

答えと解説

答えを見る
結果を記録する(このブラウザにだけ保存されます):
解説を読む

下界. 各 について でなければ なので、すべて有限の場合を考える。各 に対し , となる最短記述 を 1 つ選ぶ。 は関数なので、 なら より 。つまり は単射である。

長さ 未満の列は 個しかないので、 となる は高々 個である。そこで の 個の値 を小さい順に と並べる。もし なら はすべて 未満なので 。したがって なら となり、

が成り立つ。よって

となる は の 個()、それに のとき値 なので

(公式 で としても )。よって 。

達成. 長さ から までの列全部( 個)と長さ の列 1 個、計 個を の 個の列に一対一に対応させ、それ以外の入力では未定義とする を作る。これは有限の表で与えられるので計算可能である。このとき各 の唯一の記述が最短記述なので、。

以上より最小値は である。

別解

は任意の部分計算可能関数でよい。 の 1024 個の列それぞれに別々の記述 が必要で、 は関数なので 1 つの は高々 1 つの にしか対応しない。よって は、長さの短い順に 1024 個のプログラムを取ったときの長さの総和以上である。

長さ の列は 個ある。長さ から までのプログラムは 個で、1024 個にはあと 1 個足りない。足りない 1 個は長さ のプログラムで補う。したがって下界は

である。

公式 に を代入すると となる。よって下界は である。

下界は達成できる。1024 個の列と上記 1024 個のプログラムを 1 対 1 に対応させる有限の表を作り、 をその表を引く関数とする。有限の表で定まる関数は計算可能で、表にない入力では未定義とすればよい。このとき となる。

検算として、長さ別の和は である。これに長さ の 1 個分 を加えて となり、一致する。

この問題の確認

AI が作成した問題です。公開前に次の確認を行いました。確認の方法について

間違いを報告する

この問題の誤り・分かりにくい点・難易度や学年のずれを知らせる
どこについての報告ですか

報告の内容と問題の番号を保存します。名前やメールアドレスは保存しません。

関連する問題