とし、 を空列 を含む 上の有限列全体、 を列 の長さ、 を長さ の列全体とする。
部分関数 (定義されない入力があってもよい)を記述方式とよび、 に対して
と定める( となる がなければ とする)。
記述方式 をいろいろに選ぶとき、 をみたす の個数のとりうる最大値を求めよ。
記述方式 に関する複雑性 について、長さ 未満の記述が 個しかないことから となる の個数の上限を求め、それを達成する (計算可能なものを含む)を構成して、 の個数や圧縮不可能な列の個数の最小値を求められる
読み込み中…
右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
とし、 を空列 を含む有限 2 進列全体、 を長さ の列全体とします。記述方式とは、一部の列 (記述・プログラム)に列 を対応させる部分関数 のことで、 の記述複雑性 は「 を書き表す最短の記述の長さ」です(記述が 1 つもなければ とします)。この技能では、短い記述の個数が限られていることだけを使って、どんな記述方式でも「複雑な列」が必ずたくさんあることを示し、その個数の最小値を正確に求めます。圧縮できないデータが存在することの証明や、情報理論・計算理論での下界の議論の基本となる論法です。
長さ の 2 進列は 個あるので、長さ 未満(長さ )の記述の総数は等比数列の和
です。 とは「長さ 未満の記述 で となるものがある」ことです。 は関数なので 1 つの記述は高々 1 つの列しか表せません。したがって、 となる は全部合わせても高々 個です(鳩の巣の考え方: 記述の個数より多くの列を表すことはできない)。これは が何であっても、計算可能かどうかにも関係なく成り立ちます。
長さ の列は 個あるので、そのうち となるものは少なくとも 個あります( のとき)。特に とすると、どんな記述方式に対しても となる長さ の列、すなわち圧縮不可能な列が少なくとも 個あります。
この下限は改善できません。長さ 未満の 個の記述を短い順(同じ長さなら辞書式順)に と並べ、 の列を辞書式順に と並べて、()、それ以外の では未定義と定めます。 なら なので は足ります。この は順番に列を数えるだけの計算可能な方式で、 がちょうど 個の列で成り立ちます。よって となる の個数の最小値はちょうど です。
記述の長さの上限を読み取る。「」なら長さ から までの記述が対象( なら と読み替える)
長さ 未満の記述の個数を等比数列の和で求める: (空列の分の を忘れない)
1 つの記述は高々 1 つの列を表すので、 となる は高々 個であると結論する
対象の列の総数から引く: の個数は 以上
最小値を問われたら、短い記述を の相異なる列に 1 対 1 に割り当てる を作り、下限が達成されることを確かめる
とし、記述方式 (部分関数)に対して (そのような がなければ )と定める。記述の長さ には空列(長さ 0)も含める。 をあらゆる記述方式にわたって動かすとき、 を満たす長さ 10 の列 の個数の最小値を求めよ。
(手順 1) でない列は 、すなわち長さ から の記述をもつ列である。
(手順 2)長さ 7 未満の記述の個数は
(手順 3)1 つの記述は高々 1 つの列しか表さないので、 となる は( の中に限らず全体でも)高々 127 個。
(手順 4) は 個の列からなるので、 となる は少なくとも 個。
(手順 5)長さ 6 以下の 127 個の記述を、 の相異なる 127 個の列に 1 つずつ対応させ、他の記述では未定義とする を考える( なので可能)。このとき となる はちょうど 127 個で、 となるものはちょうど 897 個。よって最小値は 897。
答え:
長さ 未満の記述の個数を (長さ の記述だけ)や としてしまう誤り。正しくは長さ から までをすべて足して ( なら )
空列を記述から除いて と数えてしまう誤り。問題が空列(長さ 0)を記述に含めているなら、正しくは 。どちらの約束かを問題文で確かめる
「」と「」を区別しない誤り。 となる は長さ 以下の記述で表されるので、正しくは高々 個
下限 が求まった時点で最小値と答えてしまい、達成例を示さない誤り(または逆に、具体的な の値だけから最小値を決めてしまう誤り)。正しくは「どの でも 個以上」と「ちょうど 個になる がある」の両方を示してはじめて最小値といえる
この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。
とし、 を空列を含む 上の有限列全体、 を列 の長さ、 を長さ の列全体とする。部分計算可能関数 に対して、 の に関する記述複雑性を
で定める(そのような がなければ とする)。
部分計算可能関数 を一つ定めるごとに、集合
の要素の個数 が決まる。 がすべての部分計算可能関数を動くときの の最小値を求めよ。
とし、 を空列 を含む 上の有限列全体、 を列 の長さ、 を長さ の列全体とする。集合 が接頭語なしであるとは、 のどの元も の別の元の真の接頭語(先頭部分)になっていないことをいう。
部分関数 で、定義域 が接頭語なしであるものを接頭語なし復号器とよぶ( が計算可能であることは要求しない)。接頭語なし復号器 と に対し、
と定める(そのような がなければ とする)。
接頭語なし復号器 に対し、 を を満たす の個数とする。 がすべての接頭語なし復号器を動くときの の最小値を求めよ。
とし、 を空列 を含む 上の有限列全体、 を列 の長さ、 を長さ の列全体とする。部分計算可能関数 に対し、 の に関する(プレーンな)記述複雑性を
で定める。ただし となる が存在しないときは とする。 の定義域が接頭語自由であることは仮定しない。
すべての部分計算可能関数 を考えたときの
の最小値を求めよ。
とし、 を空列 を含む 上の有限列全体、 を列 の長さとする。
部分関数 (「記述方式」と呼ぶ。 は計算可能でなくてもよい)に対し、 の複雑性を
で定める。ただし となる が存在しないときは とする。 を満たす を( に関して)圧縮不可能という。
長さが 以下の列(空列を含む)全体の集合を とする。記述方式 をあらゆる部分関数にわたって動かすとき、 に含まれる圧縮不可能な列の個数の最小値を求めよ。
とし、 を空列 を含む 上の有限列全体、 を列 の長さ、 を長さ の列全体とする。部分計算可能関数 (定義域が の部分集合である計算可能な部分関数。定義域が接頭語自由である必要はない)に対し、 の に関する記述量を
で定める(そのような がなければ )。
を正の整数とする。 が部分計算可能関数全体を動くとき、
の最小値を の式で表せ。
とし、 を空列 を含む有限 2 進列全体、 を列 の長さ、 を長さ の列全体とする。万能チューリング機械 を 1 つ固定し、 が計算する部分関数 は、任意の に対して となる が存在するものとする。 のコルモゴロフ複雑性を
で定める( は、入力 で が停止して を出力することを表す)。
任意の正の整数 に対して
が成り立つことを証明せよ。
とし、 を空列 を含む 上の有限列全体、 を列 の長さ、 を長さ の列全体とする。集合 が接頭語自由であるとは、 のどの元も の別の元の真の接頭語になっていないことをいう。
部分計算可能関数 で、定義域 が接頭語自由であるものを考える。 に対し
と定める(そのような がなければ とする)。
は次の条件を満たすとする。
(条件)長さ 以下のすべての列 ( も含む)に対して である。
この条件を満たすような すべてを考えるとき、 を満たす の個数としてありうる最小値を求めよ。
とし、 を空列 を含む 上の有限列全体、 を列 の長さとする。 を長さ 以下の列全体(空列を含む)とする。列の集合 が接頭語なしであるとは、 の相異なる 2 つの元の一方が他方の接頭語(先頭部分)になることがないことをいう。
部分計算可能関数 で、その定義域が接頭語なしであるものを考える。このような と に対して と定める(そのような がなければ とする)。
定義域が接頭語なしである部分計算可能関数 で、すべての に対して となるものすべてにわたる の最小値を求めよ。
とし、 を空列 を含む 上の有限列全体、 を列 の長さ、 を長さ 以下の列全体とする。集合 が接頭語なしであるとは、 の相異なる 2 元の一方が他方の接頭語になることがないことをいう。
部分計算可能関数 で、定義域 が接頭語なしであるものを接頭語なし復号器とよぶ。接頭語なし復号器 と に対し
と定める(そのような がなければ )。
を正の整数とする。接頭語なし復号器 で、すべての に対して となるもの全体を考えるとき、
の最小値を の式で求めよ。