ऑरेकल ट्यूरिंग मशीनों के उपयोग से विरोधाभास कैसे नहीं होता है?


9

हम यह सुनिश्चित कर सकते हैं कि हम ओरेकल ट्यूरिंग मशीनों का उपयोग करते समय जटिलता कक्षाओं के बारे में ध्वनि और वैध बयान जारी कर रहे हैं? मेरी समझ के अनुसार (विषय पर परिचयात्मक पाठ्यपुस्तकों में दी गई परिभाषाओं के आधार पर) ऑर्कल ट्यूरिंग मशीनें एक संगणना कदम में एक ओरेकल भाषा के संबंध में एक स्ट्रिंग की सदस्यता की स्थिति निर्धारित कर सकती हैं। हालाँकि अक्सर उपयोग की जाने वाली अलंकरण भाषाएं लगातार समय में हल करने के लिए काफी असंभव हैं (उदाहरण के लिए, एक EXPTIME- पूर्ण ओरेकल लें)। मेरे लिए यह विरोधाभासों के लिए "दरवाजा खोलने" जैसा लगता है और आखिरकार, एक विरोधाभास से कुछ भी होता है।


2
यदि ओरेकल "वास्तव में" समय लेता है, तो यह कुल मशीन के रनटाइम के लिए एक कारक है। निरंतर लागत (यानी गणना करें कि आपको कितनी बार oracle की आवश्यकता है) मानकर oracle-using एल्गोरिदम की तुलना करना आसान हो जाता है। (प्रश्न यदि प्राप्त परिणामों की वास्तविकता में कोई प्रासंगिकता है, तो एक वह है जो आप हमेशा सामना करते हैं और / या टीसीएस में अनदेखी करते हैं।)T
राफेल

@Raphael पैरेंटिकल कमेंट में "आप" क्या आप सामान्य रूप से जटिलता सिद्धांतवादियों का मतलब है या विशेष रूप से मेरा?
अरि

भूतपूर्व। खैर, एक तरह से दोनों।
राफेल

एक उन्नत विषय। फोर्टवे के साथ शुरू करने की कोशिश करें जो सहमत हैं कि वे कभी-कभी "दुरुपयोग" और क्षेत्र का सर्वेक्षण करते हैं। इन परिणामों को देखने का आत्मनिर्भर तरीका "सशर्त" दावे की तरह है। ठीक उसी तरह से जैसे कि
रिमैन की

जवाबों:


8

इसे देखने के कई तरीके हैं।

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

हम उन कार्यों को लिख सकते हैं जो उन मूल्यों पर काम करते हैं जो हमारे पास नहीं हैं।

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

haltingPlusOne:{h}N

haltingPlusOne(x)=x+1

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

मुझे ऑर्कल्स के साथ प्रमाण मिलते हैं। वे मूल रूप से कार्य करते हैं जो कहते हैं, मुझे एक ट्यूरिंग मशीन दें जो समस्या को हल करती है , और मैं आउटपुट के रूप में कुछ प्रमेय का प्रमाण दूंगा।X

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

मूल रूप से एक अलंकरण कह रहा है "मान लें कि हमारे पास एक टीएम है जो सामान्य परिभाषा से मेल खाती है, यह मानकर भी कि हम कुछ समस्या को हल कर सकते हैं"। इसलिए कोई विरोधाभास नहीं है, क्योंकि हम यह नहीं मान रहे हैं कि समस्या को स्वीकार करने वाला एक सामान्य TM है, हम मान रहे हैं कि समस्या को स्वीकार करने वाला एक विशेष TM है।

बहुत ही अनौपचारिक सादृश्य में, इस तरह से सोचें। अगर मैं आपको साबित कर सकता हूं कि सुपरपावर के बिना कोई भी इंसान उड़ नहीं सकता है, तो कोई विरोधाभास नहीं है कि कोई सुपरहीरो है जो उड़ सकता है।

ये oracles विशुद्ध रूप से तार्किक वस्तु हैं। हम नहीं जानते कि भौतिक मशीनों का निर्माण कैसे किया जाता है जो उनका अनुकरण करते हैं, जिस तरह से हम ट्यूरिंग मशीनों के साथ कर सकते हैं, लेकिन जहां तक ​​हम जानते हैं, उनकी परिभाषाओं और हमारे मूल स्वयंसिद्धों के बीच कोई अंतर्निहित विरोधाभास नहीं है। तार्किक वस्तुओं के रूप में, ये ओर्कल्स मौजूद हैं। हम जानते हैं कि वे ट्यूरिंग मशीन या लैम्ब्डा-कैलकुलस शब्द या आंशिक-पुनरावर्ती कार्य नहीं कर रहे हैं। चर्च-ट्यूरिंग थीसिस का कहना है कि कोई और अधिक शक्तिशाली मॉडल नहीं है, लेकिन यह एक प्रमेय नहीं है, यह सिर्फ एक अनुमान है, और वास्तव में साबित होने के लिए बहुत अनौपचारिक है।


मैं आपके उत्तर से सहमत / समझता हूं, लेकिन केवल एक निश्चित बिंदु तक: उदाहरण के लिए, मैं देखता हूं कि आपका haltingPlusOne फ़ंक्शन अच्छी तरह से परिभाषित है, लेकिन यह नहीं देखते हैं कि हम oracles से कोई सार्थक निष्कर्ष कैसे निकाल सकते हैं, क्योंकि हम किसी भी "यदि" एक गलत कथन का विवरण है और किसी भी निष्कर्ष पर पहुंचता है, अर्थात "यदि सभी प्राकृतिक संख्याओं के लिए तो केवल एक प्राकृतिक संख्या है।" n+1=nn1
अरी

1
बात यह है कि, बयान झूठे नहीं हैं, हम सिर्फ उनका निर्माण नहीं कर सकते हैं। कुंजी यह है कि oracles ट्यूरिंग मशीन नहीं हैं, इसका मतलब यह नहीं है कि वे मौजूद नहीं हैं।
jmite

"सही इनपुट ढूंढें" "सही आउटपुट ढूंढें"?

2

खैर, मैं कहूंगा कि यह ओरेकल टीएम की एक अनिवार्य विशेषता है कि उनके पास एक ओरेकल तक पहुंच है जिसे हल करना मुश्किल है। यदि आप निरंतर समय में ओरेकल तय कर सकते हैं , तो प्रत्येक वर्ग आपके पास । तो इस मामले में आखिरकार ओरेकल क्यों है?ABB=BA

तो फिर एक ओरेकल टीएम का उपयोग करने में क्या मतलब है? मैं कहूंगा कि यह हमें समस्याओं की कठोरता के बारे में (डिग्री) के बारे में मुख्य रूप से सैद्धांतिक विचारों की अनुमति देता है। दैवज्ञ भी अनिर्वचनीय हो सकता है। इस मामले में आप अयोग्य समस्याओं (ट्यूरिंग डिग्री) की एक पूरी पदानुक्रम को परिभाषित कर सकते हैं। बेशक, अगर आपका ओरेकल रुकने की समस्या है तो आप अपने ऑरेकल टीएम को पारंपरिक टीएम में नहीं बदल सकते।

ओरेकल टीएम अवधारणा भी कटौती (ट्यूरिंग रिडक्शन) के एक मजबूत रूप को परिभाषित करने के लिए महत्वपूर्ण है।

ध्यान दें कि oracle TM की अधिक सैद्धांतिक प्रेरणा के oracle दुनिया के बाहर निहितार्थ हो सकते हैं । आप शायद प्रसिद्ध बनाम रिलेटिव परिणाम जानते हैं ।PNP

अंतिम टिप्पणी के रूप में कि ओरेकल को क्वेरी करने के लिए आपको ऑरिजन टेप पर सबसे पहले क्वेरी स्ट्रिंग लिखना होगा । इस प्रकार, आप निरंतर समय में सदस्यता तय नहीं कर सकते, लेकिन समय में।w|w|

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