首页 > 知识点讲解
       有限自动机
知识路径: > 计算机系统基础知识 > 计算机软件基础知识 > 程序设计语言和语言处理程序知识 > 汇编、编译、解释系统的基本知识和基本工作原理 > 程序语言翻译基础 > 编译程序基本原理 > 词法分析 > 
相关知识点:4个      
        有限自动机是一种识别装置的抽象概念,它能准确地识别正规集。有限自动机分为确定的有限自动机和不确定的有限自动机两类。
        (1)确定的有限自动机(Deterministic Finite Automata,DFA)。一个确定的有限自动机是一个五元组(S,Σ,fs0Z),其中:
        .S是一个有限集,其每个元素称为一个状态。
        .Σ是一个有穷字母表,其每个元素称为一个输入字符。
        .fS×Σ→S上的单值部分映像。fAa)=Q表示当前状态为A、输入为a时,将转换到下一状态Q。称Q为A的一个后继状态。
        .s0Ss0称为开始状态,是唯一的。
        .Z是非空的终止状态集合,
        一个DFA可以用两种直观的方式表示:状态转换图和状态转换矩阵。状态转换图简称为转换图,是一个有向图。DFA中的每个状态对应转换图中的一个节点,DFA中的每个转换函数对应图中的一条有向弧,若转换函数为fAa)=Q,则该有向弧从节点A出发,进入节点Q,字符a是弧上的标记。
        (2)不确定的有限自动机(Nondeterministic Finite Automata,NFA)。一个不确定的有限自动机也是一个五元组,它与确定有限自动机的区别如下:
        ①fS×Σ→2S上的映像。对于S中的一个给定状态及输入符号,返回一个状态的集合。即当前状态的后继状态不一定是唯一的。
        ②有向弧上的标记可以是ε
        (3)NFA到DFA的转换。
        任何一个NFA都可以转换为DFA,下面先定义转换过程中需要的计算。
        定义1:状态集Iε_闭包。
        若I是NFAN的状态集合的一个子集,定义ε_CLOSURE(I)如下:
        .状态集Iε_CLOSURE(I)是一个状态集。
        .状态集I的所有状态属于ε_CLOSURE(I)。
        .若sI,那么从s出发经过任意条ε弧到达的状态s'都属于ε_CLOSURE(I)。
        状态集ε_CLOSURE(I)称为Iε_闭包。
        由以上的定义可知,Iε_闭包就是从状态集I的状态出发,经ε所能到达的状态的全体。
        定义2:状态集I的对字符a的状态转移。
        假定I是NFAN的状态集的一个子集,a是Σ中的一个字符,定义:
        Ia=ε_CLOSURE(J
        其中,J是所有那些可从I中的某一状态节点出发经过一条a弧而到达的状态节点的全体。
        用子集法将一个NFA转换为一个DFA。
        设NFAN=(S,Σ,fs0Z),与之等价的DFAM=(S',Σ,f',q0Z'),用子集法将非确定的有限自动机确定化的算法步骤如下:
        ①求出DFAM的初态q0,即令q0=ε_CLOSURE({s0}),此时S'仅含初态q0,并且没有标记。
        ②对于S'中尚未标记的状态qi={si1si2,…,sim},sijSj=1,…,m)进行以下处理:
        .标记qi,以说明该状态已经计算过。
        .对于每个a∈∑,令T=f({si1si2,…,sim},a),qj=ε_CLOSURE(T)。
        .若qj尚不在S'中,则将qj作为一个未加标记的新状态添加到S',并把状态转换函数f'(qia)=qj添加到DFAM中。
        ③重复进行步骤②,直到S'中不再出现未标记的状态时为止。
        ④令Z'={qqS'且qZ?}。
        
        识别ab*a的DFA示意图
        对上图所示的自动机进行化简所得的DFA如下图所示。
        
        识别ab*a的最小化DFA示意图
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有