问题陈述 :
设计和构造接受过输入字母(A,B,c)与(输入符号)的一个ATLEAST字符串非确定性有限自动机机具有奇数字符串中存在。
例子 :
aaabbbb, ababac, ababababccc ...
方法:
- 用标记–>构造初始状态。
- 相应地,在每个输入字母上从一种状态转换到另一种状态。
- 检查是否需要构造自循环。
- 用两个同心圆标记最终状态。
逐步设计NFA:
步骤1:
创建一个初始状态“ A”,该状态将转换为三个不同的状态,即“ B”,“ C”,“ D”为空。
第2步:
在状态“ B”上,如果输入字母为“ a”,则进行从状态“ B”到“ X”的“ a”转换,如果状态“ B”上的输入字母为“ b”或“ c”,则进行自循环状态“ B”本身上的“ b”和“ c”。
步骤3:
在状态“ X”上,输入字母“ b”和“ c”是到状态“ X”本身的过渡,但是,“ a”的过渡是从状态“ X”到状态“ B”的。
第四步:
在状态“ C”上,如果输入字母为“ b”,则进行从状态“ B”到“ Y”的“ b”转换;如果在状态“ C”上的输入字母为“ b”或“ c”,则进行自我转换。状态“ C”本身上的“ b”和“ c”循环以及状态“ Y”上的输入字母“ a”和“ c”本身是向状态“ Y”的过渡,但“ b”的过渡是从状态“ Y”开始的”以表示“ B”。
步骤5:
在状态“ D”上,如果输入字母为“ c”,则进行从状态“ D”到“ Z”的“ c”转换,如果在状态“ D”上的输入字母为“ b”或“ a”,则进行自循环状态“ D”本身上的“ b”和“ a”的关系。在状态“ Z”上,输入字母“ a”和“ b”是到状态“ Z”本身的过渡,但从状态“ Z”到状态“ D”的过渡是“ c”。
步骤6:
状态“ X”确保“ a”的奇数,状态“ Y”确保“ b”的奇数,状态“ Z”确保“ c”的奇数。因此,将这些状态标记为最终状态。