アルゴリズムデザインのゼミを4、5回くらい聞いて今週発表なので、準備してたらなんとなくどういう流れで説明すればいいのか分かってきた。ちょっとまとめるとこんな感じ。
- そのアルゴリズムはどういう問題で、どういうところで応用されたりしているのか
- 動機付け
- いくつかの例で動かしてみる
- 動かしてみるとなんとなく理解してくる
- 問題設定のために必要なものを定義する
- アルゴリズムを記述する
- アルゴリズムの正当性を(必要なら)証明する
- ここがまだ慣れない
- アルゴリズムの計算時間を示す
- (必要なら)動くプログラムを書く
このsequenceを一通りやるとそのアルゴリズムは自分のものになったかなーという気がする。
そういえば、集合論のゼミやってるときも、最初は何示せば証明したことになるのかとかが分かってなかったけど、回数こなしていくとこういうのを示せばよくって、こういう流れでこういう道具を使えるんだなーというのが分かってくる感覚に似ているなと思った。