DFA का मतलब नियतात्मक परिमित ऑटोमेटा है। यह एक परिमित अवस्था मशीन है जो अपने स्वीकर्ता के आधार पर स्वीकार करता है या एक स्ट्रिंग है।
यहां, हम एक डीएफए बनाने जा रहे हैं जो एक स्ट्रिंग को स्वीकार करता है जो एक के साथ शुरू और समाप्त होता है। इनपुट सेट (ए, बी) से है। इसके आधार पर हम एक डीएफए डिजाइन करेंगे। अब, आइए कुछ मान्य और अमान्य मामलों पर चर्चा करें जिन्हें DFA द्वारा स्वीकार किया जाता है।
स्ट्रिंग्स जिन्हें DFA द्वारा स्वीकार किया जाता है:अब्बा, अब्बा, आ, ए.
स्ट्रिंग्स जिन्हें DFA द्वारा स्वीकार नहीं किया जाता है:ab, b, aabab.
उदाहरण
यह प्रोग्राम एक स्ट्रिंग की जांच करता है जो एक के साथ शुरू और समाप्त होता है। यह DFA उन सभी स्ट्रिंग्स को स्वीकार करेगा जो a से शुरू और खत्म होती हैं। कोड पहले और अंतिम तत्वों की समानता की जाँच करता है और बाकी सब कुछ (a,b) से संभव है।
#include <iostream> #include <string.h> using namespace std; int main(){ char str[] = {"ababba"}; int lenght = strlen(str); if(str[0] == 'a' && str[lenght-1] == 'a'){ printf("Accepted"); else{ printf("Rejected"); return 0; } } }
आउटपुट
Accepted