スーダン関数

ウィキペディアから、無料の百科事典

スーダン関数(スーダンかんすう、英: Sudan function、独: Sudanfunktion )とは、計算理論において再帰的でありながら原始再帰的でない関数の一例である。この関数はドイツの数学者ダフィット・ヒルベルトの教鞭を受けていた学生であったガブリエル・スーダン(英語版)によって1927年発表された[1]。オリジナルの関数は順序数上の関数として定義されているが、自然数上で定義されたバージョンが1981年にネル・ディマ (Nelu Dima) によって定義され、クリスティアン・カルデ (Cristian Calude) によって「再帰関数だが原始再帰関数でない最初の例」として紹介された[2][3][注 1]。

定義

以後 (変数は全て0を含む自然数)とする。

値の表

F0(x, y) の値
y\x 0 1 2 3 4 5
0 012345
1 123456
2 234567
3 345678
4 456789
5 5678910
6 67891011


F1(x, y) の値
y\x 0 1 2 3 4 5 6
0 0123456
1 135791113
2 481216202428
3 11192735435159
4 2642587490106122
5 5789121153185217249
6 120184248312376440504

一般に、F1(x, y) は F1(0, y) + 2y x と等しい。

F2(x, y) の値
y\x 0 1 2 3 4 5
0 012345
1 182774185440
2 19F1(8, 10) = 10228F1(27, 29) ≈ 1.55 ×1010 F1(74, 76) ≈ 5.74 ×1024 F1(185, 187) ≈ 3.67 ×1058 F1(440, 442) ≈ 5.02 ×10135

脚注

  1. ↑ 1927年の論文の主定理においてスーダンが主張したことは、「順序数ωωは原始再帰的な手続きのみで作ることができない」ということ(木原貴行. “2019年度 数理情報学基礎論概論2・講義ノート”. pp. 20-22. 2021年3月23日閲覧。)であり、原始再帰的手続きの限界を示したという意味でスーダンの例は確かにアッカーマン以前に提示されたものである。

参考文献

  1. ↑ SUDAN, G. (1927). “SUR LE NOMBRE TRANSFINI ω ω”. Bulletin mathématique de la Société Roumaine des Sciences 30 (1): 11–30. ISSN 1220-3858.
  2. ↑ “The first example of a recursive function which is not primitive recursive” (英語). Historia Mathematica 6 (4): 380–384. (1979-11-01). doi:10.1016/0315-0860(79)90024-7. ISSN 0315-0860.
  3. ↑ Calude, Cristian (1988). Theories of computational complexity. Amsterdam: North-Holland. ISBN 978-0-444-70356-9. OCLC 316565370

外部リンク