( を含む)とする。関数 と を
で定め、関数 を原始再帰
で定める。 を の式で表せ。
計算理論・ラムダ計算
扱うテーマ: 計算可能関数・アッカーマン関数の値、ラムダ計算の β 簡約と正規形・チャーチ数、型付きラムダ計算の型の個数と住人の個数、計算量クラスと帰着(選択式)、回路の大きさ・ブール関数の個数、コルモゴロフ複雑性とカウンティング論法
難易度の目安(大学院数学)
- 難易度 1 大学院の講義の例題レベル
- 難易度 2 大学院の講義の演習問題レベル
- 難易度 3 大学院入試の専門科目の標準レベル
- 難易度 4 大学院入試の難問レベル
- 難易度 5 専門書の難しい演習問題レベル
型なしラムダ計算を考える。適用は左結合()、抽象は右に最大限のびるものとし、 同値な項は同一視する。簡約は 簡約のみを考える( 簡約は考えない)。 は変数とする。
項
の 正規形として正しいものを、次のア〜オから 1 つ選べ。ア
イ
ウ
エ
オ は 正規形をもたない
とし、言語とは の部分集合のこととする。言語 の補集合を と書く。言語 について、 とは、多項式時間で計算できる全域関数 で、すべての について となるものが存在することとする。
いま、言語 について 、 であることだけがわかっている。次のア〜オの言語のうち、それぞれに書かれた条件だけから「 に属する」と必ず結論できるものをすべて選べ。
ア ある言語 について かつ をみたす言語
イ をみたす言語
ウ をみたす言語
エ をみたす言語
オ をみたす言語
変数のブール関数とは写像 のこととする。 に対して とし、 に対して とする。
変数のブール関数 が自己双対であるとは、すべての について
が成り立つことをいう。自己双対な 変数のブール関数の個数を求めよ。とし、 を空列 を含む 上の有限列全体、 を列 の長さ、 を長さ の列全体とする。
部分関数 (定義されない入力があってもよい)を記述方式とよび、 に対して
と定める( となる がなければ とする)。記述方式 をいろいろに選ぶとき、 をみたす の個数のとりうる最大値を求めよ。
( を含む)とし、関数 を、すべての について次の式で定める。
の値を求めよ。型なしラムダ計算を考える。適用は左結合()、抽象は右に最大限のびるものとし、 同値な項は同一視する。簡約は 簡約のみを考える。 以上の整数 に対してチャーチ数を
と定め、対と射影を
と定める。さらに
とおき、項
を考える。 の 正規形はあるチャーチ数 である。 を求めよ。互いに異なる つの原子型 をもち、定数をもたない単純型付きラムダ計算(チャーチ流)を考える。型は
で生成される式とし、括弧の付け方(木としての形)が異なる型や、原子型の並びが異なる型は異なる型とみなす(たとえば と は異なる型であり、 と も異なる型である)。記号 をちょうど 個含む型の個数を求めよ。
とし、言語とは の部分集合のこととする。チューリング機械 と入力 の組の符号化を と書き、停止問題を
と定める(正しい符号化になっていない列は に属さないものとする)。 とする。言語 について、 とは、計算可能な全域関数 で、すべての について となるものが存在することとする。また、言語 が帰納的可算であるとは、 のちょうどすべての元に対して停止して受理するチューリング機械( に属さない入力に対しては受理しない)が存在することとする。
次のア〜カのうち、正しいものをすべて選べ。
ア は帰納的可算である。
イ は帰納的可算である。
ウ は決定可能である。
エ 任意の決定可能な言語 について が成り立つ。
オ ある決定可能な言語 について が成り立つ。
カ が成り立つ。
関数 に対し、 は決定性チューリング機械で領域 で判定できる言語のクラス、 は非決定性チューリング機械で領域 で判定できる言語のクラス、 とする。また 、 とし、 は標準的な定義(多項式時間・多項式領域・非決定性多項式領域・決定性指数時間 )に従うものとする。 は真の包含を表す。
次のア〜カの主張は、いずれもサヴィッチの定理・イマーマン–セレプチェニの定理・領域階層定理・時間階層定理によって、正しいか誤りかが確定する。このうち正しいものをすべて選べ。
ア
イ
ウ
エ
オ
カ
変数のブール関数とは写像 のこととする。入力 をもつブール回路を次のように定める。
- 回路は有向非巡回グラフで、 つの入力ノード と、いくつかのゲートからなる。
- 各ゲートは 入力で、 個ある 変数ブール関数 のどれを割り当ててもよい(定数関数や片方の入力だけによる関数も含む)。ゲートの つの入力は、入力ノードまたはそれより前のゲートであり、同じノードを つの入力に使ってもよい。
- ノードのうち つ(入力ノードでもゲートでもよい)を出力として指定し、その値を回路が計算する関数とする。
- 回路の大きさとは、ゲートの個数のことである。大きさ 以下の回路で計算できる 変数のブール関数の個数を求めよ。
型なしラムダ計算で、 以上の整数 のチャーチ数を
と定める。関数適用は左結合とし、 は を表す。ラムダ項 は 簡約によって、あるチャーチ数 を正規形にもつ。この を で割った余りを求めよ。
互いに異なる つの原子型 をもち、定数をもたない単純型付きラムダ計算(チャーチ流)を考える。矢印型は右結合()とし、 同値な項は同一視する。型
をもつ閉じた項で、η 長 β 正規形であるものの個数を求めよ。とし、 を空列を含む 上の有限列全体、 を列 の長さ、 を長さ の列全体とする。部分計算可能関数 に対して、 の に関する記述複雑性を
で定める(そのような がなければ とする)。部分計算可能関数 を一つ定めるごとに、集合
の要素の個数 が決まる。 がすべての部分計算可能関数を動くときの の最小値を求めよ。を正の整数とし、 変数のブール関数とは写像 のこととする。 が第 変数に本質的に依存するとは、ある が存在して
となることをいう。3 変数のブール関数 のうち、3 つの変数 のすべてに本質的に依存するものの個数を求めよ。
とし、言語とは (空列を含む 上の有限列全体)の部分集合のこととする。言語 の補集合を と書く。言語 に対し、多項式時間で計算できる全域関数 であって、すべての について
をみたすものが存在するとき、(多項式時間多対一帰着可能)と書く。 は決定性チューリング機械で多項式時間で判定できる言語のクラス、 はある について時間 で判定できる言語のクラスとする。次のア〜カのうち、正しい(証明できる)ものをすべて選べ。ただし、ア〜オでは は任意の言語とする。
ア. かつ ならば である。
イ. かつ ならば である。
ウ. かつ ならば である。
エ. ならば である。
オ. ならば、任意の言語 について である。
カ. である。
変数のブール関数とは写像 のこととする。 変数のブール関数 で、次の 2 つの条件をともに満たすものの個数を求めよ。
(巡回不変性)すべての に対して
(自己双対性)すべての に対して
型なしラムダ計算を考える。適用は左結合()、抽象は右に最大限のびるものとし、 同値な項は同一視する。簡約は 簡約のみを考える( 簡約は考えない)。 以上の整数 に対してチャーチ数を と定め()、項 を と定める。項 は 正規形をもち、それはあるチャーチ数 に一致する。 を求めよ。
原子型として ただ 1 つをもち、定数をもたない単純型付きラムダ計算(チャーチ流)を考える。型は で生成される式とし、括弧の付け方(木としての形)が異なる型は異なる型とみなす。型 が住人をもつとは、型 の閉じた項(自由変数をもたない項)が存在することをいう。
矢印 をちょうど 個含む型(したがって をちょうど 個含む型)のうち、住人をもつものの個数を求めよ。
( を含む)とする。関数 と に対し、 を の 回合成( は恒等写像、)とする。
関数の列 ()を次で定める(アッカーマン関数と同じ増大度をもつ階層の一種である)。
このとき、 の値を求めよ。変数のブール関数とは写像 のこととし、 を 2 元体 と同一視する。各 変数のブール関数 は、 上の多項式として
の形にただ 1 通りに表される(代数的標準形。 のときの積は とする)。 となる の要素の個数 の最大値を の次数とよぶ(恒等的に の関数の次数は とする)。次数がちょうど である 変数のブール関数の個数を求めよ。
とし、 を空列 を含む 上の有限列全体、 を列 の長さ、 を長さ の列全体とする。集合 が接頭語なしであるとは、 のどの元も の別の元の真の接頭語(先頭部分)になっていないことをいう。
部分関数 で、定義域 が接頭語なしであるものを接頭語なし復号器とよぶ( が計算可能であることは要求しない)。接頭語なし復号器 と に対し、
と定める(そのような がなければ とする)。接頭語なし復号器 に対し、 を を満たす の個数とする。 がすべての接頭語なし復号器を動くときの の最小値を求めよ。
型なしラムダ計算を考える。適用は左結合()、抽象は右に最大限のびるものとし、 同値な項は同一視する。簡約は 簡約のみを考える。 以上の整数 に対してチャーチ数を
と定め、右辺の本体を と書く()。項
は 正規形をもち、その正規形は、ある 以上の整数 に対して と 同値になる。この を求めよ。とし、言語とは の部分集合のこととする。言語 に対し、 は が に多項式時間多対一帰着(カープ帰着)可能であること、すなわち多項式時間で計算できる全域関数 で、すべての について となるものが存在することを表す。 完全性はこの に関するものとする。, , , , は標準的な計算量クラスとする。
次の主張のうち、(未解決問題の答えによらず)正しいと証明されているものをすべて選べ。
- ア すべての言語 について、 かつ ならば である。
- イ すべての言語 について、 かつ ならば である。
- ウ すべての言語 について、 が 完全で、 かつ ならば、 は 完全である。
- エ である。
- オ である。
- カ すべての言語 について、 ならば である。
この問題では ( を含む)とする。関数 を次の再帰式で定める(アッカーマン・ペーター関数)。
この再帰式によって がすべての で一意に定まる全域関数であることは用いてよい。すべての に対して
が成り立つことを証明せよ。を正の整数とし、変数 のブール回路を次のように定める。大きさ ()の回路とは、ゲートの列 であって、各ゲート が
- 種類 , , のいずれか 1 つと、
- 入力として、, のときは の中から選んだ順序付きの 2 つ組 ( も許す)、 のときは同じ候補の中から選んだ 1 つのをもつものとする。入力 に対し、 の値を とし、 の順に、 の値を の値の論理積・論理和、または の値の否定として定める。回路が計算する関数とは、 に最後のゲート の値を対応させる関数 のことである。
関数 が変数 に依存するとは、第 成分だけが異なる で となるものが存在することをいう。
がすべての変数 に依存するとき、 を計算するどの回路においても、種類が または であるゲートの個数は 以上であることを証明せよ。
型なしラムダ計算を考え、項は 同値なものを同一視する。適用 は を関数、 を引数とする適用を表し、適用は左結合とする()。代入 は変数の捕獲を起こさない代入(必要なら束縛変数を付け替える)とする。 を 1 ステップの 簡約(任意の部分項で行ってよい)、 をその反射推移閉包とする。 基( の形の部分項)を含まない項を 正規形といい、 となる 正規形 を の 正規形という。
項 と 以上の整数 に対して , と定め、 以上の整数 のチャーチ数を
とする(, は異なる変数)。さらに、互いに異なる変数 を用いて
と定める。チャーチ・ロッサーの定理(したがって、ある項が 正規形をもつならそれは一意であること)は用いてよい。
を 以上の整数とするとき、項 の 正規形が であることを証明せよ。
変数のブール関数とは写像 のこととする。入力 をもつ基底 上のブール回路を次のように定める。
- 回路は有向非巡回グラフで、入力ノード と、いくつかのゲートからなる(定数の入力ノードはもたない)。
- 各ゲートは 入力の任意のブール関数 (全 個のどれでもよい)を計算し、その つの入力はそれより前にある入力ノードまたはゲートの出力である( つの入力が同じノードでもよい)。
- 回路のノード(入力ノードでもゲートでもよい)を つ選んで出力とし、そのノードが計算する関数を回路が計算する関数とする。
- 回路の大きさはゲートの個数とする。
変数のブール関数 に対し、 を計算する回路の大きさの最小値を とする。 を満たす 変数のブール関数 の個数を求めよ。
型なしラムダ計算を考える。適用は左結合()、抽象は右に最大限のびるものとし、 同値な項は同一視する。簡約は 簡約のみを考える( 簡約は考えない)。 以上の整数 に対してチャーチ数を
で定める。正規順序戦略とは、各ステップで、項に含まれる 基( の形の部分項)のうち最も左外側にあるもの(項を文字列として書いたときに、その 基の先頭が最も左にあるもの)を 1 回だけ縮約する戦略である。
項 から出発して正規順序戦略で 簡約を繰り返すと、有限回で 正規形に到達する。正規形に到達するまでに行われる 簡約の回数(ステップ数)を求めよ。
互いに異なる つの原子型 をもち、定数をもたない単純型付きラムダ計算(チャーチ流)を考える。型は
で生成される式とする。括弧の付け方(木としての形)または原子型の配置が異なる型は、異なる型とみなす。 は右結合とし、型に現れる の個数をその型の矢印数とよぶ。型 の住人とは、型 をもつ閉項であって、 正規形かつ 長形(long normal form)であるもののこととする。住人は 同値なものを同一視して数える。
矢印数がちょうど である型のうち、住人をちょうど つだけもつ型の個数を求めよ。
とし、 を空列 を含む 上の有限列全体、 を列 の長さ、 を長さ の列全体とする。部分計算可能関数 に対し、 の に関する(プレーンな)記述複雑性を
で定める。ただし となる が存在しないときは とする。 の定義域が接頭語自由であることは仮定しない。すべての部分計算可能関数 を考えたときの
の最小値を求めよ。とし、 を空列 を含む 上の有限列全体、 を列 の長さとする。
部分関数 (「記述方式」と呼ぶ。 は計算可能でなくてもよい)に対し、 の複雑性を
で定める。ただし となる が存在しないときは とする。 を満たす を( に関して)圧縮不可能という。長さが 以下の列(空列を含む)全体の集合を とする。記述方式 をあらゆる部分関数にわたって動かすとき、 に含まれる圧縮不可能な列の個数の最小値を求めよ。
以上の整数全体を とする。関数 を、すべての に対して
を満たすものとして(アッカーマン関数と同様の二重帰納法で)定める。 の値を求めよ。アルファベットを とし、言語とは の部分集合のこととする。言語 について、多項式時間で計算できる関数 で、すべての に対して をみたすものが存在するとき と書く(多項式時間多対一帰着)。NP 完全性はこの に関するものとする。また、 は CNF 論理式の充足可能性問題、 は停止問題( 上の適当な符号化によるもの)とする。
次のア〜カのうち、(未解決問題の仮定を一切用いずに)正しいと証明されている命題をすべて選べ。
ア. かつ ならば である。
イ. かつ ならば である。
ウ. である。
エ. である。
オ. ある NP 完全な言語 が に属するならば、 である。
カ. であり、 が かつ をみたす任意の言語(決定可能でなくてもよい)ならば、 である。
入力変数を とするブール回路を考える。ゲートとしては 2 入力のブール関数 をすべて(16 個。定数関数や片方の入力だけによる関数も含む)使ってよく、各ゲートの 2 つの入力には入力変数 またはそれより前のゲートの出力を(同じものを 2 回使うことも含めて)つなぐ。定数は入力として与えられない。回路の出力は、入力変数またはゲートのどれか 1 つの値とし、回路の大きさはゲートの個数とする。
ブール関数 のうち、大きさ 以下の回路で計算できるものの個数を求めよ。
( を含む)とし、関数 を次の再帰で定める(アッカーマン関数の変形である)。すべての に対して
この再帰は の辞書式順序に関する整礎帰納法によりすべての で値が定まる。 を 以上の整数とするとき、 を の式で表せ。言語はすべてアルファベット 上の言語( の部分集合)とする。言語 に対し、 は多項式時間多対一帰着(カープ帰着)が存在すること、すなわち多項式時間で計算できる関数 で、すべての について となるものが存在することを表す。NP 完全性はこの に関して定める( に属し、 のすべての言語が で帰着されること)。また 、 は非決定性対数領域で判定できる言語のクラス、 は決定性多項式領域で判定できる言語のクラスとし、 はチューリング機械の停止問題(決定不能である)を表す言語とする。
次のア〜キのうち、正しい(現在知られている結果から真であることが証明されている)ものをすべて選べ。
ア. 任意の言語 について、 かつ ならば である。
イ. 任意の言語 について、 かつ ならば である。
ウ. 任意の言語 について、 が NP 完全で、 かつ ならば、 は NP 完全である。
エ. である。
オ. 任意の言語 について、 ならば である。
カ. である。
キ. に属するすべての言語は NP 完全である。
型なしラムダ計算を考える。適用は左結合()、抽象は右に最大限のびるものとし、 同値な項は同一視する。簡約は 簡約のみを考える( 簡約は考えない)。 以上の整数 に対してチャーチ数を
と定める()。さらに次の項を定める。
このとき項
は 正規形をもち、それはあるチャーチ数 に一致する。整数 を求めよ。とし、 を空列 を含む 上の有限列全体、 を列 の長さ、 を長さ の列全体とする。部分計算可能関数 (定義域が の部分集合である計算可能な部分関数。定義域が接頭語自由である必要はない)に対し、 の に関する記述量を
で定める(そのような がなければ )。を正の整数とする。 が部分計算可能関数全体を動くとき、
の最小値を の式で表せ。とし、 を空列 を含む有限 2 進列全体、 を列 の長さ、 を長さ の列全体とする。万能チューリング機械 を 1 つ固定し、 が計算する部分関数 は、任意の に対して となる が存在するものとする。 のコルモゴロフ複雑性を
で定める( は、入力 で が停止して を出力することを表す)。任意の正の整数 に対して
が成り立つことを証明せよ。原子型を ただ 1 つだけもつ単純型付きラムダ計算(チャーチ流、定数なし)を考える。矢印型は右結合()とし、 同値な項は同一視する。型
の閉じた項で、 正規形かつ 長形(-normal -long form)であるものは、ある項 を用いて の形に書ける。このような項のうち、 の中に変数 と が合わせてちょうど 回出現するもの( の出現回数と の出現回数の和が )の個数を求めよ。とし、 を空列 を含む 上の有限列全体、 を列 の長さ、 を長さ の列全体とする。集合 が接頭語自由であるとは、 のどの元も の別の元の真の接頭語になっていないことをいう。
部分計算可能関数 で、定義域 が接頭語自由であるものを考える。 に対し
と定める(そのような がなければ とする)。は次の条件を満たすとする。
(条件)長さ 以下のすべての列 ( も含む)に対して である。
この条件を満たすような すべてを考えるとき、 を満たす の個数としてありうる最小値を求めよ。
とし、言語とは (空列 を含む 上の有限列全体)の部分集合のこととする。言語 について、 とは、多項式時間で計算できる全域関数 であって、すべての に対して を満たすものが存在することとする。クラス に対して、言語 が 困難であるとは、すべての について が成り立つことをいう。 が 困難であり、かつ であるとき、 は 完全であるという。計算モデルは多テープの決定性・非決定性チューリング機械とし、 は通常の意味の計算量クラスとする。また、停止問題を とする。ここで は機械と入力の組の標準的な符号化(符号化と記述の相互変換が多項式時間でできるもの)であり、正しい符号化になっていない列は に属さないものとする。
次のア〜カのうち、(未解決問題の仮定なしに)正しいと証明されている主張をすべて選べ。
ア. でも でもない任意の言語 は 完全である。
イ. 空集合 は 困難である。
ウ. は 困難である。
エ. である。
オ. 完全な言語であって に属するものが存在する。
カ. である。
変数 を用いる論理式を、次の規則で帰納的に定める。
- 各 は論理式である。
- が論理式ならば、、、 も論理式である。
定数記号 は用いない。論理式に を代入すると、写像 が定まる。現れない変数には依存しない関数とみなす。
各変数 の出現回数がどれも高々 回である論理式を、リードワンス論理式とよぶ。写像 のうち、あるリードワンス論理式で表されるものの個数を求めよ。
アルファベットを とし、言語は の部分集合とする。 は多項式時間多対一帰着が存在することを表す(多項式時間で計算できる全域関数 で、すべての について となるものがある)。 は通常の多テープチューリング機械による計算量クラスとする。 はチューリング機械 と入力 の符号 のうち が で停止するもの全体(符号になっていない列は含まない)、 は真である閉じた量化ブール式(冠頭形)の符号全体とする。
次のア〜キのうち、正しいと証明されている主張をすべて選べ。
ア. 任意の言語 について、 かつ ならば である。
イ. 任意の言語 について、 かつ ならば である。
ウ. である。
エ. である。
オ. は に関して 困難である(すなわち、すべての について )。
カ. である。
キ. である。
型なしラムダ計算を考える。適用は左結合()とし、 同値な項は同一視する。 以上の整数 に対してチャーチ数を
で定める。さらに
とおき、
とする。 は 正規形をもち、それはあるチャーチ数 に一致する。 を求めよ。( を含む)とし、関数 (アッカーマン・ペーター関数)を次の再帰で定める。すべての に対して
このとき、 を で割った余りを求めよ。互いに異なる 3 つの原子型 をもつ単純型付きラムダ計算(チャーチ流、定数なし)を考える。矢印型は右結合()とし、 同値な項は同一視する。型 の閉じた項のうち、 正規形かつ 長形(-long form)であるものを の住人とよぶ。(住人は、型 の閉じた項の 同値類と 1 対 1 に対応する。)
型
の住人の個数を求めよ。原子型を ただ 1 つだけもつ単純型付きラムダ計算(チャーチ流、定数なし)を考える。型は
で生成されるものとし、括弧の付け方が異なる型は異なる型とみなす(たとえば と は異なる型である)。型 に含まれる記号 の個数を の矢印の個数という。型 をもつ閉じた項(自由変数をもたない項)が少なくとも 1 つ存在するとき、 は住人をもつという。矢印の個数がちょうど である型のうち、住人をもつものの個数を求めよ。
( を含む)とし、関数 をすべての について
で定める。この定義をそのまま再帰手続きとして実行して を計算する。すなわち、手続き が呼ばれると、 なら再帰呼び出しをせずに を返し、 なら を 回呼んでその値を返し、 ならまず を呼んでその値 を得たのち を呼んでその値を返す。最初の呼び出しも含めて、 の計算で手続き が呼ばれる回数の合計を とする(たとえば 、)。
に対し、 を の式で表せ。
とし、 を空列 を含む 上の有限列全体、 を列 の長さとする。 を長さ 以下の列全体(空列を含む)とする。列の集合 が接頭語なしであるとは、 の相異なる 2 つの元の一方が他方の接頭語(先頭部分)になることがないことをいう。
部分計算可能関数 で、その定義域が接頭語なしであるものを考える。このような と に対して と定める(そのような がなければ とする)。
定義域が接頭語なしである部分計算可能関数 で、すべての に対して となるものすべてにわたる の最小値を求めよ。
とし、言語とは の部分集合のこととする。言語 について、 は が に多項式時間多対一帰着可能であること(多項式時間で計算できる全域関数 で、すべての について となるものが存在すること)を表す。言語 が クラス に対して困難であるとは、すべての について となることをいい、困難かつ のとき 完全という。 を、チューリング機械 と入力 の組の(標準的な)符号 のうち、 が 上で停止するもの全体からなる言語とする。 は充足可能な命題論理式(の符号)全体である。
次の命題のうち、正しいことが証明されているものをすべて選べ(ほかの命題はいずれも偽であることが証明されている)。
ア.任意の言語 について、 かつ ならば である。
イ.任意の言語 について、 かつ ならば である。
ウ. が かつ を満たすならば、 は に関して 完全である。
エ.言語 は 困難である。
オ. である。
カ. は 困難である。
キ. に関して 完全である言語のうち、 に属するものが存在する。
とし、 を空列 を含む 上の有限列全体、 を列 の長さ、 を長さ 以下の列全体とする。集合 が接頭語なしであるとは、 の相異なる 2 元の一方が他方の接頭語になることがないことをいう。
部分計算可能関数 で、定義域 が接頭語なしであるものを接頭語なし復号器とよぶ。接頭語なし復号器 と に対し
と定める(そのような がなければ )。を正の整数とする。接頭語なし復号器 で、すべての に対して となるもの全体を考えるとき、
の最小値を の式で求めよ。
条件に合う問題はありません。