जनरल रिकर्सिव फंक्शन

गणितीय तर्क और कंप्यूटर विज्ञान में, जनरल रिकर्सिव फंक्शन, पार्शियल रिकर्सिव फंक्शन, या μ-रिकर्सिव फ़ंक्शन प्राकृतिक संख्याओं से प्राकृतिक संख्याओं तक पार्शियल फ़ंक्शन है, जो सहज ज्ञान युक्त अर्थ में गणना योग्य है - इसके साथ ही गणना योग्य फ़ंक्शन में भी इसका उपयोग करता हैं। यदि फ़ंक्शन कुल फंक्शन को प्रदर्शित करता है, तो इसे टोटल रिकर्सिव फ़ंक्शन भी कहा जाता है, इसका आधार पर कभी-कभी रिकर्सिव फ़ंक्शन के लिए इसे छोटा कर दिया जाता है। इस प्रकार कम्प्यूटेबिलिटी सिद्धांत (गणना) में, यह दिखाया गया है कि μ-रिकर्सिव फ़ंक्शन सटीक रूप से ऐसे फ़ंक्शन हैं, जिनकी गणना ट्यूरिंग मशीन द्वारा की जा सकती है, यह उन प्रमेयों में से प्रमुख है, जो चर्च-ट्यूरिंग थीसिस का समर्थन करता है। इसके आधार पर μ-रिकर्सिव फ़ंक्शन रिकर्सिव फ़ंक्शन की निकटता से संबंधित हैं, और उनकी आगमनात्मक परिभाषा (नीचे) स्यूडो रिकर्सिव फ़ंक्शन पर आधारित है। चूंकि, प्रत्येक टोटल रिकर्सिव फ़ंक्शन स्यूडो रिकर्सिव फ़ंक्शन नहीं है - इसका सबसे प्रसिद्ध उदाहरण एकरमैन फ़ंक्शन है।

फ़ंक्शंस के अन्य समकक्ष स्क्वायर लैम्ब्डा कैलकुलस के फ़ंक्शंस हैं, जिनकी गणना मार्कोव एल्गोरिथ्म द्वारा की जा सकती है।

मानों के साथ सभी टोटल रिकर्सिव फ़ंक्शन का उपसमूह $\{0,1\}$ को कम्प्यूटेशनल काॅम्पलेक्सिटी थ्योरी में r (काॅम्पलेक्सिटी) के रूप में जाना जाता है।

परिभाषा
μ-रिकर्सिव फ़ंक्शन (या सामान्य रिकर्सिव फ़ंक्शन) पार्शियल फंक्शन हैं, जो प्राकृतिक संख्याओं के सीमित टपल्स लेते हैं और एकल प्राकृतिक संख्या लौटाते हैं। वे पार्शियल फंक्शन का सबसे छोटा वर्ग हैं, जिसमें प्रारंभिक फ़ंक्शंस सम्मिलित होते हैं और संरचना, स्यूडो रिकर्सन और μ ऑपरेटर या मिनिमाइजेशन ऑपरेटर $μ$ के अनुसार विवृत है।

प्रारंभिक कार्यों सहित कार्यों का सबसे छोटा वर्ग और संरचना और स्यूडो पुनरावर्तन के अनुसार विवृत (अर्थात मिनिमाइजेशन के अतिरिक्त) स्यूडो रिकर्सिव फ़ंक्शन का वर्ग है। जबकि सभी स्यूडो रिकर्सिव फ़ंक्शन यहाँ पर इसका कुल भाग हैं, यह पार्शियल रिकर्सिव फ़ंक्शन के लिए सत्य नहीं है, उदाहरण के लिए, सक्सेसर फंक्शन का मिनिमाइजेशन अपरिभाषित है। इसके आधार पर स्यूडो रिकर्सिव फ़ंक्शन टोटल रिकर्सिव फ़ंक्शन का उपसमूह हैं, जो पार्शियल रिकर्सिव फ़ंक्शन का उपसमूह हैं। उदाहरण के लिए, एकरमैन फ़ंक्शन को पूर्ण रिकर्सिव और गैर-स्यूडो प्रमाणित किया जा सकता है।

स्यूडो या जनरल फंक्शन: ऑपरेटर्स (ऑपरेटर द्वारा परिभाषित फ़ंक्शन का डोमेन तर्कों के मानों का सेट है, जैसे कि गणना के दौरान किया जाने वाला प्रत्येक फ़ंक्शन एप्लिकेशन को अच्छी तरह से परिभाषित करने के बाद उपयुक्त परिणाम प्रदान करता है): \rho(g, h) &\ \stackrel{\mathrm{def}}{=}\ f \quad\text{where the k+1 -ary function } f \text{ is defined by}\\ 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}$$ \mu(f)(x_1, \ldots, x_k) = z \stackrel{\mathrm{def}}{\iff}\ f(i, x_1, \ldots, x_k)&>0 \quad \text{for}\quad i=0, \ldots, z-1 \quad\text{and}\\ f(z, x_1, \ldots, x_k)&=0\quad \end{align}$$ सहजता से, मिनिमाइजेशन खोजता है- इसके आधार पर 0 से खोज प्रारंभ करना और ऊपर की ओर बढ़ता हैं- इसका सबसे छोटा तर्क जो फ़ंक्शन को शून्य पर लौटने का कारण बनता है, यदि ऐसा कोई तर्क नहीं है, या यदि कोई किसी तर्क का सामना करता है जिसके लिए $Ck n$ परिभाषित नहीं है, तो खोज कभी समाप्त नहीं होती, और $$ \mu(f)$$ तर्क के लिए $$(x_1, \ldots, x_k).$$ द्वारा परिभाषित नहीं करता है।
 * 1) काॅन्ट्यूनिटी फंक्शन $n$: प्रत्येक प्राकृतिक संख्या के लिए $k$ और हर का मान $&rho;$ हैं।
 * $$C_n^k(x_1,\ldots,x_k) \ \stackrel{\mathrm{def}}{=}\ n$$
 * वैकल्पिक परिभाषाएँ शून्य फ़ंक्शन का उपयोग स्यूडो फ़ंक्शन के रूप में करती हैं, जो सदैव शून्य लौटाता है, और शून्य फ़ंक्शन, सक्सेसर फंक्शन और कंपोज़िशन ऑपरेटर से काॅन्ट्यूनिटी फंक्शन का निर्माण करता है।
 * 1) सक्सेसर फंक्शन S:
 * $$S(x) \ \stackrel{\mathrm{def}}{=}\ x + 1\,$$
 * 1) प्रोजेक्शन फंक्शन $$P_i^k$$ (आइडेंटिकल फ़ंक्शन भी कहा जाता है): सभी प्राकृतिक संख्याओं के लिए $$i, k$$ ऐसा है कि $$1\le i\le k$$:
 * $$P_i^k(x_1,\ldots,x_k) \ \stackrel{\mathrm{def}}{=}\ x_i \, .$$
 * 1) कंपोजीशन आपरेटर $$\circ\,$$ (प्रतिस्थापन ऑपरेटर भी कहा जाता है): एम-एरे फ़ंक्शन दिया गया है, इसके आधार पर $$h(x_1,\ldots,x_m)\,$$ और एम के-ऐरे फंक्शन $$g_1(x_1,\ldots,x_k),\ldots,g_m(x_1,\ldots, x_k)$$:
 * $$h \circ (g_1, \ldots, g_m) \ \stackrel{\mathrm{def}}{=}\ f, \quad\text{where}\quad f(x_1,\ldots,x_k) = h(g_1(x_1,\ldots,x_k),\ldots,g_m(x_1,\ldots,x_k)).$$
 * इसका अर्थ है कि $$f(x_1,\ldots,x_k)$$ केवल तभी परिभाषित किया गया है, इसके आधार पर $$g_1(x_1,\ldots,x_k),\ldots, g_m(x_1,\ldots,x_k),$$ और $$h(g_1(x_1,\ldots,x_k),\ldots,g_m(x_1,\ldots,x_k))$$ सभी परिभाषित हैं।
 * 1) स्यूडो रिकर्सन ऑपरेटर $&mu;$: k-ary फ़ंक्शन को देखते हुए $$g(x_1,\ldots,x_k)\,$$ और k+2-ऐरे फंक्शन $$h(y,z,x_1,\ldots,x_k)\,$$:
 * $$\begin{align}
 * इस का अर्थ है कि $$f(y,x_1,\ldots,x_k)$$ केवल तभी परिभाषित किया गया है, $$g(x_1,\ldots,x_k)$$ और $$h(z,f(z,x_1,\ldots,x_k),x_1,\ldots,x_k)$$ सभी के लिए $$z<y.$$ के अनुसार परिभाषित किया गया हैं।
 * 1) मिनिमाइजेशन ऑपरेटर $f$: (k+1)-ऐरे फंक्शन दिया गया है $$f(y, x_1, \ldots, x_k)\,$$, के-ऐरे फंक्शन $$\mu(f)$$ द्वारा परिभाषित किया गया है:
 * $$\begin{align}

जबकि कुछ लाइब्रेरी में μ-ऑपरेटर का उपयोग किया जाता हैं, जैसा कि यहां परिभाषित किया गया है, यह मान इसके अतिरिक्त उपयोग किया जा सकता है। यहाँ पर μ-ऑपरेटर को टोटल फंक्शन पर $f$  के द्वारा लागू किया जाता हैं। यद्यपि यह यहां दी गई परिभाषा की तुलना में μ-ऑपरेटर को प्रतिबंधित करता है, इसका μ-रिकर्सिव फ़ंक्शन का वर्ग समान रहता है, जो क्लेन के सामान्य फॉर्म प्रमेय (सामान्य फॉर्म प्रमेय देखें) जिससे इसका अनुसरण करते हैं।  इस प्रकार इसका एकमात्र अंतर यह है कि यह अनिर्णीत को प्रदान करता है कि क्या विशिष्ट फ़ंक्शन परिभाषा μ-रिकर्सिव फ़ंक्शन को परिभाषित करती है, क्योंकि यह अनिर्णीत है कि क्या गणना योग्य (अर्ताथ μ-रिकर्सिव) फ़ंक्शन कुल है।

स्ट्रांग इक्ववैलिटी ऑपरेटर $$\simeq$$ पार्शियल μ-रिकर्सिव फ़ंक्शन की तुलना करने के लिए उपयोग किया जा सकता है। इसे सभी आंशिक फलनों f और g के लिए परिभाषित किया गया है।
 * $$f(x_1,\ldots,x_k) \simeq g(x_1,\ldots,x_l)$$ यदि और केवल तभी मान्य है, जब तर्कों के किसी भी विकल्प के लिए या तो दोनों फ़ंक्शन परिभाषित हैं और उनके मान समान हैं या दोनों फ़ंक्शन अपरिभाषित हैं।

उदाहरण
मिनिमाइज़ेशन ऑपरेटर को सम्मिलित न करने वाले उदाहरण स्यूडो रिकर्सिव फ़ंक्शन उदाहरण पर पाए जा सकते हैं।

निम्नलिखित उदाहरणों का उद्देश्य केवल मिनिमाइजेशन ऑपरेटर के उपयोग को प्रदर्शित करना है, उन्हें इसके बिना भी परिभाषित किया जा सकता है, यद्यपि अधिक काॅम्प्लेक्स प्रोसेस से, क्योंकि वे सभी स्यूडो रिकर्सिव हैं।

निम्नलिखित उदाहरण सामान्य रिकर्सिव फ़ंक्शन को परिभाषित करते हैं जो स्यूडो रिकर्सिव नहीं हैं, इसलिए वे मिनिमाइजेशन ऑपरेटर का उपयोग करने से बच नहीं सकते हैं।

टोटल रिकर्सिव फ़ंक्शन
यह ऐसा जनरल रिकर्सिव फंक्शन हैं, जिसको टोटल रिकर्सिव फ़ंक्शन कहा जाता है, यदि इसे प्रत्येक इनपुट के लिए परिभाषित किया गया है, या समकक्ष, यदि इसकी गणना कुल ट्यूरिंग मशीन द्वारा की जा सकती है। गणनात्मक रूप से यह बताने की कोई विधि नहीं है, कि दिया गया सामान्य रिकर्सिव फ़ंक्शन पूर्ण है या नहीं हॉल्टिंग समस्या देखें।

संगणना के अन्य मॉडलों के साथ समतुल्यता
चर्च की इस थीसिस में, ट्यूरिंग मशीनों के बीच समानांतर रेखा खींची जाती है जो कुछ इनपुट के लिए समाप्त नहीं होती है और संबंधित पार्शियल रिकर्सिव फंक्शन में उस इनपुट के लिए अपरिभाषित परिणाम होता है।

अनबाउंड सर्च ऑपरेटर स्यूडो रिकर्सन के नियमों द्वारा परिभाषित नहीं है क्योंकि वे इनफाइनाइट लूप (अपरिभाषित मान) के लिए सिस्टम प्रदान नहीं करते हैं।

सामान्य रूपी प्रमेय
क्लेन का t विधेय क्लीन के कारण सामान्य रूप प्रमेय कहता है कि प्रत्येक k के लिए स्यूडो रिकर्सिव फ़ंक्शन $$U(y)\!$$ और $$T(y,e,x_1,\ldots,x_k)\!$$ हैं। यह इस प्रकार हैं कि किसी भी μ-रिकर्सिव फ़ंक्शन के लिए $$f(x_1,\ldots,x_k)\!$$ k मुक्त चर के साथ e ऐसा है-
 * $$f(x_1,\ldots,x_k) \simeq U(\mu(T)(e,x_1,\ldots,x_k))$$

फ़ंक्शन f के लिए संख्या e को इंडेक्स या गोडेल नंबर कहा जाता है। इस परिणाम का परिणाम यह है कि किसी भी μ-रिकर्सिव फ़ंक्शन को (कुल) स्यूडो रिकर्सिव फ़ंक्शन पर लागू μ ऑपरेटर के एकल उदाहरण का उपयोग करके परिभाषित किया जा सकता है।

मार्विन मिंस्की इसका निरीक्षण करते हैं $$U$$ ऊपर परिभाषित संक्षेप में सार्वभौमिक ट्यूरिंग मशीन के μ-रिकर्सिव समकक्ष है:

"यू का निर्माण करने के लिए एक सामान्य-पुनरावर्ती फ़ंक्शन यू (एन, एक्स) की परिभाषा लिखना है जो संख्या एन की सही व्याख्या करता है और एक्स के उचित फ़ंक्शन की गणना करता है। यू को सीधे बनाने में अनिवार्य रूप से उतना ही प्रयास, और मूल रूप से वही विचार शामिल होंगे, जितना हमने यूनिवर्सल ट्यूरिंग मशीन के निर्माण में निवेश किया है।"

प्रतीकवाद
साहित्य में अनेक प्रकार के प्रतीकों का प्रयोग किया जाता है। प्रतीकवाद का उपयोग करने का फायदा यह है कि ऑपरेटरों को के अंदर करके फ़ंक्शन की व्युत्पत्ति की जाती है, जिसे कॉम्पैक्ट रूप में लिखना सरल होता है। निम्नलिखित में पैरामीटर्स की स्ट्रिंग x1, ..., xn इसे x के रूप में संक्षिप्त किया गया है:
 * काॅन्ट्यूनिटी फंक्शन: क्लेन c$x$(x) = q का उपयोग करता है, और बूलोस-बर्गेस-जेफरी (2002) (b-b-j) संक्षिप्त नाम constn( x) = n का उपयोग करते हैं:
 * उदाहरण के लिए c$z$ (r, s, t, u, v, w, x) = 13
 * उदा. const13 (r, s, t, u, v, w, x) = 13


 * सक्सेसर फंक्शन: क्लेन सक्सेसर के लिए x' और S का उपयोग करता है। चूंकि सक्सेसर को स्यूडो माना जाता है, अधिकांश ग्रंथ एपॉस्ट्रॉफ़ी का उपयोग इस प्रकार करते हैं:
 * s(a) = a +1 =def a', जहां 1 =def 0', 2 =def 0 '', आदि।


 * आइडेंटिटी फंक्शन: क्लेन (1952) u$0$ का उपयोग करता है वेरिएबल xi पर आइडेंटिटी फंक्शन को इंगित करने के लिए, b-b-j$z$ चर x1 पर xn को आइडेंटिटी फंक्शन id का उपयोग करें:
 * u$1$( x ) = id$&mu;$( x ) = xi : जैसे u$0$ = id$n q$ (r, s, t, u, v, w, x) = t


 * रचना (प्रतिस्थापन) ऑपरेटर: क्लेन बोल्ड-फेस 's'$7 13$ का उपयोग करता है, उसके सक्सेसर के साथ भ्रमित न हों!। इस प्रकार सुपरस्क्रिप्ट m, mfm को संदर्भित करता है, जबकि इस प्रकार सबस्क्रिप्ट n, n वेरिएबल xn को संदर्भित करता है :
 * यदि हमें h(x)=g(f) दिया गया है1(x), ..., fm(x) )
 * h(x) = s$n i$(g, f1, ..., fm )


 * इसी प्रकार, उप- और सुपरस्क्रिप्ट के बिना, b-b-j लिखते हैं:
 * h(x')= Cn[g, f1 ,..., fm](x)


 * स्यूडो पुनरावर्तन: क्लेन प्रतीक rn का उपयोग करता है(बेस स्टेप, इंडक्शन स्टेप) जहां n वेरिएबल्स की संख्या को इंगित करता है, इस प्रकार b-b-j Pr(बेस स्टेप, इंडक्शन स्टेप)(x) का उपयोग करते हैं। जो इस प्रकार दिया गया हैं:
 * आधार चरण: h( 0, x )= f( x ), और
 * प्रेरण चरण: h( y+1, x ) = g( y, h(y, x),x )


 * उदाहरण: a + b का स्यूडो रिकर्सन परिभाषा:
 * आधार चरण: f( 0, a ) = a = U$n i$(a)
 * प्रेरण चरण: f( b', a ) = ( f ( b, a ) )' = g( b, f( b, a), a ) = g( b, c, a ) = c' = S(U$n i$(b, c, a))
 * r2{ u$n i$(a), S [ (U$7 3$( b, c, a ) ] }
 * {u$7 3$(a), s[(u$m n$(b, c, a) ] }

उदाहरण: क्लेन उदाहरण देता है कि f(b, a) = b + a की रिकर्सिव व्युत्पत्ति वेरिएबल a और b की व्युत्क्रम नोटिस को कैसे करें। वह 3 प्रारंभिक कार्यों से प्रारंभ करता है
 * s(a) = a'
 * u$n m$(a) = a
 * u$1 1$(b, c, a) = c
 * g(b, c, a) = s(u$3 2$(b, c, a)) = c'
 * आधार चरण: h( 0, a ) = U$1 1$(a)
 * प्रेरण चरण: h(b', a) = g(b, h(b, a), a)

वह यहां पहुंचता है:
 * a+b = r2[u$3 2$, s$1 1$(s, u$3 2$) ]

उदाहरण

 * फाइबोनैचि नंबर
 * मैक्कार्थी 91 फ़ंक्शन

यह भी देखें

 * रिकर्सन थ्योरी
 * रिकर्सन
 * रिकर्सन (कंप्यूटर विज्ञान)

संदर्भ

 * On pages 210-215 Minsky shows how to create the μ-operator using the register machine model, thus demonstrating its equivalence to the general recursive functions.
 * On pages 210-215 Minsky shows how to create the μ-operator using the register machine model, thus demonstrating its equivalence to the general recursive functions.
 * On pages 210-215 Minsky shows how to create the μ-operator using the register machine model, thus demonstrating its equivalence to the general recursive functions.
 * On pages 210-215 Minsky shows how to create the μ-operator using the register machine model, thus demonstrating its equivalence to the general recursive functions.



बाहरी संबंध

 * Stanford Encyclopedia of Philosophy entry
 * A compiler for transforming a recursive function into an equivalent Turing machine

Рекурсивная функция (теория вычислимости)