跳转至

第十四课:语言分析、自动机

有限状态机

基本概念

  • 有限状态机:有穷个状态的机器
  • 输入符号 → 状态转移 → 输出(或接受/拒绝)

确定型有限自动机(DFA)

  • 五元组:⟨Q, Σ, δ, q₀, F⟩
  • Q:状态的有限集合
  • Σ:输入字母表
  • δ:转移函数 δ:Q×Σ→Q
  • q₀:初始状态
  • F:接受状态集合
  • 确定性:每个状态对每个输入有唯一转移

非确定型有限自动机(NFA)

  • 一个状态对同一输入可以有多个转移
  • 允许ε转移(不读入字符就转移)
  • NFA和DFA等价(可以相互转化)

正则语言

  • 能被有限自动机识别的语言 = 正则语言
  • 正则语言 = 能用正则表达式描述的语言

泵引理 ⭐

  • 用于证明某语言不是正则语言
  • 基本思想:足够长的字符串必然有重复的模式
  • 例:L={aᵐbᵐ | m>0}不是正则语言
  • 假设是正则的,取s=aᵖbᵖ(p为泵长度)
  • 将s分成s=xyz,其中y≠ε,|xy|≤p
  • 则y只包含a,泵入得到a^(p+k)b^p
  • 不再满足a和b数量相等 → 矛盾

💡 人话:泵引理说"足够长的正则语言的字符串一定有一段可以重复"。如果某个语言不允许这种重复,它就不可能是正则语言。