東京大学 院試 過去問 解答例
東大 情報理工学系研究科 コンピュータ科学専攻 専門科目(コンピュータ科学) 2025年度 院試 解答例・解説
東京大学 情報理工学系研究科 コンピュータ科学専攻 専門科目(コンピュータ科学) 2025年度の院試 過去問について、設問ごとの解法方針と確認点を解説。全4問収録の解答・解説PDFと併用できます。問題本文は含みません。
最終更新:
設問ごとの解法方針と確認点を公開しています。
続きの途中式・最終答は解答・解説PDFに収録しています。問題本文は含まれません。
第1問 — 形式言語とオートマトン
平方根言語の見方
は「同じ語を2回続けたものが に入るか」を見る操作である。 したがって,単に正規表現を半分に切るのではなく, の前半と後半に同じ構造が 現れることを使う。(1)では2個の の位置が強い制約になっている。
正規言語で閉じる理由
正規言語では,語そのものを覚える必要はない。語 がDFAの状態集合上に作る 有限個の状態変換だけを覚えればよい。有限集合 に対する写像は高々 個なので,これを状態にしたDFAが作れる。
文脈自由言語で同じ議論が使えない理由
プッシュダウンオートマトンでは, を1回読んだあとに同じ をもう一度 同じ順序で読むことを有限制御だけでは表せない。スタックに を積むと取り出しは 逆順になるため,正規言語のように「変換だけを持つ」という処理ができない。 このため,文脈自由言語では反例が存在する。
第2問 — パイプラインとキャッシュ
CPIの分解
この問題では,総サイクル数を に分けると見通しがよい。パイプラインの立ち上がり・終了コストは問題文で無視してよい 扱いなので,基本サイクルは命令数そのものとして数える。
ラインサイズの決まり方
配列を4バイト刻みで順に読む場合,キャッシュラインサイズが バイトなら, 1本のラインに 個のアクセスが入る。初期状態が空なので,各ラインの最初の ロードだけがミスになる。ここでは合計1024バイトを走査してミスが32回なので, 1ラインは バイトである。
命令フォーマットの比較
レジスタ番号の位置をそろえる設計は,レジスタファイルの読み出しポートに渡す信号を 単純にできる。一方で,即値を分割すると,命令種別に応じた連結・並べ替え・符号拡張の 回路が必要になる。実際の命令セットでも,この2つはしばしばトレードオフになる。
第3問 — スケジューリングとセマフォ
待ち時間の数え方
待ち時間には実行可能キューで待つ時間だけでなく,セマフォの待ちキューで待つ時間も 含まれる。全プロセスが終了する場合は でまとめて計算できるので,途中でどのキューにいたかを細かく足し上げるより安全である。
SRTFとセマフォの相互作用
セマフォがないSRTFでは,時刻20に到着した短い が を中断する。 しかし(3)では は を取得できないため待ちに入り, がそのまま 終了まで進む。このように,優先度が高いプロセスでも資源を取れなければ実行できない。
デッドロックの確認
(4)のRRでは, と が逆順に を要求する。 片方が を持って を待ち,もう片方が を持って を待つと, どちらも進めない。時刻80でこの循環待ちが完成する。
第4問 — グラフの連結度とサイクル
サイクルと2本のパス
2点 を含むサイクルは,サイクル上で から へ進む2通りの向きの パスに分解できる。この2本は端点以外の頂点を共有しない。逆に,内点素な2本の - パスを合わせればサイクルになる。この対応が(1)の中心である。
新しい頂点を足す補題
(2)は,あとで「指定された点集合」を「新しい1点の近傍」として扱うための準備である。 を消さない場合でも, には 点あり,削除できるのは高々 点なので, とつながる頂点が必ず1つ残る。この数え上げが証明の要点である。
一般化の構造
高連結性は,ある頂点から既存のサイクルへ多数の互いに独立な接続路を保証する。 接続点が指定点の数より1つ多くあるため,指定点を含まない弧を避けてサイクルを 作り直せる。これが「 連結なら任意の 点が同一サイクルに乗る」理由である。