मौलिक पुनरावर्ती फलन: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|Function computable with bounded loops}} | {{Short description|Function computable with bounded loops}} | ||
कम्प्यूटेबिलिटी सिद्धांत में, प्राचीन पुनरावर्ती कार्य, मोटे तौर पर बोलना, एक ऐसा कार्य है जिसकी गणना एक | कम्प्यूटेबिलिटी सिद्धांत में, प्राचीन पुनरावर्ती कार्य, मोटे तौर पर बोलना, एक ऐसा कार्य है जिसकी गणना एक कंप्यूटर प्रोग्राम द्वारा की जा सकती है, जिसके लूप सभी "फॉर" लूप हैं लूप के लिए (अर्थात, प्रत्येक लूप के पुनरावृत्तियों की संख्या की ऊपरी सीमा पहले निर्धारित की जा सकती है) प्राचीन पुनरावर्ती कार्य उन [[सामान्य पुनरावर्ती कार्य|सामान्य पुनरावर्ती कार्यो]] का एक सख्त उपसमुच्चय बनाते हैं जो कुल कार्य भी हैं। | ||
प्राचीन पुनरावर्ती कार्यों का महत्व इस तथ्य में निहित है कि संख्या सिद्धांत (और सामान्यतः गणित में) में अध्ययन किए जाने वाले अधिकांश संगणनीय कार्य आदिम पुनरावर्ती हैं। उदाहरण के लिए, योग और विभाजन, क्रमगुणित और चरघातांकी फलन, और जो फलन ''n'' अभाज्य को लौटाता है, सभी प्राचीन पुनरावर्ती हैं। <ref>Brainerd and Landweber, 1974</ref> वास्तव में, यह दिखाने के लिए कि एक संगणनीय कार्य प्राचीन पुनरावर्ती है, यह दिखाने के लिए पर्याप्त है कि इसकी समय जटिलता इनपुट आकार के एक आदिम पुनरावर्ती कार्य से ऊपर है।{{cn|reason=Give a source for a proof.|date=November 2021}} इसलिए एक संगणनीय कार्य को तैयार करना इतना आसान नहीं है कि आदिम पुनरावर्ती नहीं है; कुछ उदाहरण नीचे अनुभाग § सीमाएँ में दिखाए गए हैं। | |||
[[कम्प्यूटेशनल जटिलता सिद्धांत]] में | [[कम्प्यूटेशनल जटिलता सिद्धांत]] में प्राचीन पुनरावर्ती कार्यों के सेट को पीआर के रूप में जाना जाता है। | ||
== परिभाषा == | == परिभाषा == | ||
एक | एक प्राचीन पुनरावर्ती फ़ंक्शन तर्कों की एक निश्चित संख्या लेता है, प्रत्येक एक [[प्राकृतिक संख्या]] (गैर-नकारात्मक पूर्णांक: {0, 1, 2, ...}), और एक प्राकृतिक संख्या देता है। यदि यह n तर्क लेता है तो इसे n-[[arity]] कहा जाता है। | ||
बुनियादी | बुनियादी प्राचीन पुनरावर्ती कार्य इन [[स्वयंसिद्ध]]ों द्वारा दिए गए हैं: | ||
{{ordered list|start=1 | {{ordered list|start=1 | ||
Line 18: | Line 18: | ||
| 3=प्रोजेक्शन फंक्शन <math>P_i^k</math>: सभी प्राकृतिक संख्याओं के लिए <math>i, k</math> ऐसा है कि <math>1\le i\le k</math>, k-ary फ़ंक्शन द्वारा परिभाषित <math>P_i^k(x_1,\ldots,x_k) \ \stackrel{\mathrm{def}}{=}\ x_i</math> आदिम पुनरावर्ती है। | | 3=प्रोजेक्शन फंक्शन <math>P_i^k</math>: सभी प्राकृतिक संख्याओं के लिए <math>i, k</math> ऐसा है कि <math>1\le i\le k</math>, k-ary फ़ंक्शन द्वारा परिभाषित <math>P_i^k(x_1,\ldots,x_k) \ \stackrel{\mathrm{def}}{=}\ x_i</math> आदिम पुनरावर्ती है। | ||
}} | }} | ||
इन स्वयंसिद्धों द्वारा दिए गए ऑपरेशन (गणित) को लागू करके अधिक जटिल | इन स्वयंसिद्धों द्वारा दिए गए ऑपरेशन (गणित) को लागू करके अधिक जटिल प्राचीन पुनरावर्ती कार्य प्राप्त किए जा सकते हैं: | ||
{{ordered list|start=4 | {{ordered list|start=4 | ||
| 4=''Composition operator'' <math>\circ\,</math> (also called the ''substitution operator''): Given an ''m''-ary function <math>h(x_1,\ldots,x_m)\,</math> and ''m'' ''k''-ary functions <math>g_1(x_1,\ldots,x_k),\ldots,g_m(x_1,\ldots, x_k)</math>: <math display="block">h \circ (g_1, \ldots, g_m) \ \stackrel{\mathrm{def}}{=}\ f, \quad\text{जहां}\quad f(x_1,\ldots,x_k) = h(g_1(x_1,\ldots,x_k),\ldots,g_m(x_1,\ldots,x_k)) ।</गणित> | | 4=''Composition operator'' <math>\circ\,</math> (also called the ''substitution operator''): Given an ''m''-ary function <math>h(x_1,\ldots,x_m)\,</math> and ''m'' ''k''-ary functions <math>g_1(x_1,\ldots,x_k),\ldots,g_m(x_1,\ldots, x_k)</math>: <math display="block">h \circ (g_1, \ldots, g_m) \ \stackrel{\mathrm{def}}{=}\ f, \quad\text{जहां}\quad f(x_1,\ldots,x_k) = h(g_1(x_1,\ldots,x_k),\ldots,g_m(x_1,\ldots,x_k)) ।</गणित> | ||
Line 29: | Line 29: | ||
}} | }} | ||
' | 'प्राचीन पुनरावर्ती कार्य' मूल कार्य हैं और इन कार्यों को सीमित संख्या में लागू करके मूल कार्यों से प्राप्त किए जाते हैं। | ||
== उदाहरण == | == उदाहरण == | ||
Line 95: | Line 95: | ||
=== पूर्ववर्ती === | === पूर्ववर्ती === | ||
पूर्ववर्ती कार्य उत्तराधिकारी कार्य के विपरीत कार्य करता है और नियमों द्वारा पुनरावर्ती रूप से परिभाषित किया जाता है <math>Pred(0) = 0</math> और <math>Pred(S(n)) = n</math>. एक | पूर्ववर्ती कार्य उत्तराधिकारी कार्य के विपरीत कार्य करता है और नियमों द्वारा पुनरावर्ती रूप से परिभाषित किया जाता है <math>Pred(0) = 0</math> और <math>Pred(S(n)) = n</math>. एक प्राचीन पुनरावर्ती परिभाषा है <math>Pred = \rho(C_0^0, P_1^2)</math>. गणना उदाहरण के रूप में, | ||
:<math>\begin{array}{lll} | :<math>\begin{array}{lll} | ||
& Pred(8) \\ | & Pred(8) \\ | ||
Line 111: | Line 111: | ||
y \stackrel.- S(x) & = & Pred(y \stackrel.- x) & . \\ | y \stackrel.- S(x) & = & Pred(y \stackrel.- x) & . \\ | ||
\end{array}</math> | \end{array}</math> | ||
चूंकि पुनरावर्तन दूसरे तर्क पर चलता है, हम उलटे घटाव की एक | चूंकि पुनरावर्तन दूसरे तर्क पर चलता है, हम उलटे घटाव की एक प्राचीन पुनरावर्ती परिभाषा के साथ शुरू करते हैं, <math>RSub(y,x) = x \stackrel.- y</math>. इसका पुनरावर्तन तब पहले तर्क पर चलता है, इसलिए इसकी प्राचीन पुनरावर्ती परिभाषा प्राप्त की जा सकती है, इसके अतिरिक्त, जैसा <math>RSub = \rho(P_1^1, Pred \circ P_2^3)</math>. उल्टे तर्क क्रम से छुटकारा पाने के लिए, फिर परिभाषित करें <math>Sub = RSub \circ (P_2^2,P_1^2)</math>. गणना उदाहरण के रूप में, | ||
:<math>\begin{array}{lll} | :<math>\begin{array}{lll} | ||
& Sub(8,1) \\ | & Sub(8,1) \\ | ||
Line 128: | Line 128: | ||
=== विधेय को संख्यात्मक कार्यों में परिवर्तित करना === | === विधेय को संख्यात्मक कार्यों में परिवर्तित करना === | ||
कुछ सेटिंग्स में | कुछ सेटिंग्स में प्राचीन पुनरावर्ती कार्यों पर विचार करना स्वाभाविक है जो इनपुट टुपल्स के रूप में लेते हैं जो सत्य मानों के साथ संख्याओं को मिलाते हैं (जो कि सत्य के लिए t है और गलत के लिए f है), या जो आउटपुट के रूप में सत्य मान उत्पन्न करते हैं।<ref>Kleene [1952 pp. 226–227]</ref> इसे किसी निश्चित तरीके से संख्याओं के साथ सत्य मानों की पहचान करके पूरा किया जा सकता है। उदाहरण के लिए, संख्या 1 के साथ सत्य मान t और संख्या 0 के साथ सत्य मान f की पहचान करना आम है। एक बार यह पहचान हो जाने के बाद, सेट A का सूचक कार्य, जो हमेशा 1 या 0 देता है, हो सकता है एक विधेय के रूप में देखा जाता है जो बताता है कि सेट ए में कोई संख्या है या नहीं। संख्यात्मक कार्यों के साथ विधेय की ऐसी पहचान इस लेख के शेष भाग के लिए मानी जाएगी। | ||
=== विधेय शून्य === है | === विधेय शून्य === है | ||
प्राचीन पुनरावर्ती विधेय के लिए एक उदाहरण के रूप में, 1-एरी फ़ंक्शन <math>IsZero</math> इस प्रकार परिभाषित किया जाएगा <math>IsZero(x) = 1</math> अगर <math>x = 0</math>, और | |||
<math>IsZero(x) = 0</math>, अन्यथा। इसे परिभाषित करके प्राप्त किया जा सकता है <math>IsZero = \rho(C_1^0,C_0^2)</math>. तब, <math>IsZero(0) = \rho(C_1^0,C_0^2)(0) = C_1^0(0) = 1</math> और उदा. <math>IsZero(8) = \rho(C_1^0,C_0^2)(S(7)) = C_0^2(7,IsZero(7)) = 0</math>. | <math>IsZero(x) = 0</math>, अन्यथा। इसे परिभाषित करके प्राप्त किया जा सकता है <math>IsZero = \rho(C_1^0,C_0^2)</math>. तब, <math>IsZero(0) = \rho(C_1^0,C_0^2)(0) = C_1^0(0) = 1</math> और उदा. <math>IsZero(8) = \rho(C_1^0,C_0^2)(S(7)) = C_0^2(7,IsZero(7)) = 0</math>. | ||
Line 182: | Line 182: | ||
=== प्राकृत संख्याओं पर अन्य संक्रियाएं === | === प्राकृत संख्याओं पर अन्य संक्रियाएं === | ||
[[घातांक]] और [[प्रारंभिक परीक्षण]] | [[घातांक]] और [[प्रारंभिक परीक्षण]] प्राचीन पुनरावर्ती हैं। प्राचीन पुनरावर्ती कार्यों e, f, g, और h को देखते हुए, एक फ़ंक्शन जो e≤f होने पर g का मान लौटाता है और अन्यथा h का मान प्राचीन पुनरावर्ती होता है। | ||
=== पूर्णांकों और परिमेय संख्याओं पर संक्रियाएं === | === पूर्णांकों और परिमेय संख्याओं पर संक्रियाएं === | ||
गोडेल नंबरिंग का उपयोग करके, | गोडेल नंबरिंग का उपयोग करके, प्राचीन पुनरावर्ती कार्यों को पूर्णांक और परिमेय संख्याओं जैसे अन्य वस्तुओं पर संचालित करने के लिए बढ़ाया जा सकता है। यदि पूर्णांकों को गोडेल संख्याओं द्वारा एक मानक तरीके से एन्कोड किया जाता है, तो जोड़, घटाव और गुणा सहित अंकगणितीय संक्रियाएं सभी प्राचीन पुनरावर्ती हैं। इसी तरह, यदि परिमेय गोडेल संख्याओं द्वारा दर्शाए जाते हैं तो फ़ील्ड (गणित) संक्रियाएँ सभी प्राचीन पुनरावर्ती हैं। | ||
=== कुछ सामान्य | === कुछ सामान्य प्राचीन पुनरावर्ती कार्य === | ||
{{cleanup|section|reason=Remove functions and explanations that appear above|date=November 2021}} | {{cleanup|section|reason=Remove functions and explanations that appear above|date=November 2021}} | ||
: निम्नलिखित उदाहरण और परिभाषाएं क्लेन (1952) पीपी 223-231 से हैं - कई प्रमाण के साथ दिखाई देते हैं। बूलोस-बर्गेस-जेफरी 2002 पीपी. 63-70 में अधिकांश समान नामों के साथ, या तो प्रमाण के रूप में या उदाहरण के रूप में दिखाई देते हैं; वे सटीक व्युत्पत्ति के आधार पर लघुगणक lo(x, y) या lg(x, y) जोड़ते हैं। | : निम्नलिखित उदाहरण और परिभाषाएं क्लेन (1952) पीपी 223-231 से हैं - कई प्रमाण के साथ दिखाई देते हैं। बूलोस-बर्गेस-जेफरी 2002 पीपी. 63-70 में अधिकांश समान नामों के साथ, या तो प्रमाण के रूप में या उदाहरण के रूप में दिखाई देते हैं; वे सटीक व्युत्पत्ति के आधार पर लघुगणक lo(x, y) या lg(x, y) जोड़ते हैं। | ||
निम्नलिखित में हम देखते हैं कि | निम्नलिखित में हम देखते हैं कि प्राचीन पुनरावर्ती कार्य चार प्रकार के हो सकते हैं: | ||
# संक्षेप में कार्य: संख्या-सैद्धांतिक कार्य {0, 1, 2, ...} से {0, 1, 2, ...} तक, | # संक्षेप में कार्य: संख्या-सैद्धांतिक कार्य {0, 1, 2, ...} से {0, 1, 2, ...} तक, | ||
# विधेय: {0, 1, 2, ...} से सत्य मान {t =true, f =false}, | # विधेय: {0, 1, 2, ...} से सत्य मान {t =true, f =false}, | ||
Line 198: | Line 198: | ||
# कार्यों का प्रतिनिधित्व: सत्य मान {टी, एफ} से {0, 1, 2, ...}। कई बार एक विधेय को विधेय के आउटपुट { t, f } को { 0, 1 } में बदलने के लिए एक प्रतिनिधित्व समारोह की आवश्यकता होती है (नीचे दिए गए ~sg ( ) के साथ क्रम t से 0 और f से 1 मिलान पर ध्यान दें)। परिभाषा के अनुसार एक फ़ंक्शन φ('x') विधेय P('x') का प्रतिनिधित्व करने वाला फ़ंक्शन है यदि φ केवल मान 0 और 1 लेता है और 0 उत्पन्न करता है जब P सत्य है। | # कार्यों का प्रतिनिधित्व: सत्य मान {टी, एफ} से {0, 1, 2, ...}। कई बार एक विधेय को विधेय के आउटपुट { t, f } को { 0, 1 } में बदलने के लिए एक प्रतिनिधित्व समारोह की आवश्यकता होती है (नीचे दिए गए ~sg ( ) के साथ क्रम t से 0 और f से 1 मिलान पर ध्यान दें)। परिभाषा के अनुसार एक फ़ंक्शन φ('x') विधेय P('x') का प्रतिनिधित्व करने वाला फ़ंक्शन है यदि φ केवल मान 0 और 1 लेता है और 0 उत्पन्न करता है जब P सत्य है। | ||
निम्नलिखित में चिह्न ' , उदा. a', | निम्नलिखित में चिह्न ' , उदा. a', प्राचीन चिह्न है जिसका अर्थ उत्तराधिकारी है, जिसे सामान्यतः +1 के रूप में माना जाता है, उदा। एक +1 =<sub>def</sub> ए'। कार्य 16-20 और #G प्राचीन पुनरावर्ती विधेय को गोडेल संख्या के रूप में व्यक्त उनके अंकगणितीय रूप में परिवर्तित करने और उनसे निकालने के संबंध में विशेष रुचि रखते हैं। | ||
: # जोड़: ए + बी | : # जोड़: ए + बी | ||
Line 223: | Line 223: | ||
: निम्नलिखित में संक्षिप्त रूप 'x' =<sub>def</sub> एक्स<sub>1</sub>, ... एक्स<sub>n</sub>; अर्थ की आवश्यकता होने पर सबस्क्रिप्ट लागू किया जा सकता है। | : निम्नलिखित में संक्षिप्त रूप 'x' =<sub>def</sub> एक्स<sub>1</sub>, ... एक्स<sub>n</sub>; अर्थ की आवश्यकता होने पर सबस्क्रिप्ट लागू किया जा सकता है। | ||
* #A: एक फ़ंक्शन φ स्पष्ट रूप से फ़ंक्शन Ψ और स्थिरांक q से निश्चित है<sub>1</sub>, ... क्यू<sub>n</sub> Ψ में | * #A: एक फ़ंक्शन φ स्पष्ट रूप से फ़ंक्शन Ψ और स्थिरांक q से निश्चित है<sub>1</sub>, ... क्यू<sub>n</sub> Ψ में प्राचीन पुनरावर्ती है। | ||
* #B: परिमित योग Σ<sub>y<z</sub> ψ(x, y) और उत्पाद Π<sub>y<z</sub>ψ(x, y) ψ में | * #B: परिमित योग Σ<sub>y<z</sub> ψ(x, y) और उत्पाद Π<sub>y<z</sub>ψ(x, y) ψ में प्राचीन पुनरावर्ती हैं। | ||
* #सी: एक ''विधेय'' पी कार्यों χ प्रतिस्थापन द्वारा प्राप्त किया<sub>1</sub>,..., एच<sub>m</sub> एक विधेय के संबंधित चर के लिए क्यू χ में | * #सी: एक ''विधेय'' पी कार्यों χ प्रतिस्थापन द्वारा प्राप्त किया<sub>1</sub>,..., एच<sub>m</sub> एक विधेय के संबंधित चर के लिए क्यू χ में प्राचीन पुनरावर्ती है<sub>1</sub>,..., एच<sub>m</sub>, क्यू। | ||
* #D: निम्नलिखित विधेय Q और R में | * #D: निम्नलिखित विधेय Q और R में प्राचीन पुनरावर्ती हैं: | ||
::* NOT_Q('x') . | ::* NOT_Q('x') . | ||
:: * क्यू या आर: क्यू ('एक्स') वी आर ('एक्स'), | :: * क्यू या आर: क्यू ('एक्स') वी आर ('एक्स'), | ||
Line 232: | Line 232: | ||
::* Q का तात्पर्य R: Q('x') → R('x') | ::* Q का तात्पर्य R: Q('x') → R('x') | ||
::* Q, R के समतुल्य है: Q('x') ≡ R('x') | ::* Q, R के समतुल्य है: Q('x') ≡ R('x') | ||
* #E: निम्नलिखित विधेय R विधेय में | * #E: निम्नलिखित विधेय R विधेय में प्राचीन पुनरावर्ती हैं: | ||
::* (अय)<sub>y<z</sub> आर (एक्स, वाई) जहां (ई)<sub>y<z</sub> इंगित करता है कि कम से कम एक y मौजूद है जो कि z से कम है | ::* (अय)<sub>y<z</sub> आर (एक्स, वाई) जहां (ई)<sub>y<z</sub> इंगित करता है कि कम से कम एक y मौजूद है जो कि z से कम है | ||
::* (य)<sub>y<z</sub> आर (एक्स, वाई) जहां (वाई)<sub>y<z</sub> सभी y के लिए z से कम दर्शाता है यह सच है कि | ::* (य)<sub>y<z</sub> आर (एक्स, वाई) जहां (वाई)<sub>y<z</sub> सभी y के लिए z से कम दर्शाता है यह सच है कि | ||
::*<sub>y<z</sub> आर (एक्स, वाई)। ऑपरेटर μy<sub>y<z</sub> R(x, y) तथाकथित न्यूनीकरण- या mu-ऑपरेटर का एक ''बाध्य'' रूप है: z से कम y के न्यूनतम मान के रूप में परिभाषित किया गया है जैसे कि R(x, y) सत्य है; या z यदि ऐसा कोई मान नहीं है। | ::*<sub>y<z</sub> आर (एक्स, वाई)। ऑपरेटर μy<sub>y<z</sub> R(x, y) तथाकथित न्यूनीकरण- या mu-ऑपरेटर का एक ''बाध्य'' रूप है: z से कम y के न्यूनतम मान के रूप में परिभाषित किया गया है जैसे कि R(x, y) सत्य है; या z यदि ऐसा कोई मान नहीं है। | ||
* #F: मामलों द्वारा परिभाषा: इस प्रकार परिभाषित फ़ंक्शन, जहाँ Q<sub>1</sub>, ..., क्यू<sub>m</sub> पारस्परिक रूप से अनन्य विधेय हैं (या ψ('x') पहले खंड द्वारा दिया गया मान होगा जो लागू होता है), φ में | * #F: मामलों द्वारा परिभाषा: इस प्रकार परिभाषित फ़ंक्शन, जहाँ Q<sub>1</sub>, ..., क्यू<sub>m</sub> पारस्परिक रूप से अनन्य विधेय हैं (या ψ('x') पहले खंड द्वारा दिया गया मान होगा जो लागू होता है), φ में प्राचीन पुनरावर्ती है<sub>1</sub>, ..., क्यू<sub>1</sub>, ... क्यू<sub>m</sub>: | ||
:: φ(x) = | :: φ(x) = | ||
::* फी<sub>1</sub>(एक्स) अगर क्यू<sub>1</sub>(एक्स) सच है, | ::* फी<sub>1</sub>(एक्स) अगर क्यू<sub>1</sub>(एक्स) सच है, | ||
Line 243: | Line 243: | ||
::* φ<sub>m+1</sub>(एक्स) अन्यथा | ::* φ<sub>m+1</sub>(एक्स) अन्यथा | ||
* #G: यदि φ समीकरण को संतुष्ट करता है: | * #G: यदि φ समीकरण को संतुष्ट करता है: | ||
:: φ(y,x) = χ(y, COURSE-φ(y; x<sub>2</sub>, ... एक्स<sub>n</sub> ), एक्स<sub>2</sub>, ... एक्स<sub>n</sub> तो φ χ में | :: φ(y,x) = χ(y, COURSE-φ(y; x<sub>2</sub>, ... एक्स<sub>n</sub> ), एक्स<sub>2</sub>, ... एक्स<sub>n</sub> तो φ χ में प्राचीन पुनरावर्ती है। मान पाठ्यक्रम-φ(y; x<sub>2 to n</sub> ) कोर्स-ऑफ-वैल्यू फ़ंक्शन मानों के अनुक्रम को एन्कोड करता है φ(0,x<sub>2 to n</sub>), ..., φ(y-1,x<sub>2 to n</sub>) मूल समारोह का। | ||
== पहले क्रम के पीनो अंकगणितीय == में प्रयोग करें | == पहले क्रम के पीनो अंकगणितीय == में प्रयोग करें | ||
{{expert needed|computer science|section|reason=properly explain the purpose of using the β function (the text only explains *how* it is used, not *what for* - I guess in some Gödelian (un)computability proof)|date=November 2021}} प्रथम-क्रम तर्क में | प्रथम-क्रम पीआनो अंकगणित में असीमित रूप से कई चर (0-एरी प्रतीक) हैं, लेकिन कोई arity|k-ary गैर-तार्किक प्रतीक नहीं है जिसमें k>0 S, +, *, और ≤ के अलावा है। इस प्रकार | {{expert needed|computer science|section|reason=properly explain the purpose of using the β function (the text only explains *how* it is used, not *what for* - I guess in some Gödelian (un)computability proof)|date=November 2021}} प्रथम-क्रम तर्क में | प्रथम-क्रम पीआनो अंकगणित में असीमित रूप से कई चर (0-एरी प्रतीक) हैं, लेकिन कोई arity|k-ary गैर-तार्किक प्रतीक नहीं है जिसमें k>0 S, +, *, और ≤ के अलावा है। इस प्रकार प्राचीन पुनरावर्ती कार्यों को परिभाषित करने के लिए गोडेल द्वारा निम्नलिखित चाल का उपयोग करना होगा। | ||
अनुक्रमों के लिए गोडेल नंबरिंग का उपयोग करके, उदाहरण के लिए गोडेल के β फ़ंक्शन, संख्याओं के किसी भी परिमित अनुक्रम को एक संख्या द्वारा एन्कोड किया जा सकता है। इस तरह की संख्या किसी दिए गए एन तक | अनुक्रमों के लिए गोडेल नंबरिंग का उपयोग करके, उदाहरण के लिए गोडेल के β फ़ंक्शन, संख्याओं के किसी भी परिमित अनुक्रम को एक संख्या द्वारा एन्कोड किया जा सकता है। इस तरह की संख्या किसी दिए गए एन तक प्राचीन पुनरावर्ती फ़ंक्शन का प्रतिनिधित्व कर सकती है। | ||
चलो एच एक 1-एरी | चलो एच एक 1-एरी प्राचीन पुनरावर्तन समारोह द्वारा परिभाषित किया गया है: | ||
:<math> h(0) = C</math> | :<math> h(0) = C</math> | ||
:<math> h(n+1) = g(n,h(n))</math> | :<math> h(n+1) = g(n,h(n))</math> | ||
Line 260: | Line 260: | ||
और जी के बराबर, पहले से ही परिभाषित किया जा रहा है, वास्तव में कुछ अन्य पहले से परिभाषित सूत्र के लिए आशुलिपि है (जैसा कि β है, जिसका सूत्र गोडेल का β फ़ंक्शन दिया गया है)। | और जी के बराबर, पहले से ही परिभाषित किया जा रहा है, वास्तव में कुछ अन्य पहले से परिभाषित सूत्र के लिए आशुलिपि है (जैसा कि β है, जिसका सूत्र गोडेल का β फ़ंक्शन दिया गया है)। | ||
किसी भी k-ary | किसी भी k-ary प्राचीन पुनरावर्तन समारोह का सामान्यीकरण तुच्छ है। | ||
== पुनरावर्ती कार्यों से संबंध == | == पुनरावर्ती कार्यों से संबंध == | ||
Line 266: | Line 266: | ||
[[आंशिक पुनरावर्ती कार्य]]ों के व्यापक वर्ग को [[ऑपरेटर में]] की शुरुआत करके परिभाषित किया गया है। इस ऑपरेटर के उपयोग के परिणामस्वरूप आंशिक फ़ंक्शन हो सकता है, अर्थात, प्रत्येक तर्क के लिए अधिकतम एक मान के साथ संबंध, लेकिन किसी भी तर्क के लिए कोई मान आवश्यक नहीं है (फ़ंक्शन का डोमेन देखें)। एक समतुल्य परिभाषा बताती है कि एक आंशिक पुनरावर्ती कार्य वह है जिसे [[ट्यूरिंग मशीन]] द्वारा गणना की जा सकती है। टोटल रिकर्सिव फंक्शन एक आंशिक रिकर्सिव फंक्शन है जिसे हर इनपुट के लिए परिभाषित किया गया है। | [[आंशिक पुनरावर्ती कार्य]]ों के व्यापक वर्ग को [[ऑपरेटर में]] की शुरुआत करके परिभाषित किया गया है। इस ऑपरेटर के उपयोग के परिणामस्वरूप आंशिक फ़ंक्शन हो सकता है, अर्थात, प्रत्येक तर्क के लिए अधिकतम एक मान के साथ संबंध, लेकिन किसी भी तर्क के लिए कोई मान आवश्यक नहीं है (फ़ंक्शन का डोमेन देखें)। एक समतुल्य परिभाषा बताती है कि एक आंशिक पुनरावर्ती कार्य वह है जिसे [[ट्यूरिंग मशीन]] द्वारा गणना की जा सकती है। टोटल रिकर्सिव फंक्शन एक आंशिक रिकर्सिव फंक्शन है जिसे हर इनपुट के लिए परिभाषित किया गया है। | ||
प्रत्येक | प्रत्येक प्राचीन पुनरावर्ती कार्य कुल पुनरावर्ती है, लेकिन सभी कुल पुनरावर्ती कार्य प्राचीन पुनरावर्ती नहीं हैं। [[एकरमैन समारोह]] ए (एम, एन) कुल पुनरावर्ती फ़ंक्शन (वास्तव में, सिद्ध करने योग्य कुल) का एक प्रसिद्ध उदाहरण है, जो प्राचीन पुनरावर्ती नहीं है। एकरमैन फ़ंक्शन का उपयोग करके कुल पुनरावर्ती कार्यों के सबसेट के रूप में प्राचीन पुनरावर्ती कार्यों का एक लक्षण वर्णन है। यह लक्षण वर्णन बताता है कि एक फ़ंक्शन प्राचीन पुनरावर्ती है यदि और केवल यदि कोई प्राकृतिक संख्या m है जैसे कि फ़ंक्शन की गणना ट्यूरिंग मशीन द्वारा की जा सकती है जो हमेशा A(m,n) या उससे कम चरणों में रुकती है, जहां n का योग है प्राचीन पुनरावर्ती क्रिया के तर्क।<ref>This follows from the facts that the functions of this form are the most quickly growing primitive recursive functions, and that a function is primitive recursive if and only if its time complexity is bounded by a primitive recursive function. For the former, see {{citation|title=An Introduction to Formal Languages and Automata|first=Peter|last=Linz|publisher=Jones & Bartlett Publishers|year=2011|isbn=9781449615529|page=332|url=https://books.google.com/books?id=hsxDiWvVdBcC&pg=PA332}}. For the latter, see {{citation|title=The Nature of Computation|first1=Cristopher|last1=Moore|author1-link=Cristopher Moore|first2=Stephan|last2=Mertens|publisher=Oxford University Press|year=2011|isbn=9780191620805|page=287|url=https://books.google.com/books?id=jnGKbpMV8xoC&pg=PA287}}</ref> | ||
प्राचीन पुनरावर्ती कार्यों की एक महत्वपूर्ण संपत्ति यह है कि वे सभी कुल पुनरावर्ती कार्यों के सेट का पुनरावर्ती रूप से गणना करने योग्य उपसमुच्चय हैं (जो स्वयं पुनरावर्ती गणना योग्य नहीं है)। इसका मतलब यह है कि एक एकल संगणनीय कार्य f(m,n) है जो प्राचीन पुनरावर्ती कार्यों की गणना करता है, अर्थात्: | |||
* प्रत्येक | * प्रत्येक प्राचीन पुनरावर्ती क्रिया g के लिए, एक m ऐसा है कि g(n) = f(m,n) सभी n के लिए, और | ||
* प्रत्येक एम के लिए, फ़ंक्शन एच (एन) = एफ (एम, एन) | * प्रत्येक एम के लिए, फ़ंक्शन एच (एन) = एफ (एम, एन) प्राचीन पुनरावर्ती है। | ||
च को | च को प्राचीन पुनरावर्ती कार्यों को बनाने के सभी संभावित तरीकों को दोहराकर स्पष्ट रूप से बनाया जा सकता है। इस प्रकार, यह कुल साबित होता है। एक [[विकर्ण लेम्मा]] तर्क का उपयोग यह दिखाने के लिए कर सकता है कि f अपने आप में पुनरावर्ती प्राचीन नहीं है: यदि ऐसा होता, तो h(n) = f(n,n)+1 होता। लेकिन अगर यह कुछ प्राचीन पुनरावर्ती फ़ंक्शन के बराबर है, तो एक एम ऐसा है कि एच (एन) = एफ (एम, एन) सभी एन के लिए, और फिर एच (एम) = एफ (एम, एम), विरोधाभास के लिए अग्रणी। | ||
हालाँकि, | हालाँकि, प्राचीन पुनरावर्ती कार्यों का सेट सभी कुल पुनरावर्ती कार्यों के सेट का सबसे बड़ा पुनरावर्ती गणनीय उपसमुच्चय नहीं है। उदाहरण के लिए, साबित कुल कार्यों का सेट (पीनो अंकगणित में) भी पुनरावर्ती गणना योग्य है, क्योंकि सिद्धांत के सभी सबूतों की गणना कर सकते हैं। जबकि सभी प्राचीन पुनरावर्ती कार्य सिद्ध रूप से कुल हैं, इसका विलोम सत्य नहीं है। | ||
== सीमाएं ==<!-- This section is linked from [[Primitive recursive function]] --> | == सीमाएं ==<!-- This section is linked from [[Primitive recursive function]] --> | ||
प्राचीन पुनरावर्ती कार्य हमारे अंतर्ज्ञान के साथ बहुत निकटता से मेल खाते हैं कि एक संगणनीय कार्य क्या होना चाहिए। निश्चित रूप से प्रारंभिक कार्य सहज रूप से संगणनीय हैं (उनकी बहुत सरलता में), और दो ऑपरेशन जिनके द्वारा कोई नया प्राचीन पुनरावर्ती कार्य बना सकता है, वे भी बहुत सीधे हैं। हालाँकि, प्राचीन पुनरावर्ती कार्यों के सेट में हर संभव कुल गणना योग्य कार्य शामिल नहीं है - इसे कैंटर के विकर्ण तर्क के एक संस्करण के साथ देखा जा सकता है। यह तर्क कुल संगणनीय कार्य प्रदान करता है जो प्राचीन पुनरावर्ती नहीं है। सबूत का एक स्केच इस प्रकार है: | |||
{{block indent|The primitive recursive functions of one argument (i.e., unary functions) can be [[Recursively enumerable set|computably enumerated]]. This enumeration uses the definitions of the primitive recursive functions (which are essentially just expressions with the composition and primitive recursion operations as operators and the basic primitive recursive functions as atoms), and can be assumed to contain every definition once, even though a same ''function'' will occur many times on the list (since many definitions define the same function; indeed simply composing by the [[identity function]] generates infinitely many definitions of any one primitive recursive function). This means that the {{mvar|''n''}}-th definition of a primitive recursive function in this enumeration can be effectively determined from {{mvar|''n''}}. Indeed if one uses some [[Gödel numbering]] to encode definitions as numbers, then this {{mvar|''n''}}-th definition in the list is computed by a primitive recursive function of {{mvar|''n''}}. Let {{math|''f''<sub>''n''</sub>}} denote the unary primitive recursive function given by this definition. | {{block indent|The primitive recursive functions of one argument (i.e., unary functions) can be [[Recursively enumerable set|computably enumerated]]. This enumeration uses the definitions of the primitive recursive functions (which are essentially just expressions with the composition and primitive recursion operations as operators and the basic primitive recursive functions as atoms), and can be assumed to contain every definition once, even though a same ''function'' will occur many times on the list (since many definitions define the same function; indeed simply composing by the [[identity function]] generates infinitely many definitions of any one primitive recursive function). This means that the {{mvar|''n''}}-th definition of a primitive recursive function in this enumeration can be effectively determined from {{mvar|''n''}}. Indeed if one uses some [[Gödel numbering]] to encode definitions as numbers, then this {{mvar|''n''}}-th definition in the list is computed by a primitive recursive function of {{mvar|''n''}}. Let {{math|''f''<sub>''n''</sub>}} denote the unary primitive recursive function given by this definition. | ||
Line 284: | Line 284: | ||
यह तर्क गणना योग्य (कुल) कार्यों के किसी भी वर्ग पर लागू किया जा सकता है जिसे इस तरह से गणना की जा सकती है, जैसा लेख मशीन में समझाया गया है जो हमेशा रुकता है। हालांकि ध्यान दें कि आंशिक संगणनीय कार्य (जिन्हें सभी तर्कों के लिए परिभाषित करने की आवश्यकता नहीं है) को स्पष्ट रूप से गणना की जा सकती है, उदाहरण के लिए ट्यूरिंग मशीन एन्कोडिंग की गणना करके। | यह तर्क गणना योग्य (कुल) कार्यों के किसी भी वर्ग पर लागू किया जा सकता है जिसे इस तरह से गणना की जा सकती है, जैसा लेख मशीन में समझाया गया है जो हमेशा रुकता है। हालांकि ध्यान दें कि आंशिक संगणनीय कार्य (जिन्हें सभी तर्कों के लिए परिभाषित करने की आवश्यकता नहीं है) को स्पष्ट रूप से गणना की जा सकती है, उदाहरण के लिए ट्यूरिंग मशीन एन्कोडिंग की गणना करके। | ||
कुल पुनरावर्ती लेकिन | कुल पुनरावर्ती लेकिन प्राचीन पुनरावर्ती कार्यों के अन्य उदाहरण ज्ञात नहीं हैं: | ||
*फ़ंक्शन जो m को एकरमैन फ़ंक्शन(m,m) में ले जाता है वह एक एकल कुल पुनरावर्ती फ़ंक्शन है जो | *फ़ंक्शन जो m को एकरमैन फ़ंक्शन(m,m) में ले जाता है वह एक एकल कुल पुनरावर्ती फ़ंक्शन है जो प्राचीन पुनरावर्ती नहीं है। | ||
*पेरिस-हैरिंगटन प्रमेय में कुल पुनरावर्ती कार्य शामिल है जो | *पेरिस-हैरिंगटन प्रमेय में कुल पुनरावर्ती कार्य शामिल है जो प्राचीन पुनरावर्ती नहीं है। | ||
* [[सूडान समारोह]] | * [[सूडान समारोह]] | ||
* [[गुडस्टीन समारोह]] | * [[गुडस्टीन समारोह]] | ||
Line 294: | Line 294: | ||
=== लगातार कार्य === | === लगातार कार्य === | ||
के बजाय <math>C_n^k</math>, | के बजाय <math>C_n^k</math>, | ||
वैकल्पिक परिभाषाएँ केवल एक 0-एरी शून्य फ़ंक्शन का उपयोग करती हैं <math>C_0^0</math> एक | वैकल्पिक परिभाषाएँ केवल एक 0-एरी शून्य फ़ंक्शन का उपयोग करती हैं <math>C_0^0</math> एक प्राचीन कार्य के रूप में जो हमेशा शून्य लौटाता है, और शून्य कार्य, उत्तराधिकारी कार्य और संरचना ऑपरेटर से निरंतर कार्यों का निर्माण करता है। | ||
=== कमजोर | === कमजोर प्राचीन पुनरावर्तन === | ||
1-स्थान का पूर्ववर्ती कार्य | 1-स्थान का पूर्ववर्ती कार्य प्राचीन पुनरावर्ती है, अनुभाग #Predecessor देखें। फिशर, फिशर और बेगेल {{sfn|Fischer|Fischer|Beigel|1989}} प्रत्यावर्तन नियम से अंतर्निहित पूर्ववर्ती को हटा दिया, इसे कमजोर नियम से बदल दिया | ||
:<math> | :<math> | ||
\begin{array}{lcl} | \begin{array}{lcl} | ||
Line 304: | Line 304: | ||
\end{array} | \end{array} | ||
</math> | </math> | ||
उन्होंने साबित किया कि पूर्ववर्ती कार्य अभी भी परिभाषित किया जा सकता है, और इसलिए कमजोर | उन्होंने साबित किया कि पूर्ववर्ती कार्य अभी भी परिभाषित किया जा सकता है, और इसलिए कमजोर प्राचीन पुनरावर्तन प्राचीन पुनरावर्ती कार्यों को भी परिभाषित करता है। | ||
=== पुनरावृत्ति कार्य === | === पुनरावृत्ति कार्य === | ||
Line 310: | Line 310: | ||
<math>\begin{array}{lcll} f(0,x_1,\ldots,x_k) & = & g(x_1,\ldots,x_k) &\textrm{and} \\ f(S(y),x_1,\ldots,x_k) & = & h(f(y,x_1,\ldots,x_k),x_1,\ldots,x_k) \end{array}</math> | <math>\begin{array}{lcll} f(0,x_1,\ldots,x_k) & = & g(x_1,\ldots,x_k) &\textrm{and} \\ f(S(y),x_1,\ldots,x_k) & = & h(f(y,x_1,\ldots,x_k),x_1,\ldots,x_k) \end{array}</math> | ||
पुनरावृत्त कार्यों के वर्ग को उसी तरह परिभाषित किया जाता है जैसे इस कमजोर नियम को छोड़कर | पुनरावृत्त कार्यों के वर्ग को उसी तरह परिभाषित किया जाता है जैसे इस कमजोर नियम को छोड़कर प्राचीन पुनरावर्ती कार्यों के वर्ग को। इन्हें प्राचीन पुनरावर्ती कार्यों का उचित उपसमुच्चय माना जाता है।<ref>{{Cite document|last=M. Fischer, R. Fischer, R. Beigel|title=Primitive Recursion without Implicit Predecessor}}</ref> | ||
=== अतिरिक्त | === अतिरिक्त प्राचीन पुनरावर्ती रूप === | ||
पुनरावर्तन के कुछ अतिरिक्त रूप भी उन कार्यों को परिभाषित करते हैं जो वास्तव में हैं | पुनरावर्तन के कुछ अतिरिक्त रूप भी उन कार्यों को परिभाषित करते हैं जो वास्तव में हैं | ||
प्राचीन पुनरावर्ती। इन रूपों में परिभाषाएँ खोजना आसान हो सकता है या | |||
पढ़ने या लिखने के लिए अधिक स्वाभाविक। [[कोर्स-ऑफ़-वैल्यू रिकर्सन]] | पढ़ने या लिखने के लिए अधिक स्वाभाविक। [[कोर्स-ऑफ़-वैल्यू रिकर्सन]] प्राचीन पुनरावर्ती कार्यों को परिभाषित करता है। [[आपसी पुनरावर्तन]] के कुछ रूप प्राचीन पुनरावर्ती कार्यों को भी परिभाषित करते हैं। | ||
LOOP (प्रोग्रामिंग लैंग्वेज) में जिन कार्यों को प्रोग्राम किया जा सकता है, वे वास्तव में | LOOP (प्रोग्रामिंग लैंग्वेज) में जिन कार्यों को प्रोग्राम किया जा सकता है, वे वास्तव में प्राचीन पुनरावर्ती कार्य हैं। यह इन कार्यों की शक्ति का एक अलग लक्षण वर्णन करता है। [[ट्यूरिंग-पूर्ण भाषा]] की तुलना में LOOP भाषा की मुख्य सीमा यह है कि LOOP भाषा में लूप चलने से पहले प्रत्येक लूप चलने की संख्या निर्दिष्ट होती है। | ||
=== कंप्यूटर भाषा परिभाषा === | === कंप्यूटर भाषा परिभाषा === | ||
प्राचीन पुनरावर्ती प्रोग्रामिंग भाषा का एक उदाहरण वह है जिसमें बुनियादी अंकगणितीय ऑपरेटर (जैसे + और -, या ADD और SUBTRACT), सशर्त और तुलना (IF-THEN, EQUALS, LESS-THAN), और परिबद्ध लूप, जैसे बुनियादी शामिल हैं लूप के लिए, जहां सभी लूपों के लिए ज्ञात या गणना योग्य ऊपरी सीमा होती है (FOR i FROM 1 TO n, लूप बॉडी द्वारा न तो i और न ही संशोधित किया जा सकता है)। अधिक सामान्यता की कोई नियंत्रण संरचना, जैसे कि लूप या IF-THEN प्लस [[GOTO]], प्राचीन पुनरावर्ती भाषा में स्वीकार नहीं की जाती है। | |||
LOOP (प्रोग्रामिंग लैंग्वेज), 1967 में अल्बर्ट आर. मेयर और डेनिस एम. रिची द्वारा पेश किया गया,<ref>{{cite conference | LOOP (प्रोग्रामिंग लैंग्वेज), 1967 में अल्बर्ट आर. मेयर और डेनिस एम. रिची द्वारा पेश किया गया,<ref>{{cite conference | ||
Line 337: | Line 337: | ||
| year=1967 | | year=1967 | ||
| doi-access=free | | doi-access=free | ||
}}</ref> एक ऐसी भाषा है। इसकी कंप्यूटिंग शक्ति | }}</ref> एक ऐसी भाषा है। इसकी कंप्यूटिंग शक्ति प्राचीन पुनरावर्ती कार्यों के साथ मेल खाती है। LOOP भाषा का एक प्रकार है [[डगलस हॉफस्टाटर]] का ब्लूपी और गोडेल, एस्चेर, बाख में फ़्लूपी। अनबाउंड लूप्स (WHILE, GOTO) को जोड़ने से भाषा सामान्य पुनरावर्ती कार्य करती है और [[ट्यूरिंग पूर्णता]] | ट्यूरिंग-पूर्ण, जैसा कि सभी वास्तविक दुनिया की कंप्यूटर प्रोग्रामिंग भाषाएं हैं। | ||
प्राचीन पुनरावर्ती कार्यों की परिभाषा का तात्पर्य है कि उनकी गणना हर इनपुट पर रुक जाती है (सीमित संख्या में चरणों के बाद)। दूसरी ओर, सामान्य पुनरावर्ती कार्यों के लिए [[रुकने की समस्या]] [[अनिर्णीत समस्या]] है, भले ही वे कुल कार्य हों। यही है, ऐसे प्रोग्राम हैं जो हर इनपुट पर रुकते हैं, लेकिन जिसके लिए इसे एल्गोरिथम द्वारा सत्यापित नहीं किया जा सकता है। | |||
== Finitism और संगति परिणाम == | == Finitism और संगति परिणाम == | ||
प्राचीन पुनरावर्ती कार्य गणितीय [[finitism]] से निकटता से संबंधित हैं, और गणितीय तर्क में कई संदर्भों में उपयोग किए जाते हैं जहाँ विशेष रूप से रचनात्मक प्रणाली वांछित होती है। [[आदिम पुनरावर्ती अंकगणित|प्राचीन पुनरावर्ती अंकगणित]] (PRA), प्राकृतिक संख्याओं के लिए एक औपचारिक स्वयंसिद्ध प्रणाली और उन पर प्राचीन पुनरावर्ती कार्यों का उपयोग अक्सर इस उद्देश्य के लिए किया जाता है। | |||
पीआरए पीआनो अंकगणित की तुलना में बहुत कमजोर है, जो कि परिमित प्रणाली नहीं है। फिर भी, पीआरए में संख्या सिद्धांत और प्रूफ सिद्धांत में कई परिणाम सिद्ध किए जा सकते हैं। उदाहरण के लिए, गोडेल की अपूर्णता प्रमेय को निम्नलिखित प्रमेय देते हुए PRA में औपचारिक रूप दिया जा सकता है: | पीआरए पीआनो अंकगणित की तुलना में बहुत कमजोर है, जो कि परिमित प्रणाली नहीं है। फिर भी, पीआरए में संख्या सिद्धांत और प्रूफ सिद्धांत में कई परिणाम सिद्ध किए जा सकते हैं। उदाहरण के लिए, गोडेल की अपूर्णता प्रमेय को निम्नलिखित प्रमेय देते हुए PRA में औपचारिक रूप दिया जा सकता है: | ||
: यदि टी अंकगणित का एक सिद्धांत है जो कुछ परिकल्पनाओं को संतुष्ट करता है, गोडेल वाक्य जी के साथ<sub>''T''</sub>, तो PRA निहितार्थ Con(T)→G को सिद्ध करता है<sub>''T''</sub>. | : यदि टी अंकगणित का एक सिद्धांत है जो कुछ परिकल्पनाओं को संतुष्ट करता है, गोडेल वाक्य जी के साथ<sub>''T''</sub>, तो PRA निहितार्थ Con(T)→G को सिद्ध करता है<sub>''T''</sub>. | ||
इसी तरह, प्रूफ थ्योरी में कई सिंटैक्टिक परिणाम PRA में सिद्ध किए जा सकते हैं, जिसका अर्थ है कि | इसी तरह, प्रूफ थ्योरी में कई सिंटैक्टिक परिणाम PRA में सिद्ध किए जा सकते हैं, जिसका अर्थ है कि प्राचीन पुनरावर्ती कार्य हैं जो प्रूफ के संबंधित सिंटैक्टिक ट्रांसफॉर्मेशन को अंजाम देते हैं। | ||
प्रूफ थ्योरी और [[समुच्चय सिद्धान्त]] में, फ़िनिटिस्टिक कंसिस्टेंसी प्रूफ़ में दिलचस्पी है, यानी, कंसिस्टेंसी प्रूफ जो खुद फ़ाइनिस्टिक रूप से स्वीकार्य हैं। इस तरह का प्रमाण यह स्थापित करता है कि एक सिद्धांत टी की संगति का तात्पर्य एक सिद्धांत एस की संगति से है, जो एक | प्रूफ थ्योरी और [[समुच्चय सिद्धान्त]] में, फ़िनिटिस्टिक कंसिस्टेंसी प्रूफ़ में दिलचस्पी है, यानी, कंसिस्टेंसी प्रूफ जो खुद फ़ाइनिस्टिक रूप से स्वीकार्य हैं। इस तरह का प्रमाण यह स्थापित करता है कि एक सिद्धांत टी की संगति का तात्पर्य एक सिद्धांत एस की संगति से है, जो एक प्राचीन पुनरावर्ती कार्य का निर्माण करता है, जो एस से असंगति के किसी भी प्रमाण को टी से असंगतता के प्रमाण में बदल सकता है। [[संगति प्रमाण]] के लिए एक पर्याप्त शर्त परिमित होना पीआरए में इसे औपचारिक रूप देने की क्षमता है। उदाहरण के लिए, सेट थ्योरी में कई संगति परिणाम जो कि फोर्सिंग (गणित) द्वारा प्राप्त किए जाते हैं, को सिंटैक्टिक प्रूफ के रूप में पुनर्गठित किया जा सकता है जिसे PRA में औपचारिक रूप दिया जा सकता है। | ||
== इतिहास == | == इतिहास == | ||
पहले [[पुनरावर्ती परिभाषा]]ओं का गणित में अधिक या कम औपचारिक रूप से उपयोग किया गया था, लेकिन | पहले [[पुनरावर्ती परिभाषा]]ओं का गणित में अधिक या कम औपचारिक रूप से उपयोग किया गया था, लेकिन प्राचीन पुनरावर्तन के निर्माण का पता [[रिचर्ड डेडेकिंड]] के प्रमेय 126 में लगाया गया था, जो कि सिंड अंड सोलेन डाई ज़ाहलेन था? (1888)। यह कार्य सबसे पहले एक प्रमाण देने वाला था कि एक निश्चित पुनरावर्ती निर्माण एक अद्वितीय कार्य को परिभाषित करता है।<ref name="Smith2013">{{cite book|author=Peter Smith|title=An Introduction to Gödel's Theorems|year=2013|publisher=Cambridge University Press|isbn=978-1-107-02284-3|pages=98–99|edition=2nd}}</ref><ref name="Tourlakis2003">{{cite book|author=George Tourlakis|title=Lectures in Logic and Set Theory: Volume 1, Mathematical Logic|year=2003|publisher=Cambridge University Press|isbn=978-1-139-43942-8|page=129}}</ref><ref name="Downey2014">{{cite book|editor=Rod Downey|title=Turing's Legacy: Developments from Turing's Ideas in Logic|year=2014|publisher=Cambridge University Press|isbn=978-1-107-04348-0|page=474}}</ref> | ||
प्राचीन पुनरावर्ती अंकगणित सबसे पहले [[थोराल्फ़ स्कोलेम]] द्वारा प्रस्तावित किया गया था<ref>[[Thoralf Skolem]] (1923) "The foundations of elementary arithmetic" in [[Jean van Heijenoort]], translator and ed. (1967) ''From Frege to Gödel: A Source Book in Mathematical Logic, 1879-1931''. Harvard Univ. Press: 302-33.</ref> 1923 में। | |||
[[विल्हेम एकरमैन]] ने 1928 में साबित कर दिया था कि वर्तमान शब्दावली रोज़सा पेटर (1934) द्वारा गढ़ी गई थी, जो कि आज उनके नाम पर रखा गया कार्य | [[विल्हेम एकरमैन]] ने 1928 में साबित कर दिया था कि वर्तमान शब्दावली रोज़सा पेटर (1934) द्वारा गढ़ी गई थी, जो कि आज उनके नाम पर रखा गया कार्य प्राचीन पुनरावर्ती नहीं था, एक ऐसी घटना जिसने तब तक नाम बदलने की आवश्यकता को प्रेरित किया जब तक कि इसे केवल पुनरावर्ती कार्य कहा जाता था।<ref name="Tourlakis2003"/><ref name="Downey2014"/> | ||
Line 361: | Line 361: | ||
* ग्रेज़गोर्स्की पदानुक्रम | * ग्रेज़गोर्स्की पदानुक्रम | ||
* [[रिकर्सन (कंप्यूटर विज्ञान)]] | * [[रिकर्सन (कंप्यूटर विज्ञान)]] | ||
* [[आदिम पुनरावर्ती कार्यात्मक]] | * [[आदिम पुनरावर्ती कार्यात्मक|प्राचीन पुनरावर्ती कार्यात्मक]] | ||
* [[डबल रिकर्सन]] | * [[डबल रिकर्सन]] | ||
* [[आदिम पुनरावर्ती सेट समारोह]] | * [[आदिम पुनरावर्ती सेट समारोह|प्राचीन पुनरावर्ती सेट समारोह]] | ||
* [[आदिम पुनरावर्ती क्रमिक कार्य]] | * [[आदिम पुनरावर्ती क्रमिक कार्य|प्राचीन पुनरावर्ती क्रमिक कार्य]] | ||
==टिप्पणियाँ== | ==टिप्पणियाँ== |
Revision as of 12:30, 7 February 2023
कम्प्यूटेबिलिटी सिद्धांत में, प्राचीन पुनरावर्ती कार्य, मोटे तौर पर बोलना, एक ऐसा कार्य है जिसकी गणना एक कंप्यूटर प्रोग्राम द्वारा की जा सकती है, जिसके लूप सभी "फॉर" लूप हैं लूप के लिए (अर्थात, प्रत्येक लूप के पुनरावृत्तियों की संख्या की ऊपरी सीमा पहले निर्धारित की जा सकती है) प्राचीन पुनरावर्ती कार्य उन सामान्य पुनरावर्ती कार्यो का एक सख्त उपसमुच्चय बनाते हैं जो कुल कार्य भी हैं।
प्राचीन पुनरावर्ती कार्यों का महत्व इस तथ्य में निहित है कि संख्या सिद्धांत (और सामान्यतः गणित में) में अध्ययन किए जाने वाले अधिकांश संगणनीय कार्य आदिम पुनरावर्ती हैं। उदाहरण के लिए, योग और विभाजन, क्रमगुणित और चरघातांकी फलन, और जो फलन n अभाज्य को लौटाता है, सभी प्राचीन पुनरावर्ती हैं। [1] वास्तव में, यह दिखाने के लिए कि एक संगणनीय कार्य प्राचीन पुनरावर्ती है, यह दिखाने के लिए पर्याप्त है कि इसकी समय जटिलता इनपुट आकार के एक आदिम पुनरावर्ती कार्य से ऊपर है।[citation needed] इसलिए एक संगणनीय कार्य को तैयार करना इतना आसान नहीं है कि आदिम पुनरावर्ती नहीं है; कुछ उदाहरण नीचे अनुभाग § सीमाएँ में दिखाए गए हैं।
कम्प्यूटेशनल जटिलता सिद्धांत में प्राचीन पुनरावर्ती कार्यों के सेट को पीआर के रूप में जाना जाता है।
परिभाषा
एक प्राचीन पुनरावर्ती फ़ंक्शन तर्कों की एक निश्चित संख्या लेता है, प्रत्येक एक प्राकृतिक संख्या (गैर-नकारात्मक पूर्णांक: {0, 1, 2, ...}), और एक प्राकृतिक संख्या देता है। यदि यह n तर्क लेता है तो इसे n-arity कहा जाता है।
बुनियादी प्राचीन पुनरावर्ती कार्य इन स्वयंसिद्धों द्वारा दिए गए हैं:
- Constant functions Ck
n: प्रत्येक प्राकृतिक संख्या के लिए n और हर k, k-ary नियतांक फलन, द्वारा परिभाषित , आदिम पुनरावर्ती है। - उत्तराधिकारी फलन: 1-ऐरी उत्तरवर्ती फलन S, जो अपने तर्क का परवर्ती लौटाता है (पीनो अभिधारणाएं देखें), अर्थात्, , आदिम पुनरावर्ती है।
- प्रोजेक्शन फंक्शन : सभी प्राकृतिक संख्याओं के लिए ऐसा है कि , k-ary फ़ंक्शन द्वारा परिभाषित आदिम पुनरावर्ती है।
इन स्वयंसिद्धों द्वारा दिए गए ऑपरेशन (गणित) को लागू करके अधिक जटिल प्राचीन पुनरावर्ती कार्य प्राप्त किए जा सकते हैं:
- for-loop 0 से इसके पहले तर्क के मान तक। F के लिए शेष तर्क, यहाँ x से दर्शाए गए हैं1, ..., एक्सk, फॉर-लूप के लिए प्रारंभिक शर्तों का एक सेट है जो गणना के दौरान इसके द्वारा उपयोग किया जा सकता है लेकिन जो इसके द्वारा अपरिवर्तनीय हैं। फ़ंक्शन g और h समीकरणों के दाईं ओर जो f को परिभाषित करते हैं, लूप के शरीर का प्रतिनिधित्व करते हैं, जो गणना करता है। प्रारंभिक गणना करने के लिए फ़ंक्शन g का उपयोग केवल एक बार किया जाता है। लूप के बाद के चरणों की गणना h द्वारा की जाती है। h का पहला पैरामीटर फॉर-लूप के इंडेक्स का वर्तमान मान फीड करता है। एच का दूसरा पैरामीटर पिछले चरणों से फॉर-लूप की पिछली गणनाओं का परिणाम है। एच के लिए बाकी पैरामीटर पहले बताए गए फॉर-लूप के लिए अपरिवर्तनीय प्रारंभिक शर्तें हैं। उनका उपयोग h द्वारा गणना करने के लिए किया जा सकता है लेकिन वे स्वयं h द्वारा परिवर्तित नहीं होंगे।
- Composition operator (also called the substitution operator): Given an m-ary function and m k-ary functions : Failed to parse (Conversion error. Server ("cli") reported: "SyntaxError: Expected "-", "[", "\\", "\\begin", "\\begin{", "]", "^", "_", "{", "}", [ \t\n\r], [%$], [().], [,:;?!'], [/|], [0-9], [><~], [\-+*=], or [a-zA-Z] but "।" found.in 1:168"): {\displaystyle h \circ (g_1, \ldots, g_m) \ \stackrel{\mathrm{def}}{=}\ f, \quad\text{जहां}\quad f(x_1,\ldots,x_k) = h(g_1(x_1,\ldots,x_k),\ldots,g_m(x_1,\ldots,x_k)) ।</गणित> | 5=आदिम रिकर्सन ऑपरेटर {{mvar|ρ}}: के-एरी फ़ंक्शन दिया गया है <math>g(x_1,\ldots,x_k)\,}
और (के + 2) -एरी फ़ंक्शन :
व्याख्या:
फ़ंक्शन f एक for लूप के रूप में कार्य करता है
'प्राचीन पुनरावर्ती कार्य' मूल कार्य हैं और इन कार्यों को सीमित संख्या में लागू करके मूल कार्यों से प्राप्त किए जाते हैं।
उदाहरण
- is a 1-ary function which returns for every input: .
- is a 1-ary function which returns for every input: .
- is a 0-ary function, i.e. a constant: .
- is the identity function on the natural numbers: .
- and is the left and right projection on natural number pairs, respectively: and .
- is a 1-ary function that adds 2 to its input, .
- is a 1-ary function which returns 1 for every input: . That is, and are the same function: . In a similar way, every can be expressed as a composition of appropriately many and .
जोड़
2-एरी फ़ंक्शन की परिभाषा , इसके तर्कों के योग की गणना करने के लिए, प्रिमिटिव रिकर्सन ऑपरेटर का उपयोग करके प्राप्त किया जा सकता है . इसके लिए, प्रसिद्ध समीकरण
प्रिमिटिव रिकर्सिव फंक्शन टर्मिनोलॉजी में रीफ़्रेश किया गया है: की परिभाषा में , पहला समीकरण चुनने का सुझाव देता है प्राप्त करने के लिए ; दूसरा समीकरण चुनने का सुझाव देता है प्राप्त करने के लिए . इसलिए, अतिरिक्त फ़ंक्शन को इस रूप में परिभाषित किया जा सकता है . गणना उदाहरण के रूप में,
दोहरीकरण
दिया गया , 1-एरी फ़ंक्शन इसके तर्क को दोगुना करता है, .
गुणन
योग की तरह, गुणन को किसके द्वारा परिभाषित किया जा सकता है . यह प्रसिद्ध गुणा समीकरणों को पुन: उत्पन्न करता है:
- और
पूर्ववर्ती
पूर्ववर्ती कार्य उत्तराधिकारी कार्य के विपरीत कार्य करता है और नियमों द्वारा पुनरावर्ती रूप से परिभाषित किया जाता है और . एक प्राचीन पुनरावर्ती परिभाषा है . गणना उदाहरण के रूप में,
कटा हुआ घटाव
सीमित घटाव फ़ंक्शन (जिसे monus भी कहा जाता है, और निरूपित किया जाता है) पूर्ववर्ती कार्य से निश्चित है। यह समीकरणों को संतुष्ट करता है
चूंकि पुनरावर्तन दूसरे तर्क पर चलता है, हम उलटे घटाव की एक प्राचीन पुनरावर्ती परिभाषा के साथ शुरू करते हैं, . इसका पुनरावर्तन तब पहले तर्क पर चलता है, इसलिए इसकी प्राचीन पुनरावर्ती परिभाषा प्राप्त की जा सकती है, इसके अतिरिक्त, जैसा . उल्टे तर्क क्रम से छुटकारा पाने के लिए, फिर परिभाषित करें . गणना उदाहरण के रूप में,
विधेय को संख्यात्मक कार्यों में परिवर्तित करना
कुछ सेटिंग्स में प्राचीन पुनरावर्ती कार्यों पर विचार करना स्वाभाविक है जो इनपुट टुपल्स के रूप में लेते हैं जो सत्य मानों के साथ संख्याओं को मिलाते हैं (जो कि सत्य के लिए t है और गलत के लिए f है), या जो आउटपुट के रूप में सत्य मान उत्पन्न करते हैं।[2] इसे किसी निश्चित तरीके से संख्याओं के साथ सत्य मानों की पहचान करके पूरा किया जा सकता है। उदाहरण के लिए, संख्या 1 के साथ सत्य मान t और संख्या 0 के साथ सत्य मान f की पहचान करना आम है। एक बार यह पहचान हो जाने के बाद, सेट A का सूचक कार्य, जो हमेशा 1 या 0 देता है, हो सकता है एक विधेय के रूप में देखा जाता है जो बताता है कि सेट ए में कोई संख्या है या नहीं। संख्यात्मक कार्यों के साथ विधेय की ऐसी पहचान इस लेख के शेष भाग के लिए मानी जाएगी।
=== विधेय शून्य === है
प्राचीन पुनरावर्ती विधेय के लिए एक उदाहरण के रूप में, 1-एरी फ़ंक्शन इस प्रकार परिभाषित किया जाएगा अगर , और
, अन्यथा। इसे परिभाषित करके प्राप्त किया जा सकता है . तब, और उदा. .
विधेय कम या बराबर
संपत्ति का उपयोग करना , 2-एरी फ़ंक्शन द्वारा परिभाषित किया जा सकता है . तब अगर , और , अन्यथा। गणना उदाहरण के रूप में,
विधेय ग्रेटर या बराबर
एक बार की परिभाषा प्राप्त होता है, तो विलोम विधेय को इस प्रकार परिभाषित किया जा सकता है . तब, सत्य है (अधिक सटीक: मान 1 है) यदि, और केवल यदि, .
अगर-तो-और
प्रोग्रामिंग भाषाओं से ज्ञात 3-एरी if-then-else ऑपरेटर द्वारा परिभाषित किया जा सकता है . फिर, मनमानी के लिए ,
और
- .
वह है, तत्कालीन भाग देता है, , अगर-भाग, , सत्य है, और अन्य भाग, , अन्यथा।
जंक्शन
पर आधारित कार्य, तार्किक जंक्शनों को परिभाषित करना आसान है। उदाहरण के लिए परिभाषित करना , एक प्राप्त करता है , वह है, सच है अगर, और केवल अगर, दोनों और सत्य हैं (तार्किक संयोजन और ).
इसी प्रकार, और वियोजन और निषेध की उपयुक्त परिभाषाओं की ओर ले जाते हैं: और .
समानता विधेय
उपरोक्त कार्यों का उपयोग करना , और , मानहानि समानता विधेय को लागू करता है। वास्तव में, सच है अगर, और केवल अगर, के बराबर होती है .
इसी प्रकार, परिभाषा कम-से-कम विधेय को लागू करता है, और से अधिक लागू करता है।
प्राकृत संख्याओं पर अन्य संक्रियाएं
घातांक और प्रारंभिक परीक्षण प्राचीन पुनरावर्ती हैं। प्राचीन पुनरावर्ती कार्यों e, f, g, और h को देखते हुए, एक फ़ंक्शन जो e≤f होने पर g का मान लौटाता है और अन्यथा h का मान प्राचीन पुनरावर्ती होता है।
पूर्णांकों और परिमेय संख्याओं पर संक्रियाएं
गोडेल नंबरिंग का उपयोग करके, प्राचीन पुनरावर्ती कार्यों को पूर्णांक और परिमेय संख्याओं जैसे अन्य वस्तुओं पर संचालित करने के लिए बढ़ाया जा सकता है। यदि पूर्णांकों को गोडेल संख्याओं द्वारा एक मानक तरीके से एन्कोड किया जाता है, तो जोड़, घटाव और गुणा सहित अंकगणितीय संक्रियाएं सभी प्राचीन पुनरावर्ती हैं। इसी तरह, यदि परिमेय गोडेल संख्याओं द्वारा दर्शाए जाते हैं तो फ़ील्ड (गणित) संक्रियाएँ सभी प्राचीन पुनरावर्ती हैं।
कुछ सामान्य प्राचीन पुनरावर्ती कार्य
![]() | This section may require cleanup to meet Wikipedia's quality standards. The specific problem is: Remove functions and explanations that appear above. (November 2021) (Learn how and when to remove this template message) |
- निम्नलिखित उदाहरण और परिभाषाएं क्लेन (1952) पीपी 223-231 से हैं - कई प्रमाण के साथ दिखाई देते हैं। बूलोस-बर्गेस-जेफरी 2002 पीपी. 63-70 में अधिकांश समान नामों के साथ, या तो प्रमाण के रूप में या उदाहरण के रूप में दिखाई देते हैं; वे सटीक व्युत्पत्ति के आधार पर लघुगणक lo(x, y) या lg(x, y) जोड़ते हैं।
निम्नलिखित में हम देखते हैं कि प्राचीन पुनरावर्ती कार्य चार प्रकार के हो सकते हैं:
- संक्षेप में कार्य: संख्या-सैद्धांतिक कार्य {0, 1, 2, ...} से {0, 1, 2, ...} तक,
- विधेय: {0, 1, 2, ...} से सत्य मान {t =true, f =false},
- तर्कवाक्य संयोजक: सत्य मान {t, f} से सत्य मान {t, f},
- कार्यों का प्रतिनिधित्व: सत्य मान {टी, एफ} से {0, 1, 2, ...}। कई बार एक विधेय को विधेय के आउटपुट { t, f } को { 0, 1 } में बदलने के लिए एक प्रतिनिधित्व समारोह की आवश्यकता होती है (नीचे दिए गए ~sg ( ) के साथ क्रम t से 0 और f से 1 मिलान पर ध्यान दें)। परिभाषा के अनुसार एक फ़ंक्शन φ('x') विधेय P('x') का प्रतिनिधित्व करने वाला फ़ंक्शन है यदि φ केवल मान 0 और 1 लेता है और 0 उत्पन्न करता है जब P सत्य है।
निम्नलिखित में चिह्न ' , उदा. a', प्राचीन चिह्न है जिसका अर्थ उत्तराधिकारी है, जिसे सामान्यतः +1 के रूप में माना जाता है, उदा। एक +1 =def ए'। कार्य 16-20 और #G प्राचीन पुनरावर्ती विधेय को गोडेल संख्या के रूप में व्यक्त उनके अंकगणितीय रूप में परिवर्तित करने और उनसे निकालने के संबंध में विशेष रुचि रखते हैं।
- # जोड़: ए + बी
- गुणन: a×b
- # घातांक: एख</सुप>
- # फैक्टोरियल ए! : 0! = 1, ए'! = ए! × ए'
- # पूर्व (ए): (पूर्ववर्ती या कमी): यदि ए> 0 तो ए -1 और 0
- उचित घटाव a ∸ b: यदि a ≥ b तो a-b और 0
- # न्यूनतम (ए1, ... एn)
- # अधिकतम (ए1, ... एn)
- पूर्ण अंतर: | ए-बी | =def (ए ∸ बी) + (बी ∸ ए)
- ~sg(a): NOT[signum(a)]: अगर a=0 तो 1 और 0
- # एसजी (ए): साइनम (ए): यदि ए = 0 तो 0 और 1
- ए | b: (a b को विभाजित करता है): यदि b=k×a कुछ k के लिए तो 0 और 1
- Remainder(a, b): बचे हुए अगर b समान रूप से विभाजित नहीं करता है। एमओडी (ए, बी) भी कहा जाता है
- ए = बी: एसजी | ए - बी | (क्लीन की प्रथा को 0 से सत्य और 1 से असत्य का प्रतिनिधित्व करना था; वर्तमान में, विशेष रूप से कंप्यूटरों में, सबसे आम सम्मेलन रिवर्स है, अर्थात् 1 से सत्य और 0 से गलत का प्रतिनिधित्व करने के लिए, जो यहाँ और ~sg में sg को बदलने की मात्रा है। अगला आइटम)
- a < b: sg( a' ∸ b )
- Pr(a): a एक अभाज्य संख्या है Pr(a) =def a>1 और नहीं (मौजूद c)1<c<a [सी|ए]
- पीi: i+1-st अभाज्य संख्या
- (ए)i: पी के प्रतिपादकi a में: अद्वितीय x ऐसा है कि pix|a और NOT(piएक्स'|ए)
- # एलएच (ए): लंबाई या गायब न होने वाले घातांक की संख्या
- # लो (ए, बी): (आधार बी के लघुगणक): यदि ए, बी> 1 तो सबसे बड़ा एक्स ऐसा है कि बीएक्स </सुप> | एक अन्य 0
- निम्नलिखित में संक्षिप्त रूप 'x' =def एक्स1, ... एक्सn; अर्थ की आवश्यकता होने पर सबस्क्रिप्ट लागू किया जा सकता है।
- #A: एक फ़ंक्शन φ स्पष्ट रूप से फ़ंक्शन Ψ और स्थिरांक q से निश्चित है1, ... क्यूn Ψ में प्राचीन पुनरावर्ती है।
- #B: परिमित योग Σy<z ψ(x, y) और उत्पाद Πy<zψ(x, y) ψ में प्राचीन पुनरावर्ती हैं।
- #सी: एक विधेय पी कार्यों χ प्रतिस्थापन द्वारा प्राप्त किया1,..., एचm एक विधेय के संबंधित चर के लिए क्यू χ में प्राचीन पुनरावर्ती है1,..., एचm, क्यू।
- #D: निम्नलिखित विधेय Q और R में प्राचीन पुनरावर्ती हैं:
- NOT_Q('x') .
- * क्यू या आर: क्यू ('एक्स') वी आर ('एक्स'),
- * क्यू और आर: क्यू ('एक्स') और आर ('एक्स'),
- Q का तात्पर्य R: Q('x') → R('x')
- Q, R के समतुल्य है: Q('x') ≡ R('x')
- #E: निम्नलिखित विधेय R विधेय में प्राचीन पुनरावर्ती हैं:
- (अय)y<z आर (एक्स, वाई) जहां (ई)y<z इंगित करता है कि कम से कम एक y मौजूद है जो कि z से कम है
- (य)y<z आर (एक्स, वाई) जहां (वाई)y<z सभी y के लिए z से कम दर्शाता है यह सच है कि
- y<z आर (एक्स, वाई)। ऑपरेटर μyy<z R(x, y) तथाकथित न्यूनीकरण- या mu-ऑपरेटर का एक बाध्य रूप है: z से कम y के न्यूनतम मान के रूप में परिभाषित किया गया है जैसे कि R(x, y) सत्य है; या z यदि ऐसा कोई मान नहीं है।
- #F: मामलों द्वारा परिभाषा: इस प्रकार परिभाषित फ़ंक्शन, जहाँ Q1, ..., क्यूm पारस्परिक रूप से अनन्य विधेय हैं (या ψ('x') पहले खंड द्वारा दिया गया मान होगा जो लागू होता है), φ में प्राचीन पुनरावर्ती है1, ..., क्यू1, ... क्यूm:
- φ(x) =
- फी1(एक्स) अगर क्यू1(एक्स) सच है,
- . . . . . . . . . . . . . . . . . . .
- φm(एक्स) अगर क्यूm(एक्स) सच है
- φm+1(एक्स) अन्यथा
- φ(x) =
- #G: यदि φ समीकरण को संतुष्ट करता है:
- φ(y,x) = χ(y, COURSE-φ(y; x2, ... एक्सn ), एक्स2, ... एक्सn तो φ χ में प्राचीन पुनरावर्ती है। मान पाठ्यक्रम-φ(y; x2 to n ) कोर्स-ऑफ-वैल्यू फ़ंक्शन मानों के अनुक्रम को एन्कोड करता है φ(0,x2 to n), ..., φ(y-1,x2 to n) मूल समारोह का।
== पहले क्रम के पीनो अंकगणितीय == में प्रयोग करें
![]() | This section needs attention from an expert in computer science. The specific problem is: properly explain the purpose of using the β function (the text only explains *how* it is used, not *what for* - I guess in some Gödelian (un)computability proof).November 2021) ( |
प्रथम-क्रम तर्क में | प्रथम-क्रम पीआनो अंकगणित में असीमित रूप से कई चर (0-एरी प्रतीक) हैं, लेकिन कोई arity|k-ary गैर-तार्किक प्रतीक नहीं है जिसमें k>0 S, +, *, और ≤ के अलावा है। इस प्रकार प्राचीन पुनरावर्ती कार्यों को परिभाषित करने के लिए गोडेल द्वारा निम्नलिखित चाल का उपयोग करना होगा।
अनुक्रमों के लिए गोडेल नंबरिंग का उपयोग करके, उदाहरण के लिए गोडेल के β फ़ंक्शन, संख्याओं के किसी भी परिमित अनुक्रम को एक संख्या द्वारा एन्कोड किया जा सकता है। इस तरह की संख्या किसी दिए गए एन तक प्राचीन पुनरावर्ती फ़ंक्शन का प्रतिनिधित्व कर सकती है।
चलो एच एक 1-एरी प्राचीन पुनरावर्तन समारोह द्वारा परिभाषित किया गया है:
जहाँ C एक नियतांक है और g पहले से परिभाषित फलन है।
प्राकृतिक संख्याओं के किसी भी क्रम के लिए गोडेल के β फ़ंक्शन का उपयोग करना (k0, क1, ..., कn), प्राकृतिक संख्याएँ b और c ऐसी हैं कि, प्रत्येक i ≤ n के लिए, β(b, c, i) = ki. इस प्रकार हम h को परिभाषित करने के लिए निम्नलिखित सूत्र का उपयोग कर सकते हैं; अधिक सटीक रूप से, m=h(n) निम्नलिखित के लिए एक आशुलिपि है:
और जी के बराबर, पहले से ही परिभाषित किया जा रहा है, वास्तव में कुछ अन्य पहले से परिभाषित सूत्र के लिए आशुलिपि है (जैसा कि β है, जिसका सूत्र गोडेल का β फ़ंक्शन दिया गया है)।
किसी भी k-ary प्राचीन पुनरावर्तन समारोह का सामान्यीकरण तुच्छ है।
पुनरावर्ती कार्यों से संबंध
आंशिक पुनरावर्ती कार्यों के व्यापक वर्ग को ऑपरेटर में की शुरुआत करके परिभाषित किया गया है। इस ऑपरेटर के उपयोग के परिणामस्वरूप आंशिक फ़ंक्शन हो सकता है, अर्थात, प्रत्येक तर्क के लिए अधिकतम एक मान के साथ संबंध, लेकिन किसी भी तर्क के लिए कोई मान आवश्यक नहीं है (फ़ंक्शन का डोमेन देखें)। एक समतुल्य परिभाषा बताती है कि एक आंशिक पुनरावर्ती कार्य वह है जिसे ट्यूरिंग मशीन द्वारा गणना की जा सकती है। टोटल रिकर्सिव फंक्शन एक आंशिक रिकर्सिव फंक्शन है जिसे हर इनपुट के लिए परिभाषित किया गया है।
प्रत्येक प्राचीन पुनरावर्ती कार्य कुल पुनरावर्ती है, लेकिन सभी कुल पुनरावर्ती कार्य प्राचीन पुनरावर्ती नहीं हैं। एकरमैन समारोह ए (एम, एन) कुल पुनरावर्ती फ़ंक्शन (वास्तव में, सिद्ध करने योग्य कुल) का एक प्रसिद्ध उदाहरण है, जो प्राचीन पुनरावर्ती नहीं है। एकरमैन फ़ंक्शन का उपयोग करके कुल पुनरावर्ती कार्यों के सबसेट के रूप में प्राचीन पुनरावर्ती कार्यों का एक लक्षण वर्णन है। यह लक्षण वर्णन बताता है कि एक फ़ंक्शन प्राचीन पुनरावर्ती है यदि और केवल यदि कोई प्राकृतिक संख्या m है जैसे कि फ़ंक्शन की गणना ट्यूरिंग मशीन द्वारा की जा सकती है जो हमेशा A(m,n) या उससे कम चरणों में रुकती है, जहां n का योग है प्राचीन पुनरावर्ती क्रिया के तर्क।[3] प्राचीन पुनरावर्ती कार्यों की एक महत्वपूर्ण संपत्ति यह है कि वे सभी कुल पुनरावर्ती कार्यों के सेट का पुनरावर्ती रूप से गणना करने योग्य उपसमुच्चय हैं (जो स्वयं पुनरावर्ती गणना योग्य नहीं है)। इसका मतलब यह है कि एक एकल संगणनीय कार्य f(m,n) है जो प्राचीन पुनरावर्ती कार्यों की गणना करता है, अर्थात्:
- प्रत्येक प्राचीन पुनरावर्ती क्रिया g के लिए, एक m ऐसा है कि g(n) = f(m,n) सभी n के लिए, और
- प्रत्येक एम के लिए, फ़ंक्शन एच (एन) = एफ (एम, एन) प्राचीन पुनरावर्ती है।
च को प्राचीन पुनरावर्ती कार्यों को बनाने के सभी संभावित तरीकों को दोहराकर स्पष्ट रूप से बनाया जा सकता है। इस प्रकार, यह कुल साबित होता है। एक विकर्ण लेम्मा तर्क का उपयोग यह दिखाने के लिए कर सकता है कि f अपने आप में पुनरावर्ती प्राचीन नहीं है: यदि ऐसा होता, तो h(n) = f(n,n)+1 होता। लेकिन अगर यह कुछ प्राचीन पुनरावर्ती फ़ंक्शन के बराबर है, तो एक एम ऐसा है कि एच (एन) = एफ (एम, एन) सभी एन के लिए, और फिर एच (एम) = एफ (एम, एम), विरोधाभास के लिए अग्रणी।
हालाँकि, प्राचीन पुनरावर्ती कार्यों का सेट सभी कुल पुनरावर्ती कार्यों के सेट का सबसे बड़ा पुनरावर्ती गणनीय उपसमुच्चय नहीं है। उदाहरण के लिए, साबित कुल कार्यों का सेट (पीनो अंकगणित में) भी पुनरावर्ती गणना योग्य है, क्योंकि सिद्धांत के सभी सबूतों की गणना कर सकते हैं। जबकि सभी प्राचीन पुनरावर्ती कार्य सिद्ध रूप से कुल हैं, इसका विलोम सत्य नहीं है।
सीमाएं
प्राचीन पुनरावर्ती कार्य हमारे अंतर्ज्ञान के साथ बहुत निकटता से मेल खाते हैं कि एक संगणनीय कार्य क्या होना चाहिए। निश्चित रूप से प्रारंभिक कार्य सहज रूप से संगणनीय हैं (उनकी बहुत सरलता में), और दो ऑपरेशन जिनके द्वारा कोई नया प्राचीन पुनरावर्ती कार्य बना सकता है, वे भी बहुत सीधे हैं। हालाँकि, प्राचीन पुनरावर्ती कार्यों के सेट में हर संभव कुल गणना योग्य कार्य शामिल नहीं है - इसे कैंटर के विकर्ण तर्क के एक संस्करण के साथ देखा जा सकता है। यह तर्क कुल संगणनीय कार्य प्रदान करता है जो प्राचीन पुनरावर्ती नहीं है। सबूत का एक स्केच इस प्रकार है:
Now define the "evaluator function" ev with two arguments, by ev(i,j) = fi(j). Clearly ev is total and computable, since one can effectively determine the definition of fi, and being a primitive recursive function fi is itself total and computable, so fi(j) is always defined and effectively computable. However a diagonal argument will show that the function ev of two arguments is not primitive recursive.
Suppose ev were primitive recursive, then the unary function g defined by g(i) = S(ev(i,i)) would also be primitive recursive, as it is defined by composition from the successor function and ev. But then g occurs in the enumeration, so there is some number n such that g = fn. But now g(n) = S(ev(n,n)) = S(fn(n)) = S(g(n)) gives a contradiction.यह तर्क गणना योग्य (कुल) कार्यों के किसी भी वर्ग पर लागू किया जा सकता है जिसे इस तरह से गणना की जा सकती है, जैसा लेख मशीन में समझाया गया है जो हमेशा रुकता है। हालांकि ध्यान दें कि आंशिक संगणनीय कार्य (जिन्हें सभी तर्कों के लिए परिभाषित करने की आवश्यकता नहीं है) को स्पष्ट रूप से गणना की जा सकती है, उदाहरण के लिए ट्यूरिंग मशीन एन्कोडिंग की गणना करके।
कुल पुनरावर्ती लेकिन प्राचीन पुनरावर्ती कार्यों के अन्य उदाहरण ज्ञात नहीं हैं:
- फ़ंक्शन जो m को एकरमैन फ़ंक्शन(m,m) में ले जाता है वह एक एकल कुल पुनरावर्ती फ़ंक्शन है जो प्राचीन पुनरावर्ती नहीं है।
- पेरिस-हैरिंगटन प्रमेय में कुल पुनरावर्ती कार्य शामिल है जो प्राचीन पुनरावर्ती नहीं है।
- सूडान समारोह
- गुडस्टीन समारोह
वेरिएंट
लगातार कार्य
के बजाय , वैकल्पिक परिभाषाएँ केवल एक 0-एरी शून्य फ़ंक्शन का उपयोग करती हैं एक प्राचीन कार्य के रूप में जो हमेशा शून्य लौटाता है, और शून्य कार्य, उत्तराधिकारी कार्य और संरचना ऑपरेटर से निरंतर कार्यों का निर्माण करता है।
कमजोर प्राचीन पुनरावर्तन
1-स्थान का पूर्ववर्ती कार्य प्राचीन पुनरावर्ती है, अनुभाग #Predecessor देखें। फिशर, फिशर और बेगेल [4] प्रत्यावर्तन नियम से अंतर्निहित पूर्ववर्ती को हटा दिया, इसे कमजोर नियम से बदल दिया
उन्होंने साबित किया कि पूर्ववर्ती कार्य अभी भी परिभाषित किया जा सकता है, और इसलिए कमजोर प्राचीन पुनरावर्तन प्राचीन पुनरावर्ती कार्यों को भी परिभाषित करता है।
पुनरावृत्ति कार्य
कार्यों का उपयोग करके इसे और भी कमजोर कर रहा है arity k+1 का, हटाना और के तर्कों से पूरी तरह से, हमें पुनरावृति नियम मिलता है:
पुनरावृत्त कार्यों के वर्ग को उसी तरह परिभाषित किया जाता है जैसे इस कमजोर नियम को छोड़कर प्राचीन पुनरावर्ती कार्यों के वर्ग को। इन्हें प्राचीन पुनरावर्ती कार्यों का उचित उपसमुच्चय माना जाता है।[5]
अतिरिक्त प्राचीन पुनरावर्ती रूप
पुनरावर्तन के कुछ अतिरिक्त रूप भी उन कार्यों को परिभाषित करते हैं जो वास्तव में हैं प्राचीन पुनरावर्ती। इन रूपों में परिभाषाएँ खोजना आसान हो सकता है या पढ़ने या लिखने के लिए अधिक स्वाभाविक। कोर्स-ऑफ़-वैल्यू रिकर्सन प्राचीन पुनरावर्ती कार्यों को परिभाषित करता है। आपसी पुनरावर्तन के कुछ रूप प्राचीन पुनरावर्ती कार्यों को भी परिभाषित करते हैं।
LOOP (प्रोग्रामिंग लैंग्वेज) में जिन कार्यों को प्रोग्राम किया जा सकता है, वे वास्तव में प्राचीन पुनरावर्ती कार्य हैं। यह इन कार्यों की शक्ति का एक अलग लक्षण वर्णन करता है। ट्यूरिंग-पूर्ण भाषा की तुलना में LOOP भाषा की मुख्य सीमा यह है कि LOOP भाषा में लूप चलने से पहले प्रत्येक लूप चलने की संख्या निर्दिष्ट होती है।
कंप्यूटर भाषा परिभाषा
प्राचीन पुनरावर्ती प्रोग्रामिंग भाषा का एक उदाहरण वह है जिसमें बुनियादी अंकगणितीय ऑपरेटर (जैसे + और -, या ADD और SUBTRACT), सशर्त और तुलना (IF-THEN, EQUALS, LESS-THAN), और परिबद्ध लूप, जैसे बुनियादी शामिल हैं लूप के लिए, जहां सभी लूपों के लिए ज्ञात या गणना योग्य ऊपरी सीमा होती है (FOR i FROM 1 TO n, लूप बॉडी द्वारा न तो i और न ही संशोधित किया जा सकता है)। अधिक सामान्यता की कोई नियंत्रण संरचना, जैसे कि लूप या IF-THEN प्लस GOTO, प्राचीन पुनरावर्ती भाषा में स्वीकार नहीं की जाती है।
LOOP (प्रोग्रामिंग लैंग्वेज), 1967 में अल्बर्ट आर. मेयर और डेनिस एम. रिची द्वारा पेश किया गया,[6] एक ऐसी भाषा है। इसकी कंप्यूटिंग शक्ति प्राचीन पुनरावर्ती कार्यों के साथ मेल खाती है। LOOP भाषा का एक प्रकार है डगलस हॉफस्टाटर का ब्लूपी और गोडेल, एस्चेर, बाख में फ़्लूपी। अनबाउंड लूप्स (WHILE, GOTO) को जोड़ने से भाषा सामान्य पुनरावर्ती कार्य करती है और ट्यूरिंग पूर्णता | ट्यूरिंग-पूर्ण, जैसा कि सभी वास्तविक दुनिया की कंप्यूटर प्रोग्रामिंग भाषाएं हैं।
प्राचीन पुनरावर्ती कार्यों की परिभाषा का तात्पर्य है कि उनकी गणना हर इनपुट पर रुक जाती है (सीमित संख्या में चरणों के बाद)। दूसरी ओर, सामान्य पुनरावर्ती कार्यों के लिए रुकने की समस्या अनिर्णीत समस्या है, भले ही वे कुल कार्य हों। यही है, ऐसे प्रोग्राम हैं जो हर इनपुट पर रुकते हैं, लेकिन जिसके लिए इसे एल्गोरिथम द्वारा सत्यापित नहीं किया जा सकता है।
Finitism और संगति परिणाम
प्राचीन पुनरावर्ती कार्य गणितीय finitism से निकटता से संबंधित हैं, और गणितीय तर्क में कई संदर्भों में उपयोग किए जाते हैं जहाँ विशेष रूप से रचनात्मक प्रणाली वांछित होती है। प्राचीन पुनरावर्ती अंकगणित (PRA), प्राकृतिक संख्याओं के लिए एक औपचारिक स्वयंसिद्ध प्रणाली और उन पर प्राचीन पुनरावर्ती कार्यों का उपयोग अक्सर इस उद्देश्य के लिए किया जाता है।
पीआरए पीआनो अंकगणित की तुलना में बहुत कमजोर है, जो कि परिमित प्रणाली नहीं है। फिर भी, पीआरए में संख्या सिद्धांत और प्रूफ सिद्धांत में कई परिणाम सिद्ध किए जा सकते हैं। उदाहरण के लिए, गोडेल की अपूर्णता प्रमेय को निम्नलिखित प्रमेय देते हुए PRA में औपचारिक रूप दिया जा सकता है:
- यदि टी अंकगणित का एक सिद्धांत है जो कुछ परिकल्पनाओं को संतुष्ट करता है, गोडेल वाक्य जी के साथT, तो PRA निहितार्थ Con(T)→G को सिद्ध करता हैT.
इसी तरह, प्रूफ थ्योरी में कई सिंटैक्टिक परिणाम PRA में सिद्ध किए जा सकते हैं, जिसका अर्थ है कि प्राचीन पुनरावर्ती कार्य हैं जो प्रूफ के संबंधित सिंटैक्टिक ट्रांसफॉर्मेशन को अंजाम देते हैं।
प्रूफ थ्योरी और समुच्चय सिद्धान्त में, फ़िनिटिस्टिक कंसिस्टेंसी प्रूफ़ में दिलचस्पी है, यानी, कंसिस्टेंसी प्रूफ जो खुद फ़ाइनिस्टिक रूप से स्वीकार्य हैं। इस तरह का प्रमाण यह स्थापित करता है कि एक सिद्धांत टी की संगति का तात्पर्य एक सिद्धांत एस की संगति से है, जो एक प्राचीन पुनरावर्ती कार्य का निर्माण करता है, जो एस से असंगति के किसी भी प्रमाण को टी से असंगतता के प्रमाण में बदल सकता है। संगति प्रमाण के लिए एक पर्याप्त शर्त परिमित होना पीआरए में इसे औपचारिक रूप देने की क्षमता है। उदाहरण के लिए, सेट थ्योरी में कई संगति परिणाम जो कि फोर्सिंग (गणित) द्वारा प्राप्त किए जाते हैं, को सिंटैक्टिक प्रूफ के रूप में पुनर्गठित किया जा सकता है जिसे PRA में औपचारिक रूप दिया जा सकता है।
इतिहास
पहले पुनरावर्ती परिभाषाओं का गणित में अधिक या कम औपचारिक रूप से उपयोग किया गया था, लेकिन प्राचीन पुनरावर्तन के निर्माण का पता रिचर्ड डेडेकिंड के प्रमेय 126 में लगाया गया था, जो कि सिंड अंड सोलेन डाई ज़ाहलेन था? (1888)। यह कार्य सबसे पहले एक प्रमाण देने वाला था कि एक निश्चित पुनरावर्ती निर्माण एक अद्वितीय कार्य को परिभाषित करता है।[7][8][9] प्राचीन पुनरावर्ती अंकगणित सबसे पहले थोराल्फ़ स्कोलेम द्वारा प्रस्तावित किया गया था[10] 1923 में।
विल्हेम एकरमैन ने 1928 में साबित कर दिया था कि वर्तमान शब्दावली रोज़सा पेटर (1934) द्वारा गढ़ी गई थी, जो कि आज उनके नाम पर रखा गया कार्य प्राचीन पुनरावर्ती नहीं था, एक ऐसी घटना जिसने तब तक नाम बदलने की आवश्यकता को प्रेरित किया जब तक कि इसे केवल पुनरावर्ती कार्य कहा जाता था।[8][9]
यह भी देखें
- ग्रेज़गोर्स्की पदानुक्रम
- रिकर्सन (कंप्यूटर विज्ञान)
- प्राचीन पुनरावर्ती कार्यात्मक
- डबल रिकर्सन
- प्राचीन पुनरावर्ती सेट समारोह
- प्राचीन पुनरावर्ती क्रमिक कार्य
टिप्पणियाँ
- ↑ Brainerd and Landweber, 1974
- ↑ Kleene [1952 pp. 226–227]
- ↑ This follows from the facts that the functions of this form are the most quickly growing primitive recursive functions, and that a function is primitive recursive if and only if its time complexity is bounded by a primitive recursive function. For the former, see Linz, Peter (2011), An Introduction to Formal Languages and Automata, Jones & Bartlett Publishers, p. 332, ISBN 9781449615529. For the latter, see Moore, Cristopher; Mertens, Stephan (2011), The Nature of Computation, Oxford University Press, p. 287, ISBN 9780191620805
- ↑ Fischer, Fischer & Beigel 1989.
- ↑ M. Fischer, R. Fischer, R. Beigel. "Primitive Recursion without Implicit Predecessor".
{{cite journal}}
: Cite journal requires|journal=
(help)CS1 maint: multiple names: authors list (link) - ↑ Meyer, Albert R.; Ritchie, Dennis M. (1967). The complexity of loop programs. ACM '67: Proceedings of the 1967 22nd national conference. doi:10.1145/800196.806014.
- ↑ Peter Smith (2013). An Introduction to Gödel's Theorems (2nd ed.). Cambridge University Press. pp. 98–99. ISBN 978-1-107-02284-3.
- ↑ 8.0 8.1 George Tourlakis (2003). Lectures in Logic and Set Theory: Volume 1, Mathematical Logic. Cambridge University Press. p. 129. ISBN 978-1-139-43942-8.
- ↑ 9.0 9.1 Rod Downey, ed. (2014). Turing's Legacy: Developments from Turing's Ideas in Logic. Cambridge University Press. p. 474. ISBN 978-1-107-04348-0.
- ↑ Thoralf Skolem (1923) "The foundations of elementary arithmetic" in Jean van Heijenoort, translator and ed. (1967) From Frege to Gödel: A Source Book in Mathematical Logic, 1879-1931. Harvard Univ. Press: 302-33.
संदर्भ
- Brainerd, W.S., Landweber, L.H. (1974), Theory of Computation, Wiley, ISBN 0-471-09585-0
- Fischer, Michael J.; Fischer, Robert P.; Beigel, Richard (November 1989). "Primitive Recursion without Implicit Predecessor". ACM SIGACT News. 20 (4): 87–91. doi:10.1145/74074.74089. S2CID 33850327.
- Robert I. Soare, Recursively Enumerable Sets and Degrees, Springer-Verlag, 1987. ISBN 0-387-15299-7
- Stephen Kleene (1952) Introduction to Metamathematics, North-Holland Publishing Company, New York, 11th reprint 1971: (2nd edition notes added on 6th reprint). In Chapter XI. General Recursive Functions §57
- George Boolos, John Burgess, Richard Jeffrey (2002), Computability and Logic: Fourth Edition, Cambridge University Press, Cambridge, UK. Cf pp. 70–71.
- Robert I. Soare 1995 Computability and Recursion http://www.people.cs.uchicago.edu/~soare/History/compute.pdf
- Daniel Severin 2008, Unary primitive recursive functions, J. Symbolic Logic Volume 73, Issue 4, pp. 1122–1138 arXiv projecteuclid doi:10.2178/jsl/1230396909 JSTOR 275903221