院試hub

九州大学 院試 過去問 解答例

九大 システム情報科学府 情報理工学専攻 専門科目(情報系4分野) 2022年度 院試 過去問 解答例・解説(全4問)

全4問。情報4問。テーマタグは2件(正規表現・形式言語・オートマトン理論)。

最終更新:

このページで公開
解説4問と大問1問の途中式・最終答(全4問)
解答PDFに収録
途中式と最終答(最終答つき4問)
問題本文
非収録

九大 専門科目(情報系4分野) 2022年度 院試 過去問の出題内容(全4問)

この4問の分野は情報4問です。

大問分野主題解説の小見出し最終答
第1問情報情報理論加法雑音通信路の見方 / エントロピーレートの計算あり
第2問情報オートマトンと言語状態対の意味 / 部分文字列数の差あり
第3問情報アルゴリズム・プログラミング再帰処理の不変量 / 自然結合でタプルが増える理由あり
第4問情報計算機アーキテクチャドントケアを使う理由 / ストール数の数え方あり

2022年度の出題テーマと、同じテーマを出した他大学・他年度

この年度は1問に2テーマが出ています。

第1問 — 情報理論

加法雑音通信路の見方

第1問は、出力が入力から必ず1ビットだけ反転したベクトルになる、という通信路である。どのビットが反転するかを表す雑音 ZZ を導入すると、対称な加法雑音通信路になる。対称通信路では一様入力が容量を達成するため、H(Y)H(Y) の最大値 kk から雑音の不確実性 log⁡2k\log_2 k を引けばよい。

エントロピーレートの計算

マルコフ情報源では、現在状態 ii が分かっているときの次状態の不確実性を、定常確率 πi\pi_i で平均する。行列全体のエントロピーを一度に計算しようとするより、各行の分岐だけを見る方がミスが少ない。

ハフマン符号

(X1,X2)(X_1,X_2) の確率は Pr⁡(X1=i,X2=j)=πiPij\Pr(X_1=i,X_2=j)=\pi_i P_{ij} で求まる。ハフマン符号は同確率の項の結合順に自由度があるため、符号語そのものは一意ではない。重要なのは、確率の高い (4,4)(4,4) に短い符号を割り当て、接頭語条件と平均符号長を確認することである。

解答

1. 通信路容量

入力と出力を F2k\mathbb{F}_2^k 上のベクトルとみなす。この通信路は Y=X⊕Z Y=X\oplus Z と書ける。ただし雑音 ZZ はハミング重み 11 の kk 個のベクトルのうち一つを等確率 1/k1/k でとる。したがって H(Y∣X)=H(Z)=log⁡2k H(Y\mid X)=H(Z)=\log_2 k である。

任意の入力分布に対して I(X;Y)=H(Y)−H(Y∣X)≤k−log⁡2k I(X;Y)=H(Y)-H(Y\mid X)\leq k-\log_2 k である。一方、XX を F2k\mathbb{F}_2^k 上の一様分布にすると、加法雑音との和 Y=X⊕ZY=X\oplus Z も一様分布になり H(Y)=kH(Y)=k となる。よって上限が達成される。

C=k−log⁡2kbits/use C=k-\log_2 k \quad \text{bits/use} である。

2. マルコフ情報源

遷移確率行列を P=(1/21/20001/201/21/21/20000y1−y) P= \begin{pmatrix} 1/2&1/2&0&0\\ 0&1/2&0&1/2\\ 1/2&1/2&0&0\\ 0&0&y&1-y \end{pmatrix} とおく。

(1) 状態遷移は、非零確率だけを並べれば 状態遷移先と確率11(1/2), 2(1/2)22(1/2), 4(1/2)31(1/2), 2(1/2)43(y), 4(1−y) \begin{array}{c|c} \text{状態} & \text{遷移先と確率}\\ \hline 1 & 1(1/2),\ 2(1/2)\\ 2 & 2(1/2),\ 4(1/2)\\ 3 & 1(1/2),\ 2(1/2)\\ 4 & 3(y),\ 4(1-y) \end{array} である。

(2) 定常分布を π=(1/8,1/4,1/8,1/2)\pi=(1/8,1/4,1/8,1/2) とする。第3成分について π3=(πP)3=π4y=12y \pi_3=(\pi P)_3=\pi_4 y=\frac12 y であるから y=14 y=\frac14 を得る。

(3) エントロピーレートは定常分布で平均した条件付きエントロピー H∞=∑iπiH(Pi,⋅) H_{\infty}=\sum_i \pi_i H(P_{i,\cdot}) である。第1,2,3行の分岐は二分岐等確率なので各 11 bit、第4行は (1/4,3/4)(1/4,3/4) なので h2(1/4)h_2(1/4) bit である。従って H∞=18+14+18+12h2 ⁣(14)=12+12h2 ⁣(14) H_{\infty} =\frac18+\frac14+\frac18+\frac12 h_2\!\left(\frac14\right) =\frac12+\frac12 h_2\!\left(\frac14\right) である。数値では h2(1/4)≃0.8113,H∞≃0.9056 bits/symbol. h_2(1/4)\simeq 0.8113,\qquad H_{\infty}\simeq 0.9056\ \text{bits/symbol}.

(4) 定常状態から始めたときの (X1,X2)(X_1,X_2) の非零確率は (X1,X2)Pr⁡(X1,X2)(1,1),(1,2),(3,1),(3,2)1/16(2,2),(2,4),(4,3)1/8(4,4)3/8 \begin{array}{c|c} (X_1,X_2) & \Pr(X_1,X_2)\\ \hline (1,1),(1,2),(3,1),(3,2) & 1/16\\ (2,2),(2,4),(4,3) & 1/8\\ (4,4) & 3/8 \end{array} である。ハフマン符号の一例は次である。 (X1,X2)符号語(4,4)11(4,3)100(2,2)010(2,4)011(3,1)000(3,2)001(1,1)1010(1,2)1011 \begin{array}{c|c} (X_1,X_2) & \text{符号語}\\ \hline (4,4) & 11\\ (4,3) & 100\\ (2,2) & 010\\ (2,4) & 011\\ (3,1) & 000\\ (3,2) & 001\\ (1,1) & 1010\\ (1,2) & 1011 \end{array} この符号は接頭語条件を満たす。平均符号長は 38⋅2+3⋅18⋅3+2⋅116⋅3+2⋅116⋅4=114 \frac38\cdot 2 +3\cdot \frac18\cdot 3 +2\cdot\frac1{16}\cdot 3 +2\cdot\frac1{16}\cdot 4 =\frac{11}{4} である。

最終答

C=k−log⁡2kC=k-\log_2 k bits/use。定常分布条件から y=1/4y=1/4、エントロピーレートは 12+12h2(1/4)≃0.9056\frac12+\frac12 h_2(1/4)\simeq 0.9056 bits/symbol。(X1,X2)(X_1,X_2) には上表のようなハフマン符号を与えればよい。

第2問 — オートマトンと言語

状態対の意味

構成されたオートマトンでは、各入力記号が二つの成分を異なる速度で進める。00 は両成分を1ステップずつ、11 は第1成分を1ステップ、第2成分を2ステップ進める。この「ステップ数」に言い換えれば、複雑に見える遷移式を単なる剰余計算として処理できる。

部分文字列数の差

L2L_2 で使う事実は、文字列を左から右へ見たとき、aa から bb への切替回数が #ab\#_{ab}、bb から aa への切替回数が #ba\#_{ba} になることである。切替回数の差は先頭と末尾の組だけで決まるため、有限オートマトンで判定できる。

文脈自由文法の確認

L5L_5 の文法では、AA が aa と対応する bb を作り、CC が cc と対応する bb を作る。連結すると aibibkck=aibi+kcka^i b^i b^k c^k=a^i b^{i+k}c^k となり、条件 j=i+kj=i+k をちょうど満たす。

オートマトンと言語の途中式・最終答をPDFで見る

第3問 — アルゴリズム・プログラミング

再帰処理の不変量

recur\_NumList(alist, newL) では、newL に「すでに見た部分から取り出した数値」を蓄積する、と決めておくと空欄が自然に決まる。先頭がリストなら、そのリストを先に再帰処理してから残りに進む。

自然結合でタプルが増える理由

射影で Id\mathrm{Id} を落とした S2S_2 は、同姓同名の区別を失う。したがって Tanaka\mathrm{Tanaka} の行が自然結合時に組合せとして増え、元の SS より大きい関係になる。可逆に分解するには、結合キーとして一意に行を識別できる属性を残す必要がある。

関係除算

R÷TR\div T は「TT に含まれる全ての値に対して、対応する組が RR に存在するもの」を返す演算である。全称条件を処理していると考えると、(R×S)÷T(R\times S)\div T の答えも RR の A1=02A1=02 と A1=04A1=04 に共通する A2A2 を探す問題に帰着する。

アルゴリズム・プログラミングの途中式・最終答をPDFで見る

第4問 — 計算機アーキテクチャ

ドントケアを使う理由

部分回路 FF の出力 ff は直接表で与えられていない。G1,G2G_1,G_2 の表を通して、指定された X,YX,Y を再現できる ff を逆算する。入力によっては f=0f=0 でも f=1f=1 でも同じ X,YX,Y になるため、その入力はドントケアとして簡単化に利用できる。

ストール数の数え方

RAW ハザードは、消費命令の ID が生産命令の WB より前に来ると発生する。この問題では「WB と同じサイクルの ID 読み出しは可能」と明記されているため、消費命令の ID を生産命令の WB と同じサイクルまで遅らせればよい。

性能向上率

サイクル数だけなら 14/1214/12 倍だが、拡張でクロック周波数が下がる。実行時間で比較し、Told/TnewT_{\mathrm{old}}/T_{\mathrm{new}} を取ると、周波数低下を含む実効的な速度向上が得られる。

計算機アーキテクチャの途中式・最終答をPDFで見る