बंधी हुई समस्या हल करने योग्य है। चावल के प्रमेय के साथ यह संघर्ष क्यों नहीं है?


9

राइस प्रमेय का एक बयान "कम्प्यूटेशनल जटिलता: एक आधुनिक दृष्टिकोण" (अरोड़ा-बराक) के पृष्ठ 35 पर दिया गया है:

से का आंशिक कार्य एक ऐसा कार्य है, जो आवश्यक रूप से इसके सभी इनपुट पर परिभाषित नहीं है। हम कहते हैं कि एक टीएम एक आंशिक समारोह की गणना करता है हर के लिए करता है, तो जिस पर परिभाषित किया गया है, और हर के लिए जिस पर परिभाषित नहीं है जब इनपुट पर निष्पादित अनंत लूप में चला जाता है । यदि आंशिक फ़ंक्शन का एक सेट है, तो हम को बूलियन फ़ंक्शन के रूप में परिभाषित करते हैं जो इनपुट आउटपुट पर 1 iff{0,1}{0,1}MfxfM(x)=f(x)xfMxSfSαMα में एक आंशिक समारोह की गणना करता है । राइस के प्रमेय का कहना है कि हर nontrivial , फ़ंक्शन कम्प्यूटेबल नहीं है।SSfS

विकिपीडिया बताता है कि बंधी हुई समय की मशीनों की भाषाएं पूरी तरह समाप्त हो गई हैं। मैं की तरह इस भाषा दिखता कुछ उम्मीद स्वीकार करता है से भी कम समय में चरणों । तो कुछ डीटीएम हो जो इस बंधी हुई भाषा को घातीय समय में तय करता है। ऐसा लगता है जैसे यह डीटीएम सभी ट्यूरिंग मशीनों के लिए कुछ संपत्ति तय कर रहा है, इसलिए मेरा अंतर्ज्ञान मुझे बताता है कि राइस का प्रमेय इस तरह के निर्णय को रोकता है। लेकिन स्पष्ट रूप से कुल फ़ंक्शन की गणना करता है।{(α,x,n):Mαxn}

मुझे इस भाषा और चावल के प्रमेय के बीच के संबंध के बारे में क्या याद आ रही है?

जवाबों:


13

भाषा

{(α,x,n):Mα accepts x in less than n steps}

एक इंडेक्स सेट नहीं है, वह यह है कि यह फॉर्म का नहीं है

LP={MM is TM, fP. fM=f}

(आंशिक पुनरावर्ती) कार्यों के कुछ सेट के लिए P, साथ में fM (आंशिक) फ़ंक्शन टीएम द्वारा गणना की जाती है M। राइस प्रमेय केवल इस तरह के बारे में बयान करता हैLP; कई "सहज" रीफ़्रेशिंग सहायक नहीं हैं। यह भी देखें यहाँ

ध्यान दें कि यह न केवल यहां एक तकनीकी विवरण है। चावल का प्रमेय लागू नहीं होता है

L={MM accepts M in less than M steps},

या तो। क्या आप देख सकते हैं क्यों?

में हर मशीन के लिए L आप आसानी से कई मशीनों का निर्माण कर सकते हैं जो एक ही भाषा को स्वीकार करते हैं लेकिन अधिक से अधिक के लिए चलाते हैं M कदम, और इस प्रकार में नहीं हैं L। इस प्रकार,L इंडेक्स सेट नहीं है।

L मूल भाषा हम चर्चा कर रहे हैं के लिए के रूप में ही तर्क का उपयोग, डिसाइडेबल है।


+1। विशेष रूप से हाइपरलिंक के लिए जो शायद यहाँ भी लागू होता है। हालाँकि, मैंने वैकल्पिक उत्तर के रूप में वैसे भी "सहज" विश्लेषण में योगदान करने की कोशिश की।
जिरका हनिका

6

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

लेकिन कार्यक्रमों को अनंत तक चलने देना जरूरी है। यह पता लगाने के लिए कि वे पहले क्या करते हैंn कदम, आप उन्हें पहली के लिए सिर्फ अनुकरण कर सकता है nकदम और फिर कार्यक्रम कैसे व्यवहार किया पर अपना फैसला देने को समाप्त करें। अनंत तक समान सिमुलेशन काम नहीं करता है क्योंकि यदि नकली प्रोग्राम कभी भी एक नकली इनपुट पर समाप्त नहीं होता है, तो आपका क्लासिफायर एक वर्गीकरण प्रदान करने के बजाय, इसे अलग कर देगा।


5

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


पहला तर्क औपचारिक है लेकिन सही है। दूसरा तर्क मुझे भ्रमित करता है (मुझे यकीन नहीं है कि मैं स्थानीयता / वैश्विकता को कठोरता से परिभाषित कर सकता हूं, और मुझे नहीं पता कि "फ़ंक्शन के सेट से" फ़ंक्शन की गणना करने का क्या मतलब है)।
जिरका हनिका

पहला तर्क वास्तव में केवल वाक्यात्मक है, जैसा कि राफेल ने अपने उत्तर में उल्लेख किया है। स्थानीय / वैश्विक मुद्दा एक इनपुट बनाम सभी इनपुट पर परिणाम के बारे में तर्क के बीच अंतर को इंगित करने के लिए था (मुझे औपचारिक अर्थ में इसका मतलब नहीं था, इसका मतलब अलग संदर्भ में कुछ और हो सकता है)। किसी दिए गए सेट से किसी फंक्शन की गणना करने का मतलब है कि आप पूछें कि फंक्शन की गणना किसके द्वारा की गई हैMα में है S
एरियल

राइस प्रमेय को सभी इनपुट पर मशीन के व्यवहार के बारे में कारण की आवश्यकता नहीं होती है। उदाहरण के लिए, "5" इनपुट पर चलने पर वे अंततः स्वीकार करेंगे या नहीं, इसके आधार पर कार्यक्रमों को वर्गीकृत करना असंभव है। या यों कहें, आप ऐसे वर्गीकरण को परिभाषित कर सकते हैं, जो ठीक-ठीक अधिकांश इनपुट पर व्यवहार को अनदेखा करता है, लेकिन वर्गीकरण अभी भी पुनरावर्ती नहीं है।
जिरका हनिका

यह वास्तव में भ्रामक था, क्योंकि कोई भी परिभाषित कर सकता है S उत्पादन करने वाले कार्यों का समूह होना 1कुछ निश्चित इनपुट पर। मुद्दा उठाने के लिए धन्यवाद।
एरियल

3

राइस के प्रमेय का कहना है कि, किसी भी निर्विवाद सेट के लिए L भाषाओं का, ट्यूरिंग मशीनों का सेट जो किसी भाषा को पहचानता है Lअनिर्णनीय है। विकिपीडिया कहता है कि एक विशिष्ट भाषा निर्णायक है। तो कोई विरोधाभास नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.