ट्यूरिंग मशीनों का व्यावहारिक महत्व?


27

मैं एक इलेक्ट्रिकल इंजीनियर हूं, और 26 साल पहले कॉलेज में केवल एक सीएस कोर्स था। हालाँकि, मैं एक समर्पित गणितज्ञ उपयोगकर्ता भी हूँ।

मुझे समझ है कि कंप्यूटर विज्ञान में ट्यूरिंग मशीन बहुत महत्वपूर्ण हैं। क्या महत्व केवल कंप्यूटर विज्ञान के सिद्धांत में है? यदि व्यावहारिक प्रभाव / अनुप्रयोग हैं, तो उनमें से कुछ क्या हैं?

जवाबों:


21

ट्यूरिंग मशीनों का महत्व दुगुना है। सबसे पहले, ट्यूरिंग मशीन पहले से एक थे (यदि नहीं पहले) कंप्यूटर, 1936 दूसरा, सैद्धांतिक कंप्यूटर विज्ञान का एक बहुत से डेटिंग के लिए सैद्धांतिक मॉडलों तो बुनियादी परिणाम के एक बहुत हैं मन में ट्यूरिंग मशीन के साथ विकसित किया गया है, और ट्यूरिंग मशीनों की भाषा में। इसका एक कारण यह है कि ट्यूरिंग मशीनें सरल हैं, और इसलिए विश्लेषण के लिए उत्तरदायी हैं।

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

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


11

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

  1. साक्ष्यों की सादगी
    एक सिद्धांतवादी मॉडल के रूप में, ट्यूरिंग मशीनों को इस अर्थ में "सरल" होने का आकर्षण है कि वर्तमान मशीन राज्य में केवल स्थिर आकार है। अगली मशीन की स्थिति को निर्धारित करने के लिए आपको आवश्यक सभी जानकारी एक प्रतीक और एक (नियंत्रण) राज्य संख्या है। मशीन की स्थिति में परिवर्तन समान रूप से छोटा है, केवल मशीन सिर की गति को जोड़ता है। यह (औपचारिक) साक्ष्यों को काफी सरल करता है, विशेष रूप से मामलों की संख्या को प्रतिष्ठित करने के लिए।

    रैम मॉडल के साथ इस पहलू की तुलना करें (जब इसका न्यूनतर रूप में उपयोग नहीं किया जाता है): अगला ऑपरेशन कई ऑपरेशनों में से कोई भी हो सकता है , जो किसी भी (दो) रजिस्टरों तक पहुंच सकता है । कई नियंत्रण संरचनाएं भी हैं।

  2. रनटाइम और अंतरिक्ष उपयोग
    वहाँ (केवल) गणना के दो प्रमुख मॉडल थे जो ट्यूरिंग मशीनों के साथ लगभग एक साथ उभरे थे, अर्थात् चर्च के -calculusλ और क्लेन के -recursive फ़ंक्शंसμ । उन्होंने एक ही सवाल का जवाब दिया ट्यूरिंग ने किया - हिल्बर्ट के एन्सेचिडंगस्प्रोब्लेम - लेकिन रनटाइम और अंतरिक्ष उपयोग को परिभाषित करने के लिए खुद को बहुत कम आसानी से (अगर सभी पर) उधार दें। एक मायने में, वे बहुत अधिक यथार्थवादी मशीन मॉडल से संबंधित होने के लिए बहुत सार हैं।

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

इस प्रकार, ट्यूरिंग मशीनों को गणना के मॉडल के रूप में स्थापित किया गया है , जिसे ऐतिहासिक "दुर्घटना" और इसके कुछ प्रमुख गुणों के संयोजन के रूप में देखा जा सकता है। फिर भी, कई मॉडलों को तब से परिभाषित किया गया है और उनका उपयोग किया जाता है, विशेष रूप से ट्यूरिंग मशीनों की कमियों को दूर करने के लिए; उदाहरण के लिए, वे "प्रोग्राम" (यानी परिभाषित) के प्रति थकाऊ हैं।

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

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


4

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

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

बेशक, आप कुछ और भी लागू कर सकते हैं जो ट्यूरिंग-पूर्ण (जैसे सी या कॉम्बिनेटर लॉजिक) है, लेकिन कभी-कभी ट्यूरिंग मशीन सबसे आसान विकल्प है।


-1

ट्यूरिंग मशीन कम्प्यूटेशन का एक गणितीय मॉडल है। इसके लाभ हैं: -

1. चेक डिसिडेबिलिटी यदि टीएम काउंटेबल समय में किसी समस्या को हल नहीं कर सकता है तो कोई एल्गोरिथ्म नहीं हो सकता है जो उस समस्या को हल कर सके (यह समस्या अनिर्दिष्ट है)।

एक निर्णय समस्या के लिए यदि इसकी टीएम सभी परिमित लंबाई इनपुट के लिए गणना करने योग्य समय में रुक जाती है तो हम कह सकते हैं कि समस्या को गणनीय समय में एक एल्गोरिथ्म द्वारा हल किया जा सकता है।

2. श्रेणीबद्ध समस्या TM बहुपद पदानुक्रम की कक्षाओं में निर्णायक समस्याओं को वर्गीकृत करने में मदद करता है।

मान लीजिए कि हमने पाया कि समस्या विकट है। फिर लक्ष्य आउट हो जाता है कि हम इसे कितनी कुशलता से हल कर सकते हैं। दक्षता की गणना चरणों की संख्या, अतिरिक्त स्थान का उपयोग, एफएसएम की कोड / आकार की लंबाई में की गई है।

3. व्यावहारिक मशीनों के लिए डिजाइन और कार्यान्वयन एल्गोरिदम टीएम अन्य व्यावहारिक मशीनों में एल्गोरिदम के विचार को फैलाने में मदद करता है। 1,2 मानदंडों की सफल जाँच के बाद हम अपने व्यावहारिक उपकरणों / कंप्यूटरों का उपयोग एल्गोरिदम को डिजाइन और कार्यान्वित करने के लिए कर सकते हैं।


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

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

-3

ट्यूरिंग मशीनें थोड़ा व्यावहारिक अभ्यास के साथ अच्छा दिमाग का व्यायाम हैं। एक नहीं होने में कोई बुराई नहीं है। ट्यूरिंग मशीन के सभी अनुप्रयोग या तो सहज हैं या धर्म का मामला है क्योंकि उन्हें साबित या अस्वीकार नहीं किया जा सकता है।


2
"ट्यूरिंग मशीन के सभी अनुप्रयोग या तो सहज ज्ञान युक्त हैं या धर्म का मामला [...]" और, इस प्रकार, संगणना सिद्धांत और जटिलता सिद्धांत के पूरे क्षेत्रों को चौदह शब्दों में खारिज कर दिया गया।
डेविड रिचरबी

ये उन सिद्धांतों को खारिज करने का लक्ष्य नहीं था। मैं केवल यह कह रहा था कि ट्यूरिंग मशीन के अनुप्रयोग या तो स्पष्ट होते हैं, उन्हें सहज रूप से समझा जा सकता है या बिना साबित किए विश्वास की आवश्यकता होती है।
वालेरी गवरिलोव

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

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