目录一 、实验名称2二 、实验目的 2三、实验原理 21、NFA 定义 22、DFA 的定义 23、closure 函数 24、move 函数 3四、实验思路 31、输入 32、closure 算法 33、move 算法 34、构造子集 45、输出 4五、实验小结 41、输入存储问题 42024
02不确定有穷状态自动机的确定化2、closure 算法问题 43、输出问题 5六、附件 51、源代码 52、运行结果截图 7一、实验名称不确定有穷状态自动机的确定化二、实验目的输入:非确定有穷状态自动机 NFA 输出:确定化的有穷状态自动机 DFA三、实验原理1、NFA 定义一个不确定的有穷自动机 M 是一个五元组,M=(K,E,f,S,Z)其中a
K 是一个有穷集,它的每个元素称为一个状态;b
E 是一个有穷字母表,它的每个元素称为一个输入符号;c
f 是一个从 K×E*到 K 的子集的映像,即:K*E*->2k,其中 2k 表示 K的幂集;d
S 包含于 K,是一个非空初态集;e
Z 包含于 K,是一个终态集
2、DFA 的定义一个确定的有穷自动机 M 是一个五元组,M=(K,E,f,S,Z)其中a
K 是一个有穷集,它的每个元素称为一个状态;b
E 是一个有穷字母表,它的每个元素称为一个输入符号;c
f 是转换函数,是 K×E->K 上的映像,即,如 f(ki,a)=kj(ki∈K,kj∈K)就意味着,当前状态为 ki,输入字符为 a 时,将转换到下一状态 kj,我们把 kj 称作 ki 的一个后继状态;d
S∈K,是唯一的一个初态;e
Z 包含于 K,是一个终态集,终态也称可接受状态或结束状态
3、closure 函数状态集合 I 的 ε—闭包,表示为 ε—closure(I),定义为一状态集,是状态集I 中的任何状态 S 经任意条 ε 弧而能到