ডিএফএ মানে ডিটারমিনিস্টিক ফিনিট অটোমেটা। এটি একটি সীমাবদ্ধ রাষ্ট্র মেশিন যা গ্রহণ করে বা তার গ্রহণকারীর উপর ভিত্তি করে একটি স্ট্রিং।
এখানে, আমরা একটি ডিএফএ তৈরি করতে যাচ্ছি যা একটি স্ট্রিং গ্রহণ করে যা একটি দিয়ে শুরু এবং শেষ হয়। ইনপুট সেট (a,b) থেকে। এর উপর ভিত্তি করে আমরা একটি ডিএফএ ডিজাইন করব। এখন, আসুন কিছু বৈধ এবং অবৈধ কেস নিয়ে আলোচনা করা যাক যেগুলি একটি DFA দ্বারা গৃহীত হয়৷
৷DFA দ্বারা গৃহীত স্ট্রিংগুলি:ababba, aabba, aa, a.
যে স্ট্রিংগুলি DFA দ্বারা গৃহীত হয় না:ab, b, aabab.
উদাহরণ
এই প্রোগ্রামটি একটি স্ট্রিং পরীক্ষা করে যা একটি দিয়ে শুরু এবং শেষ হয়। এই DFA সমস্ত স্ট্রিং গ্রহণ করবে যা একটি দিয়ে শুরু এবং শেষ হয়। কোডটি প্রথম এবং শেষ উপাদানগুলির সমতা পরীক্ষা করে এবং এর মধ্যে বাকি সবকিছু (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