Ch0 计算理论 绪论

Introducing theory of computation

Posted by R1NG on March 1, 2021 Viewed Times

计算理论: 绪论

计算理论隶属于理论计算机科学和数学的研究范畴, 其研究对象是计算这一概念本身, 分析和解决什么是可计算的, 而什么不可计算; 有哪些可行的计算模式, 以及对计算的复杂度, 亦即需要耗费多少时间或存储.

本课程的主要介绍内容为正则表达式, 自动机和上下文无关语法:

1. 定义语言和正则表达式

概述语言和正则表达式的相关定义, 性质与其他内容:

  • 介绍基本术语和概念
  • 使用模式描述语言
  • 正则表达式


2. 自动机

介绍不同种类的自动机 (Automata), 并介绍多个实现在自动机和模式 (正则表达式)之间进行转换的算法:

  • 有限状态自动机 Finite State Automata
  • 确定性有穷自动机 Deterministic Finite Automata
  • 非确定性有穷自动机 Non-deterministic Finite Automata
  • 非确定性有穷自动机 $\rightarrow$ 确定性有穷自动机的转换算法
  • 自动机 $\rightarrow$ 表达式的转换算法
  • 表达式 $\rightarrow$ 自动机的转换算法
  • 正则语言的一般性质
  • 自动机的等价性


3. 表述复杂语言

  • 上下文无关语法
  • 语法分析和不明确性
  • Backus-Naur 范式
  • 上下文无关语法的性质

4. While 语法及其状态描述

  • While 程序语法
  • 描述 While 程序执行状态
  • 构造简单数据结构


5. 时空复杂度

  • 时间复杂度及算法分析
  • $O(n)$ 符号的定义及基本性质


6. 计算正确性

  • 完全正确性和部分正确性
  • 霍尔逻辑: 描述部分正确性
  • 霍尔逻辑: 描述完全正确性
  • 正确性证明的技巧及方法


7. 可计算性