利用者:Flightbridge/sandbox/アッカーマン関数

歴史[編集]

1920年台後半、計算機の基礎研究を行っていたガブリエル・スーダン英語版ヴィルヘルム・アッカーマン(いずれもダフィット・ヒルベルトの教え子)は、「全域計算可能(または単に「再帰的」)であって原始再帰的でない」関数の発見者であるとされている。始めに1927年にスーダンによりスーダン関数が発表され、後の1928年にアッカーマンにより φ 関数が別々に発表された。アッカーマンの三変数関数 φ(m, n, p) は、p = 0, 1, 2 のときそれぞれ加法乗法累乗となる。

1920年台後半、ダフィット・ヒルベルトの教え子であったガブリエル・スーダン英語版ヴィルヘルム・アッカーマンは、計算機の基礎研究を行っていた。この二人は「全域計算可能(または単に「再帰的」)であって原始再帰的でない」関数の発見者であるとされている。まず1927年にスーダンによりスーダン関数が発表され、後の1928年にアッカーマンにより φ 関数が別々に発表された。アッカーマンの三変数関数 φ(m, n, p) は、p = 0, 1, 2 のときそれぞれ加法乗法累乗となる。

さらに p > 2 のとき φ はこれら算術演算の拡張、いわゆるハイパー演算を与える。この φ はもともと「全域計算可能だが原始再帰的でない」関数として与えられたものである。φ には幾つかの変形が存在し、初等的な算術演算を累乗から先へ拡張するのに特化したもの(グッドスタインのハイパー演算列など)なども存在している。そのような関数ほどではないものの、φ も累乗から先への拡張を与える関数の一つと見做されている。

Über das Unendliche において、ヒルベルトは φ が原始再帰関数でないと予想した。それに証明を与えたのは、彼の個人秘書でありまた OB でもあったアッカーマンである。この証明は Zum Hilbertschen Aufbau der reellen Zahlen において発表された。

後にロージャ・ペーテル英語版ラファエル・ロビンソン英語版により φ の二変数版が与えられた。これが現在アッカーマン関数として知られているものである。

定義と性質[編集]

アッカーマンが最初に与えた三変数関数 φ(m, n, p) は、非負整数 m, n, p に対して次のように再帰的に定義されるものである。

これの二変数版には幾つかの定義が存在し、中でもロージャ・ペーテル英語版ラファエル・ロビンソン英語版が与えた次の関数はしばしばアッカーマン関数と呼ばれる。

この計算が常に終了するかどうかは一見明らかでないが、再帰が深くなる度に m, n のどちらかが減少することからこの深さは有限である。n が 0 になる度に m が減少することから最終的には m も 0 になる[1]。一方で m が減少する際に n がどこまで増大するのかについては上限が存在せず、しばしば非常に巨大な値となる。

  • クヌースの矢印表記
  • コンウェイのチェーン表記
    m ≧ 3 のとき次が成り立つ。
    またこの式から、n > 2 のとき次のようになる。
  1. ^ より詳しく言うと、各深さにおける (m, n) の全体は(非負整数の順序付け同様に)整列であり、値は辞書式順序に従って減少する。従って無限に深くなっていくことはできない。