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

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

難易度 4大学院入試の難問レベル大学院数学 計算理論・ラムダ計算

とし、 を空列 を含む 上の有限列全体、 を列 の長さとする。 を長さ 以下の列全体(空列を含む)とする。列の集合 が接頭語なしであるとは、 の相異なる 2 つの元の一方が他方の接頭語(先頭部分)になることがないことをいう。

部分計算可能関数 で、その定義域が接頭語なしであるものを考える。このような と に対して と定める(そのような がなければ とする)。

定義域が接頭語なしである部分計算可能関数 で、すべての に対して となるものすべてにわたる の最小値を求めよ。

この問題で使うもの

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

読み込み中…

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

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

ヒント

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

ヒント 1

各 の最短プログラム を集めると、 個の相異なる列からなる接頭語なし集合になります。問題は、そのような集合の長さの総和の最小化に帰着します。

ヒント 2

接頭語なし集合の長さ はクラフトの不等式 を満たします。 の凸性を使って、 を の 1 次式で下から押さえましょう。

ヒント 3

と を通る直線 を使うと、すべての整数 で です。これをクラフトの不等式に代入して総和を下から評価し、等号が成り立つ長さの配分を探します。

答えと解説

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

の元の個数は である。

接頭語なし符号への言い換え. を条件を満たす関数とし、各 について , となる を 1 つ選ぶ。 は関数なので なら であり、 は定義域の部分集合だから接頭語なしである。よって は「 個の相異なる列からなる接頭語なし集合の長さの総和」である。逆に、 個の列からなる接頭語なし集合 があれば、(それ以外は未定義)とおくと、これは有限個の値の表なので計算可能で、定義域は接頭語なしであり、 となる。したがって求める最小値は、 個の列からなる接頭語なし集合の長さの総和の最小値に等しい。

クラフトの不等式. 接頭語なし集合 の長さを とする。 とすると、 を接頭語にもつ長さ の列は 個あり、接頭語なしなのでこれらの集合は互いに交わらない。長さ の列は 個なので 、すなわち

下界. 関数 は凸であり、 での値 を結ぶ直線は である。凸関数はこの 2 点を結ぶ弦の外側( または )で弦より上にあるので、すべての整数 について が成り立つ(等号は のときのみ)。よって となり、

達成. 等号が成り立つのは、すべての が か で、 のときである。長さ のものを 個とすると より 。実際、(長さ )と、 で始まらない長さ の列 個を合わせた 個の列は接頭語なし集合であり、長さの総和は である。これを の 個の元に 1 対 1 に割り当てた で となる。

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

別解

の元は 個。各 に対し を達成する最短の入力 をとる。 は関数なので なら 、さらに定義域は接頭語なしなので は 511 個の相異なる語からなる接頭語なし集合(符号)である。したがって Kraft の不等式 が成り立つ。

逆に、Kraft の不等式を満たす長さの列があれば、それらの長さをもつ接頭語なし集合が構成でき、 の元に割り当てる有限表で を定めれば、 は計算可能で定義域は接頭語なしである。よって、問題は「511 個の語の接頭語なし符号の総語長の最小化」と一致する。

最適な符号は完全 2 分木の葉に対応し、等重みなので葉の深さは 2 種類(連続する値)になる。深さ 8 の葉が 個、深さ 9 の葉が 個とすると、、Kraft 等号 (すなわち )より 。総語長は 。

最小性の確認: 深さ 8 以下のみでは葉は高々 個しか作れないので、少なくとも一部は深さ 9 以上が必要。一般に総語長を最小化する符号は、Kraft の和が 1 の完全木で、かつ葉の深さの差が 1 以下(差が 2 以上なら、深い葉を浅い葉の位置で分岐させ直すことで総和が減る)となる。上の はこれを満たす。

検算: 。したがって最小値は 。

この問題の確認

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

間違いを報告する

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

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

関連する問題