アルゴリズム
別の分類方法として、アルゴリズムの設計方法論やパラダイムで分類する方法がある。それぞれ異なるいくつかのパラダイムが存在する。さらに、個々のパラダイムの中にも様々な異なる形式のアルゴリズムが含まれている。以下に主なパラダイムを挙げる。
プログラマは擬似コードなどを使うことが多いが、理論計算機科学での形式的で厳密な議論には計算モデルを使う。もちろん相互に得失があり、必要であれば互いにどちらも使う。
この記事の他の部分では完全に混用されているが、この文の後半の「アルゴリズムは」という表現は、必ず停止するもののみを指してそう言っているのだから。せめて1文の中では混用はまずい)。
不完全な(あるいは間違った)アルゴリズムは、次のいずれかの結果となる。
停止しない。
解の範囲を逸脱した値を返して停止する。
誤った解を返して停止する。
解を返さずに停止する。
これらの組合せ。
クリーネはこれらをアルゴリズム内で検出してエラーメッセージを返すか、可能ならば無限ループに入らせることを提案した。また、結果が真理値である場合についてクリーネは第三の論理記号「 u {\displaystyle u} 」を使うことも提案している。そうすれば、命題を扱うアルゴリズムで何らかの値を常に生成できるとした。誤った答えを返す問題は、帰納法を使ったアルゴリズムに関する個別の「証明」で解決される。