有穷自动机

本文介绍了有穷自动机的基本概念,包括确定的有穷自动机(DFA)和不确定的有穷自动机(NFA)。DFA的特点是转换函数是单值的,而NFA允许多值转换和多个起始状态。文章通过实例详细阐述了DFA和NFA的定义、状态转换以及如何将NFA转换为等价的DFA,并提到了DFA的最小化问题。
摘要由CSDN通过智能技术生成

有穷自动机为一种识别装置,能准确地识别正规集。它为词法分析程序的自动构造提供了有效的方法和工具。
有穷自动机分为两类:

  • 确定的有穷自动机 (Deterministic Finite Automata: DFA)
  • 不确定的有穷自动机 (Nondeterministic Finite Automata: NFA)

确定的有穷自动机DFA :

DFA定义:
一个确定的有穷自动机(DFA)M是一个五元组:
M= (K,Σ, f, S, Z), 其中

  • K是一个有穷集,它的每个元素称为一个状态
  • Σ是一个有穷字母表,它的每个元素称为一个输入符号,所以Σ也称为输入符号表;
  • f是转换函数,是在K×Σ→K上的单值映射,即如存在f(ki, a)=kj, (ki∈K,kj∈K) ,则当前状态为ki且输入符为a时,将转换为下一个状态kj,我们把kj称作ki的一个后继状态;
  • S∈K是唯一的一个初态
  • Z⊂K是一个终态集,终态也称可接受状态或结束状态

例 : DFA M=({S,U,V,Q},{a,b},f,S,{Q}) 其中f定义为:

f(S,a)=U        f(V,a)=U
f(S,b)=V        f(V,b)=Q
f(U,a)=Q        f(Q,a)=Q
f(U,b)=V        f(Q,b)=Q

DFA 的状态图表示:
这里写图片描述

DFA 的矩阵表示:
这里写图片描述

*上的符号串t被DFA M接受 :
定义1: 对∑ *中的任何符号串t, 若存在一条从初态结点到某一终态结点的道路,且这
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值