Dec. 2014No.66

アルゴリズムと数理研究の融合

Article

アルゴリズムとは何か

img66-3.JPG

 アルゴリズムの語源をご存知でしょうか。9世紀前半、バグダードで活躍した数学者、アル・フワーリズミー、正しくはアブー=アブドゥッラー・ムハンマド・イブン=ムーサー・アル=フワーリズミーの名前から来ているといわれます※。彼の書いた、インドにおける数の計算法の教科書のラテン語版の冒頭に、algoritmi dicti (アル・フワーリズミーに曰く)という一説があり、それがアルゴリズム(Algorithm)の語源となったという説が広く知られています。

 アルゴリズムの中には、コンピュータが誕生する以前、それも紀元前に発明されたアルゴリズムがあります。その代表例がユークリッドの「互除法」です。これは2つの整数の最大公約数を求める手順のことで、皆さんも中学校で習ったはずです。このユークリッドの互除法は、現代社会でも使われています。通信などの秘密を守る公開鍵暗号の基礎となり、デジタル署名などでも使われているのです。その発明者のユークリッドは、ユークリッド幾何学の名前で知られている、紀元前3世紀頃の数学者ですが、彼の生きた時代から2,000年以上先の未来に互除法が貢献するとは夢にも思わなかったでしょう。

 いまのアルゴリズムの定義、すなわちコンピュータや数学などの分野で、問題を解くための手順を定めた表現となるのは、1930年代になってからです。とはいえ、プログラムとして表現されたものだけがアルゴリズムではありません。例えば小学生時代に習った手計算による多数桁の足し算や、かけ算や割り算のやり方も、その手順に従えば答えが導き出せるわけですから、アルゴリズムといえます。また、料理のレシピも、料理を作るという問題を解く手順とみれば、アルゴリズムといえるでしょう。郵便も、ハガキや封書の郵便番号や住所を読み、所定の手順に従って、郵便局間でハガキや封書を送り、最終的に宛先に届けるという意味では、その配送手順はアルゴリズムといえます。そしてインターネットの通信パケット(小包)の配送は、郵便の手順、つまり郵便のアルゴリズムを元にしていますから、現実世界のアルゴリズムが通信のアルゴリズムになったことになります。

 ところで、アルゴリズムの研究とは何なのでしょうか。いままで解けなかった問題を解く方法を見つける研究もありますし、解く方法が知られていても、手間のかかる手順の場合、その手間を減らすことも重要な研究です。実際、科学データやビッグデータのように大量データの処理アルゴリズムの場合、その処理に数時間どころか数日かかることがあります。それが少しでも速くなれば大きな意味を持つのです。

 さまざまなアルゴリズムが身近に使われているように、アルゴリズムという言葉も広く使われ始めています。10年ぐらい前までは、アルゴリズムという言葉は、コンピュータサイエンスの専門用語として使われることが多かったですが、いまはテレビ番組に登場する「アルゴリズム行進」から、金融取引で使われるアルゴリズム取引まで、日々の生活や社会に登場する言葉となりました。次の10年では、どんなアルゴリズムが生まれ、そしてアルゴリズムという言葉はどんなところで使われるのでしょうか。

(文=佐藤一郎)

※代数学を英語でAlgebraといいますが、これもこの数学者の名前のラテン語訳に由来するといわれています。

第66号の記事一覧