ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
モデル化された計算機またはルール上で学問的に考察したアルゴリズム。
電子計算機上で論じられるアルゴリズム(問題の解法・手順)は、基本的にコンピューター自体のハードウェア実装と、記述に用いるプログラミング言語の仕様に大きく左右される。例えばハードウェア実装では、逐次処理型のものと並列処理型のものでは処理に用いるアルゴリズムは殆ど別物と言えるほどに内容が異なり、プログラミング言語においても特に開発現場の要求によって生まれたプログラミング言語(COBOL、FORTRAN、Cなど)では言語ごとの特定の技法というものが顕著に現われる。そのため、数学、論理学,あるいは情報工学といった学問上で純粋にアルゴリズムの問題について研究する場合には、演算機構のモデル化や抽象化された記述言語というものを定義した上で行なうことが重要となる。
演算機構のモデル化には、記号のパターン処理を行なう "オートマトン" 概念や、超並列処理のモデルである "セルオートマトン" 概念、関数や論理記号などによる状態と遷移の記述モデル化など、様々なものが利用される。特に非ノイマン型の逐次処理でない計算モデルにおいては、例えば関数モデルによるカオスとして表現される状態遷移を利用した多次元探索アルゴリズムなどのように、対象とする命題の内容や解法を導くアプローチの違いなどによって様々な概念や原理が計算モデルとして採用される。これらの様々なモデルには、一般的なコンピューター向けアルゴリズムと異なり、まず仕組みありきではなく、問題を効率的に扱うために手法側から仕組み自体の定義を行なったものも多い。
手続き型のアルゴリズム記述用言語として有名なものにはPascalなどがあり、他に論理型プログラミング言語PROLOGなども大学などでよく利用されている。またアルゴリズム教育用のインタープリター言語として "LOGO" などもある。
一般的に、広く利用されてはいるがC言語のような実用向けのプログラミング言語でアルゴリズム命題を記述することは、記述の抽象化が十分でない場合が多く、推奨されない。このような書籍もいくつかあるが、多くはアルゴリズムそのものを記述することより、開発現場での実践的なハンドブックとして利用されることを想定している場合が多い。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます