← 情報I用語集 一覧へ
コンピュータとプログラミング

アルゴリズム

(あるごりずむ)

この記事はAIが作成しています

本文はAI(Claude)が学習指導要領や公開情報をもとに執筆・生成したものです。内容の正確性には配慮していますが、誤りが含まれる可能性があります。 気になる記述を見つけたら、下部の「誤りを報告する」からお知らせください。

問題を解くための「手順の決まりごと」のこと。料理のレシピのように、順番通りに実行すれば誰がやっても同じ結果にたどり着ける手続きを指す。

背景・歴史

「アルゴリズム」という言葉自体は、9世紀のペルシャの数学者アル=フワーリズミー(al-Khwārizmī)の名前がラテン語風に変化したものだと言われています。彼は数字の計算方法を体系的にまとめた著作を残し、その内容がヨーロッパに伝わる過程で「算法(計算の手順)」を意味する言葉として定着していきました。つまりアルゴリズムという概念自体は、コンピュータが生まれるはるか以前から、人間が「決まった手順で正しく計算する方法」を追求してきた歴史の産物です。

20世紀に入り、アラン・チューリングらが「機械的に実行できる手続きとは何か」を数学的に定義しようとしたことで、アルゴリズムは現代のコンピュータ科学の中心概念になりました。コンピュータは与えられた手順(アルゴリズム)を、疑うことなく、寸分違わず実行する機械です。だからこそ、正しい結果を得るには、人間が先に正しい手順を考えておく必要があります。

なぜこの考え方が使われるようになったのか

同じ問題を解くのでも、手順の良し悪しによってかかる時間や手間は大きく変わります。例えば「1から100までの数字を1つずつ探す」のと「半分に絞り込みながら探す」のとでは、後者の方がずっと少ない手数で見つけられます。コンピュータが扱うデータの量は膨大になりがちなので、「どんな手順で解くか」を工夫すること(アルゴリズムの設計)は、処理速度や消費電力に直結する非常に重要な問題になりました。

もう少し詳しく見てみる

アルゴリズムを人間にもコンピュータにも分かる形で書き表す方法はいくつかあります。日本語の文章で書く「自然言語表現」、条件分岐や繰り返しを図で表す「フローチャート(流れ図)」、処理の流れを図示する「アクティビティ図」、そして実際にコンピュータが実行できる形にした「プログラム(プログラミング言語で書かれたもの)」です。同じアルゴリズムでも、表現方法を変えて確認することで、手順の抜けや矛盾に気づきやすくなります。

アルゴリズムには「正しさ」と「効率」という2つの評価軸があります。正しさとは、どんな入力に対しても必ず正しい答えを返すかどうかです。効率とは、データの量が増えたときに処理時間や必要なメモリがどれだけ増えるかということで、これを比較するために「探索」や「整列(ソート)」など、代表的なアルゴリズムのパターンが数多く研究されてきました。

関連して知っておきたいこと

コンピュータの内部では、アルゴリズムもデータも最終的にはすべて0と1の並び(二進法)で表現されて処理されています。人間が読みやすいフローチャートやプログラムのコードは、あくまで人間のためのアルゴリズムの表現方法であり、コンピュータの内部では二進数の命令列に変換されて実行されています。

最終更新日:2026-07-23

誤りを報告する