构建不以“THE”结尾的字符串的DFA
确定性有限自动机 (DFA) 是一个五元组
M=(Q, Σ, δ,q0,F)
其中,
- Q:称为状态的有限集。
- Σ:称为字母表的有限集。
- δ:Q × Σ → Q 是转移函数。
- q0 ϵ Q 是起始状态或初始状态。
- F:最终状态或接受状态。
接受不以“THE”结尾的字符串
观察给定字符串是否以“the”结尾。
在字符串末尾避免的“the”的不同表示法如下:
"tHE", "thE", "THE", "ThE", "THe", "The", "tHe" 和 "the"
所有这些字符串都不被字母表 (A-Z) 接受
令初始状态为 q0
考虑 4 个状态 q0、q1、q2 和 q3。
让我们取一个名为 DFA 的变量,其初始值为 0。
每当发生转移时,它都会使用与新状态关联的数字更新 DFA 的值。
示例
如果从状态 q0 到状态 q1 发生转移,则 DFA 的值将更新为 1。
如果从状态 q2 到状态 q3 发生转移,则 DFA 的值将更新为 3。
以此方式,将此算法应用于整个字符串,如果它到达末尾,则到达状态 0、1 或 2。因此,我们的字符串将被接受。否则,它将不被接受。
案例 1
输入 - pQdfGTthe
输出 - 未接受
案例 2
输入 - ThesdGTYid
输出 - 接受
广告