परिमित ऑटोमेटा का अध्ययन करने के बाद मुझे क्या ज्ञान प्राप्त होना चाहिए?


247

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

  1. अध्ययन करने के लिए कि वे क्या कर रहे हैं और यानी सीमाओं के लिए सक्षम नहीं हैं
    • क्यों?
  2. चूंकि वे सैद्धांतिक गणना के मूल मॉडल हैं और गणना के अन्य अधिक सक्षम मॉडल की नींव रखेंगे।
    • क्या उन्हें 'बुनियादी' बनाता है? क्या यह है कि उनके पास केवल एक बिट स्टोरेज और स्टेट ट्रांज़िशन है
  3. ठीक है, तो क्या? संगणना के प्रश्न का उत्तर देने में यह सब कैसे योगदान देता है? ऐसा लगता है कि ट्यूरिंग मशीनें इसे वास्तव में अच्छी तरह से समझने में मदद करती हैं और पीडीए, डीएफए / एनएफए / रेगेक्स आदि जैसे कम्प्यूटेशंस के 'कम' मॉडल हैं, लेकिन अगर किसी को एफए नहीं पता है कि यह क्या है जो वे याद कर रहे हैं?

इसलिए यद्यपि मैं कुछ हद तक इसे 'प्राप्त' कर रहा हूं, मैं इस प्रश्न का उत्तर देने में असमर्थ हूं? आप 'डी / एन-एफए का अध्ययन क्यों' करते हैं, यह आपको कितना अच्छा लगेगा? वे किस सवाल का जवाब देना चाहते हैं? यह कैसे मदद करता है और यह ऑटोमेटा थ्योरी में सबसे पहले क्यों सिखाया जाता है?

पुनश्च: मुझे विभिन्न लेक्सोग्राफिक एप्लिकेशन और पैटर्न मैचर्स के बारे में पता है जिन्हें इस तरह से लागू किया जा सकता है। हालाँकि, मुझे यह जानने की इच्छा नहीं है कि इसका व्यावहारिक रूप से क्या उपयोग किया जा सकता है, लेकिन गणना के सिद्धांत का अध्ययन करने की परिणति के दौरान उपयोग / आविष्कार / डिजाइन का उनका कारण क्या था। ऐतिहासिक रूप से कहा जा सकता है कि किसने इसकी शुरुआत की और किस 'अहा' समझ को आगे बढ़ाया? यदि आप सीएस छात्रों को ऑटोमेटा थ्योरी का अध्ययन करने के लिए शुरुआत में उनके महत्व को समझाते हैं, तो आप इसे कैसे करेंगे?


10
तो, यह टीसीएस में एक शोध स्तर का प्रश्न है?
हेंड्रिक जनवरी

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

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

1
@ हेन्द्रिकजन - ओह चिंता मत करो! पाठ स्वर छिपाता है। मेरा कभी इस तरह से मतलब नहीं था। मुझे लगा कि आप मुझसे पूछ रहे हैं कि क्या यह मेरी ओर से एक शोध प्रश्न था।
पीएचडी

16
कुडोस से पीएचडी और हेंड्रिक के एक स्तर के लिए मैं सार्वजनिक मंचों पर शायद ही कभी मुठभेड़ करता हूं।
लुकास

जवाबों:


342

मैंने व्यक्तिगत रूप से कई अहा का आनंद लिया है ! मूल ऑटोमेटा सिद्धांत का अध्ययन करने के क्षण। NFA और DFAs समग्र रूप से सैद्धांतिक कंप्यूटर विज्ञान के लिए एक सूक्ष्म जगत का निर्माण करते हैं।

  1. क्या गैर-नियतत्ववाद क्षमता का नेतृत्व करता है? ऐसे मानक उदाहरण हैं जहां किसी भाषा के लिए न्यूनतम नियतात्मक ऑटोमेटोन न्यूनतम गैर-नियतात्मक ऑटोमेटन की तुलना में तेजी से बड़ा होता है। ट्यूरिंग मशीनों के लिए इस अंतर को समझना (सैद्धांतिक) कंप्यूटर विज्ञान के मूल में है। एनएफए और डीएफए मुझे सबसे सरल उदाहरण प्रदान करते हैं जो मुझे पता है कि आप स्पष्ट रूप से नियतावाद और गैर-नियततावाद के बीच की सख्त खाई को देख सकते हैं।
  2. संगणना! = जटिलता। एनएफए और डीएफए दोनों नियमित भाषाओं का प्रतिनिधित्व करते हैं और वे जो भी गणना करते हैं उसमें समान हैं । वे गणना करते हैं कि वे कैसे भिन्न हैं ।
  3. मशीनें भाषाओं को परिष्कृत करती हैं। यह एक अलग लेना है कि हम क्या गणना करते हैं और हम कैसे गणना करते हैं। आप ऑटोमेटा के समतुल्य वर्ग को परिभाषित करने के लिए कम्प्यूटेशनल भाषाओं (और कार्यों) के बारे में सोच सकते हैं। यह टीसीएस में एक मौलिक परिप्रेक्ष्य में बदलाव है, जहां हम न केवल किस पर ध्यान केंद्रित करते हैं, बल्कि गणना के तरीके और एल्गोरिदम को डिजाइन करते समय सही 'कैसे' चुनने की कोशिश करते हैं या जटिलता कक्षाओं का अध्ययन करने में विभिन्न के स्थान को समझते हैं।
  4. कैननिकल प्रतिनिधित्व का मूल्य। DFAs एक कैनोनिकल प्रतिनिधित्व को स्वीकार करने वाले डेटा-संरचना का सर्वोत्कृष्ट उदाहरण हैं। हर नियमित भाषा में एक अद्वितीय, न्यूनतम डीएफए होता है। इसका मतलब यह है कि एक न्यूनतम डीएफए दिया गया है, एक शब्द की स्वीकृति, पूरकता और जाँच स्वीकृति जैसे महत्वपूर्ण संचालन तुच्छ हो जाते हैं। एल्गोरिथम विकसित करने के दौरान कैनोनिकल अभ्यावेदन को तैयार करना और उसका दोहन करना एक उपयोगी चाल है।
  5. कैनोनिकल प्रतिनिधियों की अनुपस्थिति। नियमित अभिव्यक्तियों या एनएफए का कोई अच्छी तरह से स्वीकार किए गए विहित प्रतिनिधित्व नहीं है। इसलिए, उपरोक्त बिंदु के बावजूद, कैनोनिकल अभ्यावेदन हमेशा मौजूद नहीं होते हैं। आप कंप्यूटर विज्ञान में कई अलग-अलग क्षेत्रों में इस बिंदु को देखेंगे। (उदाहरण के लिए, प्रपोजल लॉजिक फॉर्मूला में कैनोनिकल रिप्रेजेंटेशन नहीं है, जबकि ROBDDs करते हैं)।
  6. एक कैनोनिकल प्रतिनिधित्व की लागत। आप एनएफए और डीएफए के बीच अंतर को एक एल्गोरिदमिक नो-फ्री-लंच प्रमेय के रूप में भी समझ सकते हैं । अगर हम एनएफए के बीच की भाषा को शामिल करना चाहते हैं, या एनएफए को पूरक करना चाहते हैं, तो आप इसे निर्धारित और कम कर सकते हैं और वहां से जारी रख सकते हैं। हालांकि, यह "कमी" ऑपरेशन एक लागत पर आता है। आप कंप्यूटर विज्ञान के कई अन्य क्षेत्रों में लागत पर कैनोनेज़ेशन के उदाहरण देखेंगे।
  7. अनंत! = अनिर्वचनीय। एक आम गलतफहमी यह है कि एक असीम प्रकृति की समस्याएं स्वाभाविक रूप से अनिर्दिष्ट हैं। नियमित भाषाओं में असीम रूप से कई तार होते हैं और फिर भी कई निर्णायक गुण होते हैं। नियमित भाषाओं के सिद्धांत से आपको पता चलता है कि अनन्तता अकेले अविवेक का स्रोत नहीं है।
  8. अपने Automaton की हथेली में Infinity पकड़ो। आप अनंत सेटों का प्रतिनिधित्व करने के लिए डेटा-संरचना के रूप में एक परिमित ऑटोमेटन को शुद्ध रूप से देख सकते हैं। आरओबीडीडी बूलियन फ़ंक्शन का प्रतिनिधित्व करने के लिए एक डेटा-संरचना है, जिसे आप परिमित सेट का प्रतिनिधित्व करने के रूप में समझ सकते हैं। एक परिमित-ऑटोमेटोन एक आरओबीडीडी का एक प्राकृतिक, अनंत विस्तार है।
  9. विनम्र प्रोसेसर। एक आधुनिक प्रोसेसर में बहुत कुछ है, लेकिन आप इसे परिमित ऑटोमेटन के रूप में समझ सकते हैं। बस इस अहसास ने कंप्यूटर आर्किटेक्चर और प्रोसेसर डिज़ाइन को बहुत कम भयभीत कर दिया। यह यह भी दर्शाता है कि, व्यवहार में, यदि आप अपने राज्यों को ध्यान से संरचना और हेरफेर करते हैं, तो आप परिमित ऑटोमेटा के साथ बहुत दूर हो सकते हैं।
  10. बीजगणितीय परिप्रेक्ष्य। नियमित भाषाएं एक वाक्यात्मक मोनॉइड बनाती हैं और उस परिप्रेक्ष्य से अध्ययन किया जा सकता है। अधिक आम तौर पर, आप बाद के अध्ययनों में यह भी पूछ सकते हैं कि कुछ कम्प्यूटेशनल समस्या के अनुरूप सही बीजीय संरचना क्या है।
  11. द कॉम्बिनेटरियल पर्सपेक्टिव। एक परिमित-ऑटोमेटन एक लेबल ग्राफ है। यदि किसी शब्द को स्वीकार किया जाता है, तो यह जाँचना कि लेबल ग्राफ में रास्ता खोजना कम हो गया है। ऑटोमेटा एल्गोरिदम में ग्राफ परिवर्तनों के लिए राशि है। नियमित भाषाओं के विभिन्न उप-परिवारों के लिए ऑटोमेटा की संरचना को समझना एक सक्रिय अनुसंधान क्षेत्र है।
  12. बीजगणित-भाषा-संयोजक प्रेम त्रिकोण। माइहिल-नेरोड प्रमेय आपको एक भाषा के साथ शुरू करने और एक ऑटोमेटन या एक सिंटैक्टिक मोनॉइड उत्पन्न करने की अनुमति देता है। गणितीय रूप से, हम बहुत भिन्न प्रकार की गणितीय वस्तुओं के बीच अनुवाद प्राप्त करते हैं। इस तरह के अनुवादों को कंप्यूटर विज्ञान के अन्य क्षेत्रों में ध्यान में रखते हुए और आपके आवेदन के आधार पर उनके बीच स्थानांतरित करने के लिए उपयोगी है।
  13. गणित बिग-पिक्चर्स की भाषा है। नियमित भाषाओं की विशेषता एनएफए (ग्राफ), नियमित अभिव्यक्ति (औपचारिक व्याकरण), केवल-पढ़ने की ट्यूरिंग मशीन (मशीन), सिंथैटिक मोनोएड्स (बीजगणित), क्लेन बीजगणित (बीजगणित), राक्षसी दूसरे क्रम के तर्क आदि हो सकते हैं। घटना यह है कि महत्वपूर्ण, स्थायी अवधारणाओं में कई अलग-अलग गणितीय लक्षण हैं, जिनमें से प्रत्येक विचार की हमारी समझ में अलग-अलग स्वाद लाते हैं।
  14. कामकाजी गणितज्ञ के लिए नींबू। पम्पिंग लेम्मा एक सैद्धांतिक उपकरण का एक शानदार उदाहरण है जिसका उपयोग आप विभिन्न समस्याओं को हल करने के लिए कर सकते हैं। Lemmas के साथ काम करना मौजूदा परिणामों पर निर्माण करने की कोशिश के लिए अच्छा अभ्यास है।
  15. आवश्यक! = पर्याप्त। Myhill-Nerode प्रमेय आपको एक भाषा के नियमित होने के लिए आवश्यक और पर्याप्त शर्तें प्रदान करता है। पम्पिंग लेम्मा हमें आवश्यक शर्तें प्रदान करता है। दोनों की तुलना और विभिन्न स्थितियों में उनका उपयोग करने से मुझे गणितीय अभ्यास में आवश्यक और पर्याप्त स्थितियों के बीच अंतर को समझने में मदद मिली। मैंने यह भी सीखा कि एक पुन: प्रयोज्य आवश्यक और पर्याप्त स्थिति एक लक्जरी है।
  16. प्रोग्रामिंग लैंग्वेज पर्सपेक्टिव। नियमित अभिव्यक्ति एक प्रोग्रामिंग भाषा का एक सरल और सुंदर उदाहरण है। संघनन में, आपके पास अनुक्रमिक संरचना का एक एनालॉग है और क्लेन स्टार में, आपके पास पुनरावृत्ति का एनालॉग है। नियमित अभिव्यक्तियों के वाक्यविन्यास और शब्दार्थ को परिभाषित करने में, आप आगमनात्मक परिभाषाओं और संरचना संबंधी शब्दार्थों को देखकर प्रोग्रामिंग भाषा सिद्धांत की दिशा में एक बच्चे का कदम रखते हैं।
  17. संकलक परिप्रेक्ष्य। एक नियमित अभिव्यक्ति से एक परिमित ऑटोमेटन में अनुवाद भी एक सरल, सैद्धांतिक संकलक है। आप एक नियमित अभिव्यक्ति को पढ़ने, एक ऑटोमेटन उत्पन्न करने और फिर ऑटोमेटन को निर्धारित / निर्धारित करने के अंतर के कारण पार्सिंग, मध्यवर्ती-कोड पीढ़ी और कंपाइलर अनुकूलन के बीच अंतर देख सकते हैं।
  18. Iteration की शक्ति। यह देखते हुए कि आप एक लूप के साथ परिमित-ऑटोमेटन में क्या कर सकते हैं और एक के बिना, आप पुनरावृत्ति की शक्ति की सराहना कर सकते हैं। यह सर्किट और मशीनों के बीच या शास्त्रीय लॉजिक्स और फिक्स्ड पॉइंट लॉजिक्स के बीच अंतर को समझने में मदद कर सकता है।
  19. बीजगणित और कोलजेब्रा। नियमित भाषाएं एक वाक्यात्मक मोनॉइड बनाती हैं, जो एक बीजीय संरचना है। श्रेणी सिद्धांत की भाषा में जो परिमित ऑटोमेटा बनता है, उसे कोलजेब्रा कहा जाता है। नियतात्मक ऑटोमोटन के मामले में, हम आसानी से एक बीजीय और एक बीजीय प्रतिनिधित्व के बीच स्थानांतरित कर सकते हैं, लेकिन एनएफए के मामले में, यह इतना आसान नहीं है।
  20. द अरिथमेटिक पर्सपेक्टिव। अभिकलन और संख्या-सिद्धांत के बीच गहरा संबंध है। आप इसे संख्या सिद्धांत की शक्ति, और / या गणना की सार्वभौमिकता के बारे में एक कथन के रूप में समझने के लिए चुन सकते हैं। आप आमतौर पर जानते हैं कि परिमित ऑटोमेटा प्रतीकों की एक समान संख्या को पहचान सकता है, और यह कि वे कोष्ठक से मेल खाने के लिए पर्याप्त गिनती नहीं कर सकते हैं। लेकिन वे कितने अंकगणित में सक्षम हैं? परिमित ऑटोमेटा प्रिस्बगर अंकगणितीय सूत्र तय कर सकता है। प्रेस्बर्गर अंकगणित के लिए मुझे पता है सबसे सरल निर्णय प्रक्रिया एक ऑटोमेटन के लिए एक सूत्र को कम करती है। यह एक झलक है जिसमें से आप हिल्बर्ट की 10 वीं समस्या के लिए प्रगति कर सकते हैं और यह संकल्प है जिसके कारण डायोफैंटाइन समीकरणों और ट्यूरिंग मशीनों के बीच एक संबंध की खोज की गई।
  21. द लॉजिकल पर्सपेक्टिव। गणना को विशुद्ध तार्किक दृष्टिकोण से समझा जा सकता है। परिमित ऑटोमेटा को कमज़ोर शब्दों पर कमजोर, नीरस दूसरे क्रम तर्क द्वारा चित्रित किया जा सकता है। यह कम्प्यूटेशनल डिवाइस के तार्किक लक्षण वर्णन का मेरा पसंदीदा, गैर-तुच्छ उदाहरण है। वर्णनात्मक जटिलता सिद्धांत से पता चलता है कि कई जटिलता वर्गों में विशुद्ध रूप से तार्किक लक्षण हैं।
  22. परिमित स्वचालितता उन स्थानों में छिपी है जिन्हें आपने कभी कल्पना नहीं की थी। (कोडिंग सिद्धांत के संबंध में मार्टिन बर्जर की टिप्पणी पर हैट-टिप) 2011 में रसायन विज्ञान में नोबेल पुरस्कार, अर्ध-क्रिस्टल की खोज के लिए दिया गया था। अर्ध-क्रिस्टल के पीछे का गणित एपेरियोडिक झुकाव से जुड़ा हुआ है। विमान के एक विशिष्ट एपेरियोडिक टाइलिंग को कार्टव्हील टाइलिंग कहा जाता है, जिसमें पतंग का आकार और धनुष-टाई का आकार होता है। आप इन आकृतियों को 0s और 1s के संदर्भ में सांकेतिक शब्दों में बदल सकते हैं और फिर इन अनुक्रमों के गुणों का अध्ययन कर सकते हैं, जो पैटर्न के अनुक्रमों को कोड करते हैं। वास्तव में, यदि आप 0 से 01 और 1 से 0 का नक्शा बनाते हैं, और बार-बार इस मानचित्र को अंक 0 में लागू करते हैं, तो आपको 0, 01, 010, 01001, आदि प्राप्त होंगे, निरीक्षण करें कि इन तारों की लंबाई फाइबोनैचि अनुक्रम का अनुसरण करती है। इस तरीके से उत्पन्न शब्दों को फिबोनाची शब्द कहा जाता है। पेनरोज़ टिलिंग्स में देखे गए कुछ आकार के अनुक्रमों को फाइबोनैचि शब्दों के रूप में कोडित किया जा सकता है। इस तरह के शब्दों का अध्ययन एक स्वचालित-सिद्धांतिक दृष्टिकोण से किया गया है, और लगता है कि क्या, शब्दों के कुछ परिवारों को परिमित ऑटोमेटा द्वारा स्वीकार किया जाता है, और यहां तक ​​कि हॉपक्राफ्ट के न्यूनतमकरण एल्गोरिदम जैसे मानक एल्गोरिदम के लिए सबसे खराब स्थिति वाले व्यवहार के उदाहरण भी प्रदान करते हैं। कृपया मुझे बताएं कि आपको चक्कर आ रहे हैं।

मैं आगे बढ़ सकता था। (और पर।) * मुझे अपने सिर के पिछले हिस्से में ऑटोमेटा रखना उपयोगी लगता है और उन्हें हर बार याद करते हैं और एक नई अवधारणा को समझने या उच्च-स्तरीय गणितीय विचारों के बारे में अंतर्ज्ञान प्राप्त करने के लिए। मुझे संदेह है कि मेरे द्वारा उल्लिखित सब कुछ एक पाठ्यक्रम के पहले कुछ व्याख्यानों में, या यहां तक ​​कि पहले पाठ्यक्रम में भी संप्रेषित किया जा सकता है। ये एक ऑटोमेटा सिद्धांत पाठ्यक्रम के प्रारंभिक व्याख्यानों में किए गए प्रारंभिक निवेश के आधार पर दीर्घकालिक पुरस्कार हैं।

आपके शीर्षक को संबोधित करने के लिए: मैं हमेशा ज्ञान की तलाश नहीं करता, लेकिन जब मैं करता हूं, तो मैं परिमित ऑटोमेटा पसंद करता हूं। प्यासे रहो, मेरे दोस्त।


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

6
वाह। (अंतिम वाक्य के लिए (0.5) :-)
लार्ष

6
केवल TCS.SE में शामिल हो गया ताकि यह +1 हो सके।
डायनेमिक्स

5
इस सूची में बहुत अधिक सब कुछ जानने के बावजूद, अभी भी मैं किसी भी तरह इसे पढ़ने के लिए प्रबुद्ध महसूस करता हूं। (इसके अलावा, (और पर।) * मुझे चकली बना दिया।)
सीए मैककैन

2
ईमानदारी से, मैंने इस सामान के बारे में कभी नहीं सोचा था (और कुछ प्रमेयों के बारे में मैंने कभी नहीं सुना है), और मैंने गणना के सिद्धांत में एक कोर्स किया। क्या इन खुलासों को इंगित करने के लिए एक विशेष रूप से अच्छे शिक्षक या पाठ्यक्रम होना चाहिए?
केन ब्लूम

33

एन / डीएफए का अध्ययन करने के कई अच्छे सैद्धांतिक कारण हैं। दो जो तुरंत दिमाग में आते हैं:

  1. ट्यूरिंग मशीन (हम सोचते हैं) वह सब कुछ कैप्चर करते हैं जो कम्प्यूटेबल है। हालांकि, हम पूछ सकते हैं: ट्यूरिंग मशीन के कौन से भाग "आवश्यक" हैं? क्या होता है जब आप विभिन्न तरीकों से ट्यूरिंग मशीन को सीमित करते हैं? डीएफए एक बहुत ही गंभीर और प्राकृतिक सीमा है (स्मृति को दूर ले जाना)। पीडीए एक कम गंभीर सीमा है, आदि यह देखना सैद्धांतिक रूप से दिलचस्प है कि स्मृति आपको क्या देती है और जब आप इसके बिना जाते हैं तो क्या होता है। यह मेरे लिए बहुत स्वाभाविक और बुनियादी सवाल है।

  2. ट्यूरिंग मशीनों को एक अनंत टेप की आवश्यकता होती है। हमारा ब्रह्मांड परिमित है, इसलिए कुछ अर्थों में हर कंप्यूटिंग डिवाइस एक डीएफए है। अध्ययन के लिए एक महत्वपूर्ण और फिर से प्राकृतिक विषय की तरह लगता है।

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

कारण यह है कि वे ऑटोमेटा सिद्धांत में पहला विषय हैं क्योंकि कम जटिल लोगों से अधिक जटिल मोड का निर्माण करना स्वाभाविक है।


2
# 1 अच्छी समझ रखता है और मुझे लगता है कि मैं इसका कारण देखता हूं। लेकिन आप एफए से 'आगे बढ़ने' का कारण कैसे बताएंगे? जिन लोगों को ToC के बारे में कुछ पता है, वे पूर्वव्यापी और इस पर विचार कर सकते हैं। उन छात्रों को 'क्यों' समझाने के लिए सबसे अच्छा है जो ऑटोमेटा सिद्धांत सीखना शुरू करते हैं और केवल एफए जानते हैं? क्या हम सिर्फ एक ही मशीन से शुरुआत कर रहे हैं क्योंकि वे बुनियादी हैं - क्यों? Best वह ’का उत्तर देने के लिए सबसे अच्छा क्यों? टॉक के कुल नोक के लिए इस सवाल का जवाब देने पर कुछ प्रकाश की सराहना करेंगे :)
पीएचडी

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

31

बाकी उत्तरों में एक और परिप्रेक्ष्य जोड़ने के लिए: क्योंकि आप वास्तव में ट्यूरिंग मशीनों के विपरीत परिमित ऑटोमेटा के साथ सामान कर सकते हैं।

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

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

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


2
"... आप वास्तव में ट्यूरिंग मशीनों के विपरीत परिमित ऑटोमेटा के साथ सामान कर सकते हैं।" पीटी को समझें, हालांकि एक ऐसा उद्धरण जो विडंबना या ध्वनि को संदर्भ से बाहर ले जाता है ...
vzn

27

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

सीखने की दूसरी चीज हैल्टिंग प्रमेय। जो गोडेल अपूर्णता प्रमेय से संबंधित है। (आप एक ऐसी मशीन का निर्माण नहीं कर सकते जो हर चीज की गणना कर सके, और ऐसे गणितीय दावे हैं जिन्हें आप न तो सबूत दे सकते हैं और न ही नापसंद कर सकते हैं, और जैसे कि स्वयंसिद्ध शब्दों के रूप में लिया जा सकता है। अर्थात, हम एक ऐसी दुनिया में रहते हैं जिसका कोई परिमित विवरण या वास्तविक नहीं है। oracles - हमारे लिए हाँ! "

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

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


21

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

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


18

आप (कम से कम) दो अलग-अलग प्रश्न पूछ रहे हैं: (क) आजकल थ्योरी ऑटोमेटा पर सिद्धांत के कौन से भाग बनते हैं? (ख) परिमित ऑटोमेटा को पहले स्थान पर क्यों विकसित किया गया? मुझे लगता है कि उत्तरार्द्ध को संबोधित करने का सबसे अच्छा तरीका पुराने कागजात को देखना है, जैसे:

यहाँ पहले दो पैराग्राफ हैं:

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

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

संक्षेप में, उन्हें वास्तविक कंप्यूटर के एक मॉडल के रूप में विकसित किया गया था, जिसमें परिमित संसाधन हैं।


16

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


10

"लिविंग बाइनरी अडर" गेम को यहां देखें: http://courstltc.blogspot.com/2012/12/living-binary-adder-game.html मैं इस खेल को डीएफए / के बारे में शुरुआती अध्यायों में अपने छात्रों को प्रस्तुत करता था। NFA। यह ऑटोमेटा थ्योरी में दो महत्वपूर्ण बातों का चित्रण करता है:

  1. मानसिक प्रक्रिया को एक सरल यांत्रिक में कैसे परिवर्तित करें
  2. अमूर्तता का वास्तव में क्या मतलब है। दो राज्य, जैसा कि सी और जेड ऊपर दिए गए हैं, कुछ भी हो सकता है: कंप्यूटर में ट्रांजिस्टर, हाइड्रोलिक तंत्र या दो मानव खिलाड़ी!

यह, कभी-कभी मेरे छात्रों के लिए "अहा" क्षण लाता है।


9

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

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


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

3

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


-4

मुझे ट्यूरिंग मशीनों की तुलना में एफएम के "कम" कॉल करने के कई उत्तर मिलते हैं।

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

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

यह मेरे लिए नेत्रहीन रूप से घर लाया गया था, जब एक ही समय (1984) के आसपास, मैंने FORTH भाषा की खोज की थी। यह निष्पादन इंजन एक दोहरी स्टैक पीडीए के शुद्ध अहसास पर बनाया गया है। मैं जा रहा हूँ अभिव्यक्ति संकलक के तहत इस एक ही इंजन शौकीन

हालांकि, मेरे लिए, एफएसएम का वास्तविक प्रभाव ट्रैखटेनब्रोट और कोरज़िनस्की (?) की पुस्तक "थ्योरी ऑफ ऑटोमाइटा" की खोज के दौरान था जब मैं 18 साल का था, एक खोज जिसने मुझे अनिवार्य रूप से अपना करियर दिया।


1
हालांकि मैं मानता हूं कि आपने Nondeterministic Finite Automata और Turing Machines के बीच एक समानता साबित नहीं की है। यह ओपी के बारे में पूछी गई विशिष्ट वस्तु है और हम में से बाकी लोग "कम" कह रहे हैं।
विजय डी

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