क्या नियतात्मक परिमित ऑटोमेटा में हर संभव वर्णमाला पर बदलाव को परिभाषित करना अनिवार्य है?


13

कल मेरी प्रस्तुति है और मैं अपनी अवधारणाओं को स्पष्ट करना चाहता हूं ...

मैंने पढ़ा है कि डीएफए में, "प्रत्येक राज्य के लिए, सभी संभावित प्रतीकों (वर्णमाला) पर संक्रमण को परिभाषित किया जाना चाहिए।"

क्या प्रत्येक राज्य के लिए, डीएफए में सभी संभव प्रतीकों पर संक्रमण को परिभाषित करना अनिवार्य है? यदि नहीं, तो कृपया कोई उदाहरण दें?


1
CS.SE में आपका स्वागत है! हम पसंद करते हैं कि आप प्रति पोस्ट केवल एक प्रश्न पूछें। यह दो अलग-अलग प्रश्नों की तरह दिखता है। दूसरे एक (एनएफए के बारे में) को अलग से पोस्ट करना बेहतर होगा। इसके अलावा, क्या आपने इस साइट पर अच्छी तरह से खोज की है, और अपनी पाठ्यपुस्तक में औपचारिक परिभाषा की जाँच की है? यदि नहीं, तो आपको ऐसा करने से पहले पूछना चाहिए; और आपने हमें उस प्रश्न में दिखाया है जब आपने ऐसा किया था।
DW

गर्मजोशी से स्वागत करने के लिए धन्यवाद, मैंने वास्तव में इस साइट पर और Google पर भी खोज की थी, लेकिन मुझे इसके विपरीत विचार मिल रहे हैं, जो वास्तव में मुझे भ्रमित कर रहा है ..
HQuser

दूसरा प्रश्न हटा दिया गया है, लेकिन आप इसे संपादित इतिहास में पा सकते हैं और इसे ऊपरी प्रश्न में 'प्रश्न पूछें' बटन का उपयोग करके एक अलग प्रश्न के रूप में पोस्ट कर सकते हैं। हालाँकि, पूछने से पहले, कृपया सुनिश्चित करें कि आपके द्वारा सुझाए गए शोध को करना सुनिश्चित करें और हमें प्रश्न में बताएं कि आपने क्या शोध किया है, जिसमें हमें यह बताया गया है कि आपने कौन सी पाठ्यपुस्तक पढ़ी है। जहाँ तक यह प्रश्न है, आप अभी भी इस प्रश्न को संपादित कर सकते हैं कि मैंने अपनी पाठ्यपुस्तक में औपचारिक परिभाषा को देखकर जो प्रतिक्रिया दी है, उसमें यह प्रश्न भी शामिल है, और उस परिभाषा के बारे में आपकी व्याख्या दर्शा रही है।
डीडब्ल्यू

9
वैसे भी, यह cs.stackexchange.com/q/12587/755 द्वारा कवर किया गया लगता है । सामुदायिक वोट, कृपया: क्या यह डुप्लिकेट है?
डीडब्ल्यू

1
मैं वास्तव में आपके प्रश्न को नहीं समझता। ऐसा लगता है "मैंने पढ़ा है कि परिभाषा X है। परिभाषा X है?"
डेविड रिचरबी

जवाबों:


12

निम्नलिखित डेटा द्वारा एक DFA निर्दिष्ट किया जाता है:

  • एक वर्णमाला ।Σ
  • राज्यों का एक समूह ।Q
  • एक प्रारंभिक अवस्था ।q0Q
  • अंतिम राज्यों का एक सेट ।FQ
  • एक संक्रमण समारोह ।δ:Q×ΣQ

जैसा कि आप के हस्ताक्षर से देख सकते हैं , यह हर प्रतीक के लिए हर राज्य में एक संक्रमण निर्दिष्ट करता है।δ


7
सिवाय इसके कि डीएफए को कभी-कभी आंशिक संक्रमण फ़ंक्शन के साथ परिभाषित किया जाता है।
गिलेस एसओ- बुराई को रोकना '

6
आप सही हैं, डीएफए की कोई "आधिकारिक" परिभाषा नहीं है। लेकिन ओपी की रीडिंग इस विशेष परिभाषा के प्रभाव को धोखा देती है।
युवल फिल्मस

स्पष्ट रूप से कहना चाहिए कि संक्रमण फ़ंक्शन कुल है।
रयान

24

मान लीजिए कि एक डीएफए को लापता बदलाव करने की अनुमति दी गई थी। यदि आप एक प्रतीक का सामना करते हैं तो क्या होता है जिसके लिए कोई ट्रांसस्टेशन परिभाषित नहीं होता है? परिणाम अपरिभाषित है। ऐसा लगता है कि डीएफए की "निर्धारक" विशेषता का उल्लंघन होगा।

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

इसलिए, एक व्यावहारिक दृष्टिकोण से, यह एक प्रकार की लूट है, जब तक कि आपके पास लापता बदलावों को संभालने का एक अच्छा तरीका है।


10
सावधान: अपरिभाषित होने वाला एक परिवर्तन ऑटोमेटन को गैर-निर्धारक नहीं बनाता है, बस अधूरा है। डीएफए की कुछ परिभाषाएं हैं जो इस तरह के अपरिभाषित बदलावों को सटीक रूप से अनुमति देती हैं क्योंकि यह इसे व्यवस्थित रूप से पूरा करने के लिए तुच्छ है।
डार्कहॉग

1
@ दुर्खग, मैं जरूरी असहमत नहीं हूं, लेकिन अधूरा डीएफए का निर्धारण नहीं होगा, इस बात पर निर्भर करता है कि एक विशेष कार्यान्वयन इन अपरिभाषित / लापता संक्रमणों को कैसे संभालता है? और क्या इस तरह का कार्यान्वयन डीएफए को पूरी तरह से पूरा नहीं करेगा?
नाथन डेविस

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

BTW: आप भी रूपांतरण परिवर्तन कर सकते हैं। एक "कुल ऑटोमेटन" लें और "अधूरा ऑटोमेटन" प्राप्त करने के लिए एक सिंक राज्य निकालें। अंत में एकमात्र अंतर यह है कि कुल ऑटोमेटन हमेशा एक शब्द को अंत तक पढ़ने में सक्षम होता है , और उसके बाद यह निर्णय लेता है कि वह इस शब्द को स्वीकार करता है या नहीं, जबकि एक आंशिक ऑटोमेटन अपने सभी को पढ़ने से पहले कुछ शब्दों को अस्वीकार करने में सक्षम है। पात्र।
बकुरीउ

5

एक डीएफए को अक्सर एनएफए के प्रतिबंधित प्रकार के रूप में परिभाषित किया जाता है। यदि इनपुट वर्णमाला है और राज्यों का समुच्चय है, NFA की संक्रमण संरचना एक संबंध रूप में निर्दिष्ट की जाती है , या एक फ़ंक्शन । यदि हम बाद की परिभाषा को अपनाते हैं, तो हम कह सकते हैं कि एक NFA निर्धारक है यदि और लिए , और पूरा अगर , फिर से, सभी और ।क्यू ρ क्यू × Σ × क्यू δ : ( क्यू × Σ ) 2 क्यू | δ ( क्ष , σ ) | 1 क्ष क्यू σ Σ δ ( क्ष , σ ) क्ष क्यू σ ΣΣQρQ×Σ×Qδ:(Q×Σ)2Q|δ(q,σ)|1qQσΣδ(q,σ)qQσΣ

एक शब्द एनएफए द्वारा स्वीकार किया जाता है अगर इसमें एक स्वीकार रन होता है। एक नियतात्मक automaton के पास सबसे अधिक एक रन है। एक पूर्ण ऑटोमोटन में कम से कम एक रन होता है।

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

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