【大学数学】コンピュータサイエンスに必要な数学とは?

Uncategorized

こんにちは!yoshizouです。

今日はコンピュータサイエンスに必要な数学というテーマについて話していきたいと思います。

広告

スポンサー

そこまで高度な数学は必要ない?

結論から言いますと、大学基礎数学と呼ばれる線形代数、微分積分学、確率統計についてと、離散数学、情報数学について一通り知っていれば基本的に問題はないかなと思います。もちろんコンピュータサイエンスという学問は今尚発展し続けている学問であり、より高度な数学の分野の知識や、まだ関連がないとされる学問と交わる可能性は0とは言えません。

しかし、コンピュータサイエンスについて学んでいく上で、まず最初に必要になる知識は上で述べたとおり線形代数、微分積分学、確率統計、離散数学、情報数学の5つです。初めのうちから高度な数学について知る必要はありません。初学者の方は、まずこれらの基礎となる数学を理解した上で興味のある分野にステップアップすることをお勧めします。

 

上で述べた5つの分野について概要をそれぞれ述べようと思います。

線形代数

理工系の学生や経済学部の学生は、微分積分学と共に大学1年生の頃から学ぶ学問です。主に行列と呼ばれる数を並べた表のような物についての学問です。行列を用いることで名前にある通り線形性についての議論や、連立1次方程式、行列式や固有値などについて学ぶことができます。

線形代数はそれ自体が直接役に立つことが多いという訳ではありませんが、他の分野で行列が登場することがよくあります。コンピュータサイエンスを学ぶ上ではどちらかというと、ある種の言語のようなものです。行列表現された数式を読み解くための語学の勉強のような物だと思えばいいと思います。

実際の適用分野は多岐に渡りますが、特に最適化、多変量解析などによく登場します。

微分積分学

これも同様に、線形代数と共に学ぶ学問だと言えるでしょう。高校数学までの微分積分の延長であり、偏微分、重積分、微分方程式などを扱います。線形代数は「代数学」に属するのに対して、微分積分学は「解析学」にあたります。

関数の最大・最小、面積値を求めるために微分積分学を使うのは高校数学と変わりません。微分方程式については実際にそれを解くことに加えて、数値計算によって実際に解くことのできない数値の近似解を求めるなんてこともします。

こちらも実際の適用分野は数え切れませんが、最適化、機械学習などによく登場します。

確率統計

こちらは高校数学における「確率」と「統計」についてより深掘りした内容になっています。確率変数の導入、統計量の性質、推定や検定などより進んだ内容を学びます。この統計学は理工系の学生に限らず、「データの読み方」を知る上ではとても有用な学問なのですので、教養として学ぶのもお勧めです。

今現在ではビックデータやデータサイエンスなど、データの分析に関して関心が高まってきています。そんなデータ分析の基礎とも言える学問がこの確率統計です。コンピュータサイエンスでもデータのばらつきや乱数の発生、パターン認識などにこの考え方が登場します。

離散数学

こちらで紹介する離散数学は上の3つに比べて少しマイナーかもしれません。集合論や代数学などといった数学系の知識から、ブール演算やグラフ理論などコンピュータサイエンスよりの要素も含まれています。

ブール演算で扱う真偽値はプログラミングなどでもよく目にする項目ですし、アルゴリズムについて学ぼうと思ったらグラフを利用した計算方法なども考えるでしょう。このようなコンピュータ独自の数学についてを学ぶことができます。

情報数学

コンピュータ内で扱う値は、突き詰めると0か1のバイナリな情報になります。これについて情報量や符号化、通信路や誤り訂正などについての理論を学ぶのが情報数学です。

コンピュータを扱う上で情報量という考え方は常に持っておくべきですし、ネットワークのセキュリティや暗号について興味のある方は通信路容量や誤り訂正などについてこの情報数学から学ぶことは多いでしょう。

 

 

以上のような5つに大別される分野が、コンピュータサイエンスを学ぶ上で必要となる数学です。他にも複素関数論やフーリエ変換なども応用上ではよく使われます。これらの数学はコンピュータサイエンスの基礎になっている数学です。初めは理解するのが難しいものもありますが、必ず役に立つ知識です。ぜひ習得してみてください!

 

コメント

タイトルとURLをコピーしました