|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ 関 : [せき, ぜき] (suf) honorific added to names of makuuchi and juryo division sumo wrestlers ・ 関数 : [かんすう] (n) function (e.g., math, programming, programing) ・ 数 : [すう, かず] 1. (n,n-suf) number 2. figure
アッカーマン関数(アッカーマンかんすう、)とは、非負整数 ''m'' と ''n'' に対し、 : によって定義される関数のことである。 与える数が大きくなると爆発的に計算量が大きくなるという特徴があり、性能測定などに用いられることもある。 また、数学的な意味として、原始再帰関数でないμ再帰関数の実例として有名である。これを(再帰のない手続き型の)プログラミング言語の言葉で言えば、whileループを使えばアッカーマン関数をプログラミングできるが、whileを使わずにforループだけでは実現不能だということである。 なお、アッカーマン関数のグラフは原始再帰的である。 == アッカーマン関数の値の表 == アッカーマン関数の計算は、無限の表を使った手順に言い換えることができる。まず、一番上の列に自然数を順番に並べる。表の値を決めるためは、すぐ左の値を見て、一つ上の列でその順番の値を取る。もし左に数値がない場合は、単に一つ上の列のカラム 1(n=1) の数値を取る。表の左上の部分は以下のようになる。 再帰的な参照で表示している値は非常に大きいが、クヌースの矢印表記、コンウェイのチェーン表記、ハイパー演算子等を使えば : :: :: :: :: と簡潔に表す事が出来る。 以下は、上記のテーブルと同じものであるが、パターンを分かりやすくするため、値を関数定義の表現に置き換えている。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「アッカーマン関数」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Ackermann function 」があります。 スポンサード リンク
|