एकरमैन फलन: Difference between revisions
m (Abhishek moved page एकरमैन समारोह to एकरमैन फलन without leaving a redirect) |
No edit summary |
||
Line 2: | Line 2: | ||
{{About|the mathematical function||Ackermann (disambiguation)}} | {{About|the mathematical function||Ackermann (disambiguation)}} | ||
{{Use shortened footnotes|date=November 2022}} | {{Use shortened footnotes|date=November 2022}} | ||
कम्प्यूटेबिलिटी सिद्धांत में, [[विल्हेम एकरमैन]] के नाम पर एकरमैन | कम्प्यूटेबिलिटी सिद्धांत में, [[विल्हेम एकरमैन]] के नाम पर एकरमैन फलन, सबसे सरल में से एक है{{sfn|Monin|Hinchey|2003|p=61}} और कुल फलन [[गणना योग्य समारोह]] के सबसे पहले खोजे गए उदाहरण जो मूल पुनरावर्ती फलन नहीं हैं। सभी [[आदिम पुनरावर्ती कार्य|मूल पुनरावर्ती फलन]] कुल और संगणनीय हैं, लेकिन एकरमैन फलन यह दर्शाता है कि सभी कुल संगणनीय फलन मूल पुनरावर्ती नहीं हैं। एकरमैन के प्रकाशन के बाद{{sfn|Ackermann|1928}} उनके फलन के (जिसमें तीन गैर-ऋणात्मक पूर्णांक तर्क थे), कई लेखकों ने इसे विभिन्न उद्देश्यों के अनुरूप संशोधित किया, ताकि आज एकरमैन फलन मूल फलन के कई रूपों में से किसी को भी संदर्भित कर सके। एक सामान्य संस्करण, दो-तर्क एकरमैन-पीटर फलन को गैर-नकारात्मक पूर्णांक ''m'' और ''n'' के लिए निम्नानुसार परिभाषित किया गया है: | ||
:<math> | :<math> | ||
Line 14: | Line 14: | ||
== इतिहास == | == इतिहास == | ||
1920 के दशक के अंत में, गणितज्ञ [[गेब्रियल सूडान]] और विल्हेम एकरमैन, [[डेविड हिल्बर्ट]] के छात्र, संगणना की नींव का अध्ययन कर रहे थे। सूडान और एकरमैन दोनों को श्रेय दिया जाता है{{sfn|Calude|Marcus|Tevy|1979}} टोटल फंक्शन कंप्यूटेबल फंक्शन्स की खोज के साथ (जिसे कुछ संदर्भों में केवल रिकर्सिव कहा जाता है) जो प्रिमिटिव रिकर्सिव फंक्शन नहीं हैं। सूडान ने कम प्रसिद्ध सूडान | 1920 के दशक के अंत में, गणितज्ञ [[गेब्रियल सूडान]] और विल्हेम एकरमैन, [[डेविड हिल्बर्ट]] के छात्र, संगणना की नींव का अध्ययन कर रहे थे। सूडान और एकरमैन दोनों को श्रेय दिया जाता है{{sfn|Calude|Marcus|Tevy|1979}} टोटल फंक्शन कंप्यूटेबल फंक्शन्स की खोज के साथ (जिसे कुछ संदर्भों में केवल रिकर्सिव कहा जाता है) जो प्रिमिटिव रिकर्सिव फंक्शन नहीं हैं। सूडान ने कम प्रसिद्ध सूडान फलन प्रकाशित किया, फिर कुछ ही समय बाद और स्वतंत्र रूप से, 1928 में, एकरमैन ने अपना फलन प्रकाशित किया <math>\varphi</math> (ग्रीक अक्षर [[फ़ाई]])। एकरमैन का तीन-तर्क फलन, <math>\varphi(m, n, p)</math>, के लिए परिभाषित किया गया है <math>p=0,1,2</math>, यह जोड़, [[गुणा]] और [[घातांक]] के बुनियादी संचालन को पुन: पेश करता है | ||
:<math>\begin{align} | :<math>\begin{align} | ||
Line 27: | Line 27: | ||
\varphi(m, n, p) &\gtrapprox m[p+1](n+1) && \text{for } p > 3 | \varphi(m, n, p) &\gtrapprox m[p+1](n+1) && \text{for } p > 3 | ||
\end{align}</math> | \end{align}</math> | ||
(कुल-गणना योग्य-लेकिन-नहीं- | (कुल-गणना योग्य-लेकिन-नहीं-मूल-पुनरावर्ती फलन के रूप में इसकी ऐतिहासिक भूमिका के अलावा, एकरमैन के मूल फलन को घातांक से परे बुनियादी अंकगणितीय संचालन का विस्तार करने के लिए देखा जाता है, हालांकि एकरमैन के फलन के रूपांतरों के समान नहीं है जो विशेष रूप से डिज़ाइन किए गए हैं। वह उद्देश्य - जैसे रूबेन गुडस्टीन|गुडस्टीन का हाइपरऑपरेशन अनुक्रम।) | ||
अनंत पर में,{{sfn|Hilbert|1926|p=185}} डेविड हिल्बर्ट ने परिकल्पना की कि एकरमैन | अनंत पर में,{{sfn|Hilbert|1926|p=185}} डेविड हिल्बर्ट ने परिकल्पना की कि एकरमैन फलन मूल पुनरावर्ती नहीं था, लेकिन यह एकरमैन, हिल्बर्ट के निजी सचिव और पूर्व छात्र थे, जिन्होंने वास्तव में अपने पेपर ऑन हिल्बर्ट्स कंस्ट्रक्शन ऑफ़ द रियल नंबर्स में परिकल्पना को साबित किया था।{{sfn|Ackermann|1928}}{{sfn|van Heijenoort|1977}} | ||
पीटर रोजसा{{sfn|Péter|1935}} और [[राफेल रॉबिन्सन]]{{sfn|Robinson|1948}} बाद में एकरमैन | पीटर रोजसा{{sfn|Péter|1935}} और [[राफेल रॉबिन्सन]]{{sfn|Robinson|1948}} बाद में एकरमैन फलन का एक दो-चर संस्करण विकसित किया जो लगभग सभी लेखकों द्वारा पसंद किया गया। | ||
सामान्यीकृत हाइपरऑपरेशन, उदा। <math>G(m, a, b) = a[m]b</math>, एकरमैन | सामान्यीकृत हाइपरऑपरेशन, उदा। <math>G(m, a, b) = a[m]b</math>, एकरमैन फलन का भी एक संस्करण है।{{sfn|Ritchie|1965|p=1028}} | ||
1963 में रॉबर्ट क्रेटन बक|आर.सी. बक एक सहज ज्ञान युक्त दो-चर आधारित है <ref group="n" name="letop3">with parameter order reversed</ref> प्रकार <math>\operatorname{F}</math> हाइपरऑपरेशन पर:{{sfn|Buck|1963}}{{sfn|Meeussen|Zantema|1992|p=6}} | 1963 में रॉबर्ट क्रेटन बक|आर.सी. बक एक सहज ज्ञान युक्त दो-चर आधारित है <ref group="n" name="letop3">with parameter order reversed</ref> प्रकार <math>\operatorname{F}</math> हाइपरऑपरेशन पर:{{sfn|Buck|1963}}{{sfn|Meeussen|Zantema|1992|p=6}} | ||
:<math>\operatorname{F}(m,n) = 2[m]n.</math> | :<math>\operatorname{F}(m,n) = 2[m]n.</math> | ||
अधिकांश अन्य संस्करणों की तुलना में बक के | अधिकांश अन्य संस्करणों की तुलना में बक के फलन में कोई अनावश्यक ऑफ़सेट नहीं है: | ||
:<math>\begin{align} | :<math>\begin{align} | ||
Line 45: | Line 45: | ||
&\quad\vdots | &\quad\vdots | ||
\end{align}</math> | \end{align}</math> | ||
एकरमैन | एकरमैन फलन के कई अन्य संस्करणों की जांच की गई है।{{sfn|Munafo|1999a}} | ||
== परिभाषा == | == परिभाषा == | ||
=== परिभाषा: एम-एरी | === परिभाषा: एम-एरी फलन === के रूप में | ||
एकरमैन का मूल तीन-तर्क | एकरमैन का मूल तीन-तर्क फलन <math>\varphi(m, n, p)</math> गैर-नकारात्मक पूर्णांकों के लिए निम्नानुसार पुनरावर्तन परिभाषित किया गया है <math>m,n,</math> तथा <math>p</math>: | ||
:<math>\begin{align} | :<math>\begin{align} | ||
Line 60: | Line 60: | ||
\varphi(m, n, p) &= \varphi(m, \varphi(m, n-1, p), p - 1) && \text{for } n, p > 0 | \varphi(m, n, p) &= \varphi(m, \varphi(m, n-1, p), p - 1) && \text{for } n, p > 0 | ||
\end{align}</math> | \end{align}</math> | ||
विभिन्न दो-तर्क संस्करणों में से, पेटर और रॉबिन्सन द्वारा विकसित एक (जिसे अधिकांश लेखकों द्वारा एकरमैन | विभिन्न दो-तर्क संस्करणों में से, पेटर और रॉबिन्सन द्वारा विकसित एक (जिसे अधिकांश लेखकों द्वारा एकरमैन फलन कहा जाता है) को गैर-नकारात्मक पूर्णांकों के लिए परिभाषित किया गया है <math>m</math> तथा <math>n</math> निम्नलिखित नुसार: | ||
:<math> | :<math> | ||
Line 69: | Line 69: | ||
\end{array} | \end{array} | ||
</math> | </math> | ||
हाइपरऑपरेशन के संबंध में एकरमेन | हाइपरऑपरेशन के संबंध में एकरमेन फलन भी व्यक्त किया गया है:{{sfn|Sundblad|1971}}{{sfn|Porto|Matos|1980}} | ||
:<math>A(m,n) = \begin{cases} | :<math>A(m,n) = \begin{cases} | ||
n+1 & m=0 \\ | n+1 & m=0 \\ | ||
Line 85: | Line 85: | ||
=== परिभाषा: पुनरावृत्त 1-एरी | === परिभाषा: पुनरावृत्त 1-एरी फलन === के रूप में | ||
परिभाषित करना <math>f^{n}</math> के n-वें पुनरावृति के रूप में <math>f</math>: | परिभाषित करना <math>f^{n}</math> के n-वें पुनरावृति के रूप में <math>f</math>: | ||
:<math>\begin{array}{rll} | :<math>\begin{array}{rll} | ||
Line 91: | Line 91: | ||
f^{n+1}(x) & = & f(f^{n}(x))\,\,\,\, \{\textrm{for} \,\, n \geq 1\} | f^{n+1}(x) & = & f(f^{n}(x))\,\,\,\, \{\textrm{for} \,\, n \geq 1\} | ||
\end{array}</math> | \end{array}</math> | ||
पुनरावृत्त फलन एक निश्चित संख्या में स्वयं के साथ एक फलन बनाने की प्रक्रिया है। | पुनरावृत्त फलन एक निश्चित संख्या में स्वयं के साथ एक फलन बनाने की प्रक्रिया है। फलन रचना एक साहचर्य ऑपरेशन है, इसलिए <math>f(f^{n}(x)) = f^{n}(f(x))</math>. | ||
एकरमैन | एकरमैन फलन को यूनरी फ़ंक्शंस के अनुक्रम के रूप में समझना, कोई सेट कर सकता है <math>\operatorname{A}_{m}(n) = \operatorname{A}(m,n)</math>. | ||
समारोह तब एक अनुक्रम बन जाता है <math>\operatorname{A}_0, \operatorname{A}_1, \operatorname{A}_2, ...</math> यूनरी का<ref group="n" name="letop4">'[[Currying|curried]]'</ref> फ़ंक्शंस, इटरेटेड | समारोह तब एक अनुक्रम बन जाता है <math>\operatorname{A}_0, \operatorname{A}_1, \operatorname{A}_2, ...</math> यूनरी का<ref group="n" name="letop4">'[[Currying|curried]]'</ref> फ़ंक्शंस, इटरेटेड फलन से परिभाषित: | ||
:<math> | :<math> | ||
\begin{array}{lcl} | \begin{array}{lcl} | ||
Line 105: | Line 105: | ||
== संगणना == | == संगणना == | ||
एकरमैन | एकरमैन फलन की पुनरावर्ती परिभाषा को स्वाभाविक रूप से [[पुनर्लेखन]] | टर्म पुनर्लेखन प्रणाली (TRS) में स्थानांतरित किया जा सकता है। | ||
=== टीआरएस, 2-एरी | === टीआरएस, 2-एरी फलन === पर आधारित है | ||
<u>2-ary</u> एकरमैन | <u>2-ary</u> एकरमैन फलन की परिभाषा स्पष्ट कमी नियमों की ओर ले जाती है {{sfn|Grossman|Zeitman|1988}}{{sfn|Paulson|2021}} | ||
:<math> | :<math> | ||
\begin{array}{lll} | \begin{array}{lll} | ||
Line 223: | Line 223: | ||
: उनका अपना एल्गोरिदम, स्वाभाविक रूप से पुनरावृत्त, गणना करता है <math>\operatorname{A}(m,n)</math> अंदर <math>\mathcal{O}(m \operatorname{A}(m,n))</math> समय और भीतर <math>\mathcal{O}(m)</math> अंतरिक्ष। | : उनका अपना एल्गोरिदम, स्वाभाविक रूप से पुनरावृत्त, गणना करता है <math>\operatorname{A}(m,n)</math> अंदर <math>\mathcal{O}(m \operatorname{A}(m,n))</math> समय और भीतर <math>\mathcal{O}(m)</math> अंतरिक्ष। | ||
=== टीआरएस, पुनरावृत्त 1-एरी | === टीआरएस, पुनरावृत्त 1-एरी फलन === पर आधारित है | ||
पुनरावृत्त <u>1-ary</u> एकरमैन | पुनरावृत्त <u>1-ary</u> एकरमैन फलन की परिभाषा विभिन्न कमी नियमों की ओर ले जाती है | ||
:<math> | :<math> | ||
\begin{array}{lll} | \begin{array}{lll} | ||
Line 232: | Line 232: | ||
\end{array} | \end{array} | ||
</math> | </math> | ||
जैसा कि | जैसा कि फलन रचना साहचर्य है, नियम r6 के बजाय परिभाषित किया जा सकता है | ||
:<math> | :<math> | ||
\begin{array}{lll} | \begin{array}{lll} | ||
Line 337: | Line 337: | ||
=== टीआरएस, हाइपरऑपरेटरों पर आधारित === | === टीआरएस, हाइपरऑपरेटरों पर आधारित === | ||
जैसा {{harvtxt|Sundblad|1971}} - या {{harvtxt|Porto|Matos|1980}} - स्पष्ट रूप से दिखाया गया है, एकरमेन | जैसा {{harvtxt|Sundblad|1971}} - या {{harvtxt|Porto|Matos|1980}} - स्पष्ट रूप से दिखाया गया है, एकरमेन फलन हाइपरऑपरेशन अनुक्रम के संदर्भ में व्यक्त किया जा सकता है: | ||
:<math>A(m,n) = \begin{cases} | :<math>A(m,n) = \begin{cases} | ||
n+1 & m=0 \\ | n+1 & m=0 \\ | ||
2[m](n+3) - 3 & m>0 \\ | 2[m](n+3) - 3 & m>0 \\ | ||
\end{cases}</math> | \end{cases}</math> | ||
या, बक के | या, बक के फलन के संदर्भ में, पैरामीटर सूची से निरंतर 2 को हटाने के बाद | ||
:::<math> = \begin{cases} | :::<math> = \begin{cases} | ||
Line 348: | Line 348: | ||
F(m,n+3) - 3 & m>0 \\ | F(m,n+3) - 3 & m>0 \\ | ||
\end{cases}</math> | \end{cases}</math> | ||
बक का | बक का फलन <math>\operatorname{F}(m,n) = 2[m]n</math>,{{sfn|Buck|1963}} एकरमैन फलन का एक भिन्न रूप, जिसकी गणना निम्न कमी नियमों के साथ की जा सकती है: | ||
:<math> | :<math> | ||
\begin{array}{lll} | \begin{array}{lll} | ||
Line 365: | Line 365: | ||
\end{array} | \end{array} | ||
</math> | </math> | ||
एकरमैन | एकरमैन फलन की गणना करने के लिए तीन कटौती नियमों को जोड़ना पर्याप्त है | ||
:<math> | :<math> | ||
\begin{array}{lll} | \begin{array}{lll} | ||
Line 529: | Line 529: | ||
टिप्पणियां | टिप्पणियां | ||
* की गणना <math>\operatorname{A}_{i}(n)</math> नियमों के मुताबिक {बी 1 - बी 5, बी 6, आर 8 - आर 10} गहरा रिकर्सिव है। नेस्टेड की अधिकतम गहराई <math>F</math>एस है <math>A(i,n)+1</math>. अपराधी वह क्रम है जिसमें पुनरावृत्ति निष्पादित होती है: <math>F^{n+1}(x) = F(F^{n}(x))</math>. सबसे पहला <math>F</math> पूरे क्रम के सामने आने के बाद ही गायब हो जाता है। | * की गणना <math>\operatorname{A}_{i}(n)</math> नियमों के मुताबिक {बी 1 - बी 5, बी 6, आर 8 - आर 10} गहरा रिकर्सिव है। नेस्टेड की अधिकतम गहराई <math>F</math>एस है <math>A(i,n)+1</math>. अपराधी वह क्रम है जिसमें पुनरावृत्ति निष्पादित होती है: <math>F^{n+1}(x) = F(F^{n}(x))</math>. सबसे पहला <math>F</math> पूरे क्रम के सामने आने के बाद ही गायब हो जाता है। | ||
*नियमों के अनुसार गणना {b1 - b5, b7, r8 - r10} उस संबंध में अधिक कुशल है। पुनरावृत्ति <math>F^{n+1}(x) = F^{n}(F(x))</math> कोड के एक ब्लॉक पर बार-बार लूप को सिम्युलेट करता है।<ref group="n" name="letop7">'''LOOP''' n+1 '''TIMES DO''' F</ref> घोंसला बनाना तक सीमित है <math>(i+1)</math>, प्रति पुनरावृत्त | *नियमों के अनुसार गणना {b1 - b5, b7, r8 - r10} उस संबंध में अधिक कुशल है। पुनरावृत्ति <math>F^{n+1}(x) = F^{n}(F(x))</math> कोड के एक ब्लॉक पर बार-बार लूप को सिम्युलेट करता है।<ref group="n" name="letop7">'''LOOP''' n+1 '''TIMES DO''' F</ref> घोंसला बनाना तक सीमित है <math>(i+1)</math>, प्रति पुनरावृत्त फलन के लिए एक पुनरावर्तन स्तर। {{harvtxt|Meyer|Ritchie|1967}} यह पत्राचार दिखाया। | ||
* ये विचार केवल पुनरावर्तन गहराई से संबंधित हैं। पुनरावृति का कोई भी तरीका समान नियमों को शामिल करते हुए समान संख्या में कटौती चरणों की ओर ले जाता है (जब नियम b6 और b7 को समान माना जाता है)। की कमी <math>A(2,1)</math> उदाहरण के लिए 35 चरणों में परिवर्तित होता है: 12 × b1, 4 × b2, 1 × b3, 4 × b5, 12 × b6/b7, 1 × r9, 1 × r10। | * ये विचार केवल पुनरावर्तन गहराई से संबंधित हैं। पुनरावृति का कोई भी तरीका समान नियमों को शामिल करते हुए समान संख्या में कटौती चरणों की ओर ले जाता है (जब नियम b6 और b7 को समान माना जाता है)। की कमी <math>A(2,1)</math> उदाहरण के लिए 35 चरणों में परिवर्तित होता है: 12 × b1, 4 × b2, 1 × b3, 4 × b5, 12 × b6/b7, 1 × r9, 1 × r10। फलनप्रणाली केवल उस क्रम को प्रभावित करती है जिसमें कटौती नियम लागू होते हैं। | ||
*निष्पादन समय का वास्तविक लाभ बार-बार उप-परिणामों की पुनर्गणना न करके ही प्राप्त किया जा सकता है। [[संस्मरण]] एक ऑप्टिमाइज़ेशन तकनीक है जहाँ | *निष्पादन समय का वास्तविक लाभ बार-बार उप-परिणामों की पुनर्गणना न करके ही प्राप्त किया जा सकता है। [[संस्मरण]] एक ऑप्टिमाइज़ेशन तकनीक है जहाँ फलन कॉल के परिणाम कैश किए जाते हैं और उसी इनपुट के फिर से आने पर वापस आ जाते हैं। उदाहरण के लिए देखें {{harvtxt|Ward|1993}}. {{harvtxt|Grossman|Zeitman|1988}} एक चालाक एल्गोरिदम प्रकाशित किया जो गणना करता है <math>A(i,n)</math> अंदर <math>\mathcal{O}(i A(i,n))</math> समय और भीतर <math>\mathcal{O}(i)</math> अंतरिक्ष। | ||
=== बड़ी संख्या === | === बड़ी संख्या === | ||
Line 569: | Line 569: | ||
== मूल्यों की तालिका == | == मूल्यों की तालिका == | ||
एकरमैन | एकरमैन फलन की गणना एक अनंत तालिका के रूप में की जा सकती है। सबसे पहले, प्राकृतिक संख्याओं को शीर्ष पंक्ति में रखें। तालिका में संख्या निर्धारित करने के लिए, संख्या को तुरंत बाईं ओर ले जाएं। फिर उस संख्या का उपयोग उस संख्या और एक पंक्ति द्वारा दिए गए कॉलम में आवश्यक संख्या देखने के लिए करें। यदि इसके बाईं ओर कोई संख्या नहीं है, तो बस पिछली पंक्ति में 1 वाले कॉलम को देखें। यहाँ तालिका का एक छोटा ऊपरी-बाएँ भाग है: | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 628: | Line 628: | ||
यहां संख्याएं जो केवल रिकर्सिव एक्सपोनेंटिएशन या नुथ के अप-एरो नोटेशन के साथ व्यक्त की जाती हैं, बहुत बड़ी हैं और सादे दशमलव अंकों में नोट करने के लिए बहुत अधिक जगह लेती हैं। | यहां संख्याएं जो केवल रिकर्सिव एक्सपोनेंटिएशन या नुथ के अप-एरो नोटेशन के साथ व्यक्त की जाती हैं, बहुत बड़ी हैं और सादे दशमलव अंकों में नोट करने के लिए बहुत अधिक जगह लेती हैं। | ||
तालिका के इस प्रारंभिक खंड में बड़े मूल्यों के होने के बावजूद, कुछ और भी बड़ी संख्याओं को परिभाषित किया गया है, जैसे ग्राहम की संख्या, जिसे किसी भी छोटी संख्या में नूथ तीरों के साथ नहीं लिखा जा सकता है। यह संख्या एक ऐसी तकनीक के साथ बनाई गई है जो एकरमेन | तालिका के इस प्रारंभिक खंड में बड़े मूल्यों के होने के बावजूद, कुछ और भी बड़ी संख्याओं को परिभाषित किया गया है, जैसे ग्राहम की संख्या, जिसे किसी भी छोटी संख्या में नूथ तीरों के साथ नहीं लिखा जा सकता है। यह संख्या एक ऐसी तकनीक के साथ बनाई गई है जो एकरमेन फलन को पुनरावर्ती रूप से लागू करने के समान है। | ||
यह उपरोक्त तालिका का दोहराव है, लेकिन पैटर्न को स्पष्ट रूप से दिखाने के लिए | यह उपरोक्त तालिका का दोहराव है, लेकिन पैटर्न को स्पष्ट रूप से दिखाने के लिए फलन परिभाषा से प्रासंगिक अभिव्यक्ति द्वारा प्रतिस्थापित मानों के साथ: | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 670: | Line 670: | ||
=== सामान्य टिप्पणी === | === सामान्य टिप्पणी === | ||
*यह तुरंत स्पष्ट नहीं हो सकता है कि का मूल्यांकन <math>A(m, n)</math> हमेशा समाप्त होता है। हालाँकि, पुनरावर्तन बाध्य है क्योंकि प्रत्येक पुनरावर्ती अनुप्रयोग में या तो <math>m</math> घटता है, या <math>m</math> वही रहता है और <math>n</math> घटता है। हर बार कि <math>n</math> शून्य हो जाता है, <math>m</math> घटता है, इसलिए <math>m</math> अंततः शून्य भी हो जाता है। (अधिक तकनीकी रूप से व्यक्त, प्रत्येक मामले में जोड़ी <math>(m,n)</math> जोड़े पर शब्दकोष क्रम में घटता है, जो एक अच्छी तरह से क्रमित है, ठीक एकल गैर-ऋणात्मक पूर्णांकों के क्रम की तरह; इसका मतलब यह है कि कोई व्यक्ति लगातार कई बार क्रम में नीचे नहीं जा सकता है।) हालांकि, कब <math>m</math> घटता है कि कितना पर कोई ऊपरी सीमा नहीं है <math>n</math> बढ़ सकता है - और यह अक्सर बहुत बढ़ जाएगा। | *यह तुरंत स्पष्ट नहीं हो सकता है कि का मूल्यांकन <math>A(m, n)</math> हमेशा समाप्त होता है। हालाँकि, पुनरावर्तन बाध्य है क्योंकि प्रत्येक पुनरावर्ती अनुप्रयोग में या तो <math>m</math> घटता है, या <math>m</math> वही रहता है और <math>n</math> घटता है। हर बार कि <math>n</math> शून्य हो जाता है, <math>m</math> घटता है, इसलिए <math>m</math> अंततः शून्य भी हो जाता है। (अधिक तकनीकी रूप से व्यक्त, प्रत्येक मामले में जोड़ी <math>(m,n)</math> जोड़े पर शब्दकोष क्रम में घटता है, जो एक अच्छी तरह से क्रमित है, ठीक एकल गैर-ऋणात्मक पूर्णांकों के क्रम की तरह; इसका मतलब यह है कि कोई व्यक्ति लगातार कई बार क्रम में नीचे नहीं जा सकता है।) हालांकि, कब <math>m</math> घटता है कि कितना पर कोई ऊपरी सीमा नहीं है <math>n</math> बढ़ सकता है - और यह अक्सर बहुत बढ़ जाएगा। | ||
*1, 2, या 3 जैसे m के छोटे मानों के लिए, एकरमैन | *1, 2, या 3 जैसे m के छोटे मानों के लिए, एकरमैन फलन n के संबंध में अपेक्षाकृत धीमी गति से बढ़ता है (अधिकतम [[घातीय वृद्धि]] पर)। के लिये <math>m\geq 4</math>हालाँकि, यह बहुत अधिक तेज़ी से बढ़ता है; यहाँ तक की <math>A(4,2)</math> लगभग 2 है{{e|19728}}, और का दशमलव विस्तार <math>A(4, 3)</math> किसी भी विशिष्ट माप से बहुत बड़ा है। | ||
*एक दिलचस्प पहलू यह है कि इसके द्वारा उपयोग किया जाने वाला एकमात्र अंकगणितीय ऑपरेशन 1 का जोड़ है। इसकी तेजी से बढ़ती शक्ति पूरी तरह से नेस्टेड पुनरावर्तन पर आधारित है। इसका तात्पर्य यह भी है कि इसके चलने का समय कम से कम इसके उत्पादन के अनुपात में है, और यह भी बहुत बड़ा है। वास्तविकता में, ज्यादातर मामलों में चलने का समय आउटपुट से कहीं बड़ा होता है; ऊपर देखो। | *एक दिलचस्प पहलू यह है कि इसके द्वारा उपयोग किया जाने वाला एकमात्र अंकगणितीय ऑपरेशन 1 का जोड़ है। इसकी तेजी से बढ़ती शक्ति पूरी तरह से नेस्टेड पुनरावर्तन पर आधारित है। इसका तात्पर्य यह भी है कि इसके चलने का समय कम से कम इसके उत्पादन के अनुपात में है, और यह भी बहुत बड़ा है। वास्तविकता में, ज्यादातर मामलों में चलने का समय आउटपुट से कहीं बड़ा होता है; ऊपर देखो। | ||
* एक एकल-तर्क संस्करण <math>f(n)=A(n,n)</math> जो दोनों को बढ़ाता है <math>m</math> तथा <math>n</math> एक ही समय में प्रत्येक | * एक एकल-तर्क संस्करण <math>f(n)=A(n,n)</math> जो दोनों को बढ़ाता है <math>m</math> तथा <math>n</math> एक ही समय में प्रत्येक मूल पुनरावर्ती फलन को बौना कर देता है, जिसमें बहुत तेजी से बढ़ने वाले फलन शामिल हैं जैसे कि घातीय फलन, बहुउद्देशीय फलन, बहु- और [[superactorial]] फलन, और यहां तक कि Knuth के अप-एरो नोटेशन का उपयोग करके परिभाषित फलन (अनुक्रमित अप-एरो को छोड़कर) प्रयोग किया जाता है)। यह देखा जा सकता है <math>f(n)</math> मोटे तौर पर तुलनीय है <math>f_{\omega}(n)</math> तेजी से बढ़ते पदानुक्रम में। यह दिखाने के लिए इस चरम वृद्धि का फायदा उठाया जा सकता है <math>f</math> जो स्पष्ट रूप से [[ट्यूरिंग मशीन]] जैसी अनंत मेमोरी वाली मशीन पर गणना योग्य है और इसलिए एक गणना योग्य फलन है, किसी भी मूल पुनरावर्ती फलन की तुलना में तेजी से बढ़ता है और इसलिए मूल पुनरावर्ती नहीं है। | ||
=== | === मूल पुनरावर्ती === नहीं | ||
एकरमैन | एकरमैन फलन किसी भी मूल पुनरावर्ती फलन की तुलना में तेज़ी से बढ़ता है और इसलिए स्वयं मूल पुनरावर्ती नहीं है। सबूत का स्केच यह है: k रिकर्सन तक का उपयोग करके परिभाषित एक मूल पुनरावर्ती फलन की तुलना में धीमी गति से बढ़ना चाहिए <math>f_{k+1}(n)</math>, (k+1)-th फलन तेजी से बढ़ते पदानुक्रम में, लेकिन एकरमैन फलन कम से कम उतनी ही तेज़ी से बढ़ता है <math>f_\omega(n)</math>. | ||
विशेष रूप से, एक दिखाता है कि प्रत्येक | विशेष रूप से, एक दिखाता है कि प्रत्येक मूल पुनरावर्ती फलन के लिए <math>f(x_1,\ldots,x_n)</math> एक गैर-ऋणात्मक पूर्णांक मौजूद है <math>t</math> जैसे कि सभी गैर-ऋणात्मक पूर्णांकों के लिए <math>x_1,\ldots,x_n</math>, | ||
:<math>f(x_1,\ldots,x_n)<A(t,\max_i x_i).</math> | :<math>f(x_1,\ldots,x_n)<A(t,\max_i x_i).</math> | ||
एक बार यह स्थापित हो जाने के बाद, यह उसका अनुसरण करता है <math>A</math> स्वयं | एक बार यह स्थापित हो जाने के बाद, यह उसका अनुसरण करता है <math>A</math> स्वयं मूल पुनरावर्ती नहीं है, अन्यथा डालने के बाद से <math>x_1=x_2=t</math> विरोधाभास की ओर ले जाएगा <math>A(t,t)<A(t,t).</math> | ||
सबूत<ref>{{Cite web|url=http://planetmath.org/ackermannfunctionisnotprimitiverecursive|title=एकरमैन फ़ंक्शन प्रिमिटिव रिकर्सिव {{!}} Planetmath.org नहीं है|last=Woo|first=Chi|date=2009-12-17|website=planetmath.org|language=en|archive-url= https://web.archive.org/web/20130509202634/http://planetmath.org/ackermannfunctionisnotprimitiverecursive|archive-date=2013-05-09|url-status=dead}}</ref> निम्नानुसार आगे बढ़ता है: वर्ग को परिभाषित करें <math>\mathcal{A}</math> एकरमेन | सबूत<ref>{{Cite web|url=http://planetmath.org/ackermannfunctionisnotprimitiverecursive|title=एकरमैन फ़ंक्शन प्रिमिटिव रिकर्सिव {{!}} Planetmath.org नहीं है|last=Woo|first=Chi|date=2009-12-17|website=planetmath.org|language=en|archive-url= https://web.archive.org/web/20130509202634/http://planetmath.org/ackermannfunctionisnotprimitiverecursive|archive-date=2013-05-09|url-status=dead}}</ref> निम्नानुसार आगे बढ़ता है: वर्ग को परिभाषित करें <math>\mathcal{A}</math> एकरमेन फलन की तुलना में धीमी गति से बढ़ने वाले सभी फलनों में से | ||
:<math>\mathcal{A}=\left\{ f\,\bigg|\,\exists t\ \forall x_1\cdots \forall x_n:\ f(x_1,\ldots,x_n)<A(t, \max_i x_i) \right\} </math> | :<math>\mathcal{A}=\left\{ f\,\bigg|\,\exists t\ \forall x_1\cdots \forall x_n:\ f(x_1,\ldots,x_n)<A(t, \max_i x_i) \right\} </math> | ||
और दिखाओ <math>\mathcal{A}</math> सभी | और दिखाओ <math>\mathcal{A}</math> सभी मूल पुनरावर्ती फलन शामिल हैं। उत्तरार्द्ध इसे दिखाकर हासिल किया जाता है <math>\mathcal{A}</math> इसमें निरंतर फलन, उत्तराधिकारी फलन, प्रक्षेपण फलन शामिल हैं और यह फलन रचना और मूल पुनरावर्तन के संचालन के तहत बंद है। | ||
== उलटा == | == उलटा == | ||
समारोह के बाद से {{nowrap|1= ''f''(''n'') = ''A''(''n'', ''n'')}} ऊपर माना गया बहुत तेजी से बढ़ता है, इसका उलटा | समारोह के बाद से {{nowrap|1= ''f''(''n'') = ''A''(''n'', ''n'')}} ऊपर माना गया बहुत तेजी से बढ़ता है, इसका उलटा फलन, f{{i sup|−1}}, बहुत धीमी गति से बढ़ता है। यह व्युत्क्रम एकरमैन फलन ''f''<sup>−1</sup> को आमतौर पर ''α'' से दर्शाया जाता है। वास्तव में, ''α''(''n'') किसी भी व्यावहारिक इनपुट आकार ''n'' के लिए 5 से कम है, क्योंकि {{nowrap|''A''(4, 4)}} के आदेश पर है <math>2^{2^{2^{2^{16}}}}</math>. | ||
यह व्युत्क्रम कुछ एल्गोरिदम के समय [[कम्प्यूटेशनल जटिलता सिद्धांत]] में प्रकट होता है, जैसे कि अलग-अलग सेट डेटा संरचना और [[बर्नार्ड चाज़ेल]] के [[कलन विधि]] न्यूनतम फैले हुए पेड़ों के लिए। कभी-कभी इन सेटिंग्स में एकरमैन के मूल | यह व्युत्क्रम कुछ एल्गोरिदम के समय [[कम्प्यूटेशनल जटिलता सिद्धांत]] में प्रकट होता है, जैसे कि अलग-अलग सेट डेटा संरचना और [[बर्नार्ड चाज़ेल]] के [[कलन विधि]] न्यूनतम फैले हुए पेड़ों के लिए। कभी-कभी इन सेटिंग्स में एकरमैन के मूल फलन या अन्य विविधताओं का उपयोग किया जाता है, लेकिन वे सभी समान उच्च दर से बढ़ते हैं। विशेष रूप से, कुछ संशोधित फलन -3 और इसी तरह की शर्तों को हटाकर अभिव्यक्ति को सरल बनाते हैं। | ||
व्युत्क्रम एकरमैन | व्युत्क्रम एकरमैन फलन के दो-पैरामीटर भिन्नता को निम्नानुसार परिभाषित किया जा सकता है, जहां <math>\lfloor x \rfloor</math> मंजिल समारोह है: | ||
:<math>\alpha(m,n) = \min\{i \geq 1 : A(i,\lfloor m/n \rfloor) \geq \log_2 n\}.</math> | :<math>\alpha(m,n) = \min\{i \geq 1 : A(i,\lfloor m/n \rfloor) \geq \log_2 n\}.</math> | ||
यह | यह फलन ऊपर उल्लिखित एल्गोरिदम के अधिक सटीक विश्लेषण में उत्पन्न होता है, और अधिक परिष्कृत समय सीमा प्रदान करता है। असम्बद्ध-सेट डेटा संरचना में, एम संचालन की संख्या का प्रतिनिधित्व करता है जबकि एन तत्वों की संख्या का प्रतिनिधित्व करता है; मिनिमम स्पैनिंग ट्री एल्गोरिथम में, m किनारों की संख्या का प्रतिनिधित्व करता है जबकि n वर्टिकल की संख्या का प्रतिनिधित्व करता है। की कई थोड़ी अलग परिभाषाएँ {{nowrap|''α''(''m'', ''n'')}} मौजूद; उदाहरण के लिए, {{nowrap|log<sub>2</sub> ''n''}} कभी-कभी n द्वारा प्रतिस्थापित किया जाता है, और कभी-कभी फर्श फलन को [[छत समारोह]] द्वारा प्रतिस्थापित किया जाता है। | ||
अन्य अध्ययन एक के व्युत्क्रम | अन्य अध्ययन एक के व्युत्क्रम फलन को परिभाषित कर सकते हैं जहां m एक स्थिरांक पर सेट है, जैसे कि व्युत्क्रम किसी विशेष पंक्ति पर लागू होता है। {{sfn|Pettie|2002}} | ||
एकरमैन | एकरमैन फलन का व्युत्क्रम मूल पुनरावर्ती है।{{sfn|Matos|2014}} | ||
== बेंचमार्क के रूप में प्रयोग करें == | == बेंचमार्क के रूप में प्रयोग करें == | ||
एकरमैन | एकरमैन फलन, अत्यधिक गहरी रिकर्सन के संदर्भ में इसकी परिभाषा के कारण, रिकर्सन को अनुकूलित करने के लिए [[संकलक]] की क्षमता के बेंचमार्क के रूप में उपयोग किया जा सकता है। इस तरह से एकरमैन के फलन का पहला प्रकाशित उपयोग 1970 में ड्रैगोस वैदा द्वारा किया गया था।{{sfn|Vaida|1970}} और, लगभग एक साथ, 1971 में, येंगवे सुंदब्लाड द्वारा।{{sfn|Sundblad|1971}} | ||
1975 और 1982 के बीच लिखे गए पत्रों की एक त्रयी में ब्रायन विचमैन ([[वेटस्टोन (बेंचमार्क)]] के सह-लेखक) द्वारा सुंदरब्लैड का मौलिक पेपर लिया गया था।{{sfn|Wichmann|1976}}{{sfn|Wichmann|1977}}{{sfn|Wichmann|1982}} | 1975 और 1982 के बीच लिखे गए पत्रों की एक त्रयी में ब्रायन विचमैन ([[वेटस्टोन (बेंचमार्क)]] के सह-लेखक) द्वारा सुंदरब्लैड का मौलिक पेपर लिया गया था।{{sfn|Wichmann|1976}}{{sfn|Wichmann|1977}}{{sfn|Wichmann|1982}} | ||
Line 712: | Line 712: | ||
* तेजी से बढ़ती पदानुक्रम | * तेजी से बढ़ती पदानुक्रम | ||
* [[गुडस्टीन समारोह]] | * [[गुडस्टीन समारोह]] | ||
* | * मूल पुनरावर्ती फलन | ||
* [[रिकर्सन (कंप्यूटर विज्ञान)]] | * [[रिकर्सन (कंप्यूटर विज्ञान)]] | ||
<!-- keep alphabetical --> | <!-- keep alphabetical --> | ||
Line 1,041: | Line 1,041: | ||
*अच्छी तरह से आदेश | *अच्छी तरह से आदेश | ||
*लेक्सिकोग्राफिक ऑर्डर | *लेक्सिकोग्राफिक ऑर्डर | ||
*घातांक | *घातांक प्रफलन | ||
*तेजी से बढ़ने वाला पदानुक्रम | *तेजी से बढ़ने वाला पदानुक्रम | ||
*उलटा काम करना | *उलटा काम करना |
Revision as of 21:58, 17 December 2022
कम्प्यूटेबिलिटी सिद्धांत में, विल्हेम एकरमैन के नाम पर एकरमैन फलन, सबसे सरल में से एक है[1] और कुल फलन गणना योग्य समारोह के सबसे पहले खोजे गए उदाहरण जो मूल पुनरावर्ती फलन नहीं हैं। सभी मूल पुनरावर्ती फलन कुल और संगणनीय हैं, लेकिन एकरमैन फलन यह दर्शाता है कि सभी कुल संगणनीय फलन मूल पुनरावर्ती नहीं हैं। एकरमैन के प्रकाशन के बाद[2] उनके फलन के (जिसमें तीन गैर-ऋणात्मक पूर्णांक तर्क थे), कई लेखकों ने इसे विभिन्न उद्देश्यों के अनुरूप संशोधित किया, ताकि आज एकरमैन फलन मूल फलन के कई रूपों में से किसी को भी संदर्भित कर सके। एक सामान्य संस्करण, दो-तर्क एकरमैन-पीटर फलन को गैर-नकारात्मक पूर्णांक m और n के लिए निम्नानुसार परिभाषित किया गया है:
छोटे इनपुट के लिए भी इसका मूल्य तेजी से बढ़ता है। उदाहरण के लिए, A(4, 2) 19,729 दशमलव अंकों का पूर्णांक है[3] (2 के बराबर65536−3, या 22222−3).
इतिहास
1920 के दशक के अंत में, गणितज्ञ गेब्रियल सूडान और विल्हेम एकरमैन, डेविड हिल्बर्ट के छात्र, संगणना की नींव का अध्ययन कर रहे थे। सूडान और एकरमैन दोनों को श्रेय दिया जाता है[4] टोटल फंक्शन कंप्यूटेबल फंक्शन्स की खोज के साथ (जिसे कुछ संदर्भों में केवल रिकर्सिव कहा जाता है) जो प्रिमिटिव रिकर्सिव फंक्शन नहीं हैं। सूडान ने कम प्रसिद्ध सूडान फलन प्रकाशित किया, फिर कुछ ही समय बाद और स्वतंत्र रूप से, 1928 में, एकरमैन ने अपना फलन प्रकाशित किया (ग्रीक अक्षर फ़ाई)। एकरमैन का तीन-तर्क फलन, , के लिए परिभाषित किया गया है , यह जोड़, गुणा और घातांक के बुनियादी संचालन को पुन: पेश करता है
और p > 2 के लिए यह इन बुनियादी संचालनों को एक तरह से विस्तारित करता है जिसकी तुलना हाइपरऑपरेशन से की जा सकती है:
(कुल-गणना योग्य-लेकिन-नहीं-मूल-पुनरावर्ती फलन के रूप में इसकी ऐतिहासिक भूमिका के अलावा, एकरमैन के मूल फलन को घातांक से परे बुनियादी अंकगणितीय संचालन का विस्तार करने के लिए देखा जाता है, हालांकि एकरमैन के फलन के रूपांतरों के समान नहीं है जो विशेष रूप से डिज़ाइन किए गए हैं। वह उद्देश्य - जैसे रूबेन गुडस्टीन|गुडस्टीन का हाइपरऑपरेशन अनुक्रम।)
अनंत पर में,[5] डेविड हिल्बर्ट ने परिकल्पना की कि एकरमैन फलन मूल पुनरावर्ती नहीं था, लेकिन यह एकरमैन, हिल्बर्ट के निजी सचिव और पूर्व छात्र थे, जिन्होंने वास्तव में अपने पेपर ऑन हिल्बर्ट्स कंस्ट्रक्शन ऑफ़ द रियल नंबर्स में परिकल्पना को साबित किया था।[2][6] पीटर रोजसा[7] और राफेल रॉबिन्सन[8] बाद में एकरमैन फलन का एक दो-चर संस्करण विकसित किया जो लगभग सभी लेखकों द्वारा पसंद किया गया।
सामान्यीकृत हाइपरऑपरेशन, उदा। , एकरमैन फलन का भी एक संस्करण है।[9] 1963 में रॉबर्ट क्रेटन बक|आर.सी. बक एक सहज ज्ञान युक्त दो-चर आधारित है [n 1] प्रकार हाइपरऑपरेशन पर:[10][11]
अधिकांश अन्य संस्करणों की तुलना में बक के फलन में कोई अनावश्यक ऑफ़सेट नहीं है:
एकरमैन फलन के कई अन्य संस्करणों की जांच की गई है।[12]
परिभाषा
=== परिभाषा: एम-एरी फलन === के रूप में एकरमैन का मूल तीन-तर्क फलन गैर-नकारात्मक पूर्णांकों के लिए निम्नानुसार पुनरावर्तन परिभाषित किया गया है तथा :
विभिन्न दो-तर्क संस्करणों में से, पेटर और रॉबिन्सन द्वारा विकसित एक (जिसे अधिकांश लेखकों द्वारा एकरमैन फलन कहा जाता है) को गैर-नकारात्मक पूर्णांकों के लिए परिभाषित किया गया है तथा निम्नलिखित नुसार:
हाइपरऑपरेशन के संबंध में एकरमेन फलन भी व्यक्त किया गया है:[13][14]
- या, नुथ के अप-एरो नोटेशन में लिखा गया है (पूर्णांक सूचकांकों तक विस्तारित ):
- या, समतुल्य रूप से, बक के फलन F के संदर्भ में:[10] :::
=== परिभाषा: पुनरावृत्त 1-एरी फलन === के रूप में
परिभाषित करना के n-वें पुनरावृति के रूप में :
पुनरावृत्त फलन एक निश्चित संख्या में स्वयं के साथ एक फलन बनाने की प्रक्रिया है। फलन रचना एक साहचर्य ऑपरेशन है, इसलिए .
एकरमैन फलन को यूनरी फ़ंक्शंस के अनुक्रम के रूप में समझना, कोई सेट कर सकता है .
समारोह तब एक अनुक्रम बन जाता है यूनरी का[n 2] फ़ंक्शंस, इटरेटेड फलन से परिभाषित:
संगणना
एकरमैन फलन की पुनरावर्ती परिभाषा को स्वाभाविक रूप से पुनर्लेखन | टर्म पुनर्लेखन प्रणाली (TRS) में स्थानांतरित किया जा सकता है।
=== टीआरएस, 2-एरी फलन === पर आधारित है 2-ary एकरमैन फलन की परिभाषा स्पष्ट कमी नियमों की ओर ले जाती है [15][16]
उदाहरण
गणना करना घटाव क्रम है [n 3]
Leftmost-outermost (one-step) strategy: | Leftmost-innermost (one-step) strategy: |
गणना करना कोई स्टैक (अमूर्त डेटा प्रकार) का उपयोग कर सकता है, जिसमें प्रारंभ में तत्व होते हैं .
फिर बार-बार दो शीर्ष तत्वों को नियमों के अनुसार बदल दिया जाता है[n 4]
योजनाबद्ध रूप से, से शुरू :
जबकि ढेर की लंबाई <> 1 { पीओपी 2 तत्व; PUSH 1 या 2 या 3 तत्व, नियमों को लागू करते हुए r1, r2, r3 }
स्यूडोकोड प्रकाशित हो चुकी है। Grossman & Zeitman (1988).
उदाहरण के लिए, इनपुट पर ,
the stack configurations | reflect the reduction[n 5] |
टिप्पणियां
- रोसेटा कोड पर 225 कंप्यूटर भाषाओं में सबसे वामपंथी-अंतरतम रणनीति लागू की गई है।
- सभी के लिए की गणना से अधिक नहीं लेता है कदम।[17]
- Grossman & Zeitman (1988) बताया कि की गणना में ढेर की अधिकतम लंबाई है , जब तक कि .
- उनका अपना एल्गोरिदम, स्वाभाविक रूप से पुनरावृत्त, गणना करता है अंदर समय और भीतर अंतरिक्ष।
=== टीआरएस, पुनरावृत्त 1-एरी फलन === पर आधारित है पुनरावृत्त 1-ary एकरमैन फलन की परिभाषा विभिन्न कमी नियमों की ओर ले जाती है
जैसा कि फलन रचना साहचर्य है, नियम r6 के बजाय परिभाषित किया जा सकता है
पिछले खंड की तरह की गणना ढेर के साथ लागू किया जा सकता है।
प्रारंभ में ढेर में तीन तत्व होते हैं .
फिर बार-बार तीन शीर्ष तत्वों को नियमों के अनुसार बदल दिया जाता है[n 4]: योजनाबद्ध रूप से, से शुरू :
जबकि ढेर की लंबाई <> 1 { पीओपी 3 तत्व; पुश 1 या 3 या 5 तत्व, नियमों को लागू करना r4, r5, r6; }
उदाहरण
इनपुट पर क्रमिक ढेर विन्यास हैं
संगत समानताएं हैं
जब नियम r6 के बजाय कमी नियम r7 का उपयोग किया जाता है, तो स्टैक में प्रतिस्थापन का पालन किया जाएगा
क्रमिक स्टैक कॉन्फ़िगरेशन तब होगा
संगत समानताएं हैं
टिप्पणियां
- किसी दिए गए इनपुट पर अब तक प्रस्तुत टीआरएस समान चरणों में अभिसरण करते हैं। वे समान कटौती नियमों का भी उपयोग करते हैं (इस तुलना में नियमों r1, r2, r3 को क्रमशः नियम r4, r5, r6/r7 के समान माना जाता है)। उदाहरण के लिए, की कमी 14 चरणों में अभिसरित होता है: 6 × r1, 3 × r2, 5 × r3। की कमी समान 14 चरणों में अभिसरित होता है: 6 × r4, 3 × r5, 5 × r6/r7। टीआरएस उस क्रम में भिन्न होते हैं जिसमें कटौती नियम लागू होते हैं।
- कब {r4, r5, r6} नियमों का पालन करते हुए गणना की जाती है, स्टैक की अधिकतम लंबाई नीचे रहती है . जब नियम r6 के स्थान पर कमी नियम r7 का उपयोग किया जाता है, तो स्टैक की अधिकतम लंबाई केवल होती है . ढेर की लंबाई रिकर्सन गहराई को दर्शाती है। नियमों के अनुसार कमी के रूप में {r4, r5, r7} में पुनरावर्तन की एक छोटी अधिकतम गहराई शामिल है,[n 6] यह गणना उस संबंध में अधिक कुशल है।
टीआरएस, हाइपरऑपरेटरों पर आधारित
जैसा Sundblad (1971) - या Porto & Matos (1980) - स्पष्ट रूप से दिखाया गया है, एकरमेन फलन हाइपरऑपरेशन अनुक्रम के संदर्भ में व्यक्त किया जा सकता है:
या, बक के फलन के संदर्भ में, पैरामीटर सूची से निरंतर 2 को हटाने के बाद
बक का फलन ,[10] एकरमैन फलन का एक भिन्न रूप, जिसकी गणना निम्न कमी नियमों के साथ की जा सकती है:
नियम b6 के स्थान पर नियम को परिभाषित किया जा सकता है
एकरमैन फलन की गणना करने के लिए तीन कटौती नियमों को जोड़ना पर्याप्त है
ये नियम बेस केस ए (0, एन), संरेखण (एन + 3) और फज (-3) का ख्याल रखते हैं।
उदाहरण
गणना करना
using reduction rule :[n 5] | using reduction rule :[n 5] |
मिलान करने वाली समानताएं हैं
- जब टीआरएस कटौती नियम के साथ लागू की गई है:
- जब टीआरएस कटौती नियम के साथ लागू की गई है:
टिप्पणियां
- की गणना नियमों के मुताबिक {बी 1 - बी 5, बी 6, आर 8 - आर 10} गहरा रिकर्सिव है। नेस्टेड की अधिकतम गहराई एस है . अपराधी वह क्रम है जिसमें पुनरावृत्ति निष्पादित होती है: . सबसे पहला पूरे क्रम के सामने आने के बाद ही गायब हो जाता है।
- नियमों के अनुसार गणना {b1 - b5, b7, r8 - r10} उस संबंध में अधिक कुशल है। पुनरावृत्ति कोड के एक ब्लॉक पर बार-बार लूप को सिम्युलेट करता है।[n 7] घोंसला बनाना तक सीमित है , प्रति पुनरावृत्त फलन के लिए एक पुनरावर्तन स्तर। Meyer & Ritchie (1967) यह पत्राचार दिखाया।
- ये विचार केवल पुनरावर्तन गहराई से संबंधित हैं। पुनरावृति का कोई भी तरीका समान नियमों को शामिल करते हुए समान संख्या में कटौती चरणों की ओर ले जाता है (जब नियम b6 और b7 को समान माना जाता है)। की कमी उदाहरण के लिए 35 चरणों में परिवर्तित होता है: 12 × b1, 4 × b2, 1 × b3, 4 × b5, 12 × b6/b7, 1 × r9, 1 × r10। फलनप्रणाली केवल उस क्रम को प्रभावित करती है जिसमें कटौती नियम लागू होते हैं।
- निष्पादन समय का वास्तविक लाभ बार-बार उप-परिणामों की पुनर्गणना न करके ही प्राप्त किया जा सकता है। संस्मरण एक ऑप्टिमाइज़ेशन तकनीक है जहाँ फलन कॉल के परिणाम कैश किए जाते हैं और उसी इनपुट के फिर से आने पर वापस आ जाते हैं। उदाहरण के लिए देखें Ward (1993). Grossman & Zeitman (1988) एक चालाक एल्गोरिदम प्रकाशित किया जो गणना करता है अंदर समय और भीतर अंतरिक्ष।
बड़ी संख्या
यह प्रदर्शित करने के लिए कि की गणना कैसे की जाती है कई चरणों में और बड़ी संख्या में परिणाम:[n 5]
मूल्यों की तालिका
एकरमैन फलन की गणना एक अनंत तालिका के रूप में की जा सकती है। सबसे पहले, प्राकृतिक संख्याओं को शीर्ष पंक्ति में रखें। तालिका में संख्या निर्धारित करने के लिए, संख्या को तुरंत बाईं ओर ले जाएं। फिर उस संख्या का उपयोग उस संख्या और एक पंक्ति द्वारा दिए गए कॉलम में आवश्यक संख्या देखने के लिए करें। यदि इसके बाईं ओर कोई संख्या नहीं है, तो बस पिछली पंक्ति में 1 वाले कॉलम को देखें। यहाँ तालिका का एक छोटा ऊपरी-बाएँ भाग है:
n m
|
0 | 1 | 2 | 3 | 4 | n |
---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | |
1 | 2 | 3 | 4 | 5 | 6 | |
2 | 3 | 5 | 7 | 9 | 11 | |
3 | 5 | 13 | 29 | 61 | 125 | |
4 | 13 |
65533 |
265536 − 3 |
|
|
|
5 | 65533 |
|||||
6 | ||||||
m |
यहां संख्याएं जो केवल रिकर्सिव एक्सपोनेंटिएशन या नुथ के अप-एरो नोटेशन के साथ व्यक्त की जाती हैं, बहुत बड़ी हैं और सादे दशमलव अंकों में नोट करने के लिए बहुत अधिक जगह लेती हैं।
तालिका के इस प्रारंभिक खंड में बड़े मूल्यों के होने के बावजूद, कुछ और भी बड़ी संख्याओं को परिभाषित किया गया है, जैसे ग्राहम की संख्या, जिसे किसी भी छोटी संख्या में नूथ तीरों के साथ नहीं लिखा जा सकता है। यह संख्या एक ऐसी तकनीक के साथ बनाई गई है जो एकरमेन फलन को पुनरावर्ती रूप से लागू करने के समान है।
यह उपरोक्त तालिका का दोहराव है, लेकिन पैटर्न को स्पष्ट रूप से दिखाने के लिए फलन परिभाषा से प्रासंगिक अभिव्यक्ति द्वारा प्रतिस्थापित मानों के साथ:
n m
|
0 | 1 | 2 | 3 | 4 | n |
---|---|---|---|---|---|---|
0 | 0+1 | 1+1 | 2+1 | 3+1 | 4+1 | n + 1 |
1 | A(0, 1) | A(0, A(1, 0)) = A(0, 2) |
A(0, A(1, 1)) = A(0, 3) |
A(0, A(1, 2)) = A(0, 4) |
A(0, A(1, 3)) = A(0, 5) |
A(0, A(1, n−1)) |
2 | A(1, 1) | A(1, A(2, 0)) = A(1, 3) |
A(1, A(2, 1)) = A(1, 5) |
A(1, A(2, 2)) = A(1, 7) |
A(1, A(2, 3)) = A(1, 9) |
A(1, A(2, n−1)) |
3 | A(2, 1) | A(2, A(3, 0)) = A(2, 5) |
A(2, A(3, 1)) = A(2, 13) |
A(2, A(3, 2)) = A(2, 29) |
A(2, A(3, 3)) = A(2, 61) |
A(2, A(3, n−1)) |
4 | A(3, 1) | A(3, A(4, 0)) = A(3, 13) |
A(3, A(4, 1)) = A(3, 65533) |
A(3, A(4, 2)) | A(3, A(4, 3)) | A(3, A(4, n−1)) |
5 | A(4, 1) | A(4, A(5, 0)) | A(4, A(5, 1)) | A(4, A(5, 2)) | A(4, A(5, 3)) | A(4, A(5, n−1)) |
6 | A(5, 1) | A(5, A(6, 0)) | A(5, A(6, 1)) | A(5, A(6, 2)) | A(5, A(6, 3)) | A(5, A(6, n−1)) |
गुण
सामान्य टिप्पणी
- यह तुरंत स्पष्ट नहीं हो सकता है कि का मूल्यांकन हमेशा समाप्त होता है। हालाँकि, पुनरावर्तन बाध्य है क्योंकि प्रत्येक पुनरावर्ती अनुप्रयोग में या तो घटता है, या वही रहता है और घटता है। हर बार कि शून्य हो जाता है, घटता है, इसलिए अंततः शून्य भी हो जाता है। (अधिक तकनीकी रूप से व्यक्त, प्रत्येक मामले में जोड़ी जोड़े पर शब्दकोष क्रम में घटता है, जो एक अच्छी तरह से क्रमित है, ठीक एकल गैर-ऋणात्मक पूर्णांकों के क्रम की तरह; इसका मतलब यह है कि कोई व्यक्ति लगातार कई बार क्रम में नीचे नहीं जा सकता है।) हालांकि, कब घटता है कि कितना पर कोई ऊपरी सीमा नहीं है बढ़ सकता है - और यह अक्सर बहुत बढ़ जाएगा।
- 1, 2, या 3 जैसे m के छोटे मानों के लिए, एकरमैन फलन n के संबंध में अपेक्षाकृत धीमी गति से बढ़ता है (अधिकतम घातीय वृद्धि पर)। के लिये हालाँकि, यह बहुत अधिक तेज़ी से बढ़ता है; यहाँ तक की लगभग 2 है×1019728, और का दशमलव विस्तार किसी भी विशिष्ट माप से बहुत बड़ा है।
- एक दिलचस्प पहलू यह है कि इसके द्वारा उपयोग किया जाने वाला एकमात्र अंकगणितीय ऑपरेशन 1 का जोड़ है। इसकी तेजी से बढ़ती शक्ति पूरी तरह से नेस्टेड पुनरावर्तन पर आधारित है। इसका तात्पर्य यह भी है कि इसके चलने का समय कम से कम इसके उत्पादन के अनुपात में है, और यह भी बहुत बड़ा है। वास्तविकता में, ज्यादातर मामलों में चलने का समय आउटपुट से कहीं बड़ा होता है; ऊपर देखो।
- एक एकल-तर्क संस्करण जो दोनों को बढ़ाता है तथा एक ही समय में प्रत्येक मूल पुनरावर्ती फलन को बौना कर देता है, जिसमें बहुत तेजी से बढ़ने वाले फलन शामिल हैं जैसे कि घातीय फलन, बहुउद्देशीय फलन, बहु- और superactorial फलन, और यहां तक कि Knuth के अप-एरो नोटेशन का उपयोग करके परिभाषित फलन (अनुक्रमित अप-एरो को छोड़कर) प्रयोग किया जाता है)। यह देखा जा सकता है मोटे तौर पर तुलनीय है तेजी से बढ़ते पदानुक्रम में। यह दिखाने के लिए इस चरम वृद्धि का फायदा उठाया जा सकता है जो स्पष्ट रूप से ट्यूरिंग मशीन जैसी अनंत मेमोरी वाली मशीन पर गणना योग्य है और इसलिए एक गणना योग्य फलन है, किसी भी मूल पुनरावर्ती फलन की तुलना में तेजी से बढ़ता है और इसलिए मूल पुनरावर्ती नहीं है।
=== मूल पुनरावर्ती === नहीं
एकरमैन फलन किसी भी मूल पुनरावर्ती फलन की तुलना में तेज़ी से बढ़ता है और इसलिए स्वयं मूल पुनरावर्ती नहीं है। सबूत का स्केच यह है: k रिकर्सन तक का उपयोग करके परिभाषित एक मूल पुनरावर्ती फलन की तुलना में धीमी गति से बढ़ना चाहिए , (k+1)-th फलन तेजी से बढ़ते पदानुक्रम में, लेकिन एकरमैन फलन कम से कम उतनी ही तेज़ी से बढ़ता है .
विशेष रूप से, एक दिखाता है कि प्रत्येक मूल पुनरावर्ती फलन के लिए एक गैर-ऋणात्मक पूर्णांक मौजूद है जैसे कि सभी गैर-ऋणात्मक पूर्णांकों के लिए ,
एक बार यह स्थापित हो जाने के बाद, यह उसका अनुसरण करता है स्वयं मूल पुनरावर्ती नहीं है, अन्यथा डालने के बाद से विरोधाभास की ओर ले जाएगा सबूत[18] निम्नानुसार आगे बढ़ता है: वर्ग को परिभाषित करें एकरमेन फलन की तुलना में धीमी गति से बढ़ने वाले सभी फलनों में से
और दिखाओ सभी मूल पुनरावर्ती फलन शामिल हैं। उत्तरार्द्ध इसे दिखाकर हासिल किया जाता है इसमें निरंतर फलन, उत्तराधिकारी फलन, प्रक्षेपण फलन शामिल हैं और यह फलन रचना और मूल पुनरावर्तन के संचालन के तहत बंद है।
उलटा
समारोह के बाद से f(n) = A(n, n) ऊपर माना गया बहुत तेजी से बढ़ता है, इसका उलटा फलन, f−1, बहुत धीमी गति से बढ़ता है। यह व्युत्क्रम एकरमैन फलन f−1 को आमतौर पर α से दर्शाया जाता है। वास्तव में, α(n) किसी भी व्यावहारिक इनपुट आकार n के लिए 5 से कम है, क्योंकि A(4, 4) के आदेश पर है .
यह व्युत्क्रम कुछ एल्गोरिदम के समय कम्प्यूटेशनल जटिलता सिद्धांत में प्रकट होता है, जैसे कि अलग-अलग सेट डेटा संरचना और बर्नार्ड चाज़ेल के कलन विधि न्यूनतम फैले हुए पेड़ों के लिए। कभी-कभी इन सेटिंग्स में एकरमैन के मूल फलन या अन्य विविधताओं का उपयोग किया जाता है, लेकिन वे सभी समान उच्च दर से बढ़ते हैं। विशेष रूप से, कुछ संशोधित फलन -3 और इसी तरह की शर्तों को हटाकर अभिव्यक्ति को सरल बनाते हैं।
व्युत्क्रम एकरमैन फलन के दो-पैरामीटर भिन्नता को निम्नानुसार परिभाषित किया जा सकता है, जहां मंजिल समारोह है:
यह फलन ऊपर उल्लिखित एल्गोरिदम के अधिक सटीक विश्लेषण में उत्पन्न होता है, और अधिक परिष्कृत समय सीमा प्रदान करता है। असम्बद्ध-सेट डेटा संरचना में, एम संचालन की संख्या का प्रतिनिधित्व करता है जबकि एन तत्वों की संख्या का प्रतिनिधित्व करता है; मिनिमम स्पैनिंग ट्री एल्गोरिथम में, m किनारों की संख्या का प्रतिनिधित्व करता है जबकि n वर्टिकल की संख्या का प्रतिनिधित्व करता है। की कई थोड़ी अलग परिभाषाएँ α(m, n) मौजूद; उदाहरण के लिए, log2 n कभी-कभी n द्वारा प्रतिस्थापित किया जाता है, और कभी-कभी फर्श फलन को छत समारोह द्वारा प्रतिस्थापित किया जाता है।
अन्य अध्ययन एक के व्युत्क्रम फलन को परिभाषित कर सकते हैं जहां m एक स्थिरांक पर सेट है, जैसे कि व्युत्क्रम किसी विशेष पंक्ति पर लागू होता है। [19] एकरमैन फलन का व्युत्क्रम मूल पुनरावर्ती है।[20]
बेंचमार्क के रूप में प्रयोग करें
एकरमैन फलन, अत्यधिक गहरी रिकर्सन के संदर्भ में इसकी परिभाषा के कारण, रिकर्सन को अनुकूलित करने के लिए संकलक की क्षमता के बेंचमार्क के रूप में उपयोग किया जा सकता है। इस तरह से एकरमैन के फलन का पहला प्रकाशित उपयोग 1970 में ड्रैगोस वैदा द्वारा किया गया था।[21] और, लगभग एक साथ, 1971 में, येंगवे सुंदब्लाड द्वारा।[13] 1975 और 1982 के बीच लिखे गए पत्रों की एक त्रयी में ब्रायन विचमैन (वेटस्टोन (बेंचमार्क) के सह-लेखक) द्वारा सुंदरब्लैड का मौलिक पेपर लिया गया था।[22][23][24]
यह भी देखें
- कम्प्यूटेबिलिटी सिद्धांत
- डबल रिकर्सन
- तेजी से बढ़ती पदानुक्रम
- गुडस्टीन समारोह
- मूल पुनरावर्ती फलन
- रिकर्सन (कंप्यूटर विज्ञान)
टिप्पणियाँ
- ↑ with parameter order reversed
- ↑ 'curried'
- ↑ In each step the underlined redex is rewritten.
- ↑ 4.0 4.1 here: leftmost-innermost strategy!
- ↑ 5.0 5.1 5.2 5.3 For better readability
S(0) is notated as 1,
S(S(0)) is notated as 2,
S(S(S(0))) is notated as 3,
etc... - ↑ The maximum depth of recursion refers to the number of levels of activation of a procedure which exist during the deepest call of the procedure. Cornelius & Kirby (1975)
- ↑ LOOP n+1 TIMES DO F
संदर्भ
- ↑ Monin & Hinchey 2003, p. 61.
- ↑ 2.0 2.1 Ackermann 1928.
- ↑ "ए (4,2) का दशमलव विस्तार". kosara.net. August 27, 2000. Archived from the original on January 20, 2010.
- ↑ Calude, Marcus & Tevy 1979.
- ↑ Hilbert 1926, p. 185.
- ↑ van Heijenoort 1977.
- ↑ Péter 1935.
- ↑ Robinson 1948.
- ↑ Ritchie 1965, p. 1028.
- ↑ 10.0 10.1 10.2 Buck 1963.
- ↑ Meeussen & Zantema 1992, p. 6.
- ↑ Munafo 1999a.
- ↑ 13.0 13.1 Sundblad 1971.
- ↑ Porto & Matos 1980.
- ↑ Grossman & Zeitman 1988.
- ↑ Paulson 2021.
- ↑ Cohen 1987, p. 56, Proposition 3.16 (see in proof).
- ↑ Woo, Chi (2009-12-17). "एकरमैन फ़ंक्शन प्रिमिटिव रिकर्सिव | Planetmath.org नहीं है". planetmath.org (in English). Archived from the original on 2013-05-09.
- ↑ Pettie 2002.
- ↑ Matos 2014.
- ↑ Vaida 1970.
- ↑ Wichmann 1976.
- ↑ Wichmann 1977.
- ↑ Wichmann 1982.
ग्रन्थसूची
- Ackermann, Wilhelm (1928). "Zum Hilbertschen Aufbau der reellen Zahlen". Mathematische Annalen. 99: 118–133. doi:10.1007/BF01459088. S2CID 123431274.
- Buck, R.C. (1963). "Mathematical Induction and Recursive Definitions". American Mathematical Monthly. 70 (2): 128–135. doi:10.2307/2312881. JSTOR 2312881.
- Calude, Cristian; Marcus, Solomon; Tevy, Ionel (November 1979). "The first example of a recursive function which is not primitive recursive". Historia Math. 6 (4): 380–84. doi:10.1016/0315-0860(79)90024-7.
- Cohen, Daniel E. (January 1987). Computability and logic. Halsted Press. ISBN 9780745800349.
- Cornelius, B.J.; Kirby, G.H. (1975). "Depth of recursion and the ackermann function". BIT Numerical Mathematics. 15 (2): 144–150. doi:10.1007/BF01932687. S2CID 120532578.
- Grossman, Jerrold W.; Zeitman, R.Suzanne (May 1988). "An inherently iterative computation of ackermann's function". Theoretical Computer Science. 57 (2–3): 327–330. doi:10.1016/0304-3975(88)90046-1.
- van Heijenoort, Jean (1977) [reprinted with corrections, first published in 1967]. From Frege to Gödel: A Source Book in Mathematical Logic, 1879–1931. Harvard University Press.
- Hilbert, David (1926). "Über das Unendliche". Mathematische Annalen. 95: 161–190. doi:10.1007/BF01206605. S2CID 121888793.
- Matos, Armando B (May 7, 2014). "The inverse of the Ackermann function is primitive recursive" (PDF). Archived (PDF) from the original on 2022-10-09.
- Meeussen, V.C.S.; Zantema, H. (1992). Derivation lengths in term rewriting from interpretations in the naturals (PDF) (Report). Universiteit Utrecht. UU-CS, Department of Computer Science. ISSN 0924-3275. Archived (PDF) from the original on 2022-10-09.
- Meyer, Albert R.; Ritchie, Dennis MacAlistair (1967). "The complexity of loop programs". Proceedings of the 1967 22nd national conference. ACM '67: Proceedings of the 1967 22nd national conference. pp. 465–469. doi:10.1145/800196.806014.
- Monin, Jean-Francois; Hinchey, M. G. (2003). Understanding Formal Methods. Springer. p. 61. ISBN 9781852332471.
- Munafo, Robert (1999a). "Versions of Ackermann's Function". Large Numbers at MROB. Retrieved 2021-11-06.
- Munafo, Robert (1999b). "Inventing New Operators and Functions". Large Numbers at MROB. Retrieved 2021-11-06.
- Paulson, Lawrence C. (2021). "Ackermann's Function in Iterative Form: A Proof Assistant Experiment". Retrieved 2021-10-19.
- Péter, Rózsa (1935). "Konstruktion nichtrekursiver Funktionen". Mathematische Annalen. 111: 42–60. doi:10.1007/BF01472200. S2CID 121107217.
- Pettie, S. (2002). "An inverse-Ackermann style lower bound for the online minimum spanning tree verification problem". The 43rd Annual IEEE Symposium on Foundations of Computer Science, 2002. Proceedings: 155–163. doi:10.1109/SFCS.2002.1181892. ISBN 0-7695-1822-2. S2CID 8636108.
- Porto, António; Matos, Armando B. (1 September 1980). "Ackermann and the superpowers" (PDF). ACM SIGACT News. 12 (3): Original version 1980, published in “ACM SIGACT News”, Modified in October 20, 2012, Modified in January 23, 2016 (working paper). doi:10.1145/1008861.1008872. S2CID 29780652. Archived (PDF) from the original on 2022-10-09.
- Ritchie, Robert Wells (November 1965). "Classes of recursive functions based on Ackermann's function". Pacific Journal of Mathematics. 15 (3): 1027–1044. doi:10.2140/pjm.1965.15.1027.
- Robinson, Raphael Mitchel (1948). "Recursion and Double Recursion". Bulletin of the American Mathematical Society. 54 (10): 987–93. doi:10.1090/S0002-9904-1948-09121-2.
- Sundblad, Yngve (March 1971). "The Ackermann function. A theoretical, computational, and formula manipulative study". BIT Numerical Mathematics. 11 (1): 107–119. doi:10.1007/BF01935330. S2CID 123416408.
- Vaida, Dragoș (1970). "Compiler Validation for an Algol-like Language". Bulletin Mathématique de la Société des Sciences Mathématiques de la République Socialiste de Roumanie. Nouvelle série. 14 (62) (4): 487–502. JSTOR 43679758.
- Ward, Martin P. (16 July 1993). Iterative Procedures for Computing Ackerman's Function. CiteSeerX 10.1.1.35.9907.
- Wichmann, Brian A. (March 1976). "Ackermann's function: A study in the efficiency of calling procedures". BIT Numerical Mathematics. 16: 103–110. doi:10.1007/BF01940783. S2CID 16993343.
- Wichmann, Brian A. (July 1977). "How to call procedures, or second thoughts on Ackermann's function". BIT Numerical Mathematics. 16 (3): 103–110. doi:10.1002/spe.4380070303. S2CID 206507320.
- Wichmann, Brian A. (July 1982). "Latest results from the procedure calling test, Ackermann's function" (PDF). Archived (PDF) from the original on 2022-10-09.
इस पेज में लापता आंतरिक लिंक की सूची
- संगणनीयता सिद्धांत
- कुल समारोह
- सूडान समारोह
- योग
- प्रत्यावर्तन
- पुनरावृत्त समारोह
- समारोह रचना
- जोड़नेवाला
- ढेर (सार डेटा प्रकार)
- अच्छी तरह से आदेश
- लेक्सिकोग्राफिक ऑर्डर
- घातांक प्रफलन
- तेजी से बढ़ने वाला पदानुक्रम
- उलटा काम करना
- न्यूनतम फैलाव वाला पेड़
- असंयुक्त-सेट डेटा संरचना
- फर्श समारोह
बाहरी संबंध
- "Ackermann function". Encyclopedia of Mathematics. EMS Press. 2001 [1994].
- Weisstein, Eric W. "Ackermann function". MathWorld.
- This article incorporates public domain material from Black, Paul E. "Ackermann's function". Dictionary of Algorithms and Data Structures.
- An animated Ackermann function calculator
- Ackerman function implemented using a for loop
- Scott Aaronson, Who can name the biggest number? (1999)
- Ackermann functions. Includes a table of some values.
- Hyper-operations: Ackermann's Function and New Arithmetical Operation
- Robert Munafo's Large Numbers describes several variations on the definition of A.
- Gabriel Nivasch, Inverse Ackermann without pain on the inverse Ackermann function.
- Raimund Seidel, Understanding the inverse Ackermann function (PDF presentation).
- The Ackermann function written in different programming languages, (on Rosetta Code)
- Ackermann's Function (Archived 2009-10-24)—Some study and programming by Harry J. Smith.