मौलिक पुनरावर्ती फलन: Difference between revisions
No edit summary |
|||
(18 intermediate revisions by 4 users not shown) | |||
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> वास्तव में, यह दिखाने के लिए कि संगणनीय कार्य प्राचीन पुनरावर्ती है, यह दिखाने के लिए पर्याप्त है कि इसकी समय जटिलता इनपुट आकार के मौलिक पुनरावर्ती फलन से ऊपर है। इसलिए संगणनीय कार्य को तैयार करना इतना आसान नहीं है कि प्राचीन पुनरावर्ती नहीं है; कुछ उदाहरण नीचे अनुभाग § सीमाएँ में दिखाए गए हैं। | |||
[[कम्प्यूटेशनल जटिलता सिद्धांत]] में | [[कम्प्यूटेशनल जटिलता सिद्धांत]] में मौलिक पुनरावर्ती फलनों के सेट को [[पीआर (जटिलता)]] के रूप में जाना जाता है। | ||
== परिभाषा == | == परिभाषा == | ||
प्राचीन पुनरावर्ती फलन तर्कों की एक निश्चित संख्या लेता है, प्रत्येक [[प्राकृतिक संख्या]] (गैर-नकारात्मक पूर्णांक: {0, 1, 2, ...}), और एक प्राकृतिक संख्या देता है। यदि यह ''n'' तर्क लेता है तो इसे ''n''-ary कहा जाता है। | |||
बुनियादी | बुनियादी मौलिक पुनरावर्ती फलन इन [[स्वयंसिद्ध|स्वयंसिद्धों]] द्वारा दिए गए हैं: | ||
{{ordered list|start=1 | {{ordered list|start=1 | ||
Line 19: | Line 19: | ||
| 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='' | | 4=''मौलिक पुनरावर्ती फलन'' {{mvar|ρ}}: ''K''-ary फलन दिया गया है <math>g(x_1,\ldots,x_k)\,</math> और (''k'' + 2)-एरी फ़ंक्शन <math>h(y,z,x_1,\ldots,x_k)\,</math>:<math display="block">\begin{align} | ||
\rho(g, h) &\ \stackrel{\mathrm{def}}{=}\ f, \quad\text{where the }(k+1)\text{-ary function } f \text{ is defined by}\\ | \rho(g, h) &\ \stackrel{\mathrm{def}}{=}\ f, \quad\text{where the }(k+1)\text{-ary function } f \text{ is defined by}\\ | ||
f(0,x_1,\ldots,x_k) &= g(x_1,\ldots,x_k) \\ | f(0,x_1,\ldots,x_k) &= g(x_1,\ldots,x_k) \\ | ||
f(S(y),x_1,\ldots,x_k) &= h(y,f(y,x_1,\ldots,x_k),x_1,\ldots,x_k).\end{align}</math> | f(S(y),x_1,\ldots,x_k) &= h(y,f(y,x_1,\ldots,x_k),x_1,\ldots,x_k).\end{align}</math> | ||
व्याख्या: | ''व्याख्या:'' | ||
फलन ''f'' [[लूप के लिए|फॉर-लूप]] के रूप में 0 से इसके पहले तर्क के मान तक कार्य करता है। ''f'' के लिए बाकी तर्क, यहां ''x''<sub>1</sub>, ..., ''x''<sub>''k' से दर्शाए गए हैं '</sub>, फॉर-लूप के लिए प्रारंभिक शर्तों का एक सेट है जो गणना के दौरान इसके द्वारा उपयोग किया जा सकता है लेकिन जो इसके द्वारा अपरिवर्तनीय हैं। फ़ंक्शन ''g'' और ''h'' समीकरणों के दाईं ओर जो ''f'' को परिभाषित करते हैं, लूप के शरीर का प्रतिनिधित्व करते हैं, जो गणना करता है। फ़ंक्शन ''g'' का उपयोग प्रारंभिक गणना करने के लिए केवल एक बार किया जाता है। लूप के बाद के चरणों की गणना ''h'' द्वारा की जाती है। ''h'' का पहला पैरामीटर फॉर-लूप के इंडेक्स के "वर्तमान" मान को फीड किया जाता है। ''h'' का दूसरा पैरामीटर पिछले चरणों से, फॉर-लूप की पिछली गणनाओं का परिणाम है। ''h'' के लिए बाकी पैरामीटर पहले बताए गए फॉर-लूप के लिए अपरिवर्तनीय प्रारंभिक शर्तें हैं। उनका उपयोग ''h'' द्वारा गणना करने के लिए किया जा सकता है लेकिन वे स्वयं ''h'' द्वारा परिवर्तित नहीं होंगे। |फलन f 0 से इसके पहले तर्क के मान तक फॉर-लूप के रूप में कार्य करता है। f के लिए बाकी तर्क, यहाँ x से दर्शाए गए हैं<sub>1</sub>, ...,x<sub>''k''</sub>, फॉर-लूप के साथ निरूपित, फॉर-लूप के लिए प्रारंभिक शर्तों का एक सेट है, जिसका उपयोग इसके द्वारा गणना के दौरान किया जा सकता है, लेकिन जो इसके द्वारा अपरिवर्तनीय हैं। फलन g और h समीकरणों के दाईं ओर जो f को परिभाषित करते हैं, लूप के शरीर का प्रतिनिधित्व करते हैं, जो गणना करता है। प्रारंभिक गणना करने के लिए फलन g का उपयोग केवल एक बार किया जाता है। लूप के बाद के चरणों की गणना एच द्वारा की जाती है। एच के पहले पैरामीटर को फॉर-लूप के इंडेक्स का "वर्तमान" मान खिलाया जाता है। h का दूसरा पैरामीटर पिछले चरणों से फॉर-लूप की पिछली गणनाओं का परिणाम है। एच के लिए बाकी पैरामीटर पहले बताए गए फॉर-लूप के लिए अपरिवर्तनीय प्रारंभिक शर्तें हैं। उनका उपयोग h द्वारा गणना करने के लिए किया जा सकता है लेकिन वे स्वयं h द्वारा परिवर्तित नहीं होंगे। | |||
}} | }} | ||
' | 'मौलिक पुनरावर्ती फलन' मूल कार्य हैं और इन कार्यों को सीमित संख्या में लागू करके मूल कार्यों से प्राप्त किए जाते हैं। | ||
== उदाहरण == | == उदाहरण == | ||
Line 36: | Line 35: | ||
{{unordered list | {{unordered list | ||
|<math>C_0^1</math> एक 1-एरी | |<math>C_0^1</math> एक 1-एरी फलन है जो रिटर्न देता है <math>0</math>प्रत्येक इनपुट के लिए:<math>C_ 0^1 (x) = 0</math>. | ||
|<math>C_1^1</math> एक 1-एरी | |<math>C_1^1</math> एक 1-एरी फलन है जो रिटर्न देता है | ||
1 प्रत्येक इनपुट के लिए :<math></math> <math>C_1^1(x) = 1</math>. | 1 प्रत्येक इनपुट के लिए :<math></math> <math>C_1^1(x) = 1</math>. | ||
|<math>C_3^0</math> एक 0-एरी | |<math>C_3^0</math> एक 0-एरी फलन है, यानी स्थिर:<math>C_3^0 = 3</math>. | ||
|<math>P_1^1</math> प्राकृतिक संख्याओं पर पहचान कार्य है:: <math>P_1^1(x) = x</math>. | |<math>P_1^1</math> प्राकृतिक संख्याओं पर पहचान कार्य है:: <math>P_1^1(x) = x</math>. | ||
Line 48: | Line 47: | ||
|<math>P_1^2</math> and <math>P_2^2</math> प्राकृतिक संख्या युग्मों पर क्रमशः बाएँ और दाएँ प्रक्षेपण है: <math>P_1^2(x,y) = x</math> and <math>P_2^2(x,y) = y</math>. | |<math>P_1^2</math> and <math>P_2^2</math> प्राकृतिक संख्या युग्मों पर क्रमशः बाएँ और दाएँ प्रक्षेपण है: <math>P_1^2(x,y) = x</math> and <math>P_2^2(x,y) = y</math>. | ||
|<math>S \circ S</math>एक 1-एरी | |<math>S \circ S</math>एक 1-एरी फलन है जो इसके इनपुट में 2 जोड़ता है,<math>(S \circ S)(x) = x+2</math>. | ||
|<math>S \circ C_0^1</math> | |<math>S \circ C_0^1</math> | ||
एक 1-एरी | एक 1-एरी फलन है जो प्रत्येक इनपुट के लिए 1 लौटाता है: <math>(S \circ C_0^1)(x) = S(C_0^1(x)) = S(0) = 1</math>. That is, <math>S \circ C_0^1</math>और <math>C_1^1</math> एक ही कार्य हैं: <math>S \circ C_0^1 = C_1^1</math>. इसी तरह, हर<math>C_n^1</math> उचित रूप से कई की रचना के रूप में व्यक्त किया जा सकता है <math>S</math>और <math>C_0^1</math>. | ||
}} | }} | ||
=== जोड़ === | === जोड़ === | ||
2-एरी | 2-एरी फलन की परिभाषा <math>Add</math>, इसके तर्कों के योग की गणना करने के लिए, प्रिमिटिव रिकर्सन ऑपरेटर का उपयोग करके प्राप्त किया जा सकता है <math>\rho</math>. इसके लिए, प्रसिद्ध समीकरण | ||
:<math>\begin{array}{rcll} | :<math>\begin{array}{rcll} | ||
0+y & = & y & \text{ and} \\ | 0+y & = & y & \text{ and} \\ | ||
S(x)+y & = & S(x+y) & . \\ | S(x)+y & = & S(x+y) & . \\ | ||
\end{array}</math> | \end{array}</math> | ||
"मौलिक पुनरावर्ती फलन शब्दावली में पुनर्प्रकाशित" हैं: की परिभाषा में <math>\rho(g,h)</math>, पहला समीकरण चुनने का सुझाव देता है <math>g = P_1^1</math> प्राप्त करने के लिए <math>Add(0,y) = g(y) = y</math>; दूसरा समीकरण चुनने का सुझाव देता है <math>h = S \circ P_2^3</math> प्राप्त करने के लिए <math>Add(S(x),y) = h(x,Add(x,y),y) = (S \circ P_2^3)(x,Add(x,y),y) = S(Add(x,y))</math>. इसलिए, अतिरिक्त फलन को इस रूप में परिभाषित किया जा सकता है <math>Add = \rho(P_1^1,S \circ P_2^3)</math>. गणना उदाहरण के रूप में, | |||
" | |||
:<math>\begin{array}{lll} | :<math>\begin{array}{lll} | ||
& Add(1,7) \\ | & Add(1,7) \\ | ||
Line 73: | Line 71: | ||
= & 8 & \text{ by Def. } S . \\ | = & 8 & \text{ by Def. } S . \\ | ||
\end{array}</math> | \end{array}</math> | ||
=== दोहरीकरण === | === दोहरीकरण === | ||
दिया गया <math>Add</math>, 1-एरी | दिया गया <math>Add</math>, 1-एरी फलन <math>Add \circ (P_1^1,P_1^1)</math> इसके तर्क को दोगुना करता है, <math>(Add \circ (P_1^1,P_1^1))(x) = Add(x,x) = x+x</math>. | ||
=== गुणन === | === गुणन === | ||
Line 95: | Line 91: | ||
= & Mul(x,y)+y & \text{ by property of } Add . \\ | = & Mul(x,y)+y & \text{ by property of } Add . \\ | ||
\end{array}</math> | \end{array}</math> | ||
=== पूर्ववर्ती === | === पूर्ववर्ती === | ||
पूर्ववर्ती कार्य उत्तराधिकारी कार्य के विपरीत कार्य करता है और नियमों द्वारा पुनरावर्ती रूप से परिभाषित किया जाता है <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 106: | Line 100: | ||
= & 7 & \text{ by Def. } P_1^2 . \\ | = & 7 & \text{ by Def. } P_1^2 . \\ | ||
\end{array}</math> | \end{array}</math> | ||
=== कटा हुआ घटाव === | === कटा हुआ घटाव === | ||
सीमित घटाव | सीमित घटाव फलन (जिसे [[monus|मोनस]] भी कहा जाता है, और निरूपित किया जाता है<math>\stackrel.-</math>) पूर्ववर्ती कार्य से निश्चित है। यह समीकरणों को संतुष्ट करता है | ||
:<math>\begin{array}{rcll} | :<math>\begin{array}{rcll} | ||
y \stackrel.- 0 & = & y & \text{and} \\ | y \stackrel.- 0 & = & y & \text{and} \\ | ||
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 120: | ||
= & 7 & \text{ by property of } Pred . \\ | = & 7 & \text{ by property of } Pred . \\ | ||
\end{array}</math> | \end{array}</math> | ||
=== विधेय को संख्यात्मक कार्यों में परिवर्तित करना === | === विधेय को संख्यात्मक कार्यों में परिवर्तित करना === | ||
कुछ सेटिंग्स में | कुछ सेटिंग्स में मौलिक पुनरावर्ती फलनों पर विचार करना स्वाभाविक है,जो इनपुट के रूप में लेते हैं जो सत्य मानों के साथ संख्याओं को मिलाते हैं (जो कि सत्य के लिए 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>x \leq y \iff x \stackrel.- y = 0</math>, 2-एरी | संपत्ति का उपयोग करना <math>x \leq y \iff x \stackrel.- y = 0</math>, 2-एरी फलन <math>Leq</math> द्वारा परिभाषित किया जा सकता है <math>Leq = IsZero \circ Sub</math>. तब <math>Leq(x,y) = 1</math> यदि <math>x \leq y</math>, और <math>Leq(x,y) = 0</math>, अन्यथा। गणना उदाहरण के रूप में, | ||
:<math>\begin{array}{lll} | :<math>\begin{array}{lll} | ||
& Leq(8,3) \\ | & Leq(8,3) \\ | ||
Line 148: | Line 139: | ||
= & 0 & \text{ by property of } IsZero \\ | = & 0 & \text{ by property of } IsZero \\ | ||
\end{array}</math> | \end{array}</math> | ||
=== विधेय ग्रेटर या बराबर === | === विधेय ग्रेटर या बराबर === | ||
एक बार की परिभाषा <math>Leq</math> प्राप्त होता है, तो विलोम विधेय को इस प्रकार परिभाषित किया जा सकता है <math>Geq = Leq \circ (P_2^2,P_1^2)</math>. तब, <math>Geq(x,y) = Leq(y,x)</math> सत्य है (अधिक | एक बार की परिभाषा <math>Leq</math> प्राप्त होता है, तो विलोम विधेय को इस प्रकार परिभाषित किया जा सकता है <math>Geq = Leq \circ (P_2^2,P_1^2)</math>. तब, <math>Geq(x,y) = Leq(y,x)</math> सत्य है (अधिक त्रुटिहीन: मान 1 है) यदि, और केवल यदि, <math>x \geq y</math>. | ||
=== | === यदि-तो-और === | ||
प्रोग्रामिंग भाषाओं से ज्ञात 3-एरी if-then-else ऑपरेटर द्वारा परिभाषित किया जा सकता है <math>\textit{If} = \rho(P_2^2,P_3^4)</math>. फिर, मनमानी के लिए <math>x</math>, | प्रोग्रामिंग भाषाओं से ज्ञात 3-एरी if-then-else ऑपरेटर द्वारा परिभाषित किया जा सकता है <math>\textit{If} = \rho(P_2^2,P_3^4)</math>. फिर, मनमानी के लिए <math>x</math>, | ||
Line 170: | Line 159: | ||
= & z & \text{ by Def. } P_2^2 . \\ | = & z & \text{ by Def. } P_2^2 . \\ | ||
\end{array}</math>. | \end{array}</math>. | ||
वह है, <math>\textit{If}(x,y,z)</math> तत्कालीन भाग देता है, <math>y</math>, | वह है, <math>\textit{If}(x,y,z)</math> तत्कालीन भाग देता है, <math>y</math>, यदि-भाग, <math>x</math>, सत्य है, और अन्य भाग, <math>z</math>, अन्यथा। | ||
=== जंक्शन === | === जंक्शन === | ||
पर आधारित <math>\textit{If}</math> कार्य, तार्किक जंक्शनों को परिभाषित करना आसान है। उदाहरण के लिए परिभाषित करना <math>And = \textit{If} \circ (P_1^2,P_2^2,C_0^2)</math>, एक प्राप्त करता है <math>And(x,y) = \textit{If}(x,y,0)</math>, वह है, <math>And(x,y)</math> सच है | पर आधारित <math>\textit{If}</math> कार्य, तार्किक जंक्शनों को परिभाषित करना आसान है। उदाहरण के लिए परिभाषित करना <math>And = \textit{If} \circ (P_1^2,P_2^2,C_0^2)</math>, एक प्राप्त करता है <math>And(x,y) = \textit{If}(x,y,0)</math>, वह है, <math>And(x,y)</math> सच है यदि, और केवल यदि, दोनों <math>x</math> और <math>y</math> सत्य हैं ([[तार्किक संयोजन]] <math>x</math> और <math>y</math>). | ||
इसी प्रकार, <math>Or = \textit{If} \circ (P_1^2,C_1^2,P_2^2)</math> और <math>Not = \textit{If} \circ (P_1^1,C_0^1,C_1^1)</math> वियोजन और निषेध की उपयुक्त परिभाषाओं की ओर ले जाते हैं: <math>Or(x,y) = \textit{If}(x,1,y)</math> और <math>Not(x) = \textit{If}(x,0,1)</math>. | इसी प्रकार, <math>Or = \textit{If} \circ (P_1^2,C_1^2,P_2^2)</math> और <math>Not = \textit{If} \circ (P_1^1,C_0^1,C_1^1)</math> वियोजन और निषेध की उपयुक्त परिभाषाओं की ओर ले जाते हैं: <math>Or(x,y) = \textit{If}(x,1,y)</math> और <math>Not(x) = \textit{If}(x,0,1)</math>. | ||
Line 180: | Line 169: | ||
=== समानता विधेय === | === समानता विधेय === | ||
उपरोक्त कार्यों का उपयोग करना <math>Leq</math>, <math>Geq</math> और <math>And</math>, मानहानि <math>Eq = And \circ (Leq, Geq)</math> समानता विधेय को लागू करता है। वास्तव में, <math>Eq(x,y) = And( Leq(x,y) , Geq(x,y) )</math> सच है | उपरोक्त कार्यों का उपयोग करना <math>Leq</math>, <math>Geq</math> और <math>And</math>, मानहानि <math>Eq = And \circ (Leq, Geq)</math> समानता विधेय को लागू करता है। वास्तव में, <math>Eq(x,y) = And( Leq(x,y) , Geq(x,y) )</math> सच है यदि, और केवल यदि, <math>x</math> के बराबर होती है <math>y</math>. | ||
इसी प्रकार, परिभाषा <math>Lt = Not \circ Geq</math> कम-से-कम विधेय को लागू करता है, और <math>Gt = Not \circ Leq</math> से अधिक लागू करता है। | इसी प्रकार, परिभाषा <math>Lt = Not \circ Geq</math> कम-से-कम विधेय को लागू करता है, और <math>Gt = Not \circ Leq</math> से अधिक लागू करता है। | ||
Line 186: | Line 175: | ||
=== प्राकृत संख्याओं पर अन्य संक्रियाएं === | === प्राकृत संख्याओं पर अन्य संक्रियाएं === | ||
[[घातांक]] और [[प्रारंभिक परीक्षण]] प्राचीन पुनरावर्ती हैं। | [[घातांक]] और [[प्रारंभिक परीक्षण]] प्राचीन पुनरावर्ती हैं। मौलिक पुनरावर्ती फलनों e, f, g, और h को देखते हुए, एक फलन जो e≤f होने पर g का मान लौटाता है और अन्यथा h का मान प्राचीन पुनरावर्ती होता है। | ||
=== पूर्णांकों और परिमेय संख्याओं पर संक्रियाएं === | === पूर्णांकों और परिमेय संख्याओं पर संक्रियाएं === | ||
गोडेल नंबरिंग का उपयोग करके, | गोडेल नंबरिंग का उपयोग करके, मौलिक पुनरावर्ती फलनों को पूर्णांक और परिमेय संख्याओं जैसे अन्य वस्तुओं पर संचालित करने के लिए बढ़ाया जा सकता है। यदि पूर्णांकों को गोडेल संख्याओं द्वारा मानक विधि से एन्कोड किया जाता है, तो जोड़, घटाव और गुणा सहित अंकगणितीय संक्रियाएं सभी प्राचीन पुनरावर्ती हैं। इसी तरह, यदि परिमेय गोडेल संख्याओं द्वारा दर्शाए जाते हैं तो फ़ील्ड (गणित) संक्रियाएँ सभी प्राचीन पुनरावर्ती हैं। | ||
=== कुछ सामान्य | === कुछ सामान्य मौलिक पुनरावर्ती फलन === | ||
: निम्नलिखित उदाहरण और परिभाषाएँ क्लेन (1952) पीपी. 223–231 से हैं - कई सबूतों के साथ दिखाई देते हैं। बूलोस-बर्गेस-जेफरी 2002 पीपी। 63-70 में अधिकांश समान नामों के साथ, या तो प्रमाण के रूप में या उदाहरण के रूप में दिखाई देते हैं; वे त्रुटिहीन व्युत्पत्ति के आधार पर लघुगणक lo(x, y) या lg(x, y) जोड़ते हैं। | |||
: निम्नलिखित उदाहरण और परिभाषाएँ क्लेन (1952) पीपी. 223–231 से हैं - कई सबूतों के साथ दिखाई देते हैं। बूलोस-बर्गेस-जेफरी 2002 पीपी। 63-70 में अधिकांश समान नामों के साथ, या तो प्रमाण के रूप में या उदाहरण के रूप में दिखाई देते हैं; वे | |||
निम्नलिखित में हम देखते हैं कि आदिम पुनरावर्ती कार्य चार प्रकार के हो सकते हैं: | निम्नलिखित में हम देखते हैं कि आदिम पुनरावर्ती कार्य चार प्रकार के हो सकते हैं: | ||
Line 200: | Line 188: | ||
# विधेय: {0, 1, 2, ...} से सत्य मान {t =सत्य, f =असत्य}, | # विधेय: {0, 1, 2, ...} से सत्य मान {t =सत्य, f =असत्य}, | ||
# तर्कवाक्य संयोजक: सत्य मान {t, f} से सत्य मान {t, f}, | # तर्कवाक्य संयोजक: सत्य मान {t, f} से सत्य मान {t, f}, | ||
# कार्यों का प्रतिनिधित्व: सत्य मान {टी, एफ} से {0, 1, 2, ...}। कई बार एक विधेय को विधेय के आउटपुट { t, f } को { 0, 1 } में परिवर्तित करने के लिए एक प्रतिनिधित्व | # कार्यों का प्रतिनिधित्व: सत्य मान {टी, एफ} से {0, 1, 2, ...}। कई बार एक विधेय को विधेय के आउटपुट { t, f } को { 0, 1 } में परिवर्तित करने के लिए एक प्रतिनिधित्व फलन की आवश्यकता होती है (~sg() परिभाषित के साथ "t" से "0" और "f" से "1" के क्रम पर ध्यान दें नीचे)। परिभाषा के अनुसार एक फलन φ(x) विधेय P(x) का एक "प्रतिनिधित्व फलन" है यदि φ केवल मान 0 और 1 लेता है और 0 उत्पन्न करता है जब P सत्य है"। | ||
निम्नलिखित में चिह्न "'", उदा. a' आदिम चिह्न है जिसका अर्थ है "का उत्तराधिकारी", | निम्नलिखित में चिह्न " ' ", उदा. a' आदिम चिह्न है जिसका अर्थ है "का उत्तराधिकारी", सामान्यतः " +1", के रूप में माना जाता है, उदा a +1 = डीईएफ़ a'। कार्यों 16-20 और #G आदिम पुनरावर्ती विधेय को परिवर्तित करने और उन्हें निकालने के संबंध में विशेष रुचि रखते हैं, उनके "अंकगणितीय" रूप को गोडेल संख्या के रूप में व्यक्त किया गया है। | ||
:* जोड़: | :* जोड़: a+b | ||
:* गुणन: a×b | :* गुणन: a×b | ||
* घातांक: a<sup>b</sup> | ** घातांक: a<sup>b</sup> | ||
:* क्रमगुणित ए! : 0! = 1, | :* क्रमगुणित ए! :0! = 1, a'! = a!×a' | ||
:* पूर्ववर्ती ( | :* पूर्ववर्ती (a): (पूर्ववर्ती या कमी): यदि a > 0 तो a-1 और 0 | ||
:* उचित घटाव a ∸ b: यदि a ≥ b तो a-b और 0 | :* उचित घटाव a ∸ b: यदि a ≥ b तो a-b और 0 | ||
:* न्यूनतम ( | :* न्यूनतम (a<sub>1</sub>, ... a<sub>n</sub>) | ||
:* अधिकतम ( | :* अधिकतम (a<sub>1</sub>, ... a<sub>n</sub>) | ||
:* पूर्ण अंतर: | | :* पूर्ण अंतर: | a-b | =<sub>def</sub> (a ∸ b) + (b ∸ a) | ||
:* ~sg(a): NOT[signum(a)]: | :* ~sg(a): NOT[signum(a)]: यदि a=0 तो 1 और 0 | ||
: | : sg(a): signum a: यदि a=0 तो 0 और 1 | ||
:# | :#a | b: (a b को विभाजित करता है): यदि b=k×a कुछ k के लिए तो 0 और 1 | ||
:# | :# शेष (a, b): बचे हुए यदि बी "समान रूप से" विभाजित नहीं करता है। एमओडी (a, b) भी कहा जाता है | ||
:# | :# a = b: sg | a - b | (क्लीन की प्रथा 0 से सत्य और 1 से असत्य का प्रतिनिधित्व करना था; वर्तमान में, विशेष रूप से कंप्यूटर में, सबसे आम सम्मेलन रिवर्स है, अर्थात् 1 से सत्य और 0 से गलत का प्रतिनिधित्व करने के लिए, जो यहाँ और sg में ~sg को बदलने की मात्रा है। अगला आइटम) | ||
:# a < b: sg( a' ∸ b ) | :# a < b:: sg( a' ∸ b) | ||
:# Pr(a): a एक अभाज्य संख्या है Pr(a) =<sub>def</sub> a>1 | :# Pr(a): a एक अभाज्य संख्या है Pr(a) =<sub>def</sub> a>1 & NOT(उपस्थित c)<sub>1<c<a</sub> [ c|a ] | ||
:# | :#p<sub>i</sub>: i+1-st अभाज्य संख्या | ||
:# ( | :#(a)<sub>i</sub>: a में pi का प्रतिपादक: अद्वितीय x ऐसा है कि p<sub>i</sub><sup>x</sup>|a & NOT(p<sub>i</sub><sup>x'</sup>|a) | ||
: # | :#lh(a): "लंबाई" या गैर-लुप्त होने वाले xपोनेंट्स की संख्या | ||
: # | :#lo(a, b): (आधार b का लघुगणक): यदि a, b > 1 तो सबसे बड़ा x ऐसा है कि b<sup>x</sup> | a अन्य 0 | ||
: निम्नलिखित में संक्षिप्त रूप 'x' =<sub>def</sub> | : निम्नलिखित में संक्षिप्त रूप 'x' =<sub>def</sub> x<sub>1</sub>, ... x<sub>n</sub>; अर्थ की आवश्यकता होने पर सबस्क्रिप्ट लागू किया जा सकता है। | ||
* #A: एक | * #A: एक फलन φ स्पष्ट रूप से फलन Ψ और स्थिरांक q से निश्चित है q<sub>1</sub>, ... q<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) ψ में प्राचीन पुनरावर्ती हैं। | ||
* # | * #C: एक ''विधेय'' पी कार्यों χ प्रतिस्थापन द्वारा प्राप्त कियाχ<sub>1</sub>,..., χ<sub>m</sub> एक विधेय के संबंधित चर के लिए Q χ में प्राचीन पुनरावर्ती है χ<sub>1</sub>,..., χ<sub>m</sub>, Q | ||
* #D: निम्नलिखित विधेय Q और R में प्राचीन पुनरावर्ती हैं: | * #D: निम्नलिखित विधेय Q और R में प्राचीन पुनरावर्ती हैं: | ||
::* NOT_Q('x') . | ::* NOT_Q('x') . | ||
:: * | :: * Q OR R: Q('''x''') V R('''x'''), | ||
:: * | :: * Q और R: Q('''x''') & R('''x'''), | ||
::* 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 विधेय में प्राचीन पुनरावर्ती हैं: | ||
::* ( | ::* (Ey)<sub>y<z</sub> R('''x''', y) जहां(Ey)<sub>y<z</sub> इंगित करता है कि कम से कम एक y उपस्थित है जो कि z से कम है | ||
::* ( | ::* (y)<sub>y<z</sub> R('''x''', y) जहां (y)<sub>y<z</sub> सभी y के लिए z से कम दर्शाता है यह सच है कि | ||
::*<sub>y<z</sub> | ::*μy<sub>y<z</sub> R('''x''', y)। ऑपरेटर μy<sub>y<z</sub> R('''x''', y) तथाकथित न्यूनीकरण- या mu-ऑपरेटर का एक ''बाध्य'' रूप है: z से कम y के न्यूनतम मान के रूप में परिभाषित किया गया है जैसे कि R('''x''', y) सत्य है; या z यदि ऐसा कोई मान नहीं है। | ||
* #F: | * #F: स्थितियों द्वारा परिभाषा: इस प्रकार परिभाषित फ़ंक्शन, जहां Q1, ..., Q<sub>1</sub>, ..., Q<sub>m</sub> पारस्परिक रूप से अनन्य विधेय हैं पारस्परिक रूप से अनन्य विधेय हैं (या "ψ(x) में पहले खंड द्वारा दिया गया मान होगा जो लागू होता है), φ<sub>1</sub>, ..., Q<sub>1</sub>, ... Q<sub>m</sub>में प्राचीन पुनरावर्ती है: | ||
:: φ(x) = | :: φ(x) = | ||
::* | ::* φ<sub>1</sub>(x) यदि Q<sub>1</sub> (x) सच है, | ||
::* . . . . . . . . . . . . . . . . . . . | ::* . . . . . . . . . . . . . . . . . . . | ||
::* φ<sub>m</sub>( | ::* φ<sub>m</sub>(x) यदि Q<sub>m</sub>(x) सच है | ||
::* φ<sub>m+1</sub>( | ::* φ<sub>m+1</sub>(x) अन्यथा | ||
* #G: यदि φ समीकरण को संतुष्ट करता है: | * #G: यदि φ समीकरण को संतुष्ट करता है: | ||
:: φ(y,x) = χ(y, COURSE-φ(y; x<sub>2</sub>, ... | :: φ(y,x) = χ(y, COURSE-φ(y; x<sub>2</sub>, ... x<sub>n</sub> ), x<sub>2</sub>, ... x<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>) मूल फलन का। | ||
== पहले क्रम के पीनो अंकगणितीय | === पहले क्रम के पीनो अंकगणितीय में प्रयोग करें === | ||
प्रथम-क्रम तर्क में | प्रथम-क्रम पीआनो अंकगणित में असीमित रूप से कई चर (0-एरी प्रतीक) हैं, लेकिन कोई k-ary गैर-तार्किक प्रतीक नहीं है जिसमें k>0 S, +, *, और ≤ के अतिरिक्त है। इस प्रकार मौलिक पुनरावर्ती फलनों को परिभाषित करने के लिए गोडेल द्वारा निम्नलिखित चाल का उपयोग करना होगा। | |||
अनुक्रमों के लिए गोडेल नंबरिंग का उपयोग करके, उदाहरण के लिए गोडेल के β | अनुक्रमों के लिए गोडेल नंबरिंग का उपयोग करके, उदाहरण के लिए गोडेल के β फलन, संख्याओं के किसी भी परिमित अनुक्रम को एक संख्या द्वारा एन्कोड किया जा सकता है। इस तरह की संख्या किसी दिए गए एन तक प्राचीन पुनरावर्ती फलन का प्रतिनिधित्व कर सकती है। | ||
चलो एच एक 1- | चलो एच एक 1-ary प्रारंभिक पुनरावर्तन फलन द्वारा परिभाषित किया गया है: | ||
:<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> | ||
जहाँ C एक नियतांक है और g पहले से परिभाषित फलन है। | जहाँ C एक नियतांक है और g पहले से परिभाषित फलन है। | ||
प्राकृतिक संख्याओं के किसी भी क्रम के लिए गोडेल के β | प्राकृतिक संख्याओं के किसी भी क्रम के लिए गोडेल के β फलन का उपयोग करना (k<sub>0</sub>, k<sub>1</sub>, ..., k<sub>n</sub>), प्राकृतिक संख्याएँ b और c ऐसी हैं कि, प्रत्येक i ≤ n के लिए, β(b, c, i) = k<sub>i</sub>. इस प्रकार हम h को परिभाषित करने के लिए निम्नलिखित सूत्र का उपयोग कर सकते हैं; अधिक त्रुटिहीन रूप से, m=h(n) निम्नलिखित के लिए एक आशुलिपि है: | ||
:<math>\exists b: \exists c: \beta(b, c, 0) = C \land \forall i: (i<n) \rightarrow (\beta(b, c, i+1) = g(i,\beta(b, c, i))) \land (m = \beta(b, c, n))</math> | :<math>\exists b: \exists c: \beta(b, c, 0) = C \land \forall i: (i<n) \rightarrow (\beta(b, c, i+1) = g(i,\beta(b, c, i))) \land (m = \beta(b, c, n))</math> | ||
और जी के बराबर, पहले से ही परिभाषित किया जा रहा है, वास्तव में कुछ अन्य पहले से परिभाषित सूत्र के लिए आशुलिपि है (जैसा कि β है, जिसका सूत्र गोडेल का β | और जी के बराबर, पहले से ही परिभाषित किया जा रहा है, वास्तव में कुछ अन्य पहले से परिभाषित सूत्र के लिए आशुलिपि है (जैसा कि β है, जिसका सूत्र गोडेल का β फलन दिया गया है)। | ||
किसी भी k-ary | किसी भी k-ary प्रारंभिक पुनरावर्तन फलन का सामान्यीकरण तुच्छ है। | ||
== पुनरावर्ती कार्यों से संबंध == | == पुनरावर्ती कार्यों से संबंध == | ||
[[आंशिक पुनरावर्ती कार्य]] | [[आंशिक पुनरावर्ती कार्य|आंशिक पुनरावर्ती कार्यों]] के व्यापक वर्ग को असीमित खोज [[ऑपरेटर में|ऑपरेटर]] की प्रारंभ करके परिभाषित किया गया है। इस ऑपरेटर के उपयोग के परिणामस्वरूप आंशिक फलन हो सकता है, अर्थात, प्रत्येक तर्क के लिए अधिकतम एक मान के साथ संबंध, लेकिन किसी भी तर्क के लिए कोई मान आवश्यक नहीं है (डोमेन देखें)। समतुल्य परिभाषा बताती है कि एक आंशिक पुनरावर्ती कार्य वह है जिसे [[ट्यूरिंग मशीन]] द्वारा गणना की जा सकती है। टोटल रिकर्सिव फंक्शन एक आंशिक रिकर्सिव फंक्शन है जिसे हर इनपुट के लिए परिभाषित किया गया है। | ||
प्रत्येक | प्रत्येक मौलिक पुनरावर्ती फलन कुल पुनरावर्ती है, लेकिन सभी कुल पुनरावर्ती कार्य प्राचीन पुनरावर्ती नहीं हैं। [[एकरमैन समारोह|एकरमैन फलन]] A(''m'',''n'') कुल पुनरावर्ती फलन (वास्तव में, सिद्ध करने योग्य कुल) का एक प्रसिद्ध उदाहरण है, जो प्राचीन पुनरावर्ती नहीं है। एकरमैन फलन का उपयोग करके कुल पुनरावर्ती कार्यों के सबसेट के रूप में मौलिक पुनरावर्ती फलनों का लक्षण वर्णन है। यह लक्षण वर्णन बताता है कि एक फलन प्राचीन पुनरावर्ती है, यदि कोई प्राकृतिक संख्या 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 के लिए, और | * प्रत्येक प्राचीन पुनरावर्ती क्रिया g के लिए, एक m ऐसा है कि g(n) = f(m,n) सभी n के लिए, और | ||
* प्रत्येक एम के लिए, | * प्रत्येक एम के लिए, फलन ''h''(''n'') = ''f''(''m'',''n'') प्राचीन पुनरावर्ती है। | ||
''f'' को मौलिक पुनरावर्ती फलनों को बनाने के सभी संभावित तरीकों को दोहराकर स्पष्ट रूप से बनाया जा सकता है। इस प्रकार, यह कुल प्रमाण होता है। [[विकर्ण लेम्मा]] तर्क का उपयोग यह दिखाने के लिए कर सकता है कि f अपने आप में पुनरावर्ती प्राचीन नहीं है: यदि ऐसा होता, तो h(n) = f(n,n)+1 होता। लेकिन यदि यह कुछ प्राचीन पुनरावर्ती फलन के बराबर है, तो एम ऐसा है कि h(n) = f(m,n) सभी एन के लिए, और फिर एच (एम) = एफ (एम, एम), विरोधाभास के लिए अग्रणी। | |||
चूँकि, मौलिक पुनरावर्ती फलनों का सेट सभी कुल पुनरावर्ती कार्यों के सेट का सबसे बड़ा पुनरावर्ती गणनीय उपसमुच्चय नहीं है। उदाहरण के लिए, प्रमाण कुल कार्यों का सेट (पीनो अंकगणित में) भी पुनरावर्ती गणना योग्य है, क्योंकि सिद्धांत के सभी सबूतों की गणना कर सकते हैं। जबकि सभी मौलिक पुनरावर्ती फलन सिद्ध रूप से कुल हैं, इसका विलोम सत्य नहीं है। | |||
== सीमाएं == | == सीमाएं == | ||
मौलिक पुनरावर्ती फलन हमारे अंतर्ज्ञान के साथ बहुत निकटता से मेल खाते हैं कि संगणनीय कार्य क्या होना चाहिए। निश्चित रूप से प्रारंभिक कार्य सहज रूप से संगणनीय हैं (उनकी बहुत सरलता में), और दो ऑपरेशन जिनके द्वारा कोई नया मौलिक पुनरावर्ती फलन बना सकता है, वे भी बहुत सीधे हैं। चूँकि, मौलिक पुनरावर्ती फलनों के सेट में हर संभव कुल गणना योग्य कार्य सम्मलित नहीं है - इसे कैंटर के विकर्ण तर्क के संस्करण के साथ देखा जा सकता है। यह तर्क कुल संगणनीय कार्य प्रदान करता है जो प्राचीन पुनरावर्ती नहीं है। सबूत का एक स्केच इस प्रकार है: | |||
{{block indent| | {{block indent|तर्क के आदिम पुनरावर्ती कार्य (अर्थात, एकात्मक कार्य) [[पुनरावर्ती रूप से गणना करने योग्य सेट | संगणनीय रूप से गणना]] हो सकते हैं। यह गणन आदिम पुनरावर्ती कार्यों की परिभाषाओं का उपयोग करता है (जो अनिवार्य रूप से रचना और आदिम पुनरावर्ती संचालन के साथ ऑपरेटरों के रूप में और परमाणुओं के रूप में बुनियादी आदिम पुनरावर्ती कार्यों के साथ अभिव्यक्ति हैं), और यह माना जा सकता है कि हर परिभाषा एक बार, भले ही एक ही हो। 'फ़ंक्शन'' सूची में कई बार होगा (चूंकि कई परिभाषाएं एक ही फ़ंक्शन को परिभाषित करती हैं; वास्तव में केवल [[पहचान फ़ंक्शन]] द्वारा रचने से किसी एक आदिम पुनरावर्ती फ़ंक्शन की असीम रूप से कई परिभाषाएँ उत्पन्न होती हैं)। इसका अर्थ है कि{{mvar|''n''}}-thइस गणना में आदिम पुनरावर्ती फलन की परिभाषा प्रभावी रूप से {{mvar|''n''}}. से निर्धारित की जा सकती है। वास्तव में यदि कोई [[गोडेल नंबरिंग]] का उपयोग संख्याओं के रूप में परिभाषाओं को सांकेतिक शब्दों में बदलने के लिए करता है, तो यह {{mvar|''n''}}-thसूची में वें परिभाषा की गणना {{mvar|'' के आदिम पुनरावर्ती कार्य द्वारा की जाती है। एन''}}। माना {{mvar|''n''}}. दर्शाता है {{math|''f''<sub>''n''</sub>}} इस परिभाषा द्वारा दिए गए यूनरी प्रिमिटिव रिकर्सिव फंक्शन को निरूपित करें। | ||
अब "मूल्यांकनकर्ता फ़ंक्शन" को परिभाषित करें {{mvar|''ev''}} दो तर्कों के साथ, द्वारा {{math|''ev''(''i'',''j'') {{=}} ''f''<sub>''i''</sub>(''j'')}}.स्पष्ट रूप से {{math|''ev''}} कुल और संगणनीय है, क्योंकि कोई प्रभावी रूप से इसकी परिभाषा निर्धारित कर सकता है{{math|''f''<sub>''i''</sub>}}, और एक प्राचीन पुनरावर्ती कार्य किया जा रहा है{{math|''f''<sub>''i''</sub>}}स्वयं कुल और गणना योग्य है, इसलिए {{math|''f''<sub>''i''</sub>(''j'')}} हमेशा परिभाषित और प्रभावी ढंग से संगणनीय है। हालांकि एक विकर्ण तर्क दिखाएगा कि {{mvar|''ev''}} दो तर्कों का आदिम पुनरावर्ती नहीं है। | अब "मूल्यांकनकर्ता फ़ंक्शन" को परिभाषित करें {{mvar|''ev''}} दो तर्कों के साथ, द्वारा {{math|''ev''(''i'',''j'') {{=}} ''f''<sub>''i''</sub>(''j'')}}.स्पष्ट रूप से {{math|''ev''}} कुल और संगणनीय है, क्योंकि कोई प्रभावी रूप से इसकी परिभाषा निर्धारित कर सकता है{{math|''f''<sub>''i''</sub>}}, और एक प्राचीन पुनरावर्ती कार्य किया जा रहा है{{math|''f''<sub>''i''</sub>}}स्वयं कुल और गणना योग्य है, इसलिए {{math|''f''<sub>''i''</sub>(''j'')}} हमेशा परिभाषित और प्रभावी ढंग से संगणनीय है। हालांकि एक विकर्ण तर्क दिखाएगा कि {{mvar|''ev''}} दो तर्कों का आदिम पुनरावर्ती नहीं है। | ||
कल्पना करना {{mvar|''ev''}} आदिम पुनरावर्ती थे, फिर एकात्मक कार्य{{mvar|''g''}} द्वारा परिभाषित {{math|''g''(''i'') {{=}} S(''ev''(''i'',''i''))}} आदिम पुनरावर्ती भी होगा, क्योंकि यह उत्तराधिकारी समारोह से संरचना द्वारा परिभाषित किया गया है और {{mvar|''ev''}}.परन्तु फिर {{mvar|''g''}} गणना में होता है, इसलिए कुछ संख्या होती है {{mvar|''n''}} ऐसा है कि{{math|''g'' {{=}} ''f''<sub>''n''</sub>}}. पर अब{{math|''g''(''n'') {{=}} S(''ev''(''n'',''n'')) {{=}} S(''f''<sub>''n''</sub>(''n'')) {{=}} S(''g''(''n''))}} | कल्पना करना {{mvar|''ev''}} आदिम पुनरावर्ती थे, फिर एकात्मक कार्य{{mvar|''g''}} द्वारा परिभाषित {{math|''g''(''i'') {{=}} S(''ev''(''i'',''i''))}} आदिम पुनरावर्ती भी होगा, क्योंकि यह उत्तराधिकारी समारोह से संरचना द्वारा परिभाषित किया गया है और {{mvar|''ev''}}.परन्तु फिर {{mvar|''g''}} गणना में होता है, इसलिए कुछ संख्या होती है {{mvar|''n''}} ऐसा है कि{{math|''g'' {{=}} ''f''<sub>''n''</sub>}}. पर अब{{math|''g''(''n'') {{=}} S(''ev''(''n'',''n'')) {{=}} S(''f''<sub>''n''</sub>(''n'')) {{=}} S(''g''(''n''))}} | ||
विरोधाभास देता है।}} | विरोधाभास देता है।}} | ||
यह तर्क गणना योग्य (कुल) कार्यों के किसी भी वर्ग पर लागू किया जा सकता है जिसे इस तरह से गणना की जा सकती है, जैसा लेख मशीन में समझाया गया है जो हमेशा रुकता है। | यह तर्क गणना योग्य (कुल) कार्यों के किसी भी वर्ग पर लागू किया जा सकता है जिसे इस तरह से गणना की जा सकती है, जैसा लेख मशीन में समझाया गया है जो हमेशा रुकता है। चूँकि ध्यान दें कि आंशिक संगणनीय कार्य (जिन्हें सभी तर्कों के लिए परिभाषित करने की आवश्यकता नहीं है) को स्पष्ट रूप से गणना की जा सकती है, उदाहरण के लिए ट्यूरिंग मशीन एन्कोडिंग की गणना करके। | ||
कुल पुनरावर्ती लेकिन | कुल पुनरावर्ती लेकिन मौलिक पुनरावर्ती फलनों के अन्य उदाहरण ज्ञात नहीं हैं: | ||
* | *फलन जो m को एकरमैन फलन(m,m) में ले जाता है वह एक एकल कुल पुनरावर्ती फलन है जो प्राचीन पुनरावर्ती नहीं है। | ||
*पेरिस-हैरिंगटन प्रमेय में कुल पुनरावर्ती कार्य | *पेरिस-हैरिंगटन प्रमेय में कुल पुनरावर्ती कार्य सम्मलित है जो प्राचीन पुनरावर्ती नहीं है। | ||
* [[सूडान समारोह]] | * [[सूडान समारोह|सूडान फलन]] | ||
* [[गुडस्टीन समारोह]] | * [[गुडस्टीन समारोह|गुडस्टीन फलन]] | ||
== वेरिएंट == | == वेरिएंट == | ||
Line 299: | Line 288: | ||
=== लगातार कार्य === | === लगातार कार्य === | ||
के बजाय <math>C_n^k</math>, | के बजाय <math>C_n^k</math>, | ||
वैकल्पिक परिभाषाएँ केवल एक 0-एरी शून्य | वैकल्पिक परिभाषाएँ केवल एक 0-एरी शून्य फलन का उपयोग करती हैं <math>C_0^0</math> एक प्राचीन कार्य के रूप में जो हमेशा शून्य लौटाता है, और शून्य कार्य, उत्तराधिकारी कार्य और संरचना ऑपरेटर से निरंतर कार्यों का निर्माण करता है। | ||
=== कमजोर | === कमजोर प्रारंभिक पुनरावर्तन === | ||
1-स्थान का पूर्ववर्ती कार्य प्राचीन पुनरावर्ती है, अनुभाग #Predecessor देखें। फिशर, फिशर और बेगेल {{sfn|Fischer|Fischer|Beigel|1989}} प्रत्यावर्तन नियम से अंतर्निहित पूर्ववर्ती को हटा दिया, इसे कमजोर नियम से बदल दिया | 1-स्थान का पूर्ववर्ती कार्य प्राचीन पुनरावर्ती है, अनुभाग #Predecessor देखें। फिशर, फिशर और बेगेल {{sfn|Fischer|Fischer|Beigel|1989}} प्रत्यावर्तन नियम से अंतर्निहित पूर्ववर्ती को हटा दिया, इसे कमजोर नियम से बदल दिया | ||
:<math> | :<math> | ||
Line 309: | Line 298: | ||
\end{array} | \end{array} | ||
</math> | </math> | ||
उन्होंने | उन्होंने प्रमाण किया कि पूर्ववर्ती कार्य अभी भी परिभाषित किया जा सकता है, और इसलिए कमजोर प्रारंभिक पुनरावर्तन मौलिक पुनरावर्ती फलनों को भी परिभाषित करता है। | ||
=== पुनरावृत्ति कार्य === | === पुनरावृत्ति कार्य === | ||
Line 315: | Line 304: | ||
<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> | |||
=== अतिरिक्त प्राचीन पुनरावर्ती रूप === | === अतिरिक्त प्राचीन पुनरावर्ती रूप === | ||
पुनरावर्तन के कुछ अतिरिक्त रूप भी उन कार्यों को परिभाषित करते हैं जो वास्तव में हैं | पुनरावर्तन के कुछ अतिरिक्त रूप भी उन कार्यों को परिभाषित करते हैं जो वास्तव में हैं | ||
प्राचीन पुनरावर्ती इन रूपों में परिभाषाएँ खोजना आसान हो सकता है या | |||
पढ़ने या लिखने के लिए अधिक स्वाभाविक। [[कोर्स-ऑफ़-वैल्यू रिकर्सन]] मौलिक पुनरावर्ती फलनों को परिभाषित करता है। [[आपसी पुनरावर्तन]] के कुछ रूप मौलिक पुनरावर्ती फलनों को भी परिभाषित करते हैं। | |||
लूप (प्रोग्रामिंग लैंग्वेज) में जिन कार्यों को प्रोग्राम किया जा सकता है, वे वास्तव में मौलिक पुनरावर्ती फलन हैं। यह इन कार्यों की शक्ति का एक अलग लक्षण वर्णन करता है। [[ट्यूरिंग-पूर्ण भाषा]] की तुलना में लूप भाषा की मुख्य सीमा यह है कि लूप भाषा में लूप चलने से पहले प्रत्येक लूप चलने की संख्या निर्दिष्ट होती है। | |||
=== कंप्यूटर भाषा परिभाषा === | === कंप्यूटर भाषा परिभाषा === | ||
प्राचीन पुनरावर्ती प्रोग्रामिंग भाषा का | प्राचीन पुनरावर्ती प्रोग्रामिंग भाषा का उदाहरण वह है जिसमें बुनियादी अंकगणितीय ऑपरेटर (जैसे + और -, या ADD और SUBTRACT), सशर्त और तुलना (IF-THEN, EQUALS, LESS-THAN), और परिबद्ध लूप, जैसे बुनियादी सम्मलित हैं लूप के लिए, जहां सभी लूपों के लिए ज्ञात या गणना योग्य ऊपरी सीमा होती है (FOR i FROM 1 TO n, लूप बॉडी द्वारा न तो i और न ही संशोधित किया जा सकता है)। अधिक सामान्यता की कोई नियंत्रण संरचना, जैसे कि लूप या IF-THEN प्लस [[GOTO]], प्राचीन पुनरावर्ती भाषा में स्वीकार नहीं की जाती है। | ||
लूप (प्रोग्रामिंग लैंग्वेज), 1967 में अल्बर्ट आर. मेयर और डेनिस एम. रिची द्वारा प्रस्तुत किया गया,<ref>{{cite conference | |||
| doi=10.1145/800196.806014 | | doi=10.1145/800196.806014 | ||
| title=The complexity of loop programs | | title=The complexity of loop programs | ||
Line 342: | Line 331: | ||
| year=1967 | | year=1967 | ||
| doi-access=free | | doi-access=free | ||
}}</ref> एक ऐसी भाषा है। इसकी कंप्यूटिंग शक्ति | }}</ref> एक ऐसी भाषा है। इसकी कंप्यूटिंग शक्ति मौलिक पुनरावर्ती फलनों के साथ मेल खाती है। लूप भाषा का एक प्रकार है [[डगलस हॉफस्टाटर]] का ब्लूपी और गोडेल, एस्चेर, बाख में फ़्लूपी। अनबाउंड लूप्स (WHILE, GOTO) को जोड़ने से भाषा सामान्य पुनरावर्ती कार्य करती है और [[ट्यूरिंग पूर्णता]] | ट्यूरिंग-पूर्ण, जैसा कि सभी वास्तविक दुनिया की कंप्यूटर प्रोग्रामिंग भाषाएं हैं। | ||
मौलिक पुनरावर्ती फलनों की परिभाषा का तात्पर्य है कि उनकी गणना हर इनपुट पर रुक जाती है (सीमित संख्या में चरणों के बाद)। दूसरी ओर, सामान्य पुनरावर्ती कार्यों के लिए [[रुकने की समस्या]] [[अनिर्णीत समस्या]] है, यदिवे कुल कार्य हों। यही है, ऐसे प्रोग्राम हैं जो हर इनपुट पर रुकते हैं, लेकिन जिसके लिए इसे एल्गोरिथम द्वारा सत्यापित नहीं किया जा सकता है। | |||
== फिनिटिज्म और संगति परिणाम == | == फिनिटिज्म और संगति परिणाम == | ||
मौलिक पुनरावर्ती फलन गणितीय [[Finitism|फ़िनिटिज़्म]] से निकटता से संबंधित हैं, और गणितीय तर्क में कई संदर्भों में उपयोग किए जाते हैं जहाँ विशेष रूप से रचनात्मक प्रणाली वांछित होती है। [[आदिम पुनरावर्ती अंकगणित]] (पीआरए), प्राकृतिक संख्याओं के लिए एक औपचारिक स्वयंसिद्ध प्रणाली और उन पर आदिम पुनरावर्ती कार्यों का उपयोग अधिकांशतः इस उद्देश्य के लिए किया जाता है। | |||
पीआरए पीआनो अंकगणित की तुलना में बहुत कमजोर है, जो कि परिमित प्रणाली नहीं है। फिर भी, पीआरए में संख्या सिद्धांत और प्रूफ सिद्धांत में कई परिणाम सिद्ध किए जा सकते हैं। उदाहरण के लिए, गोडेल की अपूर्णता प्रमेय को निम्नलिखित प्रमेय देते हुए पीआरए में औपचारिक रूप दिया जा सकता है: | पीआरए पीआनो अंकगणित की तुलना में बहुत कमजोर है, जो कि परिमित प्रणाली नहीं है। फिर भी, पीआरए में संख्या सिद्धांत और प्रूफ सिद्धांत में कई परिणाम सिद्ध किए जा सकते हैं। उदाहरण के लिए, गोडेल की अपूर्णता प्रमेय को निम्नलिखित प्रमेय देते हुए पीआरए में औपचारिक रूप दिया जा सकता है: | ||
: यदि ''T'' | : यदि ''T'' गोडेल वाक्य ''G<sub>T</sub>'', के साथ कुछ परिकल्पनाओं को संतुष्ट करने वाला अंकगणित का सिद्धांत है, तो पीआरए निहितार्थ 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> | ||
प्राचीन पुनरावर्ती अंकगणित पहली बार '''1923 में [[थोराल्फ़ स्कोलेम]]''' <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> द्वारा प्रस्तावित किया गया था।। | |||
[[विल्हेम एकरमैन|'''विल्हेम एकरमैन''']] द्वारा 1928 में यह प्रमाण करने के बाद कि वर्तमान शब्दावली को रोज़ा पेटर (1934) द्वारा गढ़ा गया था कि आज जिस फलन का नाम उनके नाम पर रखा गया है, वह आदिम पुनरावर्ती नहीं था, एक ऐसी घटना जिसने उस समय तक नाम बदलने की आवश्यकता को प्रेरित किया जिसे केवल पुनरावर्ती कार्य कहा जाता था।<ref name="Tourlakis2003" /><ref name="Downey2014" /> | |||
== यह भी देखें == | == यह भी देखें == | ||
* ग्रेज़गोर्स्की पदानुक्रम | * ग्रेज़गोर्स्की पदानुक्रम | ||
* [[रिकर्सन (कंप्यूटर विज्ञान)]] | * [[रिकर्सन (कंप्यूटर विज्ञान)]] | ||
* [[आदिम पुनरावर्ती कार्यात्मक| | * [[आदिम पुनरावर्ती कार्यात्मक|मौलिक पुनरावर्ती फलनात्मक]] | ||
* [[डबल रिकर्सन]] | * [[डबल रिकर्सन]] | ||
* [[आदिम पुनरावर्ती सेट समारोह|प्राचीन पुनरावर्ती सेट | * [[आदिम पुनरावर्ती सेट समारोह|प्राचीन पुनरावर्ती सेट फलन]] | ||
* [[आदिम पुनरावर्ती क्रमिक कार्य|प्राचीन पुनरावर्ती क्रमिक कार्य]] | * [[आदिम पुनरावर्ती क्रमिक कार्य|प्राचीन पुनरावर्ती क्रमिक कार्य]] | ||
Line 380: | Line 366: | ||
* Brainerd, W.S., Landweber, L.H. (1974), ''Theory of Computation'', Wiley, {{isbn|0-471-09585-0}} | * Brainerd, W.S., Landweber, L.H. (1974), ''Theory of Computation'', Wiley, {{isbn|0-471-09585-0}} | ||
* {{cite journal | last1=Fischer | first1=Michael J. | last2=Fischer | first2=Robert P. | last3=Beigel | first3=Richard | title=Primitive Recursion without Implicit Predecessor | journal=[[ACM SIGACT|ACM SIGACT News]] | date=November 1989 | volume=20| issue=4| pages=87–91 | url=https://doi.org/10.1145/74074.74089 | doi=10.1145/74074.74089| s2cid=33850327 }} | * {{cite journal | last1=Fischer | first1=Michael J. | last2=Fischer | first2=Robert P. | last3=Beigel | first3=Richard | title=Primitive Recursion without Implicit Predecessor | journal=[[ACM SIGACT|ACM SIGACT News]] | date=November 1989 | volume=20| issue=4| pages=87–91 | url=https://doi.org/10.1145/74074.74089 | doi=10.1145/74074.74089| s2cid=33850327 }} | ||
* [[Robert I. Soare]], ''Recursively Enumerable Sets and Degrees'', Springer-Verlag, 1987. | * [[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 | * [[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 P. Burgess|John Burgess]], [[Richard Jeffrey]] (2002), ''Computability and Logic: Fourth Edition'', Cambridge University Press, Cambridge, UK. Cf pp. 70–71. | * [[George Boolos]], [[John P. Burgess|John Burgess]], [[Richard Jeffrey]] (2002), ''Computability and Logic: Fourth Edition'', Cambridge University Press, Cambridge, UK. Cf pp. 70–71. | ||
Line 386: | Line 372: | ||
* Daniel Severin 2008, ''Unary primitive recursive functions'', J. Symbolic Logic Volume 73, Issue 4, pp. 1122–1138 [https://arxiv.org/abs/cs/0603063v3 arXiv] [https://projecteuclid.org/euclid.jsl/1230396909 projecteuclid] {{doi|10.2178/jsl/1230396909}} {{JSTOR|275903221}} | * Daniel Severin 2008, ''Unary primitive recursive functions'', J. Symbolic Logic Volume 73, Issue 4, pp. 1122–1138 [https://arxiv.org/abs/cs/0603063v3 arXiv] [https://projecteuclid.org/euclid.jsl/1230396909 projecteuclid] {{doi|10.2178/jsl/1230396909}} {{JSTOR|275903221}} | ||
[[Category:CS1 errors]] | |||
[[Category:CS1 maint]] | |||
[[Category: | |||
[[Category:Created On 03/02/2023]] | [[Category:Created On 03/02/2023]] | ||
[[Category:Lua-based templates]] | |||
[[Category:Machine Translated Page]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Short description with empty Wikidata description]] | |||
[[Category:Templates Vigyan Ready]] | |||
[[Category:Templates that add a tracking category]] | |||
[[Category:Templates that generate short descriptions]] | |||
[[Category:Templates using TemplateData]] | |||
[[Category:कार्य और मानचित्रण]] | |||
[[Category:प्रत्यावर्तन]] | |||
[[Category:संगणना का सिद्धांत]] | |||
[[Category:संगणनीयता सिद्धांत]] |
Latest revision as of 16:55, 24 February 2023
कम्प्यूटेबिलिटी सिद्धांत में, मौलिक पुनरावर्ती फलन, एक ऐसा कार्य है जिसकी गणना कंप्यूटर प्रोग्राम द्वारा की जा सकती है, जिसके लूप सभी "फॉर" लूप हैं लूप के लिए (अर्थात, प्रत्येक लूप के पुनरावृत्तियों की संख्या की ऊपरी सीमा पहले निर्धारित की जा सकती है) मौलिक पुनरावर्ती फलन उन सामान्य पुनरावर्ती कार्यो का एक सख्त उपसमुच्चय बनाते हैं जो कुल कार्य भी हैं।
मौलिक पुनरावर्ती फलनों का महत्व इस तथ्य में निहित है कि संख्या सिद्धांत (और सामान्यतः गणित में) में अध्ययन किए जाने वाले अधिकांश संगणनीय कार्य प्राचीन पुनरावर्ती हैं। उदाहरण के लिए, योग और विभाजन (गणित), क्रमगुणित और चरघातांकी फलन, और जो फलन n अभाज्य को लौटाता है, सभी प्राचीन पुनरावर्ती हैं। [1] वास्तव में, यह दिखाने के लिए कि संगणनीय कार्य प्राचीन पुनरावर्ती है, यह दिखाने के लिए पर्याप्त है कि इसकी समय जटिलता इनपुट आकार के मौलिक पुनरावर्ती फलन से ऊपर है। इसलिए संगणनीय कार्य को तैयार करना इतना आसान नहीं है कि प्राचीन पुनरावर्ती नहीं है; कुछ उदाहरण नीचे अनुभाग § सीमाएँ में दिखाए गए हैं।
कम्प्यूटेशनल जटिलता सिद्धांत में मौलिक पुनरावर्ती फलनों के सेट को पीआर (जटिलता) के रूप में जाना जाता है।
परिभाषा
प्राचीन पुनरावर्ती फलन तर्कों की एक निश्चित संख्या लेता है, प्रत्येक प्राकृतिक संख्या (गैर-नकारात्मक पूर्णांक: {0, 1, 2, ...}), और एक प्राकृतिक संख्या देता है। यदि यह n तर्क लेता है तो इसे n-ary कहा जाता है।
बुनियादी मौलिक पुनरावर्ती फलन इन स्वयंसिद्धों द्वारा दिए गए हैं:
- 'लगातार कार्य Ck n: प्रत्येक प्राकृतिक संख्या के लिए n और हर k,के लिए k-ary नियतांक फलन, द्वारा परिभाषित , प्राचीन पुनरावर्ती है।
- उत्तराधिकारी फलन: 1-ऐरी उत्तरवर्ती फलन S, जो अपने तर्क का परवर्ती लौटाता है (पीनो अभिधारणाएं देखें), अर्थात्, , प्राचीन पुनरावर्ती है।
- प्रोजेक्शन फंक्शन : सभी प्राकृतिक संख्याओं के लिए ऐसा है कि , k-ary फ़ंक्शन द्वारा परिभाषित प्राचीन पुनरावर्ती है।
इन स्वयंसिद्धों द्वारा दिए गए कार्यों को लागू करके अधिक जटिल मौलिक पुनरावर्ती फलन प्राप्त किए जा सकते हैं:
- फलन f 0 से इसके पहले तर्क के मान तक फॉर-लूप के रूप में कार्य करता है। f के लिए बाकी तर्क, यहाँ x से दर्शाए गए हैं1, ...,xk, फॉर-लूप के साथ निरूपित, फॉर-लूप के लिए प्रारंभिक शर्तों का एक सेट है, जिसका उपयोग इसके द्वारा गणना के दौरान किया जा सकता है, लेकिन जो इसके द्वारा अपरिवर्तनीय हैं। फलन g और h समीकरणों के दाईं ओर जो f को परिभाषित करते हैं, लूप के शरीर का प्रतिनिधित्व करते हैं, जो गणना करता है। प्रारंभिक गणना करने के लिए फलन g का उपयोग केवल एक बार किया जाता है। लूप के बाद के चरणों की गणना एच द्वारा की जाती है। एच के पहले पैरामीटर को फॉर-लूप के इंडेक्स का "वर्तमान" मान खिलाया जाता है। h का दूसरा पैरामीटर पिछले चरणों से फॉर-लूप की पिछली गणनाओं का परिणाम है। एच के लिए बाकी पैरामीटर पहले बताए गए फॉर-लूप के लिए अपरिवर्तनीय प्रारंभिक शर्तें हैं। उनका उपयोग h द्वारा गणना करने के लिए किया जा सकता है लेकिन वे स्वयं h द्वारा परिवर्तित नहीं होंगे।
- मौलिक पुनरावर्ती फलन ρ: K-ary फलन दिया गया है और (k + 2)-एरी फ़ंक्शन :
व्याख्या:
फलन f फॉर-लूप के रूप में 0 से इसके पहले तर्क के मान तक कार्य करता है। f के लिए बाकी तर्क, यहां x1, ..., xk' से दर्शाए गए हैं ', फॉर-लूप के लिए प्रारंभिक शर्तों का एक सेट है जो गणना के दौरान इसके द्वारा उपयोग किया जा सकता है लेकिन जो इसके द्वारा अपरिवर्तनीय हैं। फ़ंक्शन g और h समीकरणों के दाईं ओर जो f को परिभाषित करते हैं, लूप के शरीर का प्रतिनिधित्व करते हैं, जो गणना करता है। फ़ंक्शन g का उपयोग प्रारंभिक गणना करने के लिए केवल एक बार किया जाता है। लूप के बाद के चरणों की गणना h द्वारा की जाती है। h का पहला पैरामीटर फॉर-लूप के इंडेक्स के "वर्तमान" मान को फीड किया जाता है। h का दूसरा पैरामीटर पिछले चरणों से, फॉर-लूप की पिछली गणनाओं का परिणाम है। h के लिए बाकी पैरामीटर पहले बताए गए फॉर-लूप के लिए अपरिवर्तनीय प्रारंभिक शर्तें हैं। उनका उपयोग h द्वारा गणना करने के लिए किया जा सकता है लेकिन वे स्वयं h द्वारा परिवर्तित नहीं होंगे।
'मौलिक पुनरावर्ती फलन' मूल कार्य हैं और इन कार्यों को सीमित संख्या में लागू करके मूल कार्यों से प्राप्त किए जाते हैं।
उदाहरण
- एक 1-एरी फलन है जो रिटर्न देता है प्रत्येक इनपुट के लिए:.
- एक 1-एरी फलन है जो रिटर्न देता है 1 प्रत्येक इनपुट के लिए :Failed to parse (⧼math_empty_tex⧽): {\displaystyle } .
- एक 0-एरी फलन है, यानी स्थिर:.
- प्राकृतिक संख्याओं पर पहचान कार्य है:: .
- and प्राकृतिक संख्या युग्मों पर क्रमशः बाएँ और दाएँ प्रक्षेपण है: and .
- एक 1-एरी फलन है जो इसके इनपुट में 2 जोड़ता है,.
- एक 1-एरी फलन है जो प्रत्येक इनपुट के लिए 1 लौटाता है: . That is, और एक ही कार्य हैं: . इसी तरह, हर उचित रूप से कई की रचना के रूप में व्यक्त किया जा सकता है और .
जोड़
2-एरी फलन की परिभाषा , इसके तर्कों के योग की गणना करने के लिए, प्रिमिटिव रिकर्सन ऑपरेटर का उपयोग करके प्राप्त किया जा सकता है . इसके लिए, प्रसिद्ध समीकरण
"मौलिक पुनरावर्ती फलन शब्दावली में पुनर्प्रकाशित" हैं: की परिभाषा में , पहला समीकरण चुनने का सुझाव देता है प्राप्त करने के लिए ; दूसरा समीकरण चुनने का सुझाव देता है प्राप्त करने के लिए . इसलिए, अतिरिक्त फलन को इस रूप में परिभाषित किया जा सकता है . गणना उदाहरण के रूप में,
दोहरीकरण
दिया गया , 1-एरी फलन इसके तर्क को दोगुना करता है, .
गुणन
योग की तरह, गुणन को किसके द्वारा परिभाषित किया जा सकता है . यह प्रसिद्ध गुणा समीकरणों को पुन: उत्पन्न करता है:
- और
पूर्ववर्ती
पूर्ववर्ती कार्य उत्तराधिकारी कार्य के विपरीत कार्य करता है और नियमों द्वारा पुनरावर्ती रूप से परिभाषित किया जाता है और . प्राचीन पुनरावर्ती परिभाषा है . गणना उदाहरण के रूप में,
कटा हुआ घटाव
सीमित घटाव फलन (जिसे मोनस भी कहा जाता है, और निरूपित किया जाता है) पूर्ववर्ती कार्य से निश्चित है। यह समीकरणों को संतुष्ट करता है
चूंकि पुनरावर्तन दूसरे तर्क पर चलता है, हम उलटे घटाव की एक प्राचीन पुनरावर्ती परिभाषा के साथ प्रारंभ करते हैं, . इसका पुनरावर्तन तब पहले तर्क पर चलता है, इसलिए इसकी प्राचीन पुनरावर्ती परिभाषा प्राप्त की जा सकती है, इसके अतिरिक्त, जैसा . उल्टे तर्क क्रम से छुटकारा पाने के लिए, फिर परिभाषित करें . गणना उदाहरण के रूप में,
विधेय को संख्यात्मक कार्यों में परिवर्तित करना
कुछ सेटिंग्स में मौलिक पुनरावर्ती फलनों पर विचार करना स्वाभाविक है,जो इनपुट के रूप में लेते हैं जो सत्य मानों के साथ संख्याओं को मिलाते हैं (जो कि सत्य के लिए 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 का मान प्राचीन पुनरावर्ती होता है।
पूर्णांकों और परिमेय संख्याओं पर संक्रियाएं
गोडेल नंबरिंग का उपयोग करके, मौलिक पुनरावर्ती फलनों को पूर्णांक और परिमेय संख्याओं जैसे अन्य वस्तुओं पर संचालित करने के लिए बढ़ाया जा सकता है। यदि पूर्णांकों को गोडेल संख्याओं द्वारा मानक विधि से एन्कोड किया जाता है, तो जोड़, घटाव और गुणा सहित अंकगणितीय संक्रियाएं सभी प्राचीन पुनरावर्ती हैं। इसी तरह, यदि परिमेय गोडेल संख्याओं द्वारा दर्शाए जाते हैं तो फ़ील्ड (गणित) संक्रियाएँ सभी प्राचीन पुनरावर्ती हैं।
कुछ सामान्य मौलिक पुनरावर्ती फलन
- निम्नलिखित उदाहरण और परिभाषाएँ क्लेन (1952) पीपी. 223–231 से हैं - कई सबूतों के साथ दिखाई देते हैं। बूलोस-बर्गेस-जेफरी 2002 पीपी। 63-70 में अधिकांश समान नामों के साथ, या तो प्रमाण के रूप में या उदाहरण के रूप में दिखाई देते हैं; वे त्रुटिहीन व्युत्पत्ति के आधार पर लघुगणक lo(x, y) या lg(x, y) जोड़ते हैं।
निम्नलिखित में हम देखते हैं कि आदिम पुनरावर्ती कार्य चार प्रकार के हो सकते हैं:
- संक्षेप में कार्य: "संख्या-सैद्धांतिक कार्य" {0, 1, 2, ...} से {0, 1, 2, ...} तक,
- विधेय: {0, 1, 2, ...} से सत्य मान {t =सत्य, f =असत्य},
- तर्कवाक्य संयोजक: सत्य मान {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", के रूप में माना जाता है, उदा a +1 = डीईएफ़ a'। कार्यों 16-20 और #G आदिम पुनरावर्ती विधेय को परिवर्तित करने और उन्हें निकालने के संबंध में विशेष रुचि रखते हैं, उनके "अंकगणितीय" रूप को गोडेल संख्या के रूप में व्यक्त किया गया है।
- जोड़: a+b
- गुणन: a×b
- घातांक: ab
- क्रमगुणित ए! :0! = 1, a'! = a!×a'
- पूर्ववर्ती (a): (पूर्ववर्ती या कमी): यदि a > 0 तो a-1 और 0
- उचित घटाव a ∸ b: यदि a ≥ b तो a-b और 0
- न्यूनतम (a1, ... an)
- अधिकतम (a1, ... an)
- पूर्ण अंतर: | a-b | =def (a ∸ b) + (b ∸ a)
- ~sg(a): NOT[signum(a)]: यदि a=0 तो 1 और 0
- sg(a): signum a: यदि a=0 तो 0 और 1
- a | b: (a b को विभाजित करता है): यदि b=k×a कुछ k के लिए तो 0 और 1
- शेष (a, b): बचे हुए यदि बी "समान रूप से" विभाजित नहीं करता है। एमओडी (a, b) भी कहा जाता है
- a = b: sg | a - b | (क्लीन की प्रथा 0 से सत्य और 1 से असत्य का प्रतिनिधित्व करना था; वर्तमान में, विशेष रूप से कंप्यूटर में, सबसे आम सम्मेलन रिवर्स है, अर्थात् 1 से सत्य और 0 से गलत का प्रतिनिधित्व करने के लिए, जो यहाँ और sg में ~sg को बदलने की मात्रा है। अगला आइटम)
- a < b:: sg( a' ∸ b)
- Pr(a): a एक अभाज्य संख्या है Pr(a) =def a>1 & NOT(उपस्थित c)1<c<a [ c|a ]
- pi: i+1-st अभाज्य संख्या
- (a)i: a में pi का प्रतिपादक: अद्वितीय x ऐसा है कि pix|a & NOT(pix'|a)
- lh(a): "लंबाई" या गैर-लुप्त होने वाले xपोनेंट्स की संख्या
- lo(a, b): (आधार b का लघुगणक): यदि a, b > 1 तो सबसे बड़ा x ऐसा है कि bx | a अन्य 0
- निम्नलिखित में संक्षिप्त रूप 'x' =def x1, ... xn; अर्थ की आवश्यकता होने पर सबस्क्रिप्ट लागू किया जा सकता है।
- #A: एक फलन φ स्पष्ट रूप से फलन Ψ और स्थिरांक q से निश्चित है q1, ... qn Ψ में प्राचीन पुनरावर्ती है।
- #B: परिमित योग Σy<z ψ(x, y) और उत्पाद Πy<zψ(x, y) ψ में प्राचीन पुनरावर्ती हैं।
- #C: एक विधेय पी कार्यों χ प्रतिस्थापन द्वारा प्राप्त कियाχ1,..., χm एक विधेय के संबंधित चर के लिए Q χ में प्राचीन पुनरावर्ती है χ1,..., χm, Q
- #D: निम्नलिखित विधेय Q और R में प्राचीन पुनरावर्ती हैं:
- NOT_Q('x') .
- * Q OR R: Q(x) V R(x),
- * Q और R: Q(x) & R(x),
- Q का तात्पर्य R: Q('x') → R('x')
- Q, R के समतुल्य है: Q('x') ≡ R('x')
- #E: निम्नलिखित विधेय R विधेय में प्राचीन पुनरावर्ती हैं:
- (Ey)y<z R(x, y) जहां(Ey)y<z इंगित करता है कि कम से कम एक y उपस्थित है जो कि z से कम है
- (y)y<z R(x, y) जहां (y)y<z सभी y के लिए z से कम दर्शाता है यह सच है कि
- μyy<z R(x, y)। ऑपरेटर μyy<z R(x, y) तथाकथित न्यूनीकरण- या mu-ऑपरेटर का एक बाध्य रूप है: z से कम y के न्यूनतम मान के रूप में परिभाषित किया गया है जैसे कि R(x, y) सत्य है; या z यदि ऐसा कोई मान नहीं है।
- #F: स्थितियों द्वारा परिभाषा: इस प्रकार परिभाषित फ़ंक्शन, जहां Q1, ..., Q1, ..., Qm पारस्परिक रूप से अनन्य विधेय हैं पारस्परिक रूप से अनन्य विधेय हैं (या "ψ(x) में पहले खंड द्वारा दिया गया मान होगा जो लागू होता है), φ1, ..., Q1, ... Qmमें प्राचीन पुनरावर्ती है:
- φ(x) =
- φ1(x) यदि Q1 (x) सच है,
- . . . . . . . . . . . . . . . . . . .
- φm(x) यदि Qm(x) सच है
- φm+1(x) अन्यथा
- φ(x) =
- #G: यदि φ समीकरण को संतुष्ट करता है:
- φ(y,x) = χ(y, COURSE-φ(y; x2, ... xn ), x2, ... xn तो φ χ में प्राचीन पुनरावर्ती है। मान पाठ्यक्रम -φ(y; x2 to n ) कोर्स-ऑफ-वैल्यू फलन मानों के अनुक्रम को एन्कोड करता है φ(0,x2 to n), ..., φ(y-1,x2 to n) मूल फलन का।
पहले क्रम के पीनो अंकगणितीय में प्रयोग करें
प्रथम-क्रम तर्क में | प्रथम-क्रम पीआनो अंकगणित में असीमित रूप से कई चर (0-एरी प्रतीक) हैं, लेकिन कोई k-ary गैर-तार्किक प्रतीक नहीं है जिसमें k>0 S, +, *, और ≤ के अतिरिक्त है। इस प्रकार मौलिक पुनरावर्ती फलनों को परिभाषित करने के लिए गोडेल द्वारा निम्नलिखित चाल का उपयोग करना होगा।
अनुक्रमों के लिए गोडेल नंबरिंग का उपयोग करके, उदाहरण के लिए गोडेल के β फलन, संख्याओं के किसी भी परिमित अनुक्रम को एक संख्या द्वारा एन्कोड किया जा सकता है। इस तरह की संख्या किसी दिए गए एन तक प्राचीन पुनरावर्ती फलन का प्रतिनिधित्व कर सकती है।
चलो एच एक 1-ary प्रारंभिक पुनरावर्तन फलन द्वारा परिभाषित किया गया है:
जहाँ C एक नियतांक है और g पहले से परिभाषित फलन है।
प्राकृतिक संख्याओं के किसी भी क्रम के लिए गोडेल के β फलन का उपयोग करना (k0, k1, ..., kn), प्राकृतिक संख्याएँ b और c ऐसी हैं कि, प्रत्येक i ≤ n के लिए, β(b, c, i) = ki. इस प्रकार हम h को परिभाषित करने के लिए निम्नलिखित सूत्र का उपयोग कर सकते हैं; अधिक त्रुटिहीन रूप से, m=h(n) निम्नलिखित के लिए एक आशुलिपि है:
और जी के बराबर, पहले से ही परिभाषित किया जा रहा है, वास्तव में कुछ अन्य पहले से परिभाषित सूत्र के लिए आशुलिपि है (जैसा कि β है, जिसका सूत्र गोडेल का β फलन दिया गया है)।
किसी भी k-ary प्रारंभिक पुनरावर्तन फलन का सामान्यीकरण तुच्छ है।
पुनरावर्ती कार्यों से संबंध
आंशिक पुनरावर्ती कार्यों के व्यापक वर्ग को असीमित खोज ऑपरेटर की प्रारंभ करके परिभाषित किया गया है। इस ऑपरेटर के उपयोग के परिणामस्वरूप आंशिक फलन हो सकता है, अर्थात, प्रत्येक तर्क के लिए अधिकतम एक मान के साथ संबंध, लेकिन किसी भी तर्क के लिए कोई मान आवश्यक नहीं है (डोमेन देखें)। समतुल्य परिभाषा बताती है कि एक आंशिक पुनरावर्ती कार्य वह है जिसे ट्यूरिंग मशीन द्वारा गणना की जा सकती है। टोटल रिकर्सिव फंक्शन एक आंशिक रिकर्सिव फंक्शन है जिसे हर इनपुट के लिए परिभाषित किया गया है।
प्रत्येक मौलिक पुनरावर्ती फलन कुल पुनरावर्ती है, लेकिन सभी कुल पुनरावर्ती कार्य प्राचीन पुनरावर्ती नहीं हैं। एकरमैन फलन A(m,n) कुल पुनरावर्ती फलन (वास्तव में, सिद्ध करने योग्य कुल) का एक प्रसिद्ध उदाहरण है, जो प्राचीन पुनरावर्ती नहीं है। एकरमैन फलन का उपयोग करके कुल पुनरावर्ती कार्यों के सबसेट के रूप में मौलिक पुनरावर्ती फलनों का लक्षण वर्णन है। यह लक्षण वर्णन बताता है कि एक फलन प्राचीन पुनरावर्ती है, यदि कोई प्राकृतिक संख्या m है जैसे कि फलन की गणना ट्यूरिंग मशीन द्वारा की जा सकती है जो हमेशा A(m,n) या उससे कम चरणों में रुकती है, जहां n का योग है प्राचीन पुनरावर्ती क्रिया के तर्क।[3]
मौलिक पुनरावर्ती फलनों की महत्वपूर्ण संपत्ति यह है कि वे सभी कुल पुनरावर्ती कार्यों के सेट का पुनरावर्ती रूप से गणना करने योग्य उपसमुच्चय हैं (जो स्वयं पुनरावर्ती गणना योग्य नहीं है)। इसका मतलब यह है कि एक एकल संगणनीय कार्य f(m,n) है जो मौलिक पुनरावर्ती फलनों की गणना करता है, अर्थात्:
- प्रत्येक प्राचीन पुनरावर्ती क्रिया g के लिए, एक m ऐसा है कि g(n) = f(m,n) सभी n के लिए, और
- प्रत्येक एम के लिए, फलन h(n) = f(m,n) प्राचीन पुनरावर्ती है।
f को मौलिक पुनरावर्ती फलनों को बनाने के सभी संभावित तरीकों को दोहराकर स्पष्ट रूप से बनाया जा सकता है। इस प्रकार, यह कुल प्रमाण होता है। विकर्ण लेम्मा तर्क का उपयोग यह दिखाने के लिए कर सकता है कि f अपने आप में पुनरावर्ती प्राचीन नहीं है: यदि ऐसा होता, तो h(n) = f(n,n)+1 होता। लेकिन यदि यह कुछ प्राचीन पुनरावर्ती फलन के बराबर है, तो एम ऐसा है कि h(n) = f(m,n) सभी एन के लिए, और फिर एच (एम) = एफ (एम, एम), विरोधाभास के लिए अग्रणी।
चूँकि, मौलिक पुनरावर्ती फलनों का सेट सभी कुल पुनरावर्ती कार्यों के सेट का सबसे बड़ा पुनरावर्ती गणनीय उपसमुच्चय नहीं है। उदाहरण के लिए, प्रमाण कुल कार्यों का सेट (पीनो अंकगणित में) भी पुनरावर्ती गणना योग्य है, क्योंकि सिद्धांत के सभी सबूतों की गणना कर सकते हैं। जबकि सभी मौलिक पुनरावर्ती फलन सिद्ध रूप से कुल हैं, इसका विलोम सत्य नहीं है।
सीमाएं
मौलिक पुनरावर्ती फलन हमारे अंतर्ज्ञान के साथ बहुत निकटता से मेल खाते हैं कि संगणनीय कार्य क्या होना चाहिए। निश्चित रूप से प्रारंभिक कार्य सहज रूप से संगणनीय हैं (उनकी बहुत सरलता में), और दो ऑपरेशन जिनके द्वारा कोई नया मौलिक पुनरावर्ती फलन बना सकता है, वे भी बहुत सीधे हैं। चूँकि, मौलिक पुनरावर्ती फलनों के सेट में हर संभव कुल गणना योग्य कार्य सम्मलित नहीं है - इसे कैंटर के विकर्ण तर्क के संस्करण के साथ देखा जा सकता है। यह तर्क कुल संगणनीय कार्य प्रदान करता है जो प्राचीन पुनरावर्ती नहीं है। सबूत का एक स्केच इस प्रकार है:
अब "मूल्यांकनकर्ता फ़ंक्शन" को परिभाषित करें ev दो तर्कों के साथ, द्वारा ev(i,j) = fi(j).स्पष्ट रूप से ev कुल और संगणनीय है, क्योंकि कोई प्रभावी रूप से इसकी परिभाषा निर्धारित कर सकता हैfi, और एक प्राचीन पुनरावर्ती कार्य किया जा रहा हैfiस्वयं कुल और गणना योग्य है, इसलिए fi(j) हमेशा परिभाषित और प्रभावी ढंग से संगणनीय है। हालांकि एक विकर्ण तर्क दिखाएगा कि ev दो तर्कों का आदिम पुनरावर्ती नहीं है।
कल्पना करना ev आदिम पुनरावर्ती थे, फिर एकात्मक कार्यg द्वारा परिभाषित g(i) = S(ev(i,i)) आदिम पुनरावर्ती भी होगा, क्योंकि यह उत्तराधिकारी समारोह से संरचना द्वारा परिभाषित किया गया है और ev.परन्तु फिर g गणना में होता है, इसलिए कुछ संख्या होती है n ऐसा है किg = fn. पर अबg(n) = S(ev(n,n)) = S(fn(n)) = S(g(n))
विरोधाभास देता है।यह तर्क गणना योग्य (कुल) कार्यों के किसी भी वर्ग पर लागू किया जा सकता है जिसे इस तरह से गणना की जा सकती है, जैसा लेख मशीन में समझाया गया है जो हमेशा रुकता है। चूँकि ध्यान दें कि आंशिक संगणनीय कार्य (जिन्हें सभी तर्कों के लिए परिभाषित करने की आवश्यकता नहीं है) को स्पष्ट रूप से गणना की जा सकती है, उदाहरण के लिए ट्यूरिंग मशीन एन्कोडिंग की गणना करके।
कुल पुनरावर्ती लेकिन मौलिक पुनरावर्ती फलनों के अन्य उदाहरण ज्ञात नहीं हैं:
- फलन जो m को एकरमैन फलन(m,m) में ले जाता है वह एक एकल कुल पुनरावर्ती फलन है जो प्राचीन पुनरावर्ती नहीं है।
- पेरिस-हैरिंगटन प्रमेय में कुल पुनरावर्ती कार्य सम्मलित है जो प्राचीन पुनरावर्ती नहीं है।
- सूडान फलन
- गुडस्टीन फलन
वेरिएंट
लगातार कार्य
के बजाय , वैकल्पिक परिभाषाएँ केवल एक 0-एरी शून्य फलन का उपयोग करती हैं एक प्राचीन कार्य के रूप में जो हमेशा शून्य लौटाता है, और शून्य कार्य, उत्तराधिकारी कार्य और संरचना ऑपरेटर से निरंतर कार्यों का निर्माण करता है।
कमजोर प्रारंभिक पुनरावर्तन
1-स्थान का पूर्ववर्ती कार्य प्राचीन पुनरावर्ती है, अनुभाग #Predecessor देखें। फिशर, फिशर और बेगेल [4] प्रत्यावर्तन नियम से अंतर्निहित पूर्ववर्ती को हटा दिया, इसे कमजोर नियम से बदल दिया
उन्होंने प्रमाण किया कि पूर्ववर्ती कार्य अभी भी परिभाषित किया जा सकता है, और इसलिए कमजोर प्रारंभिक पुनरावर्तन मौलिक पुनरावर्ती फलनों को भी परिभाषित करता है।
पुनरावृत्ति कार्य
कार्यों का उपयोग करके इसे और भी कमजोर कर रहा है arity k+1 का, हटाना और के तर्कों से पूरी तरह से, हमें पुनरावृति नियम मिलता है:
पुनरावृत्त कार्यों के वर्ग को उसी तरह परिभाषित किया जाता है जैसे इस कमजोर नियम को छोड़कर मौलिक पुनरावर्ती फलनों के वर्ग को। इन्हें मौलिक पुनरावर्ती फलनों का उचित उपसमुच्चय माना जाता है।[5]
अतिरिक्त प्राचीन पुनरावर्ती रूप
पुनरावर्तन के कुछ अतिरिक्त रूप भी उन कार्यों को परिभाषित करते हैं जो वास्तव में हैं
प्राचीन पुनरावर्ती इन रूपों में परिभाषाएँ खोजना आसान हो सकता है या पढ़ने या लिखने के लिए अधिक स्वाभाविक। कोर्स-ऑफ़-वैल्यू रिकर्सन मौलिक पुनरावर्ती फलनों को परिभाषित करता है। आपसी पुनरावर्तन के कुछ रूप मौलिक पुनरावर्ती फलनों को भी परिभाषित करते हैं।
लूप (प्रोग्रामिंग लैंग्वेज) में जिन कार्यों को प्रोग्राम किया जा सकता है, वे वास्तव में मौलिक पुनरावर्ती फलन हैं। यह इन कार्यों की शक्ति का एक अलग लक्षण वर्णन करता है। ट्यूरिंग-पूर्ण भाषा की तुलना में लूप भाषा की मुख्य सीमा यह है कि लूप भाषा में लूप चलने से पहले प्रत्येक लूप चलने की संख्या निर्दिष्ट होती है।
कंप्यूटर भाषा परिभाषा
प्राचीन पुनरावर्ती प्रोग्रामिंग भाषा का उदाहरण वह है जिसमें बुनियादी अंकगणितीय ऑपरेटर (जैसे + और -, या ADD और SUBTRACT), सशर्त और तुलना (IF-THEN, EQUALS, LESS-THAN), और परिबद्ध लूप, जैसे बुनियादी सम्मलित हैं लूप के लिए, जहां सभी लूपों के लिए ज्ञात या गणना योग्य ऊपरी सीमा होती है (FOR i FROM 1 TO n, लूप बॉडी द्वारा न तो i और न ही संशोधित किया जा सकता है)। अधिक सामान्यता की कोई नियंत्रण संरचना, जैसे कि लूप या IF-THEN प्लस GOTO, प्राचीन पुनरावर्ती भाषा में स्वीकार नहीं की जाती है।
लूप (प्रोग्रामिंग लैंग्वेज), 1967 में अल्बर्ट आर. मेयर और डेनिस एम. रिची द्वारा प्रस्तुत किया गया,[6] एक ऐसी भाषा है। इसकी कंप्यूटिंग शक्ति मौलिक पुनरावर्ती फलनों के साथ मेल खाती है। लूप भाषा का एक प्रकार है डगलस हॉफस्टाटर का ब्लूपी और गोडेल, एस्चेर, बाख में फ़्लूपी। अनबाउंड लूप्स (WHILE, GOTO) को जोड़ने से भाषा सामान्य पुनरावर्ती कार्य करती है और ट्यूरिंग पूर्णता | ट्यूरिंग-पूर्ण, जैसा कि सभी वास्तविक दुनिया की कंप्यूटर प्रोग्रामिंग भाषाएं हैं।
मौलिक पुनरावर्ती फलनों की परिभाषा का तात्पर्य है कि उनकी गणना हर इनपुट पर रुक जाती है (सीमित संख्या में चरणों के बाद)। दूसरी ओर, सामान्य पुनरावर्ती कार्यों के लिए रुकने की समस्या अनिर्णीत समस्या है, यदिवे कुल कार्य हों। यही है, ऐसे प्रोग्राम हैं जो हर इनपुट पर रुकते हैं, लेकिन जिसके लिए इसे एल्गोरिथम द्वारा सत्यापित नहीं किया जा सकता है।
फिनिटिज्म और संगति परिणाम
मौलिक पुनरावर्ती फलन गणितीय फ़िनिटिज़्म से निकटता से संबंधित हैं, और गणितीय तर्क में कई संदर्भों में उपयोग किए जाते हैं जहाँ विशेष रूप से रचनात्मक प्रणाली वांछित होती है। आदिम पुनरावर्ती अंकगणित (पीआरए), प्राकृतिक संख्याओं के लिए एक औपचारिक स्वयंसिद्ध प्रणाली और उन पर आदिम पुनरावर्ती कार्यों का उपयोग अधिकांशतः इस उद्देश्य के लिए किया जाता है।
पीआरए पीआनो अंकगणित की तुलना में बहुत कमजोर है, जो कि परिमित प्रणाली नहीं है। फिर भी, पीआरए में संख्या सिद्धांत और प्रूफ सिद्धांत में कई परिणाम सिद्ध किए जा सकते हैं। उदाहरण के लिए, गोडेल की अपूर्णता प्रमेय को निम्नलिखित प्रमेय देते हुए पीआरए में औपचारिक रूप दिया जा सकता है:
- यदि T गोडेल वाक्य GT, के साथ कुछ परिकल्पनाओं को संतुष्ट करने वाला अंकगणित का सिद्धांत है, तो पीआरए निहितार्थ Con(T)→GT. को सिद्ध करता है।
इसी तरह, प्रूफ थ्योरी में कई सिंटैक्टिक परिणाम PRA में सिद्ध किए जा सकते हैं, जिसका अर्थ है कि आदिम पुनरावर्ती कार्य हैं जो प्रूफ के संबंधित सिंटैक्टिक ट्रांसफॉर्मेशन को अंजाम देते हैं।
प्रूफ सिद्धान्त और समुच्चय सिद्धान्त में, फ़िनिटिस्टिक कंसिस्टेंसी प्रूफ़ में रोचकी है, अर्थात, कंसिस्टेंसी प्रूफ जो खुद फ़ाइनिस्टिक रूप से स्वीकार्य हैं। इस तरह का प्रमाण यह स्थापित करता है कि सिद्धांत टी की संगति का तात्पर्य सिद्धांत एस की संगति से है, जो आदिम पुनरावर्ती कार्य का निर्माण करता है, जो एस से असंगति के किसी भी प्रमाण को टी से असंगतता के प्रमाण में बदल सकता है। संगति प्रमाण के लिए पर्याप्त शर्त परिमित होना पीआरए में इसे औपचारिक रूप देने की क्षमता है। उदाहरण के लिए, सेट थ्योरी में कई संगति परिणाम जो कि फोर्सिंग द्वारा प्राप्त किए जाते हैं, उन्हें सिंटैक्टिक प्रूफ के रूप में पुनर्गठित किया जा सकता है जिन्हें PRA में औपचारिक रूप दिया जा सकता है।
इतिहास
पहले पुनरावर्ती परिभाषाओं का गणित में अधिक या कम औपचारिक रूप से उपयोग किया गया था, लेकिन प्रारंभिक पुनरावर्तन के निर्माण का पता रिचर्ड डेडेकिंड के प्रमेय 126 में लगाया गया था, जो कि सिंड अंड सोलेन डाई ज़ाहलेन था? (1888)। यह पहला काम था जिसने प्रमाण दिया कि एक निश्चित पुनरावर्ती निर्माण एक अद्वितीय कार्य को परिभाषित करता है।[7][8][9]
प्राचीन पुनरावर्ती अंकगणित पहली बार 1923 में थोराल्फ़ स्कोलेम [10] द्वारा प्रस्तावित किया गया था।।
विल्हेम एकरमैन द्वारा 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