एक डीएफए में, क्या प्रत्येक राज्य में वर्णमाला के हर प्रतीक पर संक्रमण होता है?


12

यदि नहीं, तो क्या इसका मतलब यह है जब कुछ राज्य के लिए और कुछ प्रतीक एक , δ ( क्ष , एक ) मौजूद नहीं है?qaδ(q,a)


मैं एक nondeterministic automaton कहूंगा कि कभी भी एक ही राज्य और इनपुट प्रतीक निर्धारक पर एक से अधिक संक्रमण न हो। यह सिर्फ डीएफए की परिभाषा के अनुरूप नहीं है।
रीइनियरियरपोस्ट

1
यदि डीएफए के नियमों को व्यवस्थित किया जाता है ताकि यह कभी भी राज्य क्ष में न हो सके जब टेप पर प्रतीक ए है , तो क्या हमें वास्तव में need (क्यू, ए) को परिभाषित करने की आवश्यकता है ?
पीटर शोर

4
इसका उत्तर स्पष्ट रूप से है कि यह इस बात पर निर्भर करता है कि कोई व्यक्ति "निर्धारक परिमित ऑटोमेटन" को कैसे परिभाषित करता है। जैसे, मुझे यकीन नहीं है कि यह सवाल पूरी तरह से रचनात्मक है, क्योंकि एक सार्वभौमिक रूप से स्वीकृत सही उत्तर नहीं है - यानी, यह सवाल राय और बहस को हल करता है।
पैट्रिक87

1
यदि एक माना जाता है समारोह , यह सब जोड़े के लिए परिभाषित किया जाना है क्ष , एकδq,a
वॉनब्रांड

डीएफए की मेरी धारणा में, यह "गर्भपात" की स्थिति है, या यदि आप "अस्वीकार" राज्य के लिए एक अंतर्निहित कूद पसंद करते हैं।
यवस डेव

जवाबों:


22

आप एक विवादास्पद मुद्दे पर लड़खड़ा गए हैं। जाहिर है कि कंप्यूटर वैज्ञानिक बहस करना पसंद करते हैं। मैं निश्चित रूप से बहस करना पसंद करता हूं, इसलिए यहां जाता है!

मेरा उत्तर एक असमान है: नहीं। एक नियत परिमित ऑटोमेटा को हर प्रतीक के लिए हर राज्य से एक संक्रमण की आवश्यकता नहीं है। अर्थ जब δ(q,a) मौजूद नहीं है बस उस DFA इनपुट स्ट्रिंग को स्वीकार नहीं करता है।

आप DFA की एक परिभाषा है कि उस की आवश्यकता है बना सकते हैं δ(q,a) मौजूद है, यह बस मामला नहीं है कि एक लापता संक्रमण किसी भी तरह से (जो भी आप इसे बुलाते हैं) जिसके परिणामस्वरूप संरचना बनाता nondeterministic रूप टिप्पणीकर्ताओं के कई हैं यह दावा करते हुए। यदि आप ऑटोमेटा सिद्धांत पर एक पाठ्यक्रम ले रहे हैं, तो अगला विषय संदर्भ-मुक्त भाषा और पुश-डाउन ऑटोमेटा होगा जहां नॉन्डेटर्मिनिस्टिक और निर्धारक ऑटोमेटा के बीच का अंतर crtical है, और आपको गैर-नियतात्मकता की सही परिभाषा का उपयोग करने की आवश्यकता है।

गैर-नियतत्ववाद एक से अधिक कानूनी संक्रमण के साथ जुड़ा हुआ है ।

मुझे लगता है कि हम सभी निम्नलिखित विकिपीडिया परिभाषा से सहमत हैं (जो मैं सिर्फ एक सेकंड में दिखाऊंगा थोड़ा अस्पष्ट है):

Automaton एक नियतात्मक परिमित M 5 टपल, (है Q , Σ , δ , q0 , F ,) से मिलकर

  1. राज्यों का एक निर्धारित सेट ( Q )
  2. इनपुट प्रतीकों वर्णमाला कहा जाता है की एक परिमित सेट ( Σ )
  3. एक संक्रमण समारोह ( δ:Q×ΣQ )
  4. एक प्रारंभिक अवस्था ( q0Q)
  5. राज्यों को स्वीकार का एक सेट ( FQ )।

चलो w=a1a2an होना वर्णमाला के ऊपर एक स्ट्रिंग Σ । ऑटोमेटन M स्ट्रिंग w स्वीकार करता है यदि राज्यों का एक क्रम, r0,r1,,rn , निम्न स्थितियों के साथ Q में मौजूद है :

  1. r0=q0
  2. ri+1=δ(ri,ai+1) ,i=0,,n1
  3. rnF

अस्पष्टता, और विवाद संक्रमण समारोह के defintion, खत्म हो गया है δ (संख्या "3" में पहली बुलेट की गई सूची।) हम सभी सहमत हैं कि क्या एक NFA से एक DFA अलग करता है कि δ एक समारोह के बजाय एक है संबंध । लेकिन है δ एक आंशिक समारोह या एक कुल समारोह ?

DFA की परिभाषा सिर्फ ठीक काम करता है अगर δ एक आंशिक कार्य है। एक इनपुट स्ट्रिंग को देखते हुए, यदि आप एक राज्य तक पहुंचने qi एक इनपुट प्रतीक के साथ aj जहां कोई अगले राज्य तो ऑटोमेटा बस को स्वीकार नहीं करता है।

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

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

  1. एक राज्य जोड़ें qerror
  2. (qi,sj)δδ(qi,sj)=qerror

δ

संपादित करें, जनवरी 2019

टिप्पणी करने वाले @Alex स्मार्ट ने न तो संदर्भ देने के लिए सही आलोचना की, न ही यह समझाने के लिए कि हमें क्यों परवाह करनी चाहिए। तो यहाँ जाता है:

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

संकलक समुदाय की पुस्तकें:

अहो और उलेमान, कंपाइलर डिज़ाइन के सिद्धांत , 1977: पहले एनएफए (पृष्ठ 88) को एक संक्रमण संबंध के साथ परिभाषित करता है, फिर (पृष्ठ 90-91):

ϵsaas

अहो, सेठी, और उलेमान, कंपाइलर, सिद्धांत, टेक्निक्स और उपकरण , 1988 पुनर्मुद्रण, समान है, यह पहले एनएफए को एक संक्रमण संबंध के साथ परिभाषित करता है, फिर (पृष्ठ 115-116):

as

(ध्यान दें कि टिप्पणियों में @ एलेक्स स्मार्ट कहते हैं, "ड्रैगन विशेष रूप से उल्लेख करता है कि फ़ंक्शन कुल है।" मुझे लगता है कि वह सह-लेखक लैम के साथ बाद के संस्करण के बारे में बात कर रहा है, जिसकी फिलहाल मेरी पहुंच नहीं है। )

एपल, आधुनिक संकलक कार्यान्वयन जावा , 1988 (पृष्ठ 22) में:

एक में नियतात्मक परिमित automaton (DFA), एक ही राज्य से छोड़ने के कोई दो किनारों एक ही प्रतीक के साथ लेबल रहे हैं।

इसके बाद अपेल यह समझाता है कि जब सबसे लंबे मैचों को पहचानने के लिए डीएफए का उपयोग करते हैं तो हम स्पष्ट रूप से लापता बदलावों का उपयोग करने का निर्णय लेते हैं कि कब रोकना है (पृष्ठ 23):

जब एक मृत अवस्था (बिना आउटपुट संक्रमण वाला एक नॉनफ़ाइनल राज्य) तक पहुँच जाता है, तो चर [जो अब तक का सबसे लंबा मैच रिकॉर्ड करता है] बताता है कि टोकन का मिलान किससे किया गया था, और यह कहाँ समाप्त हुआ।

स्विचिंग-सिद्धांत समुदाय से पुस्तकें:

कोहावी, स्विचिंग और परिमित ऑटोमेटा सिद्धांत, 2 / ई , 1978, पी। 611 कहते हैं:

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

मैं आमतौर पर "बिल्कुल एक" का अर्थ करने के लिए विशिष्ट रूप से व्याख्या करता हूं , न कि "एक से अधिक"। (यानी, कोहावी कहती हैं कि दृढ़ संकल्प को कुल कार्य की आवश्यकता होती है)

सिद्धांत-गणना समुदाय से पुस्तकें:

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

यह होपक्रॉफ्ट और उलेमन, 1979, लुईस और पापादिमित्रिउ, 1981, और विशेष रूप से सिपसर, 2006 का सच है, जो सटीक औपचारिक परिभाषाओं को पेश करने के लिए डीएफए की परिभाषा का उपयोग करता है, और उनके महत्व को स्पष्ट रूप से समझाता है (p.36):

δ

s×Σ

दिलचस्प रूप से राबिन और स्कॉट, कुल फ़ंक्शन के संदर्भ में गैर-नियतात्मक परिमित ऑटोमेटा को भी परिभाषित करते हैं! पृष्ठ १२०, परिभाषा ९:

MS×ΣS

अर्थात: संक्रमण फ़ंक्शन कुल होने के कारण सिस्टम को नियतात्मक नहीं बनाता है!

Sipser 2006 Rabin और Scott का अनुसरण करता है और राज्यों / प्रतीकों से राज्यों के शक्ति सेट के लिए कुल-निर्धारणवादी परिमित ऑटोमेटा, गैर-नियतात्मक पीडीए और गैर-नियतात्मक ट्यूरिंग मशीनों की अपनी परिभाषा के लिए कुल संक्रमण फ़ंक्शन का उपयोग करता है, लेकिन निर्धारक के विषय को छोड़ देता है पीडीए।

हॉपक्राफ्ट और उलेमन, 1979, और लुईस और पापादिमित्रिउ, 1981 दोनों नियतात्मक पीडीए की अपनी परिभाषाओं में आंशिक कार्यों का उपयोग करते हैं। वे पहले एनपीडीए को एक संक्रमण संबंध के साथ परिभाषित करते हैं, और फिर जब उन्हें पीडीएएस मिलता है, तो लुईस और पापादिमित्रि कहते हैं (पृष्ठ 135)।

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

जबकि हॉपक्रॉफ्ट और उलेमन कहते हैं (पृष्ठ 112):

पीडीए ... इस अर्थ में निर्धारक है कि किसी भी आईडी से अधिकतम एक चाल संभव है।


qerror

2
आंशिक फ़ंक्शन संस्करण होपक्रॉफ्ट और उलमैन में दिया गया है, अगर इससे कोई फर्क पड़ता है। इसलिए यह विचार कि एक आंशिक कार्य स्वाभाविक रूप से nondeterministic है किसी भी तरह से मानक नहीं है।
jmite

1
@jmite ऐसा नहीं है कि आंशिक कार्य नोंडेटर्मिनिज़म को प्रभावित करते हैं; यह कुल कार्यों का निर्धारण करता है जो कुल कार्यों को बेहतर विकल्प बनाता है। बेशक, यह आपके द्वारा उपयोग की जाने वाली परिभाषाओं का अधिक या कम मनमाना मामला है।
पैट्रिक87

3
δ

1
जैसा कि आपने दिखाया है, आंशिक फ़ंक्शन संस्करण का कुल फ़ंक्शन संस्करण में एक आसान अनुवाद है, और जहां तक ​​मैं देख सकता हूं कि आप पूरी तरह से कुछ भी नहीं हासिल कर सकते हैं, या तो आंशिक रूप से अनुवाद फ़ंक्शन को अनुमति देकर। ड्रैगन विशेष रूप से उल्लेख करता है कि फ़ंक्शन कुल है। क्यों दुनिया में हम किसी ऐसी चीज के बारे में एक तर्क पैदा कर रहे हैं जिसे एक मानक पाठ्यपुस्तक में स्पष्ट रूप से परिभाषित किया गया है जो कि ज्यादातर लोग उस समय का पालन करते हैं जब एक गैर-मानक परिभाषा चुनने से कुछ हासिल नहीं होता है?
एलेक्स स्मार्ट

8

δ(q,a)qQaΣQΣ

ε

कम्प्यूटेबिलिटी के संदर्भ में, एनएफए डीएफए के बराबर हैं - एक एनएफए से डीएफए में बदलने के लिए एक एल्गोरिथ्म है, और एक डीएफए केवल तुच्छ रूप से एक एनएफए है ​​जो किसी भी nondeterminism का उपयोग नहीं करता है, इसलिए दोनों नियमित भाषाओं के सेट को परिभाषित करते हैं।


2
यह परिभाषा पर निर्भर करता है; कई ऐसे हैं जो सत्ता में बराबर हैं।
राफेल

3
+1 इस परिभाषा से चिपके रहने के लिए, IMHO, जैसा कि हर कोई सहमत होगा कि एक एफए जो प्रत्येक (राज्य, प्रतीक) जोड़ी के लिए एक संक्रमण को परिभाषित करता है, एक वैध डीएफए का गठन करता है।
पैट्रिक87

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

2
@jmite डीएफए के स्वतंत्र रूप से ट्रिम ऑटोमेटा को परिभाषित करें। मुझे लगता है कि यह अधिक महत्वपूर्ण है कि न्यूनतम डीएफए में मिथाइल- नेरोड प्रमेय के अनुसार राज्यों की सही संख्या है, जो आपको केवल मृत राज्यों के साथ मिलते हैं।
पैट्रिक87

4
ϵϵϵ

6

की तर्ज पर डीएफए की परिभाषाएँ हैं

A|δ(q,a)|1qaδ(q,ε)δ(q,a)=aΣA

उस स्थिति में, आपको सभी परिवर्तनों की आवश्यकता नहीं है। यदि ऑटोमेटन के पास अगले इनपुट प्रतीक को बदलने वाला कोई संक्रमण नहीं है, तो यह अस्वीकार कर देता है।

यह दिखाने के लिए एक अच्छी कवायद है कि दोनों परिभाषाएं समान हैं, जिसके अनुसार भाषाओं को स्वीकार किया जा सकता है।


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

0

डीएफए की परिभाषा में, हर राज्य को पाउंड में सभी वर्णमाला होनी चाहिए। एक उदाहरण के लिए यदि £ = {a, b, c} और Q = {q0, q1, q2}, इन सभी अवस्थाओं में सभी a, b, c प्रतीक होने चाहिए जो अन्य राज्य या उसी अवस्था में संक्रमण करते हैं।


1
मौजूदा उत्तरों से क्या अंतर है ताकि आप एक नया उत्तर पोस्ट करें?
xskxzr

0

इसके लिए सबसे सरल उत्तर है, आप बाएं प्रतीक के लिए मृत अवस्था जोड़ते हैं । एनएफए से डीएफए में रूपांतरण के रूप में, हमें कुछ प्रतीकों के लिए for संक्रमण मिलता है, जो दर्शाता है कि हम इसके लिए डेड राज्य बनाते हैं।

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