アルゴリズムとは
アルゴリズム ( Algorithm "> Algorithm )とは、 数学 、 コンピューティング 、 言語学 、あるいは関連する分野において、問題を解くための効率的手順を定式化した形で表現したものを意味する。 算法 (さんぽう)と訳されることもある。
コンピュータ にアルゴリズムを指示するための(電子)文書を プログラム という。人間より速く大量に正しい結果を導くことができるのがコンピュータの強みであるが、そのためには正しいアルゴリズムに基づくプログラムが必要である。
歴史
記録に残る最古のアルゴリズムは、 エウクレイデス の 原論 のものである。その中でも、二つの整数の 最大公約数 を求める ユークリッドの互除法
「可算無限」とは、「無限にまで拡張した整数で数えられる」という意味である。つまり、ここで言うアルゴリズムは、理論的には 0 から無限大までを含む任意の整数(群)の「入力」から、出力すべき整数を「生成」する過程についての指示を「含む」ものとされている。したがって、例えば、 y = m + n のような(2つの任意の入力変数 m と n から出力 y を生成する)代数方程式もアルゴリズムと見ることができる。実際には、アルゴリズムの意味はもっと広く、方程式の例で言うと、次のようになる。
(計算主体が理解できる言語で書かれた)正確な指示であり、計算主体(適当な情報と機能を内包した機械や人)の動作を示した効率的な過程を表す。その過程には、任意の入力の m と n といった整数/記号や + と = といった記号を受け付けて、復号し、妥当な時間内に出力整数 y を指定された位置に指定された形式で確実かつ効率的に生成することが含まれる。
アルゴリズムの概念は、 決定可能性 の概念定義にも使われる。その概念は、小さな 公理 群と規則群を始点として 形式体系 がいかに形成されるかを説明する際の重要な部分となる。 論理学 では、アルゴリズムが完了するまでに要する時間は、一般的な物理的次元とは関連していないので、測定できない。そのような不確実性があるので、アルゴリズムという用語を正確に定義できないという側面もある。
厳密な定義
1920〜30年代、アルゴリズムの概念を定式化するための数学モデル( 計算モデル )がいくつも提案された( チューリングマシン...






