計算理論・ラムダ計算の問題
を正の整数とし、変数 のブール回路を次のように定める。大きさ ()の回路とは、ゲートの列 であって、各ゲート が
- 種類 , , のいずれか 1 つと、
- 入力として、, のときは の中から選んだ順序付きの 2 つ組 ( も許す)、 のときは同じ候補の中から選んだ 1 つの
をもつものとする。入力 に対し、 の値を とし、 の順に、 の値を の値の論理積・論理和、または の値の否定として定める。回路が計算する関数とは、 に最後のゲート の値を対応させる関数 のことである。
関数 が変数 に依存するとは、第 成分だけが異なる で となるものが存在することをいう。
がすべての変数 に依存するとき、 を計算するどの回路においても、種類が または であるゲートの個数は 以上であることを証明せよ。
この問題で使うもの
- 小さな回路で計算できる関数(説明と入口の問題)
この問題を解けるようになるまで(31 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
一覧で見る(前提が先)
- 樹形図で数え上げる
- 積の法則と和の法則
- 和の法則・積の法則と樹形図
- 順列・円順列・重複順列
- 組合せ
- 確率の定義と和事象・余事象
- 包除原理
- 同じものを含む順列・重複組合せ
- 一般の包除原理
- 約数の見つけ方
- 最大公約数と最小公倍数
- 素因数分解と約数の個数
- 最大公約数と最小公倍数
- 分数のたし算・ひき算
- 小数の四則計算
- 正負の数の加法・減法
- 分数のかけ算・わり算
- 四則の混じった計算の順序
- 正負の数の乗除・累乗と四則混合
- 分配法則を使った計算のくふう
- 文字式の計算(同類項・分配法則)
- 乗法公式による展開
- 因数分解
- 文字式で表した整数の性質
- 余りによる整数の分類
- 合同式
- 群の位数と元の位数
- 置換の巡回置換分解と位数
- バーンサイドの補題
- 条件つきブール関数の数え上げ
- 小さな回路で計算できる関数
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
出力 に影響しうるゲートと変数を頂点とし、「ゲートとその使われる入力」を辺で結んだグラフを考える。連結グラフの辺の本数は頂点数 以上であることを使う。
ヒント 2
出力から入力の向きに遡って届くゲートの集合 を作る。 がすべての変数に依存することから、どの変数も のどれかのゲートの入力として現れることを、値が変わらないことの帰納法で示す。
ヒント 3
の ・ ゲートを 個、 ゲートを 個とすると、辺は 本、頂点は 個になる。
採点の観点と模範解答
自分で証明を書いてから、採点の観点で見比べてください。
採点の観点を見る
出力から入力を遡って届くゲートの集合(出力に影響しうる部分回路)を定め、その各ゲートから出力への道があることを述べている(2 点)
がすべての変数に依存することから、各変数がこの部分回路のいずれかのゲートの入力として現れることを、入力の 1 成分を変えても各ゲートの値が変わらないという帰納法で示している(3 点)
ゲートと入力を結ぶグラフが連結であり、辺の本数が頂点数 以上であることを、理由を付けて使っている(2 点)
辺の本数 と頂点数 を数えて を導き、回路全体の ・ ゲートが 個以上と結論している(3 点)
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
模範解答を読む
方針: 出力 に影響しうるゲートと変数を頂点とするグラフを考え、それが連結であることと、すべての変数が頂点に含まれることから、辺の本数を評価する。
はすべての変数に依存するとし、 を を計算する回路とする。ゲート の使われる入力とは、, のときは 、 のときは のこととする。
頂点集合の定義. ゲートの集合 を「 を含み、 に属するゲートの使われる入力のうちゲートであるものも に属する」ような最小の集合とする。具体的には、 の順に、 であるか、または がすでに に入れたゲートの使われる入力であるときに を に入れる(使われる入力は添字の小さいゲートなので、この順で決められる)。この作り方から、 の各ゲートからは「使われる入力 そのゲート」の向きに辿って に至る道がある。さらに、 のゲートの使われる入力として現れる変数全体を とし、 とおく。
補題 1. 。
証明. ある について と仮定して矛盾を導く。 を第 成分だけが異なる入力とする。 のゲート について、 での値と での値が等しいことを、 に関する( に属する添字についての)強い帰納法で示す。 の使われる入力は、変数ならば に属するので ではなく、 と で値が等しい。ゲートならば に属し添字が より小さいので、帰納法の仮定により値が等しい。 の値は使われる入力の値だけで決まるので、 の値も等しい。特に について 。これがすべての で成り立つので は に依存せず、仮定に反する。
グラフ. 頂点集合を とし、 の各ゲート とその使われる入力 の組ごとに辺 を 1 本引いた無向の多重グラフ を考える( のときは同じ 2 頂点を結ぶ辺が 2 本になる)。使われる入力は、ゲートなら に、変数なら に属するので、辺の両端は に属する。
補題 2. は連結である。
証明. の各ゲートからは、 の辺を辿って に至る道がある( の作り方による)。 の変数 は、ある の使われる入力なので辺 で とつながり、そこから に至る。よってすべての頂点が と同じ連結成分に属する。
辺の本数の評価. に属する , ゲートの個数を 、 ゲートの個数を とする。辺は , ゲートから 2 本ずつ、 ゲートから 1 本ずつ出るので、辺の本数は である。頂点数は、補題 1 より 。連結な多重グラフでは、辺の本数は頂点数から 1 を引いた数以上である(辺を 1 本ずつ加えるごとに連結成分の個数は高々 1 しか減らず、はじめ 個の成分が 1 個になるには 本以上の辺が要る)。補題 2 よりこれを に使えて、
結論. 回路 全体の , ゲートの個数は、 に属するものの個数 以上なので 以上である。
以上より、すべての変数に依存する関数 を計算するどの回路も、 または のゲートを 個以上含む。