本文へジャンプ

学科概要
  • HOME
  • 学科概要
  • 学生による学科紹介

学生による学科紹介

実際の授業をいくつか文書におこしてみました。先生方の仮想講義を体験してみてください。情報科学科の講義は90分授業です。午前中の講義は10時15分から、午後の講義は13時から始まります。14時45分からの講義がある曜日もあります。

情報科学演習 II | 各教官
開講時間:月曜3限 | 1
演習内容
計算量理論の演習、連続系アルゴリズムの演習、等。
概要
連続系アルゴリズム
計算量理論
連続系アルゴリズム
連続系アルゴリズムの授業の演習

前半はMPI および OpenMP を用いたプログラムの高速化・並列化。
MPI ではソートを、OpenMP は N queens 問題の高速化を行った。

前半の課題では、まず、あまりさわったことのないクラスターを使用する。
オーバーヘッドは何か、遅い原因がどこにあるのかを把握し、効率よく並列化をできるようにするのを考えるのが難しかった。
ソートの場合の遅い原因は、ソートして、結果をマージするのに実はオーバーヘッドが沢山かかっていたことがわかった。
個々でソートした場合は、普通にやると遅いが、マージしたり、ソートするタイミングをうまくチューニングするとすると速くなる。
チューニングの内容としては、自分は、バケツソートが使えるようにしたり、ノード間での転送を少なくなるようにしたが、思ったほど速くならなかった。

ただ、「速くしろ」という課題は、「これが動くようにしろ」という課題よりは面白いと自分は思う。

ただ、、、、CPU 実験と同じ時期の授業なので、N queen 問題は動くようにはしたけど、同時期にやっていたCPU 実験がおもしろすぎて、あんまり時間を割かなかった。


連続系アルゴリズムの実装は
* LU分解
* 加速法
* FFTを用いた多倍長整数乗算
* 常微分方程式

授業で習った内容を、授業で習っただけでは、どういうふうに値が動いてくかイメージしづらいため、それを勉強をするのには、役にたったと思う。

授業を聞いていても、式が並んでいて、こうやると答えがでてくる、というように習う。
式の中身は、あくまで、変数でこういう式って書いてあるだけなのが、たとえば、実際に、プログラムを組むと、デバッグしているときに、変数に数値が入って、値が変わっていくのが見えたりして、内容を理解するのがとても分かりやすくなった。
計算量理論
具体的には、ある問題がナップザック問題であるとか、3-SAT であるとか、そういう問題が NP に属することを示したり、計算量を評価したりする。

コンピュータを使わない演習で、紙と鉛筆を使う。
紙を配られて、その場で、鉛筆で書いて提出。
解けた人は黒板で発表する。