जवाबों:
1920 और 1930 में लोग यह पता लगाने की कोशिश कर रहे थे कि "प्रभावी रूप से किसी फ़ंक्शन की गणना करने" का अर्थ क्या है (याद रखें, आसपास कोई सामान्य प्रयोजन कंप्यूटिंग मशीन नहीं थीं, और कंप्यूटिंग कुछ लोगों द्वारा किया गया था)।
"कम्प्यूटेबल" की कई परिभाषाएं प्रस्तावित की गईं, जिनमें से तीन सबसे अच्छी तरह से जानी जाती हैं:
बाद में, वहाँ एक प्रयास किया गया था, रॉबर्ट सोरे द्वारा "पुनरावर्ती" को "कम्प्यूटेबल" में बदलने के लिए। इस प्रकार आजकल हम कम्प्यूटेशनल कार्यों और कम्प्यूटेशनल सेटों की बात करते हैं। लेकिन कई पुरानी पाठ्यपुस्तकें, और कई लोग, अभी भी "पुनरावर्ती" शब्दावली पसंद करते हैं।
इतिहास के लिए इतना ही। हम यह भी पूछ सकते हैं कि क्या पुनरावृत्ति विशुद्ध गणितीय दृष्टिकोण से गणना के लिए महत्वपूर्ण है। उत्तर एक बहुत ही निश्चित है "हाँ!"। पुनर्संयोजन सामान्य-प्रयोजन प्रोग्रामिंग भाषाओं के आधार पर निहित है (यहां तक कि while
लूप केवल पुनरावृत्ति का एक रूप है क्योंकि while p do c
समान है if p then (c; while p do c)
), और कई मौलिक डेटा स्ट्रेचर, जैसे सूचियां और पेड़ पुनरावर्ती हैं। कंप्यूटर विज्ञान में और विशेषकर कम्प्यूटेबिलिटी सिद्धांत में रिकर्सन केवल अपरिहार्य है।
कम्प्यूटेबिलिटी सिद्धांत कम्प्यूटेशनल कार्यों का अध्ययन है :-)।
ऐसे कार्य आमतौर पर (इस समुदाय में) ऐसे कार्यों के रूप में परिभाषित किए जाते हैं जिन्हें ट्यूरिंग मशीन के साथ व्यक्त किया जा सकता है।
जैसा कि यह पता चलता है कि यदि आप इस प्रकार (कार्यक्रमों) में गणना योग्य कार्यों को परिभाषित करते हैं, तो वे यहां वर्णित नियमों का उपयोग करके प्राप्त किए जा सकने वाले कार्यों के सेट के बराबर हैं । उन्हें पुनरावर्ती कार्य कहा जाता है क्योंकि ऐसे कार्यों को प्राप्त करने के नियमों में से एक एक पुनरावर्ती परिभाषा है (विकिपीडिया पर 5 वां नियम देखें)।
इसलिए पुनरावृत्ति सिद्धांत का अधिक महत्व होने का कारण इस सवाल के बराबर है कि कम्प्यूटेशनल कार्य महत्वपूर्ण क्यों हैं। और बाद का जवाब काफी स्पष्ट होना चाहिए :)