क्या एल्गोरिदम की तुलना में इंटरैक्शन अधिक शक्तिशाली है?


17

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

ऐसा कैसे हो सकता है? ट्यूरिंग मशीन की तुलना में कुछ अधिक शक्तिशाली कैसे हो सकता है? इस कहानी का सार क्या है? यह अधिक प्रसिद्ध क्यों नहीं है?


1
क्या आपके पास अपने प्रश्न में शामिल करने के लिए एक संदर्भ है? मैं ट्यूरिंग मशीन की औपचारिक परिभाषा जानता हूं, लेकिन मुझे नहीं पता कि "इंटरेक्शन" से आपका क्या मतलब है।
जोंमा

इसके अलावा, ऐसा लगता है कि "पर्यावरण के साथ बातचीत को संभाल नहीं सकता है" "सच यादृच्छिकता को संभाल नहीं सकता" के समान है, जो सच हो सकता है, लेकिन दोनों को सेंसर और छद्म यादृच्छिकता के साथ काफी अच्छी तरह से अनुमान लगाया जा सकता है। लेकिन यह एक असभ्य टिप्पणी है, बातचीत की परिभाषा नहीं जानना।
२१:

2
ट्यूरिंग मशीनों में सेंसर नहीं होते हैं।
डेव क्लार्क

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

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

जवाबों:


11

ट्यूरिंग मशीन ओर्ल टैप का उपयोग करके बातचीत को ठीक से संभाल सकती है। यह निम्न प्रकार से काम करता है: एक कंप्यूटर के दृष्टिकोण से जो बातचीत को संभालता है, ऑपरेटर का इनपुट बस बिट्स का एक और अनुक्रम है जो इसे समय-समय पर कंप्यूटर में भेजा जाता है। हम सभी जानते हैं कि एक आलसी sysadmin अनुरोध करने पर कार्यक्रम को इनपुट भेजने के लिए एक स्क्रिप्ट लिख सकता है, ताकि sysadmin पहले ब्रेक पर जा सके। इंटरैक्शन मशीन को यह जानने का कोई तरीका नहीं है कि क्या कंसोल पर वास्तव में एक लाइव ऑपरेटर है, या यदि इनपुट दूसरे प्रोग्राम से पाइप किया जा रहा है।

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

मुझे लगता है कि वैगनर कोड इनपुट के लिए ओरेकल टेप का उपयोग करने की क्षमता से अवगत है, इसलिए आपको उसकी टिप्पणियों को नमक के दाने के साथ लेना होगा, या आपको पूछना होगा कि वास्तव में उसका क्या मतलब है। मेरा मानना ​​है कि जो लोग बातचीत के बारे में सोचते हैं वे आम तौर पर दो चीजों के बारे में चिंतित होते हैं:

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

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


ओरेकल टेप सही ढंग से बातचीत नहीं करते हैं। यह साबित करने की कोशिश करने पर विचार करें कि कंप्यूटर सिस्टम निजी जानकारी को लीक नहीं करता है। इसे टीएम के रूप में एक निश्चित ओरेकल टेप के साथ औपचारिक रूप से नहीं दिया जा सकता है, क्योंकि संपत्ति कम्प्यूटेशन की विशेषता पर निर्भर करती है कि पर्यावरण क्या कर सकता है - वास्तव में हम एक ओरेकल टेप के साथ क्या करते हैं।
नील कृष्णस्वामी

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

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

इस सादृश्य से वास्तव में पूरी तरह से काम करने के लिए, पीटर हैनकॉक, पियरे हाइवर्नट: प्रोग्रामिंग इंटरफेस और बुनियादी टोपोलॉजी देखें। citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.107.919
नील कृष्णस्वामी

1
इनपुट ऑपरेटर समय n में प्रवेश करता है कोई भी संभावित इनपुट हो सकता है, और इसलिए सभी संभावित इनपुट रन के संग्रह में इनपुट तत्वों के सभी अनंत अनुक्रम होते हैं। वहाँ कोई निरंतरता नहीं है, क्योंकि ऑपरेटर कुछ भी दर्ज कर सकता है। व्यवहार्यता (जो मैं कम्प्यूटेशनल जटिलता का अर्थ लेता हूं) उस प्रश्न के लिए प्रासंगिक नहीं है जिसका मैं उत्तर दे रहा हूं - कोई भीn फ़ंक्शन की गणना एक ओरेकल मशीन द्वारा की जा सकती है, यदि फ़ंक्शन को ओरेकल टेप पर दिया जाता है, और इसी तरह किसी भी फ़ंक्शन को एक इंटरैक्शन द्वारा गणना की जा सकती है मशीन, यदि ऑपरेटर मांग पर फ़ंक्शन के मनमाने मूल्यों को दर्ज करने के लिए तैयार है।
कार्ल मम्मर्ट

8

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

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

IO मशीन के लिए एक प्रोग्राम की कल्पना करें जैसे: "किसी भी प्रारंभिक टेप इनपुट के लिए, टेप सामग्री प्रिंट करें, फिर बाहर इनपुट से एक प्रतीक पढ़ें; स्वीकार करें कि क्या प्रतीक 1 है और अन्यथा अस्वीकार करें"। यह कार्यक्रम किसी भी समस्या का फैसला कर सकता है। लेकिन केवल तभी जब बाहर की प्रणाली इसके साथ बातचीत कर सकती है, समस्या को तय करने में सक्षम है; मेरे लिए यह कहने का बहुत दिलचस्प तरीका नहीं है कि IO मशीन उन समस्याओं को तय करने में सक्षम है जो ट्यूरिंग मशीनों द्वारा अनिर्दिष्ट हैं।

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


एक गैर-सैद्धांतिक भावना है जिसमें समस्याओं को हल करने के लिए कंप्यूटर की क्षमता को जोड़ सकते हैं। ऐसी कई चीजें हैं जो मनुष्य बहुत ही सटीक रूप से करते हैं कि हम नहीं जानते कि कंप्यूटर को बहुत अच्छी तरह से कैसे प्राप्त करें। लेकिन कई ऐसी चीजें भी हैं जिन्हें इंसान बकवास कर रहे हैं, जिन्हें करने के लिए हमें कंप्यूटर मिल सकते हैं। इन दोनों को मिलाने से प्रोजेक्ट जैसे प्रोजेक्ट बन सकते हैं reCaptcha , जो कि मुश्किल मामलों में मनुष्यों को शब्दों को पहचानने की समस्याओं को हल करके पुस्तकों को स्वचालित डिजिटल कर रही है। कंप्यूटर + मानव श्रम की परिणामी प्रणाली एक परिणाम प्राप्त करती है जो वर्तमान में या तो गणना या अकेले मानव श्रम के साथ प्राप्त करने के लिए अव्यावहारिक है।


8

हाल ही में ACM ने यूबिकिटी संगोष्ठी आयोजित की ' संगणना क्या है? 'जिसमें पीटर वेगनर ने एक लेख प्रकाशित किया था जो इंटरएक्टिव कंप्यूटिंग पर उनके विचारों को दर्शाता है।

पीटर वेगनर के लेख के दो अंश यहां दिए गए हैं:

एक नई अवधारणा, शुरुआती ट्यूरिंग मशीनों से गायब है, "इंटरएक्टिव कम्प्यूटिंग", जो गणना के दौरान पर्यावरण के साथ बातचीत को समायोजित करता है।

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

हालांकि, फोर्टवॉर्न, जिनके पास एक ही संगोष्ठी में एक लेख है, वेगनर के विचारों से असहमत हैं और मानते हैं कि इंटरएक्टिव कंप्यूटिंग ट्यूरिंग मशीनों पर कोई अतिरिक्त शक्ति प्रदान नहीं करता है।

मिश्रण में जोड़ने के लिए, ऐसा प्रतीत होता है कि हम अभी भी गणना कर रहे हैं और गणना को परिभाषित कर रहे हैं। मोशे वर्डी का एक लेख है, व्हाट ए एल्गोरिथम ?, एसीएम का संचार, वॉल्यूम। 55, नंबर 3, मार्च 2012।

वर्डी एल्गोरिदम की दो नई परिभाषाओं पर रिपोर्ट करता है। पहला गुरेविच द्वारा प्रस्तावित है और दूसरा मोशकोवाकिस द्वारा।

गुरेविच ने तर्क दिया कि हर एल्गोरिथ्म को एक अमूर्त राज्य मशीन के रूप में परिभाषित किया जा सकता है।

इसके विपरीत मोशकोवाकिस ने तर्क दिया कि एक एल्गोरिथ्म को एक पुनरावर्ती के रूप में परिभाषित किया गया है, जो कि एक पुनरावर्ती विवरण है जिसे मनमाने ढंग से संचालन के शीर्ष पर बनाया गया है जो कि आदिम के रूप में लिया गया है।


6

मुझे नहीं लगता कि IO के साथ मॉडल ट्यूरिंग मशीनों की तुलना में "अधिक शक्तिशाली" हैं, वे सिर्फ विभिन्न चीजों को मॉडल करते हैं।

सिद्धांत रूप में, आप IO को (शोर?) के रूप में देख सकते थे। एक परिपूर्ण ओरेकल के साथ आप ट्यूरिंग-असंगत कार्य कर सकते हैं; लेकिन ओरेकल कहां से लाएं? मनुष्य एकमात्र "सुपर-ट्यूरिंग" विकल्प है (यदि कोई है) और हमें बहुत अविश्वसनीय माना जाता है।

इस मॉडल को फिट करने वाले कार्यक्रमों का एक वर्ग इंटरैक्टिव प्रूफ असिस्टेंट (जैसे इसाबेल / एचओएल , कोक ) हैं। वे अविश्वसनीय सबूत रिक्त स्थान के साथ सौदा करते हैं लेकिन (यकीनन) हर प्रमाण उपयुक्त उपयोगकर्ता इनपुट के साथ पाया जा सकता है (और जांचा गया है)।


तो ट्यूरिंग मशीन ओराक्लेस के साथ अधिक शक्तिशाली है कि ट्यूरिंग मशीनें उनके बिना और ट्यूरिंग मशीन ओराक्लेस के साथ बातचीत कर सकते हैं। तो जवाब हाँ लगता है।
डेव क्लार्क

1
@DaveClarke यदि आप सही ओरेकल मानते हैं, तो हाँ।
राफेल

2
मुझे लगता है कि सिद्धांतहीन (किसी भी रूप में oracle या input) मशीन (या प्रोग्राम) सिद्धांत रूप में हर प्रमाण को पा सकती है। दो समस्याएं हैं: (1, सैद्धांतिक): यह कभी भी यह पता लगाने में सक्षम नहीं होगा कि एक बयान के पास कोई सबूत नहीं है, और (2, व्यावहारिक): किसी दिए गए बयान पर ठोकर मारने की उम्मीद में नेत्रहीन रूप से सबूत पैदा करना इतना भयानक रूप से अक्षम है कि कोई भी नहीं कोशिश करना चाहता है, और इसलिए सबूत सहायकों को एक निर्देशित खोज पसंद करते हैं, एक सबूत मौजूद होने पर "आश्वासन" का त्याग कर देता है।
मार्क वैन लीउवेन

2
जैसा कि बेन अपने जवाब में बताते हैं, इसे देखने का सही तरीका "ऑर्कल्स के साथ ट्यूरिंग मशीनें अधिक शक्तिशाली नहीं हैं"; मशीनें स्वयं केवल कम्प्यूटेशनल चीजें कर रही हैं। इसे देखने का सही तरीका यह है कि "कुछ oracles कम्प्यूटेबल नहीं होते हैं, और इसलिए उन oracles से हम उन चीजों की गणना कर सकते हैं, जिन्हें हम बिना oracle के गणना नहीं कर सकते हैं"। कम्प्यूटेशनल ताकत ओरेकल से आती है, बजाय मशीन से।
कार्ल मम्मर्ट

लगता है कि Oracles के साथ ट्यूरिंग मशीनें सबसे शक्तिशाली चीज हैं। नई परिभाषाओं से भी क्यों परेशान हो?
सादतामे

0

इसे देखें :) " ट्यूरिंग के विचार और संगणना के मॉडल " https://www.cs.montana.edu/~elser/turing%20papers/Turing%27s%20Ideas%20and%20Models%20of%20Computation.pdf


2
शायद आप अपने लिंक में किए गए कुछ बिंदुओं को संक्षेप में बता सकते हैं? इसके अलावा, यह बेहतर है यदि आप एक उद्धरण के साथ-साथ एक लिंक भी प्रदान करते हैं, क्योंकि लिंक स्थानांतरित या गायब हो सकते हैं।
युवल फिल्मस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.