सारांश: राइस के प्रमेय के अनुसार, सब कुछ असंभव है। और फिर भी, मैं यह हर समय असंभव सामान करता हूं !
बेशक, राइस प्रमेय बस यह नहीं कहता कि "सब कुछ असंभव है"। यह कुछ और नहीं बल्कि विशिष्ट कहता है: "कंप्यूटर प्रोग्राम की प्रत्येक संपत्ति गैर-संगणनीय है।"
(यदि आप बालों को विभाजित करना चाहते हैं, तो प्रत्येक "गैर-तुच्छ" संपत्ति। अर्थात, ऐसे गुण जो सभी कार्यक्रमों में होते हैं या कोई कार्यक्रम नहीं होता है, तुच्छ रूप से गणना योग्य होते हैं। लेकिन कोई भी अन्य संपत्ति गैर-कम्प्यूटेशनल है।)
यही प्रमेय कहता है, या कहता है। और संभवतः बहुत अधिक स्मार्ट लोगों की एक बड़ी संख्या ने इस प्रमेय की शुद्धता को ध्यान से सत्यापित किया है। लेकिन यह तर्क को पूरी तरह से दोषपूर्ण लगता है! रहे हैं कई जो कर रहे हैं कार्यक्रमों के गुणों तुच्छ गणना करने के लिए !! उदाहरण के लिए:
किसी कार्यक्रम को रोकने से पहले कितने कदम चलते हैं? यह तय करने के लिए कि क्या यह संख्या परिमित है या असीम है, हॉल्टिंग समस्या ठीक है, जो गैर-गणना योग्य है। तय करने के लिए इस नंबर अधिक से अधिक या कम है कि क्या की तुलना में कुछ परिमित है तुच्छ! बस चरणों तक कार्यक्रम चलाएं और देखें कि यह रुकता है या नहीं। आसान!
इसी प्रकार, क्या प्रोग्राम अपने पहले निष्पादन चरणों में यादा से कम मेमोरी का उपयोग करता है ? तुच्छ रूप से गणना करने योग्य।
क्या प्रोग्राम टेक्स्ट में नाम के एक वैरिएबल का उल्लेख है ? एक तुच्छ पाठ संबंधी विश्लेषण उत्तर को प्रकट करेगा।
क्या कार्यक्रम कमांड आमंत्रित करता है ? फिर, उस कमांड नाम की तलाश में प्रोग्राम टेक्स्ट को स्कैन करें।
मैं बहुत सारे गुण देख सकता हूं जो गैर-संगणक भी लगते हैं; उदाहरण के लिए, कार्यक्रम को पूरा करने के लिए कितने जोड़ होते हैं? खैर, यह लगभग पूछने के समान है कि कार्यक्रम कितने चरणों में प्रदर्शन करता है, जो वस्तुतः हैल्टिंग समस्या है। लेकिन ऐसा लगता है कि कार्यक्रम के गुणों के नाव-लोड हैं जो गणना करने के लिए वास्तव में आसान है। और फिर भी, राइस का प्रमेय जोर देता है कि उनमें से कोई भी गणना योग्य नहीं है।
मुझे यहां क्या समझ नहीं आ रहा है?