適当な圧縮ルールを作り、ASCII文字で描いた絵をなるべく少ない文字数で表現するには、どうする?(詳しくは第2回を参照)
適当な圧縮ルールを作り、ASCII文字で描いた絵をなるべく少ない文字数で表現するには、どうする?(詳しくは第2回を参照)

 アルゴリズムを構成する楽しい仕組みを紹介しながら、あなたに「おおっ」と言わせたい――。これが連載『地球にやさしいアルゴリズム』の最初の目的です。「数独パズルを解く」「ASCIIアートを圧縮する」など12の問題を用意しました。ぜひ挑戦してみてください。

 問題を解けても解けなくても、アルゴリズムに興味を持てたなら、関連する文献や記事を抵抗なく読めるようになるはずです。アルゴリズムを使いこなしたり、新しく作ることも無理なくできるようになるでしょう。

 まずはいろいろなアルゴリズムの面白いところを見て、楽しんでみましょう。

連載目次

第1回 ナンプレを解いてみよう

第2回 パズルみたいに楽しいデータ圧縮

第3回 「場面」の移り変わりに注目する

第4回 できるだけ短いルートでゴールに到達する

第5回 隣の区画と異なる色で地図を四色に塗り分ける

第6回 上手なアルゴリズムの見つけ方

第7回 多対多の関係を賢く扱う

第8回 倉庫番を解くアルゴリズム

第9回 プロトコルを実現するアルゴリズム

第10回 麻雀の役を判定する

第11回 プログラム同士の対戦ゲーム

第12回 対戦ゲームの戦略を考える

サンプルプログラム

 記事で紹介しているサンプルプログラムのソースファイル(zipアーカイブ)は、こちらからダウンロードできます。ただし、これらは日経ソフトウエア(2003年10月号~2004年10月号)連載当時のものです。あらかじめご了承ください。

第1回(algo01.zip)   第2回(algo02.zip)   第3回(algo03.zip)
第4回(algo04.zip)   第5回(algo05.zip)   第6回(algo06.zip)
第7回(algo07.zip)   第8回(algo08.zip)   第9回(algo09.zip)
第10回(algo10.zip)  第11回(algo11.zip)  第12回(algo12.zip)