नियतात्मक परिमित ऑटोमेटन

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

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

औपचारिक परिभाषा
एक नियतात्मक परिमित ऑटोमेटन $M$ एक 5-ए एन टपल है, $(Q, Σ, δ, q_{0}, F)$, को मिलाकर होने देना $Σ$ वर्णमाला के ऊपर एक स्ट्रिंग बनें $δ : Q × Σ → Q$. ऑटोमेटन $Q$ स्ट्रिंग स्वीकार करता है $M$ यदि राज्यों का एक क्रम, $w = a_{1}a_{2}…a_{n}$, में मौजूद है $w$ निम्नलिखित शर्तों के साथ:
 * राज्य का एक सीमित सेट (कंप्यूटर विज्ञान) $Q$
 * इनपुट प्रतीकों का एक सीमित सेट जिसे वर्णमाला (कंप्यूटर विज्ञान) कहा जाता है $Σ$
 * एक संक्रमण फलन (गणित) $r_{0}, r_{1}, …, r_{n}$
 * एक प्रारंभिक या परिमित-अवस्था मशीन#प्रारंभ स्थिति $$q_0 \in Q$$
 * परिमित-अवस्था मशीन#स्वीकार .28या अंतिम.29 अवस्थाओं का एक सेट $$F \subseteq Q$$
 * 1) $r_{0} = q_{0}$, के लिए $r_{i+1} = δ(r_{i}, a_{i+1})$
 * 2) $$r_n \in F$$.
 * 1) $$r_n \in F$$.

शब्दों में, पहली शर्त कहती है कि मशीन प्रारंभ अवस्था में शुरू होती है $i = 0, …, n − 1$. दूसरी शर्त कहती है कि स्ट्रिंग का प्रत्येक अक्षर दिया गया है $w$, मशीन ट्रांज़िशन फ़ंक्शन के अनुसार एक राज्य से दूसरे राज्य में स्थानांतरित होगी $δ$. आखिरी शर्त कहती है कि मशीन स्वीकार करती है $w$ यदि अंतिम इनपुट $w$ मशीन को स्वीकार करने वाले राज्यों में से एक में रुकने का कारण बनता है। अन्यथा, यह कहा जाता है कि ऑटोमेटन स्ट्रिंग को अस्वीकार कर देता है। वह तार का सेट $M$स्वीकार द्वारा मान्यता प्राप्त औपचारिक भाषा है $M$ तथा इस भाषा द्वारा निरूपित किया जाता है $q_{0}$.

स्वीकृत अवस्थाओं के बिना और प्रारंभिक अवस्था के बिना एक नियतात्मक परिमित ऑटोमेटन को एक संक्रमण प्रणाली या सेमीऑटोमेटन के रूप में जाना जाता है।

औपचारिक परिभाषा के अधिक व्यापक परिचय के लिए ऑटोमेटा सिद्धांत देखें।

उदाहरण
निम्नलिखित उदाहरण DFA का है $M$, एक द्विआधारी वर्णमाला के साथ, जिसके लिए आवश्यक है कि इनपुट में 0 की सम संख्या हो।

$L(M)$ कहाँ
 * $M = (Q, Σ, δ, q_{0}, F)$ और
 * $δ$ को निम्नलिखित राज्य संक्रमण तालिका द्वारा परिभाषित किया गया है:
 * {| border="1" cellpadding="1" cellspacing="0"
 * $Q = {S_{1}, S_{2}} |undefined$ और
 * $M$ को निम्नलिखित राज्य संक्रमण तालिका द्वारा परिभाषित किया गया है:
 * {| border="1" cellpadding="1" cellspacing="0"

राज्य $Σ = {0, 1}$ दर्शाता है कि अब तक इनपुट में 0 की सम संख्या रही है $q_{0} = S_{1}$ एक विषम संख्या को दर्शाता है. इनपुट में 1 ऑटोमेटन की स्थिति को नहीं बदलता है। जब इनपुट समाप्त हो जाता है, तो राज्य दिखाएगा कि इनपुट में 0 की सम संख्या है या नहीं। यदि इनपुट में 0 की सम संख्या है, $M$ राज्य में समाप्त होगा $F = {S_{1}} |undefined$, एक स्वीकार्य स्थिति, इसलिए इनपुट स्ट्रिंग स्वीकार की जाएगी।
 * || 0 || 1
 * S1 || S2 || S1
 * S2 || S1 || S2
 * }
 * S2 || S1 || S2
 * }

जिस भाषा से मान्यता प्राप्त है $n$ नियमित अभिव्यक्ति  द्वारा दी गई नियमित भाषा है , कहाँ   क्लेन तारा है, उदाहरणार्थ,   क्रमागत संख्याओं में से किसी भी संख्या (संभवतः शून्य) को दर्शाता है।

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

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

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

यादृच्छिकता
जब प्रारंभ स्थिति और स्वीकार स्थिति को नजरअंदाज कर दिया जाता है, तो एक DFA $k$ राज्य और आकार की एक वर्णमाला $n$ को निर्देशित ग्राफ़ के रूप में देखा जा सकता है $k$ शीर्ष जिसमें सभी शीर्ष हों $k$ आउट-आर्क्स लेबल किया गया $S_{1}$ (ए $k$-आउट डिग्राफ)। ये तो पता चल ही जाता है कि कब $S_{2}$ एक निश्चित पूर्णांक है, उच्च संभावना के साथ, ऐसे में सबसे बड़ा मजबूती से जुड़ा घटक (एससीसी)। $k$-यादृच्छिक रूप से समान रूप से चुना गया डिग्राफ रैखिक आकार का होता है और इसे सभी शीर्षों द्वारा पहुँचा जा सकता है। यह भी सिद्ध हो चुका है कि यदि $n$ के रूप में बढ़ाने की अनुमति है $F$ बढ़ता है, तो पूरे डिग्राफ में कनेक्टिविटी के लिए एर्दो-रेनी मॉडल के समान मजबूत कनेक्टिविटी के लिए एक चरण संक्रमण होता है। एक यादृच्छिक डीएफए में, एक शीर्ष से पहुंचने योग्य शीर्षों की अधिकतम संख्या उच्च संभावना वाले सबसे बड़े दृढ़ता से जुड़े घटक में शीर्षों की संख्या के बहुत करीब है। यह ग्राफ़ सिद्धांत की सबसे बड़ी शब्दावली के लिए भी सच है#सबग्राफ|न्यूनतम इन-डिग्री एक के प्रेरित उप-डिग्राफ, जिसे डिजेनरेसी (ग्राफ सिद्धांत)#के-कोर| के निर्देशित संस्करण के रूप में देखा जा सकता है।$S_{1}$-मुख्य।

बंद गुण
यदि डीएफए उन भाषाओं को पहचानते हैं जो डीएफए पहचानने योग्य भाषाओं पर एक ऑपरेशन लागू करके प्राप्त की जाती हैं तो डीएफए को ऑपरेशन के तहत बंद कर दिया जाता है। डीएफए निम्नलिखित परिचालनों के तहत बंद किए गए हैं।

• Union

• Intersection (see picture)

• Concatenation

• Complement

• Kleene closure

• Reversal

• Quotient

• Substitution

• Homomorphism

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

एक संक्रमण मोनोइड के रूप में
किसी दिए गए डीएफए के एक रन को स्वयं के साथ संक्रमण फ़ंक्शन के एक बहुत ही सामान्य सूत्रीकरण की रचनाओं के अनुक्रम के रूप में देखा जा सकता है। यहां हम उस फ़ंक्शन का निर्माण करते हैं।

किसी दिए गए इनपुट प्रतीक के लिए $$a \in \Sigma$$, कोई एक संक्रमण फ़ंक्शन का निर्माण कर सकता है $$\delta_a : Q \rightarrow Q$$ परिभाषित करके $$\delta_a(q) = \delta(q,a)$$ सभी के लिए $$q \in Q$$. (इस ट्रिक को करी बनाना कहा जाता है।) इस दृष्टिकोण से, $$\delta_a$$ Q में एक राज्य पर कार्य करके दूसरा राज्य प्राप्त करता है। फिर कोई विभिन्न कार्यों पर बार-बार लागू किए गए कार्य संरचना के परिणाम पर विचार कर सकता है $$\delta_a$$, $$\delta_b$$, और इसी तरह। अक्षरों का एक जोड़ा दिया गया $$a, b \in \Sigma$$, कोई एक नया फ़ंक्शन परिभाषित कर सकता है $$\widehat\delta_{ab}=\delta_a \circ \delta_b$$, कहाँ $$\circ$$ फ़ंक्शन संरचना को दर्शाता है।

स्पष्ट रूप से, इस प्रक्रिया को निम्नलिखित पुनरावर्ती परिभाषा देते हुए पुनरावर्ती रूप से जारी रखा जा सकता है $$\widehat\delta : Q \times \Sigma^{\star} \rightarrow Q$$:
 * $$\widehat\delta ( q, \epsilon ) = q$$, कहाँ $$\epsilon$$ खाली स्ट्रिंग है और
 * $$\widehat\delta ( q, wa ) = \delta_a(\widehat\delta ( q, w ))$$, कहाँ $$ w \in \Sigma ^*, a \in \Sigma $$ और $$q \in Q$$.

$$\widehat\delta$$ सभी शब्दों के लिए परिभाषित है $$w\in\Sigma^*$$. डीएफए का एक रन रचनाओं का एक क्रम है $$\widehat\delta$$ खुद के साथ.

बार-बार फ़ंक्शन संरचना एक मोनॉइड बनाती है। संक्रमण कार्यों के लिए, इस मोनोइड को संक्रमण मोनोइड, या कभी-कभी परिवर्तन अर्धसमूह के रूप में जाना जाता है। निर्माण को उलटा भी किया जा सकता है: a $$\widehat\delta$$, कोई पुनर्निर्माण कर सकता है $$\delta$$, और इसलिए दोनों विवरण समतुल्य हैं।

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

चूँकि DFA को एक विहित रूप (DFA न्यूनतमकरण) में घटाया जा सकता है, यह निर्धारित करने के लिए कुशल एल्गोरिदम भी हैं:
 * किसी दिए गए DFA द्वारा मान्यता प्राप्त भाषा का पूरक।
 * दो दिए गए डीएफए द्वारा मान्यता प्राप्त भाषाओं का मिलन/प्रतिच्छेदन।
 * क्या डीएफए किसी स्ट्रिंग को स्वीकार करता है (खालीपन समस्या)
 * क्या डीएफए सभी स्ट्रिंग्स को स्वीकार करता है (सार्वभौमिकता समस्या)
 * क्या दो डीएफए एक ही भाषा को पहचानते हैं (समानता समस्या)
 * क्या DFA द्वारा मान्यता प्राप्त भाषा दूसरे DFA द्वारा मान्यता प्राप्त भाषा में शामिल है (समावेशन समस्या)
 * किसी विशेष नियमित भाषा के लिए न्यूनतम संख्या में राज्यों वाला डीएफए (न्यूनीकरण समस्या)

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

लेबल किए गए शब्दों से डीएफए पहचान
सकारात्मक शब्दों का एक सेट दिया गया $$S^+ \subset \Sigma^*$$ और नकारात्मक शब्दों का एक सेट $$S^- \subset \Sigma^*$$ कोई ऐसा डीएफए बना सकता है जो सभी शब्दों को स्वीकार करता हो $$S^+$$ और सभी शब्दों को अस्वीकार करता है $$S^-$$: इस समस्या को डीएफए पहचान (संश्लेषण, सीखना) कहा जाता है। जबकि कुछ डीएफए का निर्माण रैखिक समय में किया जा सकता है, राज्यों की न्यूनतम संख्या के साथ डीएफए की पहचान करने की समस्या एनपी-पूर्ण है। न्यूनतम डीएफए पहचान के लिए पहला एल्गोरिदम ट्रैखटेनब्रॉट और बार्ज़डिन द्वारा प्रस्तावित किया गया है और इसे टीबी-एल्गोरिदम कहा जाता है। हालाँकि, टीबी-एल्गोरिदम मानता है कि सभी शब्द $$\Sigma$$ किसी दी गई लंबाई तक दोनों में समाहित हैं $$S^+ \cup S^-$$.

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

फिर भी एक और कदम मैरिजन ह्यूले|मार्जिन जे.एच. ह्यूले और एस. वर्वर द्वारा बूलियन संतुष्टि समस्या समाधानकर्ताओं के अनुप्रयोग के कारण है: न्यूनतम डीएफए पहचान समस्या एक बूलियन सूत्र की संतुष्टि का निर्णय लेने के लिए कम हो गई है। मुख्य विचार इनपुट सेट के आधार पर एक संवर्धित उपसर्ग-वृक्ष स्वीकर्ता (एक तिकड़ी जिसमें सभी इनपुट शब्द संबंधित लेबल के साथ शामिल हैं) का निर्माण करना और डीएफए खोजने की समस्या को कम करना है। $$C$$ पेड़ के शीर्षों को रंगने के लिए कहा गया है $$C$$ इस तरह से बताता है कि जब एक रंग वाले शीर्षों को एक राज्य में विलय कर दिया जाता है, तो उत्पन्न ऑटोमेटन नियतात्मक होता है और इसका अनुपालन करता है $$S^+$$ और $$S^-$$. यद्यपि यह दृष्टिकोण न्यूनतम डीएफए खोजने की अनुमति देता है, लेकिन इनपुट डेटा का आकार बढ़ने पर यह निष्पादन समय के तेजी से बढ़ने से ग्रस्त होता है। इसलिए, ह्यूले और वेरवर के प्रारंभिक एल्गोरिदम को बाद में SAT सॉल्वर निष्पादन से पहले EDSM एल्गोरिदम के कई चरण बनाने के साथ संवर्धित किया गया है: DFASAT एल्गोरिदम। इससे समस्या के खोज स्थान को कम करने की अनुमति मिलती है, लेकिन न्यूनतम गारंटी का नुकसान होता है। खोज स्थान को कम करने का एक और तरीका उलियंटसेव एट अल द्वारा प्रस्तावित किया गया है। चौड़ाई-प्रथम खोज एल्गोरिदम के आधार पर नई समरूपता तोड़ने वाले विधेय के माध्यम से: मांगे गए डीएफए के राज्यों को प्रारंभिक राज्य से लॉन्च किए गए बीएफएस एल्गोरिदम के अनुसार क्रमांकित करने के लिए बाध्य किया गया है। यह दृष्टिकोण खोज स्थान को कम कर देता है $$C!$$ आइसोमोर्फिक ऑटोमेटा को खत्म करके।

केवल पढ़ने के लिए दाहिनी ओर चलने वाली ट्यूरिंग मशीनें
रीड-ओनली राइट-मूविंग ट्यूरिंग मशीनें एक विशेष प्रकार की ट्यूरिंग मशीन हैं जो केवल राइट-मूविंग होती हैं; इन लगभग बिल्कुल DFA के समतुल्य हैं। एकल अनंत टेप पर आधारित परिभाषा 7- टपल है


 * $$M = \langle Q, \Gamma, b, \Sigma, \delta, q_0, F \rangle,$$

कहाँ
 * $$Q$$ राज्यों का एक सीमित समूह है;
 * $$\Gamma$$ टेप वर्णमाला/प्रतीकों का एक सीमित सेट है;
 * $$b \in \Gamma$$ रिक्त प्रतीक है (गणना के दौरान किसी भी चरण में टेप पर अनंत बार आने वाला एकमात्र प्रतीक);
 * $$\Sigma$$, का एक उपसमुच्चय $$\Gamma$$ बी शामिल नहीं है, इनपुट प्रतीकों का सेट है;
 * $$\delta: Q \times \Gamma \to Q \times \Gamma \times \{R\}$$ एक फ़ंक्शन (गणित) है जिसे राज्य संक्रमण प्रणाली कहा जाता है, आर एक सही आंदोलन (एक सही बदलाव) है;
 * $$q_0 \in Q$$ प्रारंभिक अवस्था है;
 * $$F \subseteq Q$$ अंतिम या स्वीकृत अवस्थाओं का समूह है।

मशीन हमेशा एक नियमित भाषा स्वीकार करती है। सेट का कम से कम एक तत्व मौजूद होना चाहिए ⇭⇭⇭⇭⇭ (एक हॉल्ट स्थिति) भाषा के गैर-रिक्त होने के लिए।

3-अवस्था, 2-प्रतीक रीड-ओनली ट्यूरिंग मशीन का उदाहरण

 * $$Q = \{ A, B, C, \text{HALT} \};$$
 * $$\Gamma = \{ 0, 1 \};$$
 * $$b = 0$$, खाली ;
 * $$\Sigma = \varnothing$$, खाली सेट;
 * $$\delta = $$ ऊपर राज्य-तालिका देखें;
 * $$q_0 = A$$, आरंभिक राज्य;
 * $$F = $$ अंतिम अवस्थाओं का एक तत्व सेट: $$\{\text{HALT}\}$$.

यह भी देखें
• Deterministic acyclic finite state automaton

• DFA minimization

• Monadic second-order logic

• Powerset construction

• Quantum finite automaton

• Separating words problem

• Turing machine

• Two-way finite automaton

• Weighted automaton

संदर्भ

 * . Section 1.1: Finite Automata, pp. 31–47. Subsection "Decidable Problems Concerning Regular Languages" of section 4.1: Decidable Languages, pp. 152–155.4.4 DFA can accept only regular language
 * . Section 1.1: Finite Automata, pp. 31–47. Subsection "Decidable Problems Concerning Regular Languages" of section 4.1: Decidable Languages, pp. 152–155.4.4 DFA can accept only regular language
 * . Section 1.1: Finite Automata, pp. 31–47. Subsection "Decidable Problems Concerning Regular Languages" of section 4.1: Decidable Languages, pp. 152–155.4.4 DFA can accept only regular language
 * . Section 1.1: Finite Automata, pp. 31–47. Subsection "Decidable Problems Concerning Regular Languages" of section 4.1: Decidable Languages, pp. 152–155.4.4 DFA can accept only regular language
 * . Section 1.1: Finite Automata, pp. 31–47. Subsection "Decidable Problems Concerning Regular Languages" of section 4.1: Decidable Languages, pp. 152–155.4.4 DFA can accept only regular language
 * . Section 1.1: Finite Automata, pp. 31–47. Subsection "Decidable Problems Concerning Regular Languages" of section 4.1: Decidable Languages, pp. 152–155.4.4 DFA can accept only regular language