どうも、木村(@kimu3_slime)です。
今回は、大学で情報科学を学ぶために必要な大学数学の一覧を紹介します。情報系学科向け、計算機科学(コンピュータサイエンス)とも。
東京大学理学部情報学科の学科紹介、カリキュラムを参考に書いています。僕の大学時代の専門は数学であり、情報系が専門でないことをご了承ください。
教養数学
教養数学は、大学1年で教養として学ぶことが多い数学科目です。
線形代数学
線形代数学は、多次元的で離散的な対象(ベクトル)や、そのあいだの関係(行列)を捉えるのに役立ちます。
具体的には、コンピュータグラフィックスやネットワークの理論を学ぶときに基礎になります。
情報系の学科は、特に線形代数学の重要性が高くなるでしょう。
参考:線形代数学の応用:CG・画像処理(拡大縮小・反転、回転、せん断)について、なぜ線形代数を学ぶ? Googleのページランクに使われている固有値・固有ベクトルの考え方
統計学
大量の情報を集め、その性質を調べるのが統計学です。
コンピュータの発展と普及、産業への応用に伴い、データサイエンスと呼ばれる学問領域が立ち上がってきました。他の学問との交流が多い分野ですが、例えば生物統計情報(バイオインフォマティクス)と呼ばれる分野は注目を集めています。
参考:生物統計情報学コース
また、統計学はAI・機械学習の基礎にもなっています。
僕個人の見解としては、数学科が統計をあまりカバーしない代わりに、情報科学科が統計をカバーしている面があるのではないでしょうか。
微分積分学
特に物理的なシミュレーションに向けて、微分と積分の理論は欠かせません。微分方程式もセットで学ぶと良いでしょう。
関数の変化を捉えるという点では、計算量の理論や、数理最適化などの基礎となっています。
コンピュータで数学的な問題を実践的に解く分野は、計算数理、数値解析と呼ばれますが、その理解の基礎は微積分学(と線形代数学)です。
通信理論の基礎としては、複素解析やフーリエ解析の知識も求められますが、それもまずは微積分学が基礎です。
専門数学
集合論
集合、写像、関係などを扱い、線形代数に次いで、情報科学の学問的な基礎となるのが集合論です。束論を扱うのは、情報科学科ならではでしょうか。
後に述べる、グラフ理論、情報論理、代数系の理論を組み立てる「言葉」の役割をする重要な分野です。
「情報数学」との講義で、集合論が扱われているケースがありました。
計算機科学とも呼ばれる、形式言語、チューリングマシン・計算可能性の理論にも、集合論は欠かせません。
参考:コンピュータによる計算(アルゴリズム)とは何か、モデル化の方法、その限界は?
(僕もよく知らないのですが、関数型プログラミング言語と圏論と呼ばれる数学の分野がセットで学ばれることがあるようです。抽象的な関係性を調べる枠組みという点でも、まずは集合論から学ぶことになるでしょう)
離散数学・グラフ理論
離散数学と名のつく教科書や講義は多いですが、その主な内容はグラフ理論ではないでしょうか。
ここにおいてグラフは、関数のグラフとは別物で、ある種のデータ構造やネットワークを分析する基礎となります。
また離散数学には、組合せ論と呼ばれる、有限的・離散的な対象を調べる分野も含まれています。最適化理論や線形計画法も場合によっては含まれるでしょう。
情報論理、計算論理
ブール演算などの論理演算、論理と計算の関係を知ることは、コンピュータの基礎を知る上では欠かせないでしょう。
さらに踏み込めば、コンピュータにおける推論、数理論理の話題に入っていくでしょう。ゲーデルの不完全性定理は有名ですね。
代数系(抽象代数学)
数や対称性を一般的に捉え直すのが、群・環・体などを扱う代数系、抽象代数学と呼ばれる分野です。初等整数論も場合によっては含まれるでしょう。
数や文字の規則性や関係性を調べるという点で、符号理論や通信理論、暗号の理論などの基礎となっています。
参考:バーコード、ISBNのチェックディジットとは? 計算してみよう
以上、情報科学・コンピュータサイエンスを学ぶために必要な大学数学を紹介してきました。
チューリングマシンの話題はまさに数学と情報科学の交差点である重要な話題だと思うので、それが理解できる程度には数学を勉強してみてはいかがでしょうか。
木村すらいむ(@kimu3_slime)でした。ではでは。
日本評論社 (2008-12-10T00:00:00.000Z)
¥2,717
丸善出版 (2012-06-05T00:00:01Z)
¥8,910
こちらもおすすめ
線形代数学の応用:CG・画像処理(拡大縮小・反転、回転、せん断)について
なぜ線形代数を学ぶ? Googleのページランクに使われている固有値・固有ベクトルの考え方