平成 26 年度

大学院博士 (前期) 課程入学者選抜学力試験
情報アーキテクチャ領域

専 門 科 目［90 分］
注 意 事 項

1．試験開始の合図があるまで，この問題冊子を開かないでください．
2．出題科目およびページと科目の選択方法は，下表のとおりです．下記の指示に従って解答した 3 科目の解答用紙を提出してください．なお，ページ番号のついていな
い紙は下書き用紙です．
出 題 科 目

ペ ー ジ

問題数

基

礎

数

学

1

3問

情

報

数

学

2

2問

アルゴリズムとデータ構造

3〜 5

1問

デ ー タ ベ ー ス 工 学

6〜 7

1問

選択方法

左の 4 科目のうちから 3 科
目を選択し，解答してくだ
さい．

3．解答用紙は 9 枚に分かれているので，1 科目につき 3 枚の解答用紙を用いてくださ
い．解答に用いなかった解答用紙も含め，すべての解答用紙の所定欄に選択した科
目名と受験番号をはっきりと記入してください．

4．解答冊子の表紙の所定欄に受験番号と氏名をはっきりと記入してください．さらに，選択する科目名の先頭に○印を記入してください．

5．解答欄内に指定された問題番号（I，II など），問いの番号（問 1 など）を記入してから解答を始めてください．

6．計算または下書き用紙 3 枚が解答用紙と一緒にあります．
7．試験中に問題冊子の印刷不明瞭，ページの落丁・乱丁および解答用紙の汚れ等に気がついた場合は，静かに手を上げて監督員に知らせてください．

8．試験終了後，問題冊子は持ち帰ってください．
9．問題ごとに配点が記されています．

基 礎 数 学

I 極限 x→0lim

ex sin x − xを求めよ．（配点 10 点）
x2

∫ 2√2

II 定積分 √

3

√
2
dx
を，
t
=
x2 + 1 と変数変換して求めよ．（配点 10 点）
x x2 + 1√

III 次の行列



 0

A=
 −a


b

a

−b 

0


c 


−c

0



に対し，線形写像 f : R3 → R3 を f (x) = Ax (x ∈ R3 ) により定める．ただし，a, b, c ∈ R とする．以下の問いに答えよ．（配点 30 点）
問 1 行列 A の行列式を求めよ．
問 2 行列 A の階数を求めよ．
問 3 線形写像 f の核 Ker(f ) を求めよ．

基礎数学の問題は，このページで終りである．
— 1 —情 報 数 学

I 以下の無向グラフ G について，以下の問いに答えよ．（配点 20 点）

問 1 グラフ G の隣接行列を求めよ．
問 2 節点 b から節点 d に至る長さ 3 の経路をすべて求めよ．
問 3 節点 a から節点 b に至る経路のうち，長さが偶数のものは存在しないことを証明せよ．

II 自然数 n に対して，有限集合 Xn = {i | i は n 以下の自然数 } における置換
πn : Xn → Xn を考える．Sn を Xn 上の置換全体の集合とし，i ∈ Xn に対して，
An,i = {πn ∈ Sn | πn (i) = i} とする．また，集合 T の要素数を |T | で表すとする．
以下の問いに答えよ．（配点 30 点）
問 1 A3,1 の要素をすべて求めよ．ただし，π3 (i) = ai となる置換 π3 を



1

2

3




a1 a2 a3で表せ．
問 2 一般の n に対して，|Sn | と |An,i | をそれぞれ求めよ．
問 3 n ≧ 3 の場合，|An,1 ∩ An,2 ∩ An,3 | と |An,1 ∪ An,2 ∪ An,3 | をそれぞれ求めよ．

情報数学の問題は，このページで終りである．
— 2 —アルゴリズムとデータ構造

I n 個 (n >= 1) の要素が格納されている配列 score について考える．なお，配列の添
字は 0 から n-1 までを用い，i 番目の要素は score[i-1] に格納されているものとする．また，格納されている要素は非負整数であるとするが，配列は負の数も格納できるものとする．このとき，以下の問いに答えよ．（配点 50 点）

問 1 プログラム A（図 1）を実行すると，配列の全要素の中から最大の要素の値と添字が出力される．表 1 に示す 10 個の要素が格納されている配列をこのプ
ログラムで処理したときの挙動について，(a)〜(c) の各問いに答えよ．

(a) このプログラムが終了するまでに，(03) 行目の要素比較は何回行われるか
答えよ．

(b) このプログラムが終了するまでに，(04) 行目の max および maxi の更新は何回行われるか答えよ．

(c) このプログラムが出力する変数 max および maxi の値をそれぞれ答えよ．

プログラム A(01) max = score[0], maxi = 0 に初期化する(02)

i を 1 から n-1 まで 1 ずつ増やしながら，もし score[i] > max ならば，(03)

max = score[i], maxi = i に更新する

(04)

を実行する

(05)

(06) を繰り返す(07)

max および maxi の値を出力する
図1

添字 i

0

要素 score[i]68 155

1

2

表1
3

4

5

6

7

8

9

93 322 102 133 155 491 313 317— 3 —問 2 プログラム B（図 2）を実行すると，配列の全要素の中から大きい順に上位

m 個の要素の値と添字が出力される．ただし，m <= n とする．m = 3 に設定して表 1 に示す配列をこのプログラムで処理したときの挙動について，(a)〜(c)の各問いに答えよ．

(a) このプログラムが終了するまでに，(04) 行目の要素比較は何回行われるか
答えよ．

(b) (09) 行目をなぜ実行するのか，実行しなかった場合のプログラムの挙動とあわせて理由を説明せよ．

(c) このプログラムが出力する変数 max および maxi の値を，出力される順にすべて答えよ．

プログラム B(01) j を 1 から m まで 1 ずつ増やしながら，(02)

max = score[0], maxi = 0 に初期化する(03)

i を 1 から n-1 まで 1 ずつ増やしながら，(04)

もし score[i] > max ならば，max = score[i], maxi = i に更新する

(05)
(06)

を実行する

(07)

を繰り返す

(08)

max および maxi の値を第 j 位として出力する(09)

score[maxi] = −1 に書き換える(10) を繰り返す
図2

添字 i

0

要素 score[i]68 1551

表 1（再掲）
2
3
4

5

6

7

8

9

93 322 102 133 155 491 313 317— 4 —問 3 配列の全要素の中から大きい順に上位 m 個の要素の値を出力するためには，プログラム C（図 3）を用いることもできる．プログラム B とプログラム C の挙動の違いについて，(a)〜(c) の各問いに答えよ．

(a) プログラム C における要素比較回数に関する計算量の評価として最も正しいものを次の選択肢から一つ答えよ．
√√
選択肢：O(log n), O( n), O(n), O(n log n), O(n n), O(n2 ), O(2n )(b) n = 220 = 1048576, m = 5 の場合，プログラム B とプログラム C ではどちらが要素比較回数が少なくて済むと考えられるか，理由とともに答えよ．

(c) n = 220 = 1048576, m = 1000 の場合，プログラム B とプログラム C ではどちらが要素比較回数が少なくて済むと考えられるか，理由とともに答えよ．

プログラム C(01) マージソートアルゴリズムを用いて score 配列全体を降順にソート
する

(02)
(03)

j を 1 から m まで 1 ずつ増やしながら，
score[j-1] の値を第 j 位として出力する(04) を繰り返す
図3

アルゴリズムとデータ構造の問題は，このページで終りである．
— 5 —データベース工学

I ある会社の会議に関する情報を管理する関係データベースを考える．以下の問いに答えよ．（配点 50 点）

問 1 データベースが次の 1 つのリレーションから構成されるものとする．

• 「会議参加者」リレーション（会議 ID，プロジェクト名，日付，部屋番号，参加者名，参加者所属）
丸括弧内は「会議参加者」リレーションの属性を示す．
「会議参加者」リレーションの例を表 1 に示す．
「会議参加者」リレーションに関して，プロジェクト名がプロジェクト Y

である会議に参加するすべての参加者の参加者名と参加者所属を表示するための問合せを SQL 文で記述せよ．
問 2 問 1 の「会議参加者」リレーションは，更新不整合の観点からは好ましくな
い．更新不整合には，修正不整合，挿入不整合，削除不整合の３つがある．表1 の例を用いて，「会議参加者」リレーションに関して修正不整合が生じる場合を説明せよ．
問 3 問 1 の「会議参加者」リレーションを，次の３つのリレーションに分解する
ことで，更新不整合を解消することができる．

• 「会議」リレーション（会議 ID，プロジェクト名，日付，部屋番号）• 「社員情報」リレーション（社員 ID，名前，所属）• 「参加」リレーション
丸括弧内は，各リレーションの属性を示す．
「会議」リレーション，「社員情報」
リレーションの例をそれぞれ表 2 と表 3 に示す．
「参加」リレーションに入るべき属性を挙げよ．
問 4 データベースが問 3 で挙げた３つのリレーションから構成されるとき， Aliceが参加するすべての会議の開催情報（プロジェクト名，日付，部屋番号）を表示するための問合せを SQL 文で記述せよ．

— 6 —問 5 関係データベースに対する問合せは，複数の関係演算（和，差，射影，選択，直積，結合）の組み合わせによって構成される．問 4 の問合せを構成する関係
演算に関して，問合せ処理の効率化の観点から，どのような実行順序で実行するのが良いかを理由とともに説明せよ．ここでは，社員情報を管理するデータベースに登録されているレコード件数が多く，各レコードは表 3 に示す名前や所属以外にも多数の属性を保持していると仮定する．必要であれば，処理木（問合せグラフとも言う）を利用して説明してもよい．

表 1「会議参加者」リレーションの例
会議 ID

プロジェクト名

M001

プロジェクト Y

M001

日付

部屋番号

参加者名

参加者所属

2013/6/6 R001

Alice

所属 P

プロジェクト Y

2013/6/6 R001

Bob

所属 Q

M002

プロジェクト Z

2013/6/7 R002

Alice

所属 P

M002

プロジェクト Z

2013/6/7 R002

Carol

所属 R

表 2「会議」リレーションの例
会議 ID

プロジェクト名

日付

部屋番号

M001

プロジェクト Y

2013/6/6 R001

M002

プロジェクト Z

2013/6/7 R002

表 3「社員情報」リレーションの例
社員 ID

名前

所属

e1001

Alice

所属 P

e1002

Bob

所属 Q

e1003

Carol 所属 R

データベース工学の問題は，このページで終りである．
— 7 —平成 26 年度

大学院博士 (前期) 課程入学者選抜学力試験
高度ＩＣＴ領域

専 門 科 目［90 分］
注 意 事 項

1．試験開始の合図があるまで，この問題冊子を開かないでください．
2．出題科目およびページと科目の選択方法は，下表のとおりです．下記の指示に従って解答した 3 科目の解答用紙を提出してください．なお，ページ番号のついていな
い紙は下書き用紙です．
出 題 科 目

ペ ー ジ

問題数

基

礎

数

学

1

3問

情

報

数

学

2

2問

アルゴリズムとデータ構造

3〜 5

1問

デ ー タ ベ ー ス 工 学

6〜 7

1問

選択方法

左の 4 科目のうちから 3 科
目を選択し，解答してくだ
さい．

3．解答用紙は 9 枚に分かれているので，1 科目につき 3 枚の解答用紙を用いてくださ
い．解答に用いなかった解答用紙も含め，すべての解答用紙の所定欄に選択した科
目名と受験番号をはっきりと記入してください．

4．解答冊子の表紙の所定欄に受験番号と氏名をはっきりと記入してください．さらに，選択する科目名の先頭に○印を記入してください．

5．解答欄内に指定された問題番号（I，II など），問いの番号（問 1 など）を記入してから解答を始めてください．

6．計算または下書き用紙 3 枚が解答用紙と一緒にあります．
7．試験中に問題冊子の印刷不明瞭，ページの落丁・乱丁および解答用紙の汚れ等に気がついた場合は，静かに手を上げて監督員に知らせてください．

8．試験終了後，問題冊子は持ち帰ってください．
9．問題ごとに配点が記されています．

基 礎 数 学

I 極限 x→0lim

ex sin x − xを求めよ．（配点 10 点）
x2

∫ 2√2

II 定積分 √

3

√
2
dx
を，
t
=
x2 + 1 と変数変換して求めよ．（配点 10 点）
x x2 + 1√

III 次の行列



 0

A=
 −a


b

a

−b 

0


c 


−c

0



に対し，線形写像 f : R3 → R3 を f (x) = Ax (x ∈ R3 ) により定める．ただし，a, b, c ∈ R とする．以下の問いに答えよ．（配点 30 点）
問 1 行列 A の行列式を求めよ．
問 2 行列 A の階数を求めよ．
問 3 線形写像 f の核 Ker(f ) を求めよ．

基礎数学の問題は，このページで終りである．
— 1 —情 報 数 学

I 以下の無向グラフ G について，以下の問いに答えよ．（配点 20 点）

問 1 グラフ G の隣接行列を求めよ．
問 2 節点 b から節点 d に至る長さ 3 の経路をすべて求めよ．
問 3 節点 a から節点 b に至る経路のうち，長さが偶数のものは存在しないことを証明せよ．

II 自然数 n に対して，有限集合 Xn = {i | i は n 以下の自然数 } における置換
πn : Xn → Xn を考える．Sn を Xn 上の置換全体の集合とし，i ∈ Xn に対して，
An,i = {πn ∈ Sn | πn (i) = i} とする．また，集合 T の要素数を |T | で表すとする．
以下の問いに答えよ．（配点 30 点）
問 1 A3,1 の要素をすべて求めよ．ただし，π3 (i) = ai となる置換 π3 を



1

2

3




a1 a2 a3で表せ．
問 2 一般の n に対して，|Sn | と |An,i | をそれぞれ求めよ．
問 3 n ≧ 3 の場合，|An,1 ∩ An,2 ∩ An,3 | と |An,1 ∪ An,2 ∪ An,3 | をそれぞれ求めよ．

情報数学の問題は，このページで終りである．
— 2 —アルゴリズムとデータ構造

I n 個 (n >= 1) の要素が格納されている配列 score について考える．なお，配列の添
字は 0 から n-1 までを用い，i 番目の要素は score[i-1] に格納されているものとする．また，格納されている要素は非負整数であるとするが，配列は負の数も格納できるものとする．このとき，以下の問いに答えよ．（配点 50 点）

問 1 プログラム A（図 1）を実行すると，配列の全要素の中から最大の要素の値と添字が出力される．表 1 に示す 10 個の要素が格納されている配列をこのプ
ログラムで処理したときの挙動について，(a)〜(c) の各問いに答えよ．

(a) このプログラムが終了するまでに，(03) 行目の要素比較は何回行われるか
答えよ．

(b) このプログラムが終了するまでに，(04) 行目の max および maxi の更新は何回行われるか答えよ．

(c) このプログラムが出力する変数 max および maxi の値をそれぞれ答えよ．

プログラム A(01) max = score[0], maxi = 0 に初期化する(02)

i を 1 から n-1 まで 1 ずつ増やしながら，もし score[i] > max ならば，(03)

max = score[i], maxi = i に更新する

(04)

を実行する

(05)

(06) を繰り返す(07)

max および maxi の値を出力する
図1

添字 i

0

要素 score[i]68 155

1

2

表1
3

4

5

6

7

8

9

93 322 102 133 155 491 313 317— 3 —問 2 プログラム B（図 2）を実行すると，配列の全要素の中から大きい順に上位

m 個の要素の値と添字が出力される．ただし，m <= n とする．m = 3 に設定して表 1 に示す配列をこのプログラムで処理したときの挙動について，(a)〜(c)の各問いに答えよ．

(a) このプログラムが終了するまでに，(04) 行目の要素比較は何回行われるか
答えよ．

(b) (09) 行目をなぜ実行するのか，実行しなかった場合のプログラムの挙動とあわせて理由を説明せよ．

(c) このプログラムが出力する変数 max および maxi の値を，出力される順にすべて答えよ．

プログラム B(01) j を 1 から m まで 1 ずつ増やしながら，(02)

max = score[0], maxi = 0 に初期化する(03)

i を 1 から n-1 まで 1 ずつ増やしながら，(04)

もし score[i] > max ならば，max = score[i], maxi = i に更新する

(05)
(06)

を実行する

(07)

を繰り返す

(08)

max および maxi の値を第 j 位として出力する(09)

score[maxi] = −1 に書き換える(10) を繰り返す
図2

添字 i

0

要素 score[i]68 1551

表 1（再掲）
2
3
4

5

6

7

8

9

93 322 102 133 155 491 313 317— 4 —問 3 配列の全要素の中から大きい順に上位 m 個の要素の値を出力するためには，プログラム C（図 3）を用いることもできる．プログラム B とプログラム C の挙動の違いについて，(a)〜(c) の各問いに答えよ．

(a) プログラム C における要素比較回数に関する計算量の評価として最も正しいものを次の選択肢から一つ答えよ．
√√
選択肢：O(log n), O( n), O(n), O(n log n), O(n n), O(n2 ), O(2n )(b) n = 220 = 1048576, m = 5 の場合，プログラム B とプログラム C ではどちらが要素比較回数が少なくて済むと考えられるか，理由とともに答えよ．

(c) n = 220 = 1048576, m = 1000 の場合，プログラム B とプログラム C ではどちらが要素比較回数が少なくて済むと考えられるか，理由とともに答えよ．

プログラム C(01) マージソートアルゴリズムを用いて score 配列全体を降順にソート
する

(02)
(03)

j を 1 から m まで 1 ずつ増やしながら，
score[j-1] の値を第 j 位として出力する(04) を繰り返す
図3

アルゴリズムとデータ構造の問題は，このページで終りである．
— 5 —データベース工学

I ある会社の会議に関する情報を管理する関係データベースを考える．以下の問いに答えよ．（配点 50 点）

問 1 データベースが次の 1 つのリレーションから構成されるものとする．

• 「会議参加者」リレーション（会議 ID，プロジェクト名，日付，部屋番号，参加者名，参加者所属）
丸括弧内は「会議参加者」リレーションの属性を示す．
「会議参加者」リレーションの例を表 1 に示す．
「会議参加者」リレーションに関して，プロジェクト名がプロジェクト Y

である会議に参加するすべての参加者の参加者名と参加者所属を表示するための問合せを SQL 文で記述せよ．
問 2 問 1 の「会議参加者」リレーションは，更新不整合の観点からは好ましくな
い．更新不整合には，修正不整合，挿入不整合，削除不整合の３つがある．表1 の例を用いて，「会議参加者」リレーションに関して修正不整合が生じる場合を説明せよ．
問 3 問 1 の「会議参加者」リレーションを，次の３つのリレーションに分解する
ことで，更新不整合を解消することができる．

• 「会議」リレーション（会議 ID，プロジェクト名，日付，部屋番号）• 「社員情報」リレーション（社員 ID，名前，所属）• 「参加」リレーション
丸括弧内は，各リレーションの属性を示す．
「会議」リレーション，「社員情報」
リレーションの例をそれぞれ表 2 と表 3 に示す．
「参加」リレーションに入るべき属性を挙げよ．
問 4 データベースが問 3 で挙げた３つのリレーションから構成されるとき， Aliceが参加するすべての会議の開催情報（プロジェクト名，日付，部屋番号）を表示するための問合せを SQL 文で記述せよ．

— 6 —問 5 関係データベースに対する問合せは，複数の関係演算（和，差，射影，選択，直積，結合）の組み合わせによって構成される．問 4 の問合せを構成する関係
演算に関して，問合せ処理の効率化の観点から，どのような実行順序で実行するのが良いかを理由とともに説明せよ．ここでは，社員情報を管理するデータベースに登録されているレコード件数が多く，各レコードは表 3 に示す名前や所属以外にも多数の属性を保持していると仮定する．必要であれば，処理木（問合せグラフとも言う）を利用して説明してもよい．

表 1「会議参加者」リレーションの例
会議 ID

プロジェクト名

M001

プロジェクト Y

M001

日付

部屋番号

参加者名

参加者所属

2013/6/6 R001

Alice

所属 P

プロジェクト Y

2013/6/6 R001

Bob

所属 Q

M002

プロジェクト Z

2013/6/7 R002

Alice

所属 P

M002

プロジェクト Z

2013/6/7 R002

Carol

所属 R

表 2「会議」リレーションの例
会議 ID

プロジェクト名

日付

部屋番号

M001

プロジェクト Y

2013/6/6 R001

M002

プロジェクト Z

2013/6/7 R002

表 3「社員情報」リレーションの例
社員 ID

名前

所属

e1001

Alice

所属 P

e1002

Bob

所属 Q

e1003

Carol 所属 R

データベース工学の問題は，このページで終りである．
— 7 —

・

・

・

・

・

平成 26 年度

大学院博士 (前期) 課程入学者選抜学力試験
複雑系情報科学領域

専 門 科 目［90 分］
注 意 事 項

1．試験開始の合図があるまで，この問題冊子を開かないでください．
2．出題科目およびページと科目の選択方法は，下表のとおりです．下記の指示に従って解答した 3 科目の解答用紙を提出してください．なお，ページ番号のついていな
い紙は下書き用紙です．
出 題 科 目

ペ ー ジ

問題数

基

礎

数

学

1

3問

情

報

数

学

2

2問

応

用

数

学

3

2問

アルゴリズムとデータ構造

4〜 6

1問

選択方法

左の 4 科目のうちから 3 科
目を選択し，解答してくだ
さい．

3．解答用紙は 9 枚に分かれているので，1 科目につき 3 枚の解答用紙を用いてくださ
い．解答に用いなかった解答用紙も含め，すべての解答用紙の所定欄に選択した科
目名と受験番号をはっきりと記入してください．

4．解答冊子の表紙の所定欄に受験番号と氏名をはっきりと記入してください．さらに，選択する科目名の先頭に○印を記入してください．

5．解答欄内に指定された問題番号（I，II など），問いの番号（問 1 など）を記入してから解答を始めてください．

6．計算または下書き用紙 3 枚が解答用紙と一緒にあります．
7．試験中に問題冊子の印刷不明瞭，ページの落丁・乱丁および解答用紙の汚れ等に気がついた場合は，静かに手を上げて監督員に知らせてください．

8．試験終了後，問題冊子は持ち帰ってください．
9．問題ごとに配点が記されています．

基 礎 数 学

I 極限 x→0lim

ex sin x − xを求めよ．（配点 10 点）
x2

∫ 2√2

II 定積分 √

3

√
2
dx
を，
t
=
x2 + 1 と変数変換して求めよ．（配点 10 点）
x x2 + 1√

III 次の行列



 0

A=
 −a


b

a

−b 

0


c 


−c

0



に対し，線形写像 f : R3 → R3 を f (x) = Ax (x ∈ R3 ) により定める．ただし，a, b, c ∈ R とする．以下の問いに答えよ．（配点 30 点）
問 1 行列 A の行列式を求めよ．
問 2 行列 A の階数を求めよ．
問 3 線形写像 f の核 Ker(f ) を求めよ．

基礎数学の問題は，このページで終りである．
— 1 —情 報 数 学

I 以下の無向グラフ G について，以下の問いに答えよ．（配点 20 点）

問 1 グラフ G の隣接行列を求めよ．
問 2 節点 b から節点 d に至る長さ 3 の経路をすべて求めよ．
問 3 節点 a から節点 b に至る経路のうち，長さが偶数のものは存在しないことを証明せよ．

II 自然数 n に対して，有限集合 Xn = {i | i は n 以下の自然数 } における置換
πn : Xn → Xn を考える．Sn を Xn 上の置換全体の集合とし，i ∈ Xn に対して，
An,i = {πn ∈ Sn | πn (i) = i} とする．また，集合 T の要素数を |T | で表すとする．
以下の問いに答えよ．（配点 30 点）
問 1 A3,1 の要素をすべて求めよ．ただし，π3 (i) = ai となる置換 π3 を



1

2

3




a1 a2 a3で表せ．
問 2 一般の n に対して，|Sn | と |An,i | をそれぞれ求めよ．
問 3 n ≧ 3 の場合，|An,1 ∩ An,2 ∩ An,3 | と |An,1 ∪ An,2 ∪ An,3 | をそれぞれ求めよ．

情報数学の問題は，このページで終りである．
— 2 —応 用 数 学

I 実数値関数 x = x(t), y = y(t) に対する連立微分方程式
 ẋ = −y ẏ = x（ただし，˙ は変数 t に関する微分とする）

を解け．また，始点 (x(0), y(0)) が (1, 0) であるような解軌道を xy-平面に描け．
（配点 25 点）

II 関数 f (t) を次のように定義する．
 cos(πt) (|t| ≦ 1 )2
f (t) =
 0
1(|t| >)
2

関数 f (t) のフーリエ変換

F (ω) =

∫ ∞−∞f (t)e−iωt dt

を求めよ．ただし，i =√−1 とする．（配点 25 点）

応用数学の問題は，このページで終りである．
— 3 —アルゴリズムとデータ構造

I n 個 (n >= 1) の要素が格納されている配列 score について考える．なお，配列の添
字は 0 から n-1 までを用い，i 番目の要素は score[i-1] に格納されているものとする．また，格納されている要素は非負整数であるとするが，配列は負の数も格納できるものとする．このとき，以下の問いに答えよ．（配点 50 点）

問 1 プログラム A（図 1）を実行すると，配列の全要素の中から最大の要素の値と添字が出力される．表 1 に示す 10 個の要素が格納されている配列をこのプ
ログラムで処理したときの挙動について，(a)〜(c) の各問いに答えよ．

(a) このプログラムが終了するまでに，(03) 行目の要素比較は何回行われるか
答えよ．

(b) このプログラムが終了するまでに，(04) 行目の max および maxi の更新は何回行われるか答えよ．

(c) このプログラムが出力する変数 max および maxi の値をそれぞれ答えよ．

プログラム A(01) max = score[0], maxi = 0 に初期化する(02)

i を 1 から n-1 まで 1 ずつ増やしながら，もし score[i] > max ならば，(03)

max = score[i], maxi = i に更新する

(04)

を実行する

(05)

(06) を繰り返す(07)

max および maxi の値を出力する
図1

添字 i

0

要素 score[i]68 155

1

2

表1
3

4

5

6

7

8

9

93 322 102 133 155 491 313 317— 4 —問 2 プログラム B（図 2）を実行すると，配列の全要素の中から大きい順に上位

m 個の要素の値と添字が出力される．ただし，m <= n とする．m = 3 に設定して表 1 に示す配列をこのプログラムで処理したときの挙動について，(a)〜(c)の各問いに答えよ．

(a) このプログラムが終了するまでに，(04) 行目の要素比較は何回行われるか
答えよ．

(b) (09) 行目をなぜ実行するのか，実行しなかった場合のプログラムの挙動とあわせて理由を説明せよ．

(c) このプログラムが出力する変数 max および maxi の値を，出力される順にすべて答えよ．

プログラム B(01) j を 1 から m まで 1 ずつ増やしながら，(02)

max = score[0], maxi = 0 に初期化する(03)

i を 1 から n-1 まで 1 ずつ増やしながら，(04)

もし score[i] > max ならば，max = score[i], maxi = i に更新する

(05)
(06)

を実行する

(07)

を繰り返す

(08)

max および maxi の値を第 j 位として出力する(09)

score[maxi] = −1 に書き換える(10) を繰り返す
図2

添字 i

0

要素 score[i]68 1551

表 1（再掲）
2
3
4

5

6

7

8

9

93 322 102 133 155 491 313 317— 5 —問 3 配列の全要素の中から大きい順に上位 m 個の要素の値を出力するためには，プログラム C（図 3）を用いることもできる．プログラム B とプログラム C の挙動の違いについて，(a)〜(c) の各問いに答えよ．

(a) プログラム C における要素比較回数に関する計算量の評価として最も正しいものを次の選択肢から一つ答えよ．
√√
選択肢：O(log n), O( n), O(n), O(n log n), O(n n), O(n2 ), O(2n )(b) n = 220 = 1048576, m = 5 の場合，プログラム B とプログラム C ではどちらが要素比較回数が少なくて済むと考えられるか，理由とともに答えよ．

(c) n = 220 = 1048576, m = 1000 の場合，プログラム B とプログラム C ではどちらが要素比較回数が少なくて済むと考えられるか，理由とともに答えよ．

プログラム C(01) マージソートアルゴリズムを用いて score 配列全体を降順にソート
する

(02)
(03)

j を 1 から m まで 1 ずつ増やしながら，
score[j-1] の値を第 j 位として出力する(04) を繰り返す
図3

アルゴリズムとデータ構造の問題は，このページで終りである．
— 6 —平成 26 年度

大学院博士 (前期) 課程入学者選抜学力試験
知能情報科学領域

専 門 科 目［90 分］
注 意 事 項

1．試験開始の合図があるまで，この問題冊子を開かないでください．
2．出題科目およびページと科目の選択方法は，下表のとおりです．下記の指示に従って解答した 3 科目の解答用紙を提出してください．なお，ページ番号のついていな
い紙は下書き用紙です．
出 題 科 目

ペ ー ジ

問題数

基

礎

数

学

1

3問

情

報

数

学

2

2問

人

工

知

能

3

1問

アルゴリズムとデータ構造

4〜 6

1問

選択方法

左の 4 科目のうちから 3 科
目を選択し，解答してくだ
さい．

3．解答用紙は 9 枚に分かれているので，1 科目につき 3 枚の解答用紙を用いてくださ
い．解答に用いなかった解答用紙も含め，すべての解答用紙の所定欄に選択した科
目名と受験番号をはっきりと記入してください．

4．解答冊子の表紙の所定欄に受験番号と氏名をはっきりと記入してください．さらに，選択する科目名の先頭に○印を記入してください．

5．解答欄内に指定された問題番号（I，II など），問いの番号（問 1 など）を記入してから解答を始めてください．

6．計算または下書き用紙 3 枚が解答用紙と一緒にあります．
7．試験中に問題冊子の印刷不明瞭，ページの落丁・乱丁および解答用紙の汚れ等に気がついた場合は，静かに手を上げて監督員に知らせてください．

8．試験終了後，問題冊子は持ち帰ってください．
9．問題ごとに配点が記されています．

基 礎 数 学

I 極限 x→0lim

ex sin x − xを求めよ．（配点 10 点）
x2

∫ 2√2

II 定積分 √

3

√
2
dx
を，
t
=
x2 + 1 と変数変換して求めよ．（配点 10 点）
x x2 + 1√

III 次の行列



 0

A=
 −a


b

a

−b 

0


c 


−c

0



に対し，線形写像 f : R3 → R3 を f (x) = Ax (x ∈ R3 ) により定める．ただし，a, b, c ∈ R とする．以下の問いに答えよ．（配点 30 点）
問 1 行列 A の行列式を求めよ．
問 2 行列 A の階数を求めよ．
問 3 線形写像 f の核 Ker(f ) を求めよ．

基礎数学の問題は，このページで終りである．
— 1 —情 報 数 学

I 以下の無向グラフ G について，以下の問いに答えよ．（配点 20 点）

問 1 グラフ G の隣接行列を求めよ．
問 2 節点 b から節点 d に至る長さ 3 の経路をすべて求めよ．
問 3 節点 a から節点 b に至る経路のうち，長さが偶数のものは存在しないことを証明せよ．

II 自然数 n に対して，有限集合 Xn = {i | i は n 以下の自然数 } における置換
πn : Xn → Xn を考える．Sn を Xn 上の置換全体の集合とし，i ∈ Xn に対して，
An,i = {πn ∈ Sn | πn (i) = i} とする．また，集合 T の要素数を |T | で表すとする．
以下の問いに答えよ．（配点 30 点）
問 1 A3,1 の要素をすべて求めよ．ただし，π3 (i) = ai となる置換 π3 を



1

2

3




a1 a2 a3で表せ．
問 2 一般の n に対して，|Sn | と |An,i | をそれぞれ求めよ．
問 3 n ≧ 3 の場合，|An,1 ∩ An,2 ∩ An,3 | と |An,1 ∪ An,2 ∪ An,3 | をそれぞれ求めよ．

情報数学の問題は，このページで終りである．
— 2 —人 工 知 能I 三目並べという二人ゲームがある．3×3 の盤面が与えられ，その初期の局面は 9 か所とも何も置いていない状態である．黒石，白石を持つプレイヤーが交互にその 9か所のまだ石を置いていないいずれかに順番に石を置いていく．先に，縦，横，斜めのいずれかに 3 つ同じ色の石をまっすぐに並べた方が勝ちである．相手が先手の黒で，自分は後手の白とする．ゲームが始まってから黒，白，黒，白，黒と 5 個の石が置かれた図 1 の局面を考える．次は後手である自分の白の手番である．このとき以下の問いに答えよ．（配点 50 点）

~
~

²¯²¯
±°±°
~

図 1 三目並べの局面

問 1 現在の局面を根（ルート）として，深さ 2（つまりここから後手が白石を 1
つ，先手が黒石を 1 つ置いた 2 手先の状態）までの完全なゲーム木（AND-OR木）を書け．
問 2 局面 s に対する評価関数 f (s) を以下のように定義するとき，問 1 で書いたゲーム木の深さ 2 のすべての終端ノード（節点）に評価値を与えよ．

f (s) = [s において自分の石を 3 つまっすぐに並べることのできる縦横斜めの並びの総数 ]− [s において相手の石を 3 つまっすぐに並べることのできる縦横斜めの並びの総数 ]問 3 ミニ・マックスのアルゴリズムを用いて，問 2 の終端ノードの評価値からさかのぼって深さ 1 と深さ 0 のすべてのノードに評価値を与えよ．

人工知能の問題は，このページで終りである．
— 3 —アルゴリズムとデータ構造

I n 個 (n >= 1) の要素が格納されている配列 score について考える．なお，配列の添
字は 0 から n-1 までを用い，i 番目の要素は score[i-1] に格納されているものとする．また，格納されている要素は非負整数であるとするが，配列は負の数も格納できるものとする．このとき，以下の問いに答えよ．（配点 50 点）

問 1 プログラム A（図 1）を実行すると，配列の全要素の中から最大の要素の値と添字が出力される．表 1 に示す 10 個の要素が格納されている配列をこのプ
ログラムで処理したときの挙動について，(a)〜(c) の各問いに答えよ．

(a) このプログラムが終了するまでに，(03) 行目の要素比較は何回行われるか
答えよ．

(b) このプログラムが終了するまでに，(04) 行目の max および maxi の更新は何回行われるか答えよ．

(c) このプログラムが出力する変数 max および maxi の値をそれぞれ答えよ．

プログラム A(01) max = score[0], maxi = 0 に初期化する(02)

i を 1 から n-1 まで 1 ずつ増やしながら，もし score[i] > max ならば，(03)

max = score[i], maxi = i に更新する

(04)

を実行する

(05)

(06) を繰り返す(07)

max および maxi の値を出力する
図1

添字 i

0

要素 score[i]68 155

1

2

表1
3

4

5

6

7

8

9

93 322 102 133 155 491 313 317— 4 —問 2 プログラム B（図 2）を実行すると，配列の全要素の中から大きい順に上位

m 個の要素の値と添字が出力される．ただし，m <= n とする．m = 3 に設定して表 1 に示す配列をこのプログラムで処理したときの挙動について，(a)〜(c)の各問いに答えよ．

(a) このプログラムが終了するまでに，(04) 行目の要素比較は何回行われるか
答えよ．

(b) (09) 行目をなぜ実行するのか，実行しなかった場合のプログラムの挙動とあわせて理由を説明せよ．

(c) このプログラムが出力する変数 max および maxi の値を，出力される順にすべて答えよ．

プログラム B(01) j を 1 から m まで 1 ずつ増やしながら，(02)

max = score[0], maxi = 0 に初期化する(03)

i を 1 から n-1 まで 1 ずつ増やしながら，(04)

もし score[i] > max ならば，max = score[i], maxi = i に更新する

(05)
(06)

を実行する

(07)

を繰り返す

(08)

max および maxi の値を第 j 位として出力する(09)

score[maxi] = −1 に書き換える(10) を繰り返す
図2

添字 i

0

要素 score[i]68 1551

表 1（再掲）
2
3
4

5

6

7

8

9

93 322 102 133 155 491 313 317— 5 —問 3 配列の全要素の中から大きい順に上位 m 個の要素の値を出力するためには，プログラム C（図 3）を用いることもできる．プログラム B とプログラム C の挙動の違いについて，(a)〜(c) の各問いに答えよ．

(a) プログラム C における要素比較回数に関する計算量の評価として最も正しいものを次の選択肢から一つ答えよ．
√√
選択肢：O(log n), O( n), O(n), O(n log n), O(n n), O(n2 ), O(2n )(b) n = 220 = 1048576, m = 5 の場合，プログラム B とプログラム C ではどちらが要素比較回数が少なくて済むと考えられるか，理由とともに答えよ．

(c) n = 220 = 1048576, m = 1000 の場合，プログラム B とプログラム C ではどちらが要素比較回数が少なくて済むと考えられるか，理由とともに答えよ．

プログラム C(01) マージソートアルゴリズムを用いて score 配列全体を降順にソート
する

(02)
(03)

j を 1 から m まで 1 ずつ増やしながら，
score[j-1] の値を第 j 位として出力する(04) を繰り返す
図3

アルゴリズムとデータ構造の問題は，このページで終りである．
— 6 —