DFA ย่อมาจาก Deterministic Finite Automata มันเป็นเครื่องสถานะจำกัดที่ยอมรับหรือสตริงที่ขึ้นอยู่กับตัวรับ
ในที่นี้ เราจะสร้าง DFA ที่ยอมรับสตริงที่ขึ้นต้นและลงท้ายด้วย a อินพุตมาจากชุด (a,b) จากนี้เราจะออกแบบ DFA ตอนนี้ มาพูดถึงกรณีที่ถูกต้องและไม่ถูกต้องที่ DFA ยอมรับ
สตริงที่ DFA ยอมรับ:ababba, aabba, aa, a.
สตริงที่ DFA ไม่ยอมรับ:ab, b, aabab
ตัวอย่าง
โปรแกรมนี้ตรวจสอบสตริงที่ขึ้นต้นและลงท้ายด้วย a. 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