电梯销售
一、实验名称
不确定有穷状态自动机的确定化
二、实验目的
输入:非确定有穷状态自动机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经任意条ε弧而能到达的状态的集合。
4、move函数
状态集合I的a弧转换,表示为move(I,a),定义为状态集合J,其中J是所有那些从I中的某一状态经过一条a弧而到达的状态的全体。
四、实验思路
本次实验采用python完成。
1、输入
根据课本NFA的定义,输入五元组,依次输入状态集、输入符号、初态集、终态集以及
映像,将这些分别存入五个列表中。其中关于映像的输入格式:先输入状态一,再输入输入符号,最后输入状态二,一次输入一条弧。
2、closure算法司马光教学设计
定义closure函数形式为closure(a,f),其中,a为要做closure闭包的状态集合,f为NFA的映像的集合。具体思想为:
a.设立一个最终返回结果的列表b,初值与列表a相等。设立一个空列表s,用于存放每次closure闭包新加入的状态。
b.执行while循环,此循环判断条件为1,即会一直执行下去,直到遇到closure闭包没有新增状态的时候执行结束。
天涯情感社区