計算機科学概論 試験問題

1997年度冬学期 1998年2月12日 10時50分〜12時00分 担当 川合 慧

問題 1

二つのデータ集合 AB とが、データ列 a1, a2, ..., an および b1, b2, ..., bm として与えられている。 この両者の「どちらにも含まれている要素」をすべて求めるための、 以下の 2 種のアルゴリズムについて設問に答えよ。 ただし、大きさ p のデータの整列の計算量は O (p log p) であるものとする。
(1)何ら前処理をせずに、A の個々の要素が B の中にあるかどうかを探す。
(2)B を整列してから、A の個々の要素が B の中にあるかどうかを探す。
  1. それぞれのアルゴリズムの計算量を求めよ。 オーダの概念による概算でよい。
  2. この二つのアルゴリズムの利害得失を、データの大きさ (nm)を考慮に入れて論ぜよ。

問題 2

3 個のランプ付きボタンが一列に並んだ装置があり、 次のように振舞うという。
あるボタンを押すと、そのボタンのランプの状態(点灯・消灯) が反転するとともに、そのボタンの隣のランプの状態も変化する。
真中のボタンには「隣」が 2 個あることに注意すること。 最初はランプがすべて消えているものとする。 状態遷移の考え方を使って以下の設問に答えよ。
  1. 真中のランプだけを点灯させるための、 ボタンを押す必要最小回数を求めよ。
  2. 真中のランプだけを点灯させるためには、真中のボタンを最低 1 回は押さなければならないことを示せ。
  3. a、b の解答方法を例として、 状態の考え方の問題解決における役割について論ぜよ。

問題 3

以下に示す項目のいずれか一つについて 10 行以内で説明せよ。 資料の丸写しではなく、講義を聴講して得た知見をもとにして、 できるだけ身近な題材を使用して論ずること。
  1. 計算モデル
  2. 2 進法と計算機構
  3. ソフトウェアの信頼性
  4. 逆問題とその解法

Presented by KHK.