【计算理论】【《计算理论导引(原书第3版)》笔记】第一章:正则语言

### 文章目录

  • [@[toc]](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [1.1|有穷自动机](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [有穷自动机的状态图](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [有穷自动机的形式化定义](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [有穷自动机计算的形式化定义](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [正则语言](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [正则运算](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [并](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [连接(并置)](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [星号](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [定理](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [证明](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [定理](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [1.2|非确定性](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [确定型有穷自动机 D F A DFA DFA](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [非确定型有穷自动机 N F A NFA NFA](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [示例](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [非确定型有穷自动机的形式化定义](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [N F A NFA NFA计算的形式化定义](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [N F A NFA NFA与 D F A DFA DFA的等价性](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [定理](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [证明](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [定理](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [在正则运算下的封闭性](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [正则语言类在并运算下封闭](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [构造](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [证明](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [正则语言类在连接运算下封闭](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [构造](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [证明](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [正则语言类在星号运算下封闭](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [构造](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)
  • [证明](#文章目录 @[toc] 1.1|有穷自动机 有穷自动机的状态图 有穷自动机的形式化定义 有穷自动机计算的形式化定义 正则语言 正则运算 并 连接(并置) 星号 定理 证明 定理 1.2|非确定性 确定型有穷自动机 D F A DFA DFA 非确定型有穷自动机 N F A NFA NFA 示例 非确定型有穷自动机的形式化定义 N F A NFA NFA计算的形式化定义 N F A NFA NFA与 D F A DFA DFA的等价性 定理 证明 定理 在正则运算下的封闭性 正则语言类在并运算下封闭 构造 证明 正则语言类在连接运算下封闭 构造 证明 正则语言类在星号运算下封闭 构造 证明)

1.1|有穷自动机

有穷自动机的状态图
  • 起始状态用一个指向它的无出发点的箭头表示
  • 接受状态带有双圈
  • 从一个状态指向另一个状态的箭头称为转移
有穷自动机的形式化定义
  • 有穷自动机是一个 5 5 5元组 ( Q , Σ , δ , q 0 , F ) (Q , \Sigma , \delta , q_{0} , F) (Q,Σ,δ,q0,F),其中

    • Q Q Q是一个有穷集合,称为状态集
    • Σ \Sigma Σ是一个有穷集合,称为字母表
    • δ : Q × Σ → Q \delta : Q \times \Sigma \rightarrow Q δ:Q×Σ→Q是转移函数
    • q 0 ∈ Q q_{0} \in Q q0∈Q是起始状态
    • F ⊆ Q F \subseteq Q F⊆Q是接受状态集
  • 若 A A A是机器 M M M接受的全部字符串集,则称 A A A是机器 M M M的语言,记作 L ( M ) = A L(M) = A L(M)=A,又称 M M M识别 A A A

  • 如果机器不接受任何字符串,它仍然识别一个语言,即空语言 ∅ \emptyset ∅

有穷自动机计算的形式化定义
  • 设 M = ( Q , Σ , δ , q 0 , F ) M = (Q , \Sigma , \delta , q_{0} , F) M=(Q,Σ,δ,q0,F)是一台有穷自动机, w = w 1 w 2 ⋯ w n w = w_{1} w_{2} \cdots w_{n} w=w1w2⋯wn是一个字符串并且其中任一 w i w_{i} wi是字母表 Σ \Sigma Σ的成员,如果存在 Q Q Q中的状态序列 r 0 r_{0} r0, r 1 r_{1} r1, ⋯ \cdots ⋯, r n r_{n} rn满足下述条件

    • r 0 = q 0 r_{0} = q_{0} r0=q0

    • δ ( r i , ω i + 1 ) = r i + 1 , i = 0 , ⋯   , n − 1 \delta(r_{i} , \omega_{i + 1}) = r_{i + 1} , i = 0 , \cdots , n - 1 δ(ri,ωi+1)=ri+1,i=0,⋯,n−1

    • r n ∈ F r_{n} \in F rn∈F

  • 则 M M M接受 w w w

正则语言
  • 如果一个语言被一台有穷自动机识别,则称它是正则语言
正则运算

A ∪ B = {   x ∣ x ∈ A 或 x ∈ B   } A \cup B = \set{x \mid x \in A 或 x \in B} A∪B={x∣x∈A或x∈B}

连接(并置)

A ∘ B = {   x y ∣ x ∈ A 且 y ∈ B   } A \circ B = \set{xy \mid x \in A 且 y \in B} A∘B={xy∣x∈A且y∈B}

星号

A ∗ = {   x 1 x 2 ⋯ x k ∣ k ≥ 0 且每一个 x i ∈ A   } A^{*} = \set{x_{1} x_{2} \cdots x_{k} \mid k \geq 0 且每一个 x_{i} \in A} A∗={x1x2⋯xk∣k≥0且每一个xi∈A}

定理
  • 正则语言类在并运算下封闭,换言之,如果 A 1 A_{1} A1和 A 2 A_{2} A2是正则语言,则 A 1 ∪ A 2 A_{1} \cup A_{2} A1∪A2也是正则语言
证明
  • 设 M 1 M_{1} M1识别 A 1 A_{1} A1, M 2 M_{2} M2识别 A 2 A_{2} A2,其中 M 1 = ( Q 1 , Σ , δ 1 , q 1 , F 1 ) M_{1} = (Q_{1} , \Sigma , \delta_{1} , q_{1} , F_{1}) M1=(Q1,Σ,δ1,q1,F1), M 2 = ( Q 2 , Σ , δ 2 , q 2 , F 2 ) M_{2} = (Q_{2} , \Sigma , \delta_{2} , q_{2} , F_{2}) M2=(Q2,Σ,δ2,q2,F2),构造识别 A 1 ∪ A 2 A_{1} \cup A_{2} A1∪A2的 M M M,这里 M = ( Q , Σ , δ , q 0 , F ) M = (Q , \Sigma , \delta , q_{0} , F) M=(Q,Σ,δ,q0,F)

  • Q = {   ( r 1 , r 2 ) ∣ r 1 ∈ Q 1 且 r 2 ∈ Q 2   } Q = \set{(r_{1} , r_{2}) \mid r_{1} \in Q_{1} 且 r_{2} \in Q_{2}} Q={(r1,r2)∣r1∈Q1且r2∈Q2}

  • 转移函数 δ \delta δ定义如下:对每一对 ( r 1 , r 2 ) ∈ Q (r_{1} , r_{2}) \in Q (r1,r2)∈Q和每一个 a ∈ Σ a \in \Sigma a∈Σ,令 δ ( ( r 1 , r 2 ) , a ) = ( δ 1 ( r 1 , a ) , δ 2 ( r 2 , a ) ) \delta((r_{1} , r_{2}) , a) = (\delta_{1} (r_{1} , a) , \delta_{2} (r_{2} , a)) δ((r1,r2),a)=(δ1(r1,a),δ2(r2,a))

  • q 0 q_{0} q0是有序对 ( q 1 , q 2 ) (q_{1} , q_{2}) (q1,q2)

  • F F F等于有一个元素是 M 1 M_{1} M1或 M 2 M_{2} M2的接受状态的有序对组成的集合 F = {   ( r 1 , r 2 ) ∣ r 1 ∈ F 1 或 r 2 ∈ F 2   } F = \set{(r_{1} , r_{2}) \mid r_{1} \in F_{1} 或 r_{2} \in F_{2}} F={(r1,r2)∣r1∈F1或r2∈F2}或写成 F = ( F 1 × Q 2 ) ∪ ( Q 1 × F 2 ) F = (F_{1} \times Q_{2}) \cup (Q_{1} \times F_{2}) F=(F1×Q2)∪(Q1×F2)

定理
  • 正则语言类在连接运算下封闭,换言之,如果 A 1 A_{1} A1和 A 2 A_{2} A2是正则语言,则 A 1 ∘ A 2 A_{1} \circ A_{2} A1∘A2也是正则语言
    • 有穷自动机 M M M当它的输入可以被分成两段, M 1 M_{1} M1接受第一段且 M 2 M_{2} M2接受第二段时, M M M才接受输入

1.2|非确定性

确定型有穷自动机 D F A DFA DFA
  • 每一个状态对于字母表中的每一个符号总是恰好有一个转移箭头射出
非确定型有穷自动机 N F A NFA NFA
  • 每一个状态对于字母表中的每一个符号可能有 0 0 0个、 1 1 1个或多个射出的箭头
  • 如果计算分支中至少有一个结束在接受状态,则机器接受
示例
  • 接受所有形如 0 k 0^{k} 0k的字符串的 N F A NFA NFA,其中 k k k是 2 2 2或 3 3 3的倍数
非确定型有穷自动机的形式化定义
  • 对任意的字母表 Σ \Sigma Σ,把 Σ ∪ {   ε   } \Sigma \cup \set{\varepsilon} Σ∪{ε}记作 Σ ε \Sigma_{\varepsilon} Σε
  • 非确定型有穷自动机是一个 5 5 5元组 ( Q , Σ , δ , q 0 , F ) (Q , \Sigma , \delta , q_{0} , F) (Q,Σ,δ,q0,F),其中
    • Q Q Q是有穷的状态集
    • Σ \Sigma Σ是有穷的字母表
    • δ : Q × Σ ε → P ( Q ) \delta : Q \times \Sigma_{\varepsilon} \rightarrow \mathcal{P} (Q) δ:Q×Σε→P(Q)是转移函数
    • q 0 ∈ Q q_{0} \in Q q0∈Q是起始状态
    • F ⊆ Q F \subseteq Q F⊆Q是接受状态集
N F A NFA NFA计算的形式化定义
  • 设 N = ( Q , Σ , δ , q 0 , F ) N = (Q , \Sigma , \delta , q_{0} , F) N=(Q,Σ,δ,q0,F)是一台 N F A NFA NFA, w w w是字母表 Σ \Sigma Σ上的一个字符串,如果能把 w w w写成 w = y 1 y 2 ⋯ y m w = y_{1} y_{2} \cdots y_{m} w=y1y2⋯ym,这里每一个 y i y_{i} yi是 Σ ε \Sigma_{\varepsilon} Σε的一个成员,并且存在 Q Q Q中的状态序列 r 0 r_{0} r0, r 1 r_{1} r1, ⋯ \cdots ⋯, r m r_{m} rm满足下述 3 3 3个条件

    • r 0 = q 0 r_{0} = q_{0} r0=q0

    • r i + 1 ∈ δ ( r i , y i + 1 ) , i = 0 , 1 , ⋯   , m − 1 r_{i + 1} \in \delta(r_{i} , y_{i + 1}) , i = 0 , 1 , \cdots , m - 1 ri+1∈δ(ri,yi+1),i=0,1,⋯,m−1

    • r m ∈ F r_{m} \in F rm∈F

  • 则称 N N N接受 w w w

N F A NFA NFA与 D F A DFA DFA的等价性
  • 如果两台机器识别相同的语言,则称它们是等价的
定理
  • 每一台非确定型有穷自动机都等价于某一台确定型有穷自动机
证明
  • 设 N = ( Q , Σ , δ , q 0 , F ) N = (Q , \Sigma , \delta , q_{0} , F) N=(Q,Σ,δ,q0,F)是识别语言 A A A的 N F A NFA NFA,构造一台识别语言 A A A的 D F A M = ( Q ′ , Σ , δ ′ , q 0 ′ , F ′ ) DFA \ M = (Q^{'} , \Sigma , \delta^{'} , q_{0}^{'} , F^{'}) DFA M=(Q′,Σ,δ′,q0′,F′)

  • 假设 N N N没有 ε \varepsilon ε箭头

    • Q ′ = P ( Q ) Q^{'} = \mathcal{P} (Q) Q′=P(Q)

    • 对于 R ∈ Q ′ R \in Q^{'} R∈Q′和 a ∈ Σ a \in \Sigma a∈Σ,令 δ ′ ( R , a ) = {   q ∈ Q ∣ 存在 r ∈ R , 使得 q ∈ δ ( r , a )   } \delta^{'} (R , a) = \set{q \in Q \mid 存在 r \in R , 使得 q \in \delta(r , a)} δ′(R,a)={q∈Q∣存在r∈R,使得q∈δ(r,a)}或写成 δ ′ ( R , a ) = ⋃ r ∈ R δ ( r , a ) \delta^{'} (R , a) = \displaystyle\bigcup\limits_{r \in R}{\delta(r , a)} δ′(R,a)=r∈R⋃δ(r,a)

    • q 0 ′ = {   q 0   } q_{0}^{'} = \set{q_{0}} q0′={q0}

    • F ′ = {   R ∈ Q ′ ∣ R 包含 N 的一个接受状态   } F^{'} = \set{R \in Q^{'} \mid R 包含 N 的一个接受状态} F′={R∈Q′∣R包含N的一个接受状态}

  • 假设 N N N有 ε \varepsilon ε箭头

    • 对于 M M M的任意一个状态 R R R,定义 E ( R ) E(R) E(R)为从 R R R的成员出发只沿着 ε \varepsilon ε箭头可以达到的状态集合,包括 R R R本身的所有成员在内,对于 R ⊆ Q R \subseteq Q R⊆Q, E ( R ) = {   q ∣ 从 R 出发沿着 0 个或者多个 ε 箭头可以达到 q   } E(R) = \set{q \mid 从 R 出发沿着 0 个或者多个 \varepsilon 箭头可以达到 q} E(R)={q∣从R出发沿着0个或者多个ε箭头可以达到q}

    • δ ′ ( R , a ) = {   q ∈ Q ∣ 存在 r ∈ R , 使得 q ∈ E ( δ ( r , a ) )   } \delta^{'} (R , a) = \set{q \in Q \mid 存在 r \in R , 使得 q \in E(\delta(r , a))} δ′(R,a)={q∈Q∣存在r∈R,使得q∈E(δ(r,a))}

    • q 0 ′ = E ( {   q 0   } ) q_{0}^{'} = E(\set{q_{0}}) q0′=E({q0})

定理
  • 一个语言是正则的,当且仅当有一台 N F A NFA NFA识别它
在正则运算下的封闭性
正则语言类在并运算下封闭
构造
证明
  • 设 N 1 = ( Q 1 , Σ , δ 1 , q 1 , F 1 ) N_{1} = (Q_{1} , \Sigma , \delta_{1} , q_{1} , F_{1}) N1=(Q1,Σ,δ1,q1,F1)识别 A 1 A_{1} A1,并且 N 2 = ( Q 2 , Σ , δ 2 , q 2 , F 2 ) N_{2} = (Q_{2} , \Sigma , \delta_{2} , q_{2} , F_{2}) N2=(Q2,Σ,δ2,q2,F2)识别 A 2 A_{2} A2,构造识别 A 1 ∪ A 2 A_{1} \cup A_{2} A1∪A2的 N = ( Q , Σ , δ , q 0 , F ) N = (Q , \Sigma , \delta , q_{0} , F) N=(Q,Σ,δ,q0,F)

  • Q = {   q 0   } ∪ Q 1 ∪ Q 2 Q = \set{q_{0}} \cup Q_{1} \cup Q_{2} Q={q0}∪Q1∪Q2

  • 状态 q 0 q_{0} q0是 N N N的起始状态

  • 接受状态 F = F 1 ∪ F 2 F = F_{1} \cup F_{2} F=F1∪F2

  • 定义 δ \delta δ如下:对每一个 q ∈ Q q \in Q q∈Q和每一个 a ∈ Σ ε a \in \Sigma_{\varepsilon} a∈Σε

δ ( q , a ) = { δ 1 ( q , a ) , q ∈ Q 1 δ 2 ( q , a ) , q ∈ Q 2 {   q 1 , q 2   } , q = q 0 且 a = ε ∅ , q = q 0 且 a ≠ ε \delta(q , a) = \begin{cases} \delta_{1} (q , a) , & q \in Q_{1} \\ \delta_{2} (q , a) , & q \in Q_{2} \\ \set{q_{1} , q_{2}} , & q = q_{0} 且 a = \varepsilon \\ \emptyset , & q = q_{0} 且 a \neq \varepsilon \end{cases} δ(q,a)=⎩ ⎨ ⎧δ1(q,a),δ2(q,a),{q1,q2},∅,q∈Q1q∈Q2q=q0且a=εq=q0且a=ε

正则语言类在连接运算下封闭
  • N 1 N_{1} N1的每一个接受状态增加一个 ε \varepsilon ε箭头,使得只要 N 1 N_{1} N1在一个接受状态,就允许 N N N非确定性地分支进入 N 2 N_{2} N2
构造
证明
  • 设 N 1 = ( Q 1 , Σ , δ 1 , q 1 , F 1 ) N_{1} = (Q_{1} , \Sigma , \delta_{1} , q_{1} , F_{1}) N1=(Q1,Σ,δ1,q1,F1)识别 A 1 A_{1} A1,并且 N 2 = ( Q 2 , Σ , δ 2 , q 2 , F 2 ) N_{2} = (Q_{2} , \Sigma , \delta_{2} , q_{2} , F_{2}) N2=(Q2,Σ,δ2,q2,F2)识别 A 2 A_{2} A2,构造识别 A 1 ∘ A 2 A_{1} \circ A_{2} A1∘A2的 N = ( Q , Σ , δ , q 1 , F 2 ) N = (Q , \Sigma , \delta , q_{1} , F_{2}) N=(Q,Σ,δ,q1,F2)

  • Q = Q 1 ∪ Q 2 Q = Q_{1} \cup Q_{2} Q=Q1∪Q2

  • N N N的起始状态是 N 1 N_{1} N1的起始状态 q 1 q_{1} q1

  • N N N的接受状态集是 N 2 N_{2} N2的接受状态集

  • 定义 δ \delta δ如下:对每一个 q ∈ Q q \in Q q∈Q和每一个 a ∈ Σ ε a \in \Sigma_{\varepsilon} a∈Σε

δ ( q , a ) = { δ 1 ( q , a ) , q ∈ Q 1 且 q ∉ F 1 δ 1 ( q , a ) , q ∈ F 1 且 a ≠ ε δ 1 ( q , a ) ∪ {   q 2   } , q ∈ F 1 且 a = ε δ 2 ( q , a ) , q ∈ Q 2 \delta(q , a) = \begin{cases} \delta_{1} (q , a) , & q \in Q_{1} 且 q \notin F_{1} \\ \delta_{1} (q , a) , & q \in F_{1} 且 a \neq \varepsilon \\ \delta_{1} (q , a) \cup \set{q_{2}} , & q \in F_{1} 且 a = \varepsilon \\ \delta_{2} (q , a) , & q \in Q_{2} \end{cases} δ(q,a)=⎩ ⎨ ⎧δ1(q,a),δ1(q,a),δ1(q,a)∪{q2},δ2(q,a),q∈Q1且q∈/F1q∈F1且a=εq∈F1且a=εq∈Q2

正则语言类在星号运算下封闭
构造
证明
  • 设 N 1 = ( Q 1 , Σ , δ 1 , q 1 , F 1 ) N_{1} = (Q_{1} , \Sigma , \delta_{1} , q_{1} , F_{1}) N1=(Q1,Σ,δ1,q1,F1)识别 A 1 A_{1} A1,构造识别 A 1 ∗ A_{1}^{*} A1∗的 N = ( Q , Σ , δ , q 0 , F ) N = (Q , \Sigma , \delta , q_{0} , F) N=(Q,Σ,δ,q0,F)

  • Q = {   q 0   } ∪ Q 1 Q = \set{q_{0}} \cup Q_{1} Q={q0}∪Q1

  • q 0 q_{0} q0是新的起始状态

  • F = {   q 0   } ∪ F 1 F = \set{q_{0}} \cup F_{1} F={q0}∪F1

  • 定义 δ \delta δ如下,对每一个 q ∈ Q q \in Q q∈Q和每一个 a ∈ Σ ε a \in \Sigma_{\varepsilon} a∈Σε

δ ( q , a ) = { δ 1 ( q , a ) , q ∈ Q 1 且 q ∉ F 1 δ 1 ( q , a ) , q ∈ F 1 且 a ≠ ε δ 1 ( q , a ) ∪ {   q 1   } , q ∈ F 1 且 a = ε {   q 1   } , q = q 0 且 a = ε ∅ , q = q 0 且 a ≠ ε \delta (q , a) = \begin{cases} \delta_{1} (q , a) , & q \in Q_{1} 且 q \notin F_{1} \\ \delta_{1} (q , a) , & q \in F_{1} 且 a \neq \varepsilon \\ \delta_{1} (q , a) \cup \set{q_{1}} , & q \in F_{1} 且 a = \varepsilon \\ \set{q_{1}} , & q = q_{0} 且 a = \varepsilon \\ \emptyset , & q = q_{0} 且 a \neq \varepsilon \end{cases} δ(q,a)=⎩ ⎨ ⎧δ1(q,a),δ1(q,a),δ1(q,a)∪{q1},{q1},∅,q∈Q1且q∈/F1q∈F1且a=εq∈F1且a=εq=q0且a=εq=q0且a=ε


相关推荐
m0_689618284 小时前
水凝胶发生器,不对称设计妙,医电应用前景广
笔记
Ace'4 小时前
每日一题&&学习笔记
笔记·学习
挥剑决浮云 -4 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
新晓·故知5 小时前
<基于递归实现线索二叉树的构造及遍历算法探讨>
数据结构·经验分享·笔记·算法·链表
魔理沙偷走了BUG6 小时前
【数学分析笔记】第4章第4节 复合函数求导法则及其应用(3)
笔记·数学分析
NuyoahC7 小时前
算法笔记(十一)——优先级队列(堆)
c++·笔记·算法·优先级队列
这可就有点麻烦了8 小时前
强化学习笔记之【TD3算法】
linux·笔记·算法·机器学习
Ljubim.te10 小时前
软件设计师——数据结构
数据结构·笔记
speop12 小时前
【笔记】I/O总结王道强化视频笔记
笔记·音视频