形式语言与自动机 Part 3.有限自动机

课程名:形式语言与自动机

作者:Lupinus_Linn

许可证:CC-BY-NC-SA 3.0 创作共用-署名-非商业性-相同方式共享

  • 署名(英语:Attribution,BY):您(用户)可以复制、发行、展览、表演、放映、广播或通过信息网络传播本作品;您必须按照作者或者许可人指定的方式对作品进行署名。
  • 非商业性使用(英语:Noncommercial,NC):您可以自由复制、散布、展示及演出本作品;您不得为商业目的而使用本作品。
  • 相同方式共享(英语:Sharealike,SA):您可以自由复制、散布、展示及演出本作品;若您改变、转变或更改本作品,仅在遵守与本作品相同的许可条款下,您才能散布由本作品产生的派生作品。(参见copyleft。)

引用:

  • 本文中部分文字与图片引用自北京邮电大学计算机学院王柏教授的《形式语言与自动机》课程课件。
  • 绪论中的证明方法部分引自清华大学王生原老师课件。
  • 部分题目插图引用自北京邮电大学出版社《形式语言与自动机 第二版》教材。

在此一并表示感谢,并不做商业用途。

本笔记所有内容的传送门

Part.1绪论, Part.2 语言与文法
Part 3.有限自动机
Part.4 正则语言,2DFA,Mealy&Moore机
Part.5 上下文无关语言与下推自动机(PDA)
Part.6 图灵机

Part 3.有限自动机

  • 具有离散输入输出系统的一种数学模型 (可以没有输出,比较特殊的也可以没有输入).
  • 有限的状态
  • 状态+输入→状态转移
  • 每次转换的后继状态都唯一 → DFA,每次转换的后继状态不唯一→NFA

3.1 五要素

  • 有限状态集 Q Q Q
  • 有限输入符号集 T T T
  • 转移函数 δ : Q × T → Q \delta:Q×T \rarr Q δ:Q×TQ:
  • 一个开始状态 q 0 , q 0 ∈ Q q_0,q_0\in Q q0,q0Q
  • 一个终态集合 F , F ⊆ Q F,F\subseteq Q F,FQ

3.2 一个DFA的定义

  • M = ( Q , T , δ , q 0 , F ) M= (Q, T, δ, q0 , F) M=(Q,T,δ,q0,F)
  • Q = { q 0 , q 1 , q 2 , q 3 } Q = \{q0 , q1 , q2 , q3 \} Q={ q0,q1,q2,q3}
  • T = { 0 , 1 } T = \{0, 1 \} T={ 0,1}
  • δ ( q 0 , 0 ) = q 2 , δ ( q 0 , 1 ) = q 1 \delta(q0 ,0) = q2 , \delta(q0 ,1) = q1 δ(q0,0)=q2,δ(q0,1)=q1
    δ ( q 1 , 0 ) = q 3 , δ ( q 1 , 1 ) = q 0 \delta(q1 ,0) = q3 , \delta(q1 ,1) = q0 δ(q1,0)=q3,δ(q1,1)=q0
    δ ( q 2 , 0 ) = q 0 , δ ( q 2 , 1 ) = q 3 \delta(q2 ,0) = q0 , \delta(q2 ,1) = q3 δ(q2,0)=q0,δ(q2,1)=q3
    δ ( q 3 , 0 ) = q 1 , δ ( q 3 , 1 ) = q 2 \delta(q3 ,0) = q1 , \delta(q3 ,1) = q2 δ(q3,0)=q1,δ(q3,1)=q2
  • q 0 q0 q0
  • F = { q 0 , q 3 } F = \{q0 , q3 \} F={ q0,q3}

3.3 状态转移图

在这里插入图片描述

3.4 状态转移表

在这里插入图片描述

3.5 字符串转移函数 δ ′ \delta' δ

δ ′ : Q × T ∗ → Q \delta' :Q\times T^*\rarr Q δ:Q×TQ
对于任何 q ∈ Q q\in Q qQ,定义

  1. δ ′ ( q , ϵ ) = q \delta'(q,\epsilon)=q δ(q,ϵ)=q。即空串转移到本状态。
  2. 如果 ω ∈ T ∗ , a ∈ T \omega \in T^*,a\in T ωT,aT,定义 δ ′ ( q , ω a ) = δ ( δ ′ ( q , ω ) , a ) \delta'(q,\omega a)=\delta(\delta'(q,\omega),a) δ(q,ωa)=δ(δ(q,ω),a)。即非空字符串 ω a ∣ \omega a| ωa可以看作是其前长度为 ∣ ω ∣ |\omega| ω的前缀$\omega $和长度为 1 1 1的字符 a a a组成。

对于DFA,单个字符使用 δ \delta δ或者 δ ′ \delta' δ进行转移的结果相同。

3.6 DFA接受的语言

被DFA接收的字符串: 输入结束后使DFA的状态到达终 止状态。否则该字符串不能被DFA接收.

DFA接收的语言: 被DFA接收的字符串的集合.

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值