形式语言与自动机 复习知识点总结 CH2

2.2 确定的有穷自动机

2.2.1 确定的有穷自动机
→一个读头
→一个有穷控制器(Finite Control)
→一条输入带

2.2.2 有穷自动机的识别
在扫描输入的字符串之前, 读头在输入串的第一个字符下面, 然后从左向右, 一次一个单元格的读入字符, 移动读头, 并修改状态, 然后自动的循环这个过程, 直到扫描完整 个字符串之后, 通过有穷控制器中的当前状态, 对这个字符串进行判断, 回答有两种: 接受或 拒绝.

2.2.3 确定的有穷自动机 Deterministic Finite Automaton
A = (Q,Σ,δ,q0,F)
Q:有穷状态集
Σ:有穷输入符号集或字母表
δ:Q×Σ → Q, 状态转移函数
q0 ∈ Q:初始状态
F∈ Q:终结状态集或接受状态集
若输入串全部读入 后, 处于接受状态, 那么自动机接受这个输入串, 否则拒绝该串

2.2.4 DFA的表示
1)A五元组
2)状态转移图
3)状态转移表

状态转移图

  1. 每个状态 q 对应一个节点, 用圆圈表示;
  2. 状态转移 δ(q,a) = p 为一条从 q 到 p 且标记为字符 a 的有向边;
  3. 开始状态 q0 用一个标有 start 的箭头表示;
  4. 接受状态的节点, 用双圆圈表示.
    注意:一个状态转移图中!切记要标注起始点!不能忘!

状态转移表
5. 每个状态 q 对应一行, 每个字符 a 对应一列;
6. 若有 δ(q,a) = p, 用第 q 行第 a 列中填入的 p 表示;
7. 开始状态 q0 前, 标记箭头 → 表示;
8. 接受状态 q ∈ F 前, 标记星号 ∗ 表示
注意:不要忘记接受状态前标星号!
状态转移图使用更多

2.2.5 扩展转移函数
δ 是 Q×Σ 上的函数,所以只能处理 Σ 中的字符。
形式语言与自动机 复习知识点总结 CH2_第1张图片
其中 a ∈ Σ, w,x ∈ Σ∗
形式语言与自动机 复习知识点总结 CH2_第2张图片
2.2.6 DFA 的语言与正则语言

定义
若 D = (Q,Σ,δ,q0,F) 是一个 DFA, 则D 接受的语言为 L(D) = {w ∈ Σ∗ | ˆ δ(q0,w) ∈ F}.
定义
如果语言 L 是某个 DFA D 的语言, 即 L = L(D), 则称 L 是正则语言
• ∅, {ε} 都是正则语言
• 若 Σ 是字母表, Σ∗, Σn 都是 Σ 上的正则语言

非确定的有穷自动机

状态的非确定转移
• 同一个状态在相同的输入下, 可以有多个转移状态
• 自动机可以处在多个当前状态
• 使自动机的设计更容易

对 FA 的模型稍加修改, 使之对同一输入符号, 从一个状态可以有零个、一个或多个的转移,这种新模型, 称为非确定有穷自动机. 非确定的有穷自动机具有同 时处在几个状态的能力, 在处理输入串时, 几个当前状态能“并行的”跳转到下一个状态.

2.3.1 非确定性有穷自动机的形式定义

定义
非确定有穷自动机 (NFA, Nondeterministic Finite Automaton) A 为五元组
A = (Q,Σ,δ,q0,F)

  1. Q : 有穷状态集;
  2. Σ : 有穷输入符号集或字母表;
  3. δ : Q×Σ → 2Q(子集) 状态转移函数;
  4. q0 ∈ Q : 为初始状态;
  5. F ⊆ Q : 为终结状态集或接受状态集.
    在形式定义上, NFA与DFA的区别是转移函数和接受方式: NFA转移函数一般为 δ(q,a) = {p1,p2,··· ,pn}; 当输入串全部读入时, NFA 所处的状态中, 只要包括 F 中的状态, 就称为接受该串.

2.3.2 扩展转移函数

形式语言与自动机 复习知识点总结 CH2_第3张图片
2.3.3 NFA 接受的语言
定义
若 N = (Q,Σ,δ,q0,F) 是一个 NFA, 则N 接受的语言为 L(N) = {w ∈ Σ∗ | ˆ δ(q0,w)∩F 不等于 ∅}.

2.3.4 DFA 与 NFA 的等价性
每个 DFA 都是一个 NFA;
显然, NFA 接受的语言包含正则语言。下面的定理给出, NFA 也仅接受正则语言;
证明的关键表明 DFA 能够模拟 NFA, 即, 对每个 NFA, 能够构造一个等 价的 DFA. 使用一个 DFA 模拟一个 NFA 的方法是让 DFA 的状态对应于 NFA 的状态集合。

定理一
如果语言 L 被 NFA 接受, 当且仅当 L 被 DFA 接受
形式语言与自动机 复习知识点总结 CH2_第4张图片

2.4 带有空转移的非确定有穷自动机

• 允许状态因空串 ε 而转移, 即不消耗输入字符就发生状态的改变
• 使自动机的设计更容易

2.4.1 形式定义
带空转移非确定有穷自动机的形式定义

定义
带空转移非确定有穷自动机 (ε-NFA) A 为五元组——A = (Q,Σ,δ,q0,F)

  1. Q : 有穷状态集;
  2. Σ : 有穷输入符号集或字母表;
  3. δ : Q×(Σ∪{ε}) → 2Q, 转移函数;
  4. q0 ∈ Q : 初始状态;
  5. F ⊆ Q : 终结状态集或接受状态集.

注意:此后, 不再明确区分 ε-NFA 和 NFA, 而认为它们都是 NFA

2.4.2 ε-闭包
状态的 ε-闭包
定义.
状态 q 的ε-闭包 (ε-Closure), 记为 Eclose(q), 表示从 q 经过 ε 序列可达的全部状态集 合, 递归定义为:
形式语言与自动机 复习知识点总结 CH2_第5张图片
状态集合的 ε-闭包
形式语言与自动机 复习知识点总结 CH2_第6张图片
2.4.3 扩展转移函数
形式语言与自动机 复习知识点总结 CH2_第7张图片
2.4.4 ε-NFA 的语言
定义

形式语言与自动机 复习知识点总结 CH2_第8张图片
2.4.5 ε-NFA 与 DFA 等价性
形式语言与自动机 复习知识点总结 CH2_第9张图片
**定理 2. **
如果语言 L 被 ε-NFA 接受, 当且仅当 L 被 DFA 接受

你可能感兴趣的:(形式语言与自动机 复习知识点总结 CH2)