版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上计算机理论基础实验报告实验题目 :从NFA到DFA的转化姓 名 :院(系) : 专业班级 :学 号 : 指导教师 : 设计日期 :2013年 11月1日 1、 实验目的:1. 了解NFA和DFA的概念2. NFA和DFA之间的联系3. 从NFA到DFA的转化程序编写2、 实验原理1.NFANFA(nondeterministic finite-state automata)即非确定有限自动机, 一个非确定的有限自动机NFA M是一个五元式: NFA M=(S, , , S0, F)其中 S有限状态集 输入符号加上,即自动机的每个结点所射出的弧可以是中一个字符或是. S
2、0初态集 F终态集 转换函数 S× 2S (2S -S的幂集S的子集构成的集合)2.DFADFA(deterministic finite-state automata)即确定有限自动机,一个确定的有限自动机DFA M是一个五元式: M=(S, ,, S0, Z) 其中: S 有限状态集 输入字母表 映射函数(也称状态转换函数) S×S (s,a)=S , S, S S, a S0 初始状态 S0 S Z终止状态集 ZÍS3. NFA和DFA之间的联系在非确定的有限自动机NFA中,由于某些状态的转移需从若干个可能的后续状态中进行选择,故一个NFA对符号串的识别就必
3、然是一个试探的过程。这种不确定性给识别过程带来的反复,无疑会影响到FA的工作效率。而DFA则是确定的,将NFA转化为DFA将大大提高工作效率,因此将NFA转化为DFA是有其一定必要的。三、实验设计 通过本课程设计教学所要求达到的目的是:充分理解和掌握NFA,DFA以及NFA确定化过程的相关概念和知识,理解和掌握子集法的相关知识和应用,编程实现对输入NFA转换成DFA输出的功能。程序总框图如图1所示:总控模块NFA图结构状态转换表机构图操作初始化状态转换矩阵状态转换操作图1 程序总框图1、 子集构造法已证明:非确定的有限自动机与确定的有限自动机从功能上来说是等价的,也就是说,我们能够从:NFA
4、M DFA M使得 L(M)=L(M)为了使得NFA确定化,我们首先给出两个定义:定义1:集合I的-闭包:令I是一个状态集的子集,定义-closure(I)为:1)若sI,则s-closure(I);2)若sI,则从s出发经过任意条弧能够到达的任何 状态都属于-closure(I)。 状态集-closure(I)称为I的-闭包定义2:令I是NFA M的状态集的一个子集, a 定义: Ia=-closure(J) 其中J = (s,a)J是从状态子集I中的每个状态出发,经过标记为a的弧而达到的状态集合。Ia是状态子集,其元素为J中的状态,加上从J中每一个状态出发通过弧到达的状态。给定如图2所示的
5、NFA:bbaab0123 4图2与之等价的DFA如图3:bab0,12,443a图32 、程序设计2.1 常量定义#define MAX 10#define NumMaxChar 10#define NumMAXTN 10 #define INFINIT 327672.2 数据结构定义NFA图结构定义如下:typedef struct edge /边int dest;char cost;struct edge *link; /指向下一边*Edge; typedef struct vertex /顶点char data; /状态Edge adj; /边*Vertex; typedef stru
6、ct graph /图Vertex NodeTable;int NumVertex;int MaxNumVertex;int NumEdge;*Graph;状态转换表机构定义如下:typedef struct tablenode /转换表节点char newname; /新命名char chMAX; /顶点集合*TableNode; typedef struct tablequeue /转换表列TableNode TNMAX; /转换表节点数组char transword; /转换条件int NumTn; /添加的顶点数*TableQueue; typedef struct transmatr
7、ix /状态转换矩阵TableQueue TQ; /转换表列组int transnum; /转换表列数*TranMatrix;3.测试分析用正规表达式101(0|1)*011进行测试。首先在“请输入NFA的总状态数”后输入“9”,接着在“请依次输入NFA的状态名称:”后依次输入08,在“请输入NFA的边数:”后输入“10”,然后依次输入各起始状态、接受字符和到达状态,接受字符为2,依次为0、1,新状态依次命名为07,程序最后结果正确。程序运行截图如下:四、实验总结通过此次对从NFA到DFA的转化的设计,使我更好的理解了NFA确定化过程的相关知识,很好的理解了子集法的演算过程。经过多次试验,在正确输入相关数据的情况下,程序能正常运行,当错误操作或输入错误数据时,程序将应错误自动关闭。经过这次课程设计,也让我深刻的认识到实践才是最重要的。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年山东省菏泽市东明县人教版五年级上册期中测试数学试卷(含答案)
- 2025-2026学年统编版八年级历史第一次月考卷02(考试版A4)
- 2025-2026学年七年级语文上册期末考点复习《字音、字形、词语、作家作品、文体知识》
- 2025-2026学年湖南省高二年级上册期中考试历史模拟卷(原卷及解析)
- 2026年内蒙古农村商业银行管理人员及专业人才公开招聘备考题库带答案详解
- 广州市从化区卫生健康局所属事业单位2025年第二次公开招聘事业编制工作人员备考题库(含答案详解)
- 2026年复旦大学脑智研究院招聘办公室行政助理岗位备考题库(含答案详解)
- 2025年中职网络技术(网络协议工具应用)试题及答案
- CN110913839A 靶向trpv1的含月桂烯和大麻素的组合物 (Gbs全球生物制药公司)
- 美术高考协议书班
- 2025年滁州市公安机关公开招聘警务辅助人员50人备考题库及一套参考答案详解
- 口腔科2025年核与辐射安全隐患自查报告
- 2025年云南省人民检察院聘用制书记员招聘(22人)备考笔试题库及答案解析
- 2025宁电投(石嘴山市)能源发展有限公司秋季校园招聘100人笔试试题附答案解析
- 汽车电子连接器检测技术规范
- 2025年医学应聘面试题目及答案
- 从废墟到宝库:热解技术的飞跃发展
- 石菖蒲病害防治
- 核对稿-700单元联锁
- GB∕T 231.2-2022 金属材料 布氏硬度试验 第2部分:硬度计的检验与校准
- 山塘整治工程建设方案
评论
0/150
提交评论