Google का ट्यूरिंग डूडल किस प्रकार का ऑटोमेटन है?


10

एलन ट्यूरिंग के जन्मदिन के उपलक्ष्य में, Google ने एक मशीन दिखाते हुए एक डूडल प्रकाशित किया । डूडल किस तरह की मशीन है? क्या यह ट्यूरिंग पूर्ण भाषा व्यक्त कर सकता है?

शास्त्रीय ट्यूरिंग मशीन के स्पष्ट अंतर हैं: एक परिमित टेप, कैसे राज्य से जुड़ा हो सकता है, में बाधा ...

डूडल अभी भी यहां उपलब्ध है डूडल का स्क्रीनशॉट

(शीर्ष दाईं ओर प्रदर्शन अपेक्षित आउटपुट दिखाता है।)

बीच में टेप को वर्गों में विभाजित किया गया है जो एक रिक्त, एक शून्य या एक को पकड़ सकता है। सिर को चौकों में से एक के ऊपर स्थित किया जाता है और इसका उपयोग पढ़ने और लिखने के लिए किया जाता है।

टेप के नीचे आप एक हरे तीर को देख सकते हैं जिस पर आप क्लिक करके मशीन को शुरू कर सकते हैं। इसके बगल में मंडलियों की दो पंक्तियाँ हैं, जिनमें से कुछ जुड़ी हुई हैं। मैं उन्हें "राज्य" कहूंगा।

मशीन के शुरू होने के बाद, हरे बटन के दाईं ओर पहला राज्य रोशनी देता है, फिर अगले एक से दाईं ओर, और इसी तरह ... प्रत्येक राज्य में निम्नलिखित कमांड में से एक होता है:

  • रिक्त = कुछ भी न करें (बस अगले राज्य में जाएं)
  • 1 = सिर की वर्तमान स्थिति में टेप पर एक लिखें
  • 0 = सिर की वर्तमान स्थिति में टेप पर एक शून्य लिखें
  • तीर को बाईं ओर = सिर को एक कदम बाईं ओर ले जाएं
  • दायीं ओर तीर चलाना = सिर को दाहिनी ओर एक कदम रखना
  • शर्त: यदि सिर के नीचे का मूल्य वर्ग में दिखाए गए मूल्य के बराबर है, तो राज्यों की दूसरी पंक्ति के नीचे चला जाता है। यदि नहीं, तो दाईं ओर अगले राज्य में जाएं
  • बाईं छलांग: एक (निश्चित) पिछले राज्य में वापस लेकिन केवल ऊपरी पंक्ति पर [मैं मूल रूप से उस एक को भूल गया, धन्यवाद @arario!]

दो छलांग (एक के ऊपर एक) को "ओवरलैप" करने का कोई तरीका नहीं है। मशीन तब रुकती है जब वहाँ कोई राज्य छोड़ता है और उसके दाईं ओर कोई अगला राज्य नहीं होता है।

(मशीन के बंद होने के बाद टेप की सामग्री प्रदर्शन की सामग्री से तुलना की जाती है, लेकिन मैं यह नहीं मानता कि मशीन की इच्छित कार्यक्षमता का हिस्सा हो।)


9
एक ट्यूरिंग मशीन, बिल्कुल! en.wikipedia.org/wiki/Turing_machine शायद आप भ्रमित थे क्योंकि संक्रमण प्रणाली कायरतापूर्ण है।
हक बेनेट

नियंत्रण इंजन में एक "लेफ्ट जंप ऑपरेटर" भी है जो पिछली स्थिति में लौटने की अनुमति देता है लेकिन केवल ऊपरी पंक्ति पर; इसके अलावा दो छलांग (दूसरे पर एक) को "ओवरलैप" करने का कोई तरीका नहीं है। जंप ऑपरेटर के बिना मशीन एक डीएफए के बराबर है (नियंत्रण इंजन में क्रियाएं बाएं से दाएं "निष्पादित की जाती हैं), लेकिन सीमित बाएं कूद ऑपरेटर के साथ मशीन एक एलबीए का अनुकरण करने के लिए पर्याप्त शक्तिशाली नहीं लगती है (लेकिन मैंने नहीं किया था ' t इसके बारे में बहुत सोचें)। हर मामले में यह पूर्ण नहीं हो सकता क्योंकि टेप परिमित है।
मार्जियो डी बियासी

1
@ मर्ज़ियो डी बायसी: आप सही कह रहे हैं कि इस पहेली में जम्प निर्देश हैं, और उनके बिना, मॉडल स्पष्ट रूप से बहुत कमजोर है क्योंकि एक मशीन केवल एक निरंतर समय के लिए चल सकती है। (मुझे यकीन नहीं है कि आप "एक डीएफए के बराबर" से क्या मतलब है) आप कूदने के निर्देशों पर क्या प्रतिबंध लगा सकते हैं, इसका जवाब बदल सकता है। "टेप परिमित है" शायद एक गलत धारणा है।
१२:१६ पर त्सुकोशी इतो

Google अपने डूडल उपलब्ध रखता है (हालाँकि स्पष्ट रूप से हमेशा इंटरैक्टिव संस्करण नहीं)।
राफेल

@TsuyoshiIto: मेरा मतलब है (लेकिन शायद मैं गलत हूं) कि बिना लूप के एक मशीन दी गई जो आप एक DFA का निर्माण कर सकते हैं जो इसे अनुकरण करता है। यदि आप दोनों दिशाओं में मनमाना कूदने की अनुमति देते हैं और वह ओवरलैप कर सकता है, तो मशीन तुरंत "ट्यूरिंग फुल" (एक अनंत टेप मानकर) यहां तक ​​कि केवल दो पंक्तियों (राज्यों को क्षैतिज रूप से "चपटा" किया जा सकता है)। मैं नहीं जानता कि क्या होता है यदि आप बायीं कूद की अनुमति देते हैं जो ओवरलैप कर सकते हैं (लेकिन केवल पहली पंक्ति पर) और एक मध्यस्थ संख्या में पंक्तियों (लेकिन निचली पंक्तियों पर नियंत्रण केवल ऊपर या नीचे जा सकता है)। शायद यह cs.stackexchange.com के लिए एक अच्छा सवाल है
Marzio De

जवाबों:


10

ऐसा मानते हुए:

  • हम मनमाने ढंग से बड़ी संख्या में पंक्तियाँ जोड़ सकते हैं ("स्टेटस लाइन्स")
  • पंक्तियों को मनमाने ढंग से लंबा किया जा सकता है
  • टेप अनंत है

मैंने एक एलन ट्यूरिंग डूडल मशीन कॉन्फ़िगरेशन का निर्माण करने की कोशिश की, जो " स्मॉल ट्यूरिंग मशीन और सामान्यीकृत व्यस्त बीवर प्रतियोगिता " में वर्णित मशीन करता है, जिसमें एक हॉल्टिंग समस्या है जो एक खुले (मेरे ज्ञान तक) Collatz जैसी समस्या पर निर्भर करती है। पूरी तस्वीर यहां उपलब्ध हैM4

atdoodle

... तो यहां तक ​​कि अगर एटी की डूडल शायद ट्यूरिंग पूरी नहीं है (केवल पहली पंक्ति में उपलब्ध नॉन-ओवरलैपिंग लेफ्ट-ओनली जंप ऑपरेटर के कारण), तो यह (अन) डिकिडेबिलिटी की फाइन लाइन को चलाने के लिए पर्याप्त शक्तिशाली है: - डी

संपादित करें: टर्निंग डंगल पूर्ण संकलन है

(मैं पिछले उत्तर को ऊपर छोड़ता हूं, क्योंकि मुझे यकीन नहीं है कि यह हिस्सा सही है :-)

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

उदाहरण के लिए एक 2 राज्यों 8 प्रतीकों टीएम निम्नलिखित टेप प्रतिनिधित्व का उपयोग कर नकली किया जा सकता है:

    HEAD POSITION
    v
...[s][b2 b1 b0] [_][b2 b1 b0] [_][b2 b1 b0] ....
   ^^^^^^^^^^^^^
    "macro cell"

ट्यूरिंग डूडल कर सकते हैं:

  1. STATE A और STATE B का प्रतिनिधित्व करने वाले दो अलग-अलग क्षैतिज क्षेत्रों में से एक को और शाखा पढ़ें ;s
  2. आठ प्रतीकों में से एक का प्रतिनिधित्व करने वाली पंक्ति में और शाखा पढ़ें ;b2,b1,b0
  3. अगला प्रतीक लिखें, सिर को बाईं या दाईं ओर "मैक्रो सेल" पर ले जाएं, और उस पर अगले राज्य को संग्रहीत करें; इन ऑपरेशनों के नीचे की आकृति में (जो कि बाएं / दाएं और लिखने के कार्यों का उपयोग करके कोशिकाओं के अनुक्रम पर किया जा सकता है) को "MW" कहा जाता है;
  4. अंत में नियंत्रण को ऊपरी पंक्ति में स्थानांतरित करें कि एक बाईं ओर कूदने से नियंत्रण वापस चरण 1 पर आ जाएगा।

पूरी तस्वीर यहां उपलब्ध है

TdoodleTC

इसी तरह, एक को राज्यों की एक मनमानी संख्या और वर्णमाला प्रतीकों के साथ दिए गए हम एक समान ट्यूरिंग डूडल मशीन निर्माण कर सकते हैं ।डी एमTMDM


nooo! आपने मुझे इसमें हरा दिया! मैं सिर्फ लिख रहा था कि टेप के बजाय राज्य-अंतरिक्ष में एक मनमाना टीएम कैसे बनाया जाए। हालाँकि, आपका दृष्टिकोण अच्छा है क्योंकि यह केवल एक छलांग का उपयोग करता है। बहुत बढ़िया! रुको, आपकी मशीन इनपुट कैसे प्राप्त करती है?
Artem Kaznatcheev

@ marzio-de-biasi अच्छा काम!
काली मिर्च_चिको

1
@ArtemKaznatcheev: यह टेप पर इनपुट प्राप्त करता है; जाहिर है कि आप TM के मूल वर्णमाला प्रतीकों के अनुसार इसे एनकोड करना चाहिए और राज्य प्रतिनिधित्व के लिए रिक्त स्थान छोड़ दें।
मार्जियो डी बियासी

कनिष्ठा का चिह्न alen turing। मुझे यह पढ़ने में बहुत मज़ा आया
iDroid

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

5

मशीन को एक "टेप", (कागज का एनालॉग) के माध्यम से आपूर्ति की जाती है, और एक "प्रतीक" को प्रभावित करने में सक्षम वर्गों में विभाजित किया जाता है (जिसे "स्क्वायर" कहा जाता है)। किसी भी क्षण में बस एक वर्ग है, आर-वें कहते हैं, प्रतीक एस (आर) जो "मशीन" है। हम इस वर्ग को "स्कैन किया हुआ वर्ग" कह सकते हैं। स्कैन किए गए वर्ग के प्रतीक को "स्कैन किया हुआ प्रतीक" कहा जा सकता है। "स्कैन किया हुआ प्रतीक" केवल एक है जिसमें से मशीन है, इसलिए बोलने के लिए, "सीधे जागरूक"। हालाँकि, इसके एम-कॉन्फ़िगरेशन को बदलकर मशीन कुछ ऐसे प्रतीकों को प्रभावी रूप से याद रख सकती है, जिन्हें उसने पहले देखा (स्कैन) किया है। किसी भी समय मशीन का संभावित व्यवहार एम-कॉन्फ़िगरेशन क्यूएन और स्कैन किए गए प्रतीक एस (आर) द्वारा निर्धारित किया जाता है। इस जोड़ी qn, S (r) को "कॉन्फ़िगरेशन" कहा जाएगा: इस प्रकार विन्यास मशीन के संभावित व्यवहार को निर्धारित करता है। कुछ विन्यासों में जिनमें स्कैन किया हुआ वर्ग रिक्त है (अर्थात कोई प्रतीक नहीं है) मशीन स्कैन किए गए वर्ग पर एक नया प्रतीक लिखती है: अन्य विन्यास में यह स्कैन किए गए प्रतीक को मिटा देता है। मशीन उस वर्ग को भी बदल सकती है जिसे स्कैन किया जा रहा है, लेकिन केवल एक स्थान को दाएं या बाएं स्थानांतरित करने से। इनमें से किसी भी ऑपरेशन के अलावा एम-कॉन्फ़िगरेशन को बदला जा सकता है। नीचे लिखे कुछ प्रतीकों {232} में आकृतियों का क्रम बनेगा जो कि वास्तविक संख्या का दशमलव है जिसकी गणना की जा रही है। दूसरों को "स्मृति की सहायता" करने के लिए सिर्फ मोटे नोट हैं। यह केवल ये खुरदुरे नोट होंगे जो मिटाने के लिए उत्तरदायी होंगे। भालू कोई प्रतीक नहीं) मशीन स्कैन किए गए वर्ग पर एक नया प्रतीक लिखती है: अन्य कॉन्फ़िगरेशन में यह स्कैन किए गए प्रतीक को मिटा देता है। मशीन उस वर्ग को भी बदल सकती है जिसे स्कैन किया जा रहा है, लेकिन केवल एक स्थान को दाएं या बाएं स्थानांतरित करने से। इनमें से किसी भी ऑपरेशन के अलावा एम-कॉन्फ़िगरेशन को बदला जा सकता है। नीचे लिखे कुछ प्रतीकों {232} में आकृतियों का क्रम बनेगा जो कि वास्तविक संख्या का दशमलव है जिसकी गणना की जा रही है। दूसरों को "स्मृति की सहायता" करने के लिए सिर्फ मोटे नोट हैं। यह केवल ये खुरदुरे नोट होंगे जो मिटाने के लिए उत्तरदायी होंगे। भालू कोई प्रतीक नहीं) मशीन स्कैन किए गए वर्ग पर एक नया प्रतीक लिखती है: अन्य कॉन्फ़िगरेशन में यह स्कैन किए गए प्रतीक को मिटा देता है। मशीन उस वर्ग को भी बदल सकती है जिसे स्कैन किया जा रहा है, लेकिन केवल एक स्थान को दाएं या बाएं स्थानांतरित करने से। इनमें से किसी भी ऑपरेशन के अलावा एम-कॉन्फ़िगरेशन को बदला जा सकता है। नीचे लिखे कुछ प्रतीकों {232} में आकृतियों का क्रम बनेगा जो कि वास्तविक संख्या का दशमलव है जिसकी गणना की जा रही है। दूसरों को "स्मृति की सहायता" करने के लिए सिर्फ मोटे नोट हैं। यह केवल ये खुरदुरे नोट होंगे जो मिटाने के लिए उत्तरदायी होंगे। नीचे लिखे कुछ प्रतीकों {232} में आंकड़ों का क्रम बनेगा जो कि वास्तविक संख्या का दशमलव है जिसकी गणना की जा रही है। दूसरों को "स्मृति की सहायता" करने के लिए सिर्फ मोटे नोट हैं। यह केवल ये खुरदुरे नोट होंगे जो मिटाने के लिए उत्तरदायी होंगे। नीचे लिखे कुछ प्रतीकों {232} में आकृतियों का क्रम बनेगा जो कि वास्तविक संख्या का दशमलव है जिसकी गणना की जा रही है। दूसरों को "स्मृति की सहायता" करने के लिए सिर्फ मोटे नोट हैं। यह केवल ये खुरदुरे नोट होंगे जो मिटाने के लिए उत्तरदायी होंगे।

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

यह मूल ट्यूरिंग पेपर "ऑन कंप्यूटेबल नंबर्स, ए एप्लीकेशन विद द एन्सेचेइदंगस्प्रोब्लेम" का एक अंश है।

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

जैसा कि आप देख सकते हैं, Google ने केवल एक मशीन जैसा दिखने का प्रयास किया, जो कि ट्यूरिंग के विवरण के समान है।

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


लेकिन क्या उन्होंने एक ट्यूरिंग मशीन लागू की है? यह एक परिमित टेप है, इसलिए यह आसानी से समझ में आने वाला अंतर है। क्या यह एक अंतर है जो एक अंतर बनाता है? क्या उन्होंने वास्तव में एक कमजोर मशीन को लागू किया था?
18-18 को bjelli

2
@bjelli खैर मैं यह आश्वासन नहीं दे सकता कि चूंकि मैंने इसे डिज़ाइन नहीं किया है, इसलिए मुझे उनकी मशीन के बारे में सभी नियम नहीं पता हैं। लेकिन, यदि आप गेम के फाइनल में पहुंचते हैं, तो आप बनी आइकन पर क्लिक करने में सक्षम होते हैं, जो आपको लंबे समय तक टेप पर ले जाती है, यहां विश्लेषण देखें: sbf5.com/~cduan/technical/turing । इसलिए, मशीन द्वारा प्राप्त की जाने वाली लाइनों की संख्या पर कोई बाधा नहीं हो सकती है, जो आपको किसी भी आकार के टेप तक ले जाएगी।
मिर्च_चिको

plz स्केच को एक सबूत के रूप में
बताता है

4

पहेली में, दोनों लाइनों पर कूदने की अनुमति है, लेकिन वे ओवरलैप नहीं कर सकते हैं। खेल के अंत में अंतिम खरगोश-अनुक्रम डूडल में, वे हर पंक्ति पर कूदने की अनुमति देते हैं और उन्हें ब्रैकेट नेस्ट किया जा सकता है और [(]] की अनुमति दी जाती है, लेकिन ([)] की अनुमति नहीं दी जाती है।

मैं निम्नलिखित मान्यताओं का उपयोग करूंगा:

  1. 01ϵ
  2. मशीन किसी भी निश्चित संख्या में लाइनों का उपयोग कर सकती है
  3. किसी भी लाइन पर बाएं-कूद की अनुमति है (मैं प्रति पंक्ति एक बाएं कूद का उपयोग करूंगा)
  4. ϵ01

इन मान्यताओं के साथ, Google डूडल मशीन ट्यूरिंग कम्प्लीट है

01ϵ01n

3(n1)+15n+1

Google डूडल मशीन

ϵ01ϵ0101

GDM TM का अनुकरण इस प्रकार करता है:

  1. 1
  2. j
  3. ϵ01
  4. ϵ
  5. 01
  6. 01

अपने पसंदीदा यूनिवर्सल TM को चुनें और इसे एक सार्वभौमिक GDM प्राप्त करने के लिए उपरोक्त प्रक्रिया में लागू करें।

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