アルゴリズム

アルゴリズムという語は、バグダット(現在のイラクの都市)の数学者であるal-Khwarizmi(アル・フワーリズミー)に由来する。数学においては、古くから、代数方程式を機械的に解く方法が存在していた。 このような一定の決まった手順に従って、確定的に問題を解くことができる場合、この手順のことをアルゴリズムと呼ぶ。

ZDNET

アル・フワーリズミーは西暦780年から850年まで生きたイスラム科学の学者だそうだ。太陽・月・惑星の動きを追跡するための計算を作成したり、数学や地理学、天文学、三角法に重要な貢献をした。

当時のイスラム数学者は代数の開発を主要プロジェクトとして取り組んでおり、イスラム国家の最高権威者であるアッバース朝第7代カリフのマアムーンはアル・フワーリズミーに対し、代数に関する論文「アル=ジャブル」を書くよう勧めた。

この本がラテン語翻訳されたものは、16世紀までヨーロッパの代数教科書の基礎となっていた。

西洋の数学者にヒンドゥー教アラビア数字を紹介したことにあるとのこと。ヒンドゥー教アラビア数字とは「0~9」の数字記号。ラテン語に翻訳されて「Algoritmi de numero Indorum(アルゴリトミのインド数字)」というタイトルになり、中世のラテン語で「アルゴリズム(Algorithm)」と呼ぶようになったのが、「アルゴリズム」の語源だそうだ。

単に問題解決のロジックではなく、「有限数のステップで数学的問題を解く手順」を主としては意味しているようで、図書館に行くとコンピュータ関連の書籍の棚に行くと「題解決のための《アルゴリズム×数学》が基礎からしっかり身につく本」とか「アルゴリズムはじめの一歩完全攻略」のような本がある。

数学的な問題解決法をコンピュータの開発言語で解説しているものを「アルゴリズム」と呼んでいることは間違いがなく、ベースには「代数学」を前提とした確定的な解決法を具体的なコンピュータ言語で書き記すことが求められている気がする。

単に日常の「処理」をコンピュータ言語で解決的に記述することは「アルゴリズム」には該当しないようだ。