何か記録して思う出来事や印象に残った記事などがあったときに,書く日記です.できるだけ毎日書こうと思っていますが,そのときの忙しさなどなどによって変わると思います.

2012年6月15日金曜日

なぜ「アルゴリズム体操」?


NHKの子供番組で,「アルゴリズム体操」というものを放送している.

なぜアルゴリズム体操というのかというのを疑問に思っていたのだけれど,高校時代の友人が尋ねてくれたことで,やっとその意味が(推測ですが)分かった気がする.

アルゴリズムは,コンピュータでなんらかの処理をするための手続きのことである.
例えば,データを大きい順に並べるアルゴリズムなどのように言う.
(アルゴリズムのより正確な定義は,例えば,こちら

「アルゴリズム体操」では,ある人の動作を受けて次の人の動作に移り,さらに次の人の動作に移っていく,この順番に処理をしていく様子がアルゴリズム的だから,アルゴリズム体操となったのだと思う.(名付けた人に聞いた訳ではないので,推測ですが.)

「プログラム体操」でも良い気がしますが,一般に知られている「プログラム」という言葉ではなくて,「アルゴリズム」という言葉用いた点が斬新だと思う.


一人一人に番号をつけて,線形探索アルゴリズムとか二分探索アルゴリズムとかもできそうだが,見ているほうは完全意味不明だろう.他にも,バブルソート体操,クイックソート体操とか再帰アルゴリズム体操とかもあってもおもしろい.実は,体操が,アルゴリズムの可視化になっていたら,なおさらおもしろいかもしれない(一部の人にだけかもしれないが).

最近,コンピュータの世界では,グラフィックスなどを高速に表示するためにGPUという何百もの処理を並列(パラレル)に処理することのできるチップを利用することが一般的になっている.このチップを利用するために,GPUに適したアルゴリズムがいろいろ考えだされている.人を何百列かに分けて,同時にアルゴリズム体操をする「GPUアルゴリズム体操」(あるいは「パラレルアルゴリズム体操」なんかあったら,インパクトがあるかも.ちょっと悪のりしすぎか.

とりあず,今度の授業のネタにはなりそうだ.