ट्यूरिंग मशीन ठीक एक भाषा को क्यों पहचानती है?


13

मैं गैर-पहचानने योग्य भाषाओं के अस्तित्व को समझने की कोशिश कर रहा हूं। इसे प्राप्त करने के लिए, मुझे यह जानना होगा कि ट्यूरिंग मशीन केवल एक भाषा को क्यों पहचानती है, एकाधिक को नहीं। ऐसा क्यों है?


12
मुझे संदेह है कि आपके पास "भाषा" से हमारा मतलब स्पष्ट रूप से नहीं हो सकता है। क्या आप कह सकते हैं कि आप "भाषा" को क्या मानते हैं?
एरिक लिपर्ट

आपको यह जानने की आवश्यकता क्यों है? किस तरह से आपको लगता है कि इससे फर्क पड़ सकता है?
बबौ

जवाबों:


29

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


6
"बाइ डेफिनिशन" ठीक वही है जो मैंने कहा होगा।
डेव क्लार्क

1
@DaveClarke बेशक, यह परिभाषा के अनुसार है। लेकिन यह मुझे थोड़ा छोटा लगता है, क्योंकि यह भी कहता है कि हम अपनी परिभाषा को अलग बना सकते हैं, ताकि एक टीएम दो भाषाओं को स्वीकार करे, या किसी भी संख्या को। मैं वास्तव में डेविड रिचेर्बी के इस कथन से असहमत हूं कि ऐसा कोई तंत्र नहीं है जिसके द्वारा एक टीएम दो भाषाओं को स्वीकार कर सके: यह केवल इसलिए है क्योंकि हम उन्हें अनदेखा करना चुनते हैं, और हम अन्यथा कर सकते थे। इसलिए प्रश्न का पूरी तरह से उत्तर नहीं दिया गया है, इमो, अगर हम यह नहीं समझाते हैं कि ऐसा करने का क्या औचित्य है।
बबौ

2
मुझे लगता है कि यहाँ समस्या "भाषा" का वर्णन करने के लिए इस्तेमाल की जा रही भाषा है। ट्यूरिंग मशीन भाषा की हमारी परिभाषा की परवाह किए बिना एक स्ट्रिंग के रूप में कुछ भी स्वीकार करती है। TM भाषा को परिभाषित करता है जिसे वह स्वीकार करता है, यह भाषा की हमारी (मानव) समझ के समान नहीं है। यही कारण है कि यह उत्तर अच्छा है और "... पूरी तरह से उत्तर" है।
डेविड बार्कर

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

3
ट्यूरिंग मशीन जो दो भाषाओं को स्वीकार करती है वह ट्यूरिंग मशीन है जो दो भाषाओं के मिलन वाली भाषा को स्वीकार करती है।
साइमन रिक्टर

9

इसे इस तरह से सोचें: एक टीएम एक लोड किए गए सॉफ़्टवेयर के साथ एक कंप्यूटर की तरह है। प्रत्येक सॉफ्टवेयर एक काम करता है, है ना? उदाहरण के लिए, अपने कंप्यूटर के बारे में सोचें और मान लें कि इसमें केवल 1 प्रोग्राम लोड है। तब पीसी + "फोटोशॉप" केवल फोटोशॉप करता है, जबकि पीसी + "मेरा स्वीपर" केवल खानों को स्वीप करता है।

तो एक ट्यूरिंग मशीन एक बहुत ही सरल प्राणी, कि प्रत्येक रन पर एक ही इनपुट और आउटपुट या तो एक हो जाता है है हाँ या नहीं । किस इनपुट पर यह हां कहता है, और जिस पर यह नहीं कहता है - यह टीएम के "प्रोग्राम" द्वारा निर्धारित है जैसा कि इसके राज्यों और संक्रमण फ़ंक्शन द्वारा निर्धारित किया गया है। एक बार ये तय हो जाने के बाद, "प्रोग्राम" तय हो जाता है, और किसी भी इनपुट के लिए केवल एक ही उत्तर होता है: हां या नहीं (स्वीकार / अस्वीकार)। यह बिल्कुल एकल भाषा को परिभाषित करता है = सभी इनपुट जो टीएम को दिए जाने पर एक हाँ उत्पन्न करते हैं।

दूसरी ओर, सेट के सभी टीएमएस सभी संभव कार्यक्रमों के साथ कंप्यूटर + "सॉफ्टवेयर" के सेट के बराबर है। अब अधिक भाषाओं का फैसला किया जा सकता है - लेकिन फिर भी, प्रत्येक विशिष्ट टीएम केवल एक भाषा का फैसला करता है (या पहचानता है)।


माइनर पॉइंट: मैं यह नहीं कहूंगा कि एक टीएम आउटपुट "या तो हाँ या नहीं", क्योंकि यह नॉनटर्मिनेशन की उपेक्षा करता है। यह सरलीकरण आगे चलकर और भी समस्याएँ पैदा कर सकता है।
चि

4

ट्यूरिंग मशीन काम करती है क्योंकि वे ऐसा करते हैं क्योंकि हम उन्हें परिभाषित करते हैं। हमारे पास और अधिक परिष्कृत परिभाषाएँ हो सकती हैं, लेकिन सवाल यह है कि क्या यह एक उद्देश्य की पूर्ति करेगा, क्या यह हमें और चीजें करने की अनुमति देगा। और, जहां तक ​​हम जानते हैं, उत्तर नहीं है।

दो भाषाओं को पहचानने वाली ट्यूरिंग मशीनों के मॉडल बनाना बहुत आसान है। और एल 2 भाषाओं को देखते हुए , हम एक टीएम को 2 प्रकार के राज्य को स्वीकार कर सकते हैं: एल 1 के लिए और एल 2 के लिए एक । एक टीएम को L i को स्वीकार करने के लिए कहा जाएगा यदि वह किसी बिंदु पर इसी स्थिति को स्वीकार करता है। लेकिन यह देखने के लिए गणना शुरू होगी कि क्या यह दूसरे प्रकार के स्वीकार करने वाले राज्य में भी प्रवेश कर सकता है। और हमें इसकी आवश्यकता हो सकती है कि यह बाद में रुक जाए, या संभवतः नहीं। फिर आप ऐसी मशीनों पर संपूर्ण सिद्धांत बना सकते हैं। यह काम करता है और आम तौर पर हम जो करते हैं उससे बहुत अधिक जटिल होता है।L1L2L1L2Li

L1L2

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

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

इसलिए हम एक सरल मॉडल का उपयोग कर सकते हैं, क्योंकि एक जटिल हमारे जीवन को कठिन बना देगा, बिना किसी वास्तविक लाभ के।

बेशक, हम कभी-कभी अन्य मॉडलों का उपयोग करते हैं क्योंकि वे हमें कुछ मुद्दों को बेहतर ढंग से समझने की अनुमति देते हैं।


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

ओपी का कहना है कि वह जानना चाहता है कि टीएम कुछ और समझने के लिए केवल एक भाषा को क्यों पहचानता है। मैं उसका जवाब दे रहा हूं, वे ऐसा करते हैं क्योंकि हम उन्हें उसी तरह से परिभाषित करते हैं। मैं जोड़ता हूं, जो सच है, कि हम विभिन्न परिभाषाओं का उपयोग कर सकते हैं, लेकिन यह सिद्धांत को नहीं बदलेगा। यह उसे बताने का एक तरीका है कि वह जो कुछ भी है, परिभाषा का विकल्प सारहीन है, और पहचानने की क्षमता को ठीक उसी सेट को कवर करने के लिए परिभाषित किया जा सकता है। परिभाषा चुनने का कारण सुविधा और फल है, और यही कारण है कि वे समय के साथ विकसित होते हैं, साथ ही जिस तरह से अवधारणाओं का नाम या नोट किया जाता है।
बबौ

ठीक है, यह समझ में आता है। मुझे लगता है कि मैं ज्यादातर "परिष्कृत" के उपयोग पर आपत्ति जता रहा हूं - इसका मतलब है कि कम सरल परिभाषा वांछनीय है।
दिलचस्प रूप से

3

मैं रिचार्बी के उत्तर में एक बिंदु पर विस्तार करना चाहता हूं:

जब एक इनपुट मशीन को दिया जाता है, तो इसे स्वीकार किया जाता है या नहीं।

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

इसके अतिरिक्त, हम आसानी से यह साबित कर सकते हैं कि प्रत्येक ट्यूरिंग मशीन बिल्कुल एक भाषा को पहचानती है:

मान लीजिए, विरोधाभास से, कि एक ट्यूरिंग मशीन एम दो अलग-अलग भाषाओं एल 1 और एल 2 को पहचानती है। चूंकि L1 और L2 अलग-अलग हैं, इसलिए एक स्ट्रिंग S मौजूद होना चाहिए जो L1 में है, लेकिन L2 में नहीं है (बिना सामान्यता के नुकसान के - यह चारों ओर का दूसरा तरीका हो सकता है, लेकिन L1 और L2 के साथ यहां से प्रूफ उसी तरह आगे बढ़ेगा )। अब M को S पर चलाएं। यदि यह स्वीकार करता है, तो एक विरोधाभास पहुंच जाता है क्योंकि तब S L2 में होगा। यदि यह स्वीकार नहीं करता है (अस्वीकार या लूप), तो एक विरोधाभास पहुंच जाता है क्योंकि एस एल 1 में नहीं होगा।


2

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


2
कंप्यूटर विज्ञान में आपका स्वागत है ! आपका उत्तर सही है (IMO), लेकिन मुझे नहीं लगता कि यह पहले से मौजूद उत्तरों को जोड़ता है। हमारे पास बहुत सारे अनुत्तरित प्रश्न हैं और मौजूदा उत्तरों को दोहराने की तुलना में उनमें से किसी एक का जवाब देना अधिक दिलचस्प और उत्पादक होगा।
डेविड रिचेर्बी

1
धन्यवाद! मैंने वास्तव में पहली बार में वर्तमान में स्वीकृत उत्तर नहीं देखा था (जो मुझे लगता है कि यह अच्छा है) क्योंकि यह बहुत छोटा था, और मुझे लगा कि अन्य उत्तर सीधे सवाल का जवाब नहीं देते थे।
दिलचस्प है

1

इसका उत्तर इस बात पर निर्भर करता है कि आप "ट्यूरिंग मशीन" का अर्थ क्या समझते हैं। किसी भी कम्प्यूटेशनल मॉडल के तीन घटक होते हैं (यहां पर डिक्रड्स / एक्सेसर को सीमित करना):

  • वाक्य - विन्यास,
  • अर्थ विज्ञान,
  • स्वीकृति मानदंड।

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

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

टीसीएस में शब्द की सामान्य परिभाषा और उपयोग में सभी तीन घटक शामिल हैं। यह समझ में आता है क्योंकि, विशेष रूप से, स्वीकृति मानदंड को बदलने से वस्तुओं का वर्ग बदल सकता है, जो ऑटोमेटन बहुत अधिक प्रतिनिधित्व करता है , इसलिए हमें यह जानने के लिए कि हम क्या बात करते हैं, कसौटी को ठीक करने की आवश्यकता है।

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

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


0

M1L1L2L1L2s1s1L1s1L2M1s1s1L2M1s1sL2sL1

MLsLMssMsL

sLMs

ATM


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

-2

एक भाषा तार का एक सेट है। क्या दो भाषाओं का संघ L1 नहीं है, और L2 तार का एक सेट है (इसे L3 कहते हैं), और इसलिए एक और भाषा होगी? फिर, यदि ट्यूरिंग मशीन दोनों भाषाओं को पहचानती है, तो यह L3, एकल भाषा को पहचानती है।


2
लेकिन ट्यूरिंग मशीन दोनों भाषाओं को तब तक नहीं पहचानती जब तक वे वास्तव में एक जैसी न हों। L1 को पहचानने का अर्थ है कि यह L1 के बाहर किसी भी स्ट्रिंग को स्वीकार नहीं करता है; L2 को पहचानने का अर्थ है कि यह L2 के बाहर कुछ भी स्वीकार नहीं करता है। यदि L1 और L2 अलग हैं, तो यह दोनों को पहचान नहीं सकता है।
डेविड रिचेर्बी

-3

कोई अन्य उत्तर यूनिवर्सल ट्यूरिंग मशीन (ओं) के अस्तित्व को इंगित नहीं करता है, जैसा कि ट्यूरिंग ने अपने पड़ाव प्रमाण में पहले वर्णित / खोजा था। हां, TM एक एकल पुनरावृत्ति करने योग्य भाषा को स्वीकार करता है, लेकिन यदि वह इनपुट स्ट्रिंग के साथ इनपुट पर एनकोडेड है तो UTM किसी भी पुनरावर्ती भाषा को पहचान सकता है। तो सवाल कुछ zenlike गुणवत्ता है। टीएम दोनों केवल एक ही भाषा और सभी संभव सांकेतिक भाषाओं को स्वीकार करते हैं।


4
{M,xM accepts x}

और जो लिखा है उससे अलग कैसे है?
vzn

2
भाषाओं की कोडिंग को पहचानना भाषाओं को पहचानने जैसी ही बात नहीं है।
डेविड रिचेर्बी

हाँ बिल्कुल जैसा कि कहा गया है
vzn

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