2016 年度「計算数学」 2017-02-03

§12.1 まとめ

(12.1.1) 以上で,ソートの学習は終わりとします。 初めのうちは非常に自明なプログラムを学び, 突然,初心者にはかなり高度といえる, 非自明なアルゴリズムに基づくプログラミングを学んだことになりますが, 諸君の多くが,粘り強く課題に取り組んでくれたと思います。 その粘り強さを,今後, 数学・物理学・計算科学の勉強に生かしてくださることを希望します。

(12.1.2) この授業は,毎回出席して課題を全て出せば S がつきます。 自分で一所懸命考えた人も,友だちからほとんど教わった人も S なので,自分で考えた人には不公平感があるかも知れません。 でも,諸君の先輩たちをみていると, 自分で努力した人には将来きっといいことがある,と感じます。 (個人の感想です。)

(12.1.3) 興味のある人は, 計算量が Ο(N log(N)) のアルゴリズム --- ヒープソート,クイックソート,マージソート --- について,配列の大きさ N をさらにいろいろな値に変えて実験し, もっと調べてみてください。 この三つのアルゴリズムにはそれぞれ長所・短所があります。 それらをまとめてみるのもよいでしょう。

(12.1.4) ソートのような,問題の意味を理解するだけなら簡単な問題にも, いろいろな解法があり, 工夫次第でスピードを上げることができます。 先人たちの研究結果を学ぶことの大切さを知ってください。

(12.1.4) また,いくら努力してもこえられない理論上の限界 (§8.6) がある, ということを理解するのも大切です。

(12.1.5) 数学では,可能な操作は一瞬で終わったとして先へ進みます。 たとえば, 「この行列の固有値を小さい順に並べて λ1 < λ2 < ... < λn とします」 のように。 このあたりの,ものの考え方の違いについても考えてみてください。

(12.1.6) ※ 下の余白に,アカウントの紙をはって記念にとっておくとよいかもしれません。


岩瀬順一