今からでも遅くない!アルゴリズム入門  高速なハードウエア,至れり尽くせりのユーザー支援機能を備えた開発ツール,高機能なクラスライブラリやフレームワークなどなど,近ごろのプログラムを書くためのお膳立ては,とても充実しています。しかし,どんなに環境が整っても,ソフトウエアを作るには何らかのアルゴリズムに従って問題を解きほぐし,プログラムにするという作業が相変わらず必要です。

 そこで本特集では,まずPart1で身近な例からアルゴリズムというものに迫ってみます。皆さんが普段接している便利なソフトやサービスがどのような仕組みで動いているのか,その仕組みをのぞいてみましょう。教科書で勉強するようなアルゴリズムの話とはちょっと違うものも出てきます。中には,サービスの重要な要素をプログラムで処理せず,手作業に頼って実現しているものもあります。実用ソフトの世界で本当に使いやすいものを作るには,アルゴリズムだけわかっていてもダメなことが少なくないのです。

 でもそれは「アルゴリズムなんか必要ない」ということではありません。プログラムのアルゴリズムで自動化できるところは自動化し,そうでない部分に注力することが大切だからです。そうした見極めをするには,やっぱりアルゴリズムを考える力が必要です。

 この後のPart2では,プログラミングを学ぶなら誰もが知っておくべき定番アルゴリズムをやさしく解説しました。定番アルゴリズムは,言語の文法を覚えたばかりでも挑戦できて,しかも面白い題材です。きちんと勉強したことがない人もこの機会にぜひ取り組んでみてください。

 Part3のテーマはコンピュータ・グラフィックスのプログラミングです。ここでは,映画やゲームなどで見かける人や動物の“群れ”を生成するアルゴリズムを紹介します。自然な動きがきわめてシンプルに実現されるのを見れば,適切なアルゴリズムを選んだときの威力を実感できること請け合いです。

Part1:
どうなっているのあのソフトの仕組み

Part2:
定番アルゴリズムを徹底理解!

Part3:
リアルな映像を作るグラフィックス・アルゴリズム