総合分析情報学コース 筆記試験の分野別参考書と対策法

2020年3月12日

2020年度 東京大学大学院学際情報学府 学際情報学専攻 総合分析情報学コース(冬季入試)に合格しましたので、筆記試験の分野別参考書と対策を書いていこうと思います。

情報理工学系研究科 創造情報学専攻も併願していたため、その対策とかなりかぶりますが、ご了承ください。

基本方針

過去問を中心に勉強する

学際情報学専攻の過去問公開の姿勢はかなり良心的で、2007年度から2019年度入試までの13年分の試験問題がすべて公開されています。総合分析情報学コースは夏と冬に入試があるので、26回分の過去問が用意されています。26回分の過去問を分析すると、繰り返し同じ事項が問われていることがわかります。入試説明会でも、教授の方が「過去問をよく研究してください」と仰っていました。

過去問を中心に勉強すれば、合格点は取れるでしょう。

正式名称と略称と役割を覚える

総合分析情報学コースでは、略称を説明させる問題が頻出です。特にコンピューターネットワーク分野ではHTTP, TCP, ARP, BGP, OSPF, MAC, SDN, NFV, SRIOVなどの略称を説明させる問題が繰り返し出題されています。過去には「正式名称とその役割を答えなさい」という問題も出題されています。略称と正式名称とその役割は、必ずセットで覚える必要があります。

筆記試験の出題範囲と対策法

筆記試験は大問6つから構成されており、第1・2問が必答問題、第3〜6問は4問のうち2問を選ぶ選択問題となっています。

出題テーマの詳細は別の記事をご覧ください。

参考書で勉強する前に見ておいたほうがよいYouTubeの動画

第1問 数学基礎分野(必答)

線形代数、微分積分が中心となっています。過去にはこれ以外にもベクトル解析の基礎が出題されたことがあります。

  • 線形代数(ベクトル、行列、行列式、線形空間、線形写像、逆行列、線形方程式、固有値と固有空間、2次形式など)
  • 微積分学(関数の極限、連続関数、導関数、テーラー展開、不定積分、定積分、偏微分、重積分、微分方程式など)

工学系・情報理工学系研究科の数学とは異なり、奇をてらった問題は出題されません。大学の定期テストレベルの問題が出題されるため、どのような参考書でも対応できると思います。私は参考書を買い増しせず、昔から持っている参考書を極力使っていました。総合分析情報学コースを受験するだけであればオーバーワークすぎるかもしれません。

参考までに私の使った参考書を挙げておきます。サイエンス社が発行している寺田文行先生の演習シリーズは大学版チャート式といった感じです。演習量が多すぎてパンクしてしまうかもしれませんが……。

微分積分

新版 演習微分積分は高校レベルの復習から応用レベルまで網羅されており、一冊持っておくことをおすすめします。

線形代数

一言で言えば、線形代数の実況中継本です。「プログラミングのための」と銘打っていますが、数学が苦手な人にとって最もわかりやすい本だと思います。証明に深入りせず、数式の意味を理解することにこれでもかと思うほど重点をおいています。途中でつまづいても、至るところに戻るべきページが書いてあるため、挫折しにくくなっています。

「プログラミングのための線形代数」では演習が不足してしまうので、サイエンス社の演習本も持っていました。院試での出題傾向はこれではわからないため、辞書として活用するのも良いかと思います。

また、教科書の演習問題のほとんどが院試問題になっているものを紹介しておきます。どのような問題が院試問題に出でいるかが把握できますが、総合分析情報学コースにはオーバーワークかもしれません……。

微分方程式

微分方程式分野も、サイエンス社の演習シリーズはおすすめです。基礎から応用まで網羅されており、フーリエ変換・ラプラス変換の問題も載っています。総合分析情報学コースではラプラス変換の出題実績があるため、簡単なラプラス変換の対策もしておくのがよいです。

※実際に、私が解いた年にはラプラス変換が出題されました。

ベクトル解析

出題範囲には明記されていないのですが、過去にベクトル解析の出題実績があります。

ベクトル解析では、図形を頭に思い浮かべながら理解していくことが重要です。教科書や参考書によっては数式の羅列しか書いておらず、理解しにくいものもあるので注意が必要です。

涌井貞美さんの本は高校レベルから書き起こしてくれており、図が豊富なため、スラスラ読めます。

工科系線形代数と同じ、筧さんの著書です。演習問題のほとんどが院試問題からの引用のため、ベクトル解析の問題がどのように院試に出るのかがわかりやすいです。ただし、解答が省略されている部分があるのが惜しいところです。

第2問 プログラミング・アルゴリズム基礎分野(必答)

アルゴリズムとデータ構造の分野が出題されます。

  • プログラミングに関する基礎的な技能
  • 基礎データ構造(リスト構造、配列、木構造、構造体など)
  • 基礎アルゴリズム(ソート、サーチなど)
  • 抽象データ型、計算量理論、グラフ理論

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

C言語で書かれたコードを読んだり書いたりする問題が出題されます。アルゴリズムとデータ構造に関しては、以下のいわゆる「螺旋本」を一通り実装しておくことがよいように思えます。

私は動的計画法の対策が薄く、当日ナップザック問題が出題されたためほとんど解けませんでした。もう少ししっかりやっておくべきだったと反省しています。データ構造・アルゴリズム・計算量・グラフ理論はこの1冊でカバーできるのではないでしょうか。抽象データ型については、過去問の出題実績をインターネットで調べれば大丈夫だとは思います。

第3問 コンピュータ・サイエンス基礎1分野(主にソフトウェア)

プログラミング言語、オペレーティングシステム、コンピューターネットワークから出題されます。

  • プログラミング言語(言語の分類、基礎概念、言語処理系基礎など)
  • オペレーティングシステム(同期・通信、スケジューリング入出力と記憶管理、仮想記憶、リアルタイム処理など)
  • コンピュータ・ネットワーク(通信プロトコル、経路制御方式、セキュリティ、暗号化方式、誤り制御、輻輳制御、符号化方式、クラウド、エッジなど)

プログラミング言語

プログラミング言語の分類・基礎概念については、あまり良い本が見当たらなかったためにネット上の資料を探しました。

Information Knowledge Network Special Lecture / IKN Laboratory

上のリンクの講義資料には、言語の分類や基礎概念の知識が見やすくまとまっています。

言語処理系基礎では、コンパイラ、インタプリタ、仮想機械に関する問題が出題されています。言語処理系基礎については、IT textの本を参考にしました。実際にコンパイラを実装する必要はなく、概念が説明できれば大丈夫です。

オペレーティングシステム

オペレーティングシステムの入門は森北出版・情報工学レクチャーシリーズのものがおすすめです。出題されやすい分野に絞って、丁寧にわかりやすく書かれています。

森北出版・情報工学レクチャーシリーズのオペレーティングシステムで書かれていない用語は、コロナ社・コンピュータサイエンス教科書シリーズのオペレーティングシステムで補完しました。ハードディスクの書き込み方式や記憶装置に関する記述が、情報レクチャーシリーズの教科書では不足しています。コロナ社の教科書は、記述が簡潔なために初学者には向かないと思います。記載されている知識は、コロナ社のものの方が多いため、まとめとして活用できます。

コンピュータ・ネットワーク

上述のYouTube動画を見終えた後に使ったのが、未来へつなぐデジタルシリーズのネットワークの教科書です。頻出の輻輳制御に関する記述が詳しく載っており、説明も丁寧でわかりやすいです。

ネットワークの知識をマスターできる「マスタリング TCP/IP」も定番本ですが、厚すぎ・詳しすぎて挫折する可能性もあると思います。

第4問 コンピュータ・サイエンス基礎2分野(主にハードウェア)

第4問では、プログラミング言語・オペレーティングシステム・コンピュータネットワークから主に出題されます。出題範囲は以下のとおりです。

  • 論理回路(スイッチング理論、論理代数、組み合わせ論理回路、算術回路、メモリ回路など)
  • コンピュータアーキテクチャ(歴史、高速化手法と仮想化(MMU、キャッシュなど)、基礎並列処理方式、マイクロプログラミング、マイクロプロセッサアーキテクチャ、アーキテクチャのモデル化と評価など)
  • コンピュータネットワーク(通信機器、構成技術(プロセッサ、FPGA,ASIC, I/O インターフェース), 伝送路、分散システムなど)
    など

コンピュータネットワーク分野は第3問対策と同時に行うのが効率的であるため、ここでは取り上げません。

論理回路

出題範囲は

  • スイッチング理論
  • 論理代数
  • 組み合わせ論理回路
  • 算術回路
  • メモリ回路 など

となっています。ここでは、2冊の「論理回路入門」本を紹介します。

まずは、森北出版の論理回路入門本です。この本は2色刷りとなっており、図も豊富でわかりやすいです。第3版と版を重ねており、定期的にアップデートされているのも評価ポイントです。

次に、培風館が出版している坂井修一・東大教授による論理回路入門本です。モノクロで図にわかりにくい部分があるため、初学者には上の森北出版の本をおすすめします。

この本の特徴は、

  • 演習問題が豊富なこと
  • 論理回路の設計だけでなく、メモリの種類についても解説されていること

が挙げられます。

総合分析情報学コースでは過去に7セグメント回路の設計問題などが出題されているため、問題演習量を増やすことができます。また、総合分析情報学コースではFPGA, ASICに関する説明問題が頻出です。培風館の教科書には、FPGA, ASICに関する説明も載っています。

コンピュータアーキテクチャ

東大院試体験記で見たことがないのですが、コンピューターアーキテクチャの入門本はこれが鉄板だと思います。2色刷りで、2進数の計算方法から丁寧にコンピューターの構造の概要を理解していくことができます。章末では、院試で問われがちな「違い」を問う問題を多く配しており、総合分析情報学コースの対策に非常に役立ちます。

森北出版のコンピュータアーキテクチャの本で基礎知識をつけたら、オーム社の IT Textで応用レベルの知識をつけていくとよいと思います。並列処理や分散処理などの応用レベルが比較的詳しく説明されています。総合分析情報学コースの入試問題には並列処理や分散処理の細かな知識を問うた実績があるため、入門本だけだと知識が足りないように思います。

東大院試体験記ではコロナ社出版の坂井修一著・コンピュータアーキテクチャがよく使われています。この本はは確かにわかりやすいのですが、森北出版のものと比べると単色刷りなのがマイナスポイントです。パイプライン処理の分割方法が院試における出題実績と異なっており、IT Textに比べて知識量が劣ることもマイナスです。基礎から応用までバランスのよい記述がなされているのですが、総合分析情報学コース対策としては中途半端な印象です。坂井修一教授は情報理工学系研究科所属で、情報学館・学際情報学府所属ではないことからも、学際情報学府の院試対策としてはそれほどおすすめしません。

第5問 分析情報学基礎1分野

第5問では、統計・データ分析・機械学習について出題されます。この分野は2018年度から新設されている分野なので、過去問だけでは対応できない可能性が高いです。

  • 統計(確率、各種確率分布、検定、ベイズ推定、など)
  • データ分析(回帰分析、多変量解析、主成分分析、など)
  • 機械学習(線形分類器、カーネル技法、サポートベクタマシン、ランダムフォレスト、ニューラルネットワーク、など)
    など

統計

基礎統計の授業で指定された教科書をまだ持っていたので、使っていました。今の前期教養課程の基礎統計の授業で指定教科書になっているのかどうかはわかりませんが、出題実績から考えるとこの本をマスターしておけば十分だと思います。ペーパーテストでは簡単な計算問題か概念の説明問題しか出題できないはずなので、あまり時間は割いていません。

私は他の分野の勉強に時間を書けており、第5問の勉強時間は極力少なくしていたので、試験当日までにマスターしたとは言い難いですが……。

データ分析・機械学習

データ分析の範囲は、回帰分析、多変量解析、主成分分析となっています。一方、私が受けた院試ではデータの整形手法に関する問題が出題されました。データサイエンスに関する知識が求められているようです。

これまでの出題実績では、データサイエンス関連のアルゴリズムや手法について言葉で説明するのみで、数式を使った説明は求められていません。数式ばかりの式を追いたくない、しかしアルゴリズムを言葉では説明できるようになっておきたい、という人には、技術評論社の図解即戦力シリーズがおすすめです(ステマ)。機械学習関連本は、一般向けと技術者向けの2つに分けることができます。

  • 図を多くして数式を全く用いず、概念だけがわかる本(一般向け)
  • 機械学習を実装するためのコードが中心の本
    大学の教科書として使われる、アルゴリズム・数式中心の本(技術者向け)

一般の理解から技術者の理解にステップアップするためには、かなり大きな壁を乗り越えなくてはなりません。プログラムを書く壁と、数式で書かれたアルゴリズムを咀嚼する壁です。

図解即戦力の機械学習&ディープラーニング本では、一般の理解と技術者の理解の橋渡しができるように書いてあります。具体例を使って(アルゴリズムを咀嚼した後の)イメージを提示しながら、アルゴリズムを言葉で説明しています。数式はほとんど出てきません。欠点があるとすれば、少し範囲や記述の詳しさに偏りがあることだと思います。能動学習や転移学習の手法など、一般向けと技術者向けの橋渡しとしてはマニアックな手法の説明も出てきます。

第6問 分析情報学基礎2分野

第6問は、空間情報学とIoT/ユビキタスコンピューティングから出題されます。第5問を対策しているのであれば、第6問は捨てて第1問〜第4問の勉強時間に回したほうがよいと思います。私もこの設問は捨てていました。出題範囲は以下の通り。

  • 空間情報学(地理情報システム(GIS)、空間データの種類と構造、空間データ分析、空間情報の表現・伝達・視覚化、空間認知・心理・行動、など)
  • IoT/ユビキタスコンピューティング

全く対策していないため、参考程度に図書を挙げておきます。

空間情報学

総合分析情報学コースを兼担している貞広先生の著書を3つ挙げておきます。

IoT/ユビキタスコンピューティング

IoTの入門本は図解即戦力シリーズがよいのかなと思います。具体的な技術については載っていませんので、別の本で補完することが必要です。残念ながら、私は適当な本を見つけていません……。