INT201 Decision,Computation and Language

Lecture1

第一部分:计算理论概述

1.1 计算理论的目的
  • 目标:开发与现实世界计算机相关的正式数学模型,用以解释计算的能力与局限性。
  • 历史背景
    • 1930年代,艾伦·图灵(Alan Turing)研究了一种抽象机器,即图灵机(Turing Machine),用以破解由Enigma生成的代码。
    • 1940年代和1950年代,出现了较为简单的机器模型,如有限自动机(Finite Automata)。
    • 1950年代末,乔姆斯基(Noam Chomsky)开始研究形式文法(Formal Grammar)。
    • 1969年,斯蒂芬·库克(Stephen Cook)定义了“难解问题”(NP-hard)。
1.2 计算的定义与问题
  • 计算:计算是指可以通过数学公式定义的算法来解决问题。
  • 核心问题:计算机能解决的是什么类型的问题?哪些问题是不可解的?
  • 计算模型
    • 有限自动机:用于处理文本、编译器和硬件设计。
    • 上下文无关文法:用于定义编程语言,涉及人工智能的领域。
    • 图灵机:作为“真实”计算机的抽象模型,像个人电脑一样工作。
1.3 课程的重要性
  • 本课程探讨计算机的基本能力与局限性,是计算机科学的核心内容。
  • 理论方面:与编程语言设计、编译器、字符串搜索、模式匹配、计算机安全、人工智能等领域息息相关。
  • 实践方面:该理论简化了复杂的计算机模型,使其成为简单的数学模型,帮助学生更好地理解计算机。
  • 通过该课程可以提升问题解决能力,包括如何思考、证明、论证、解决问题、表达以及抽象。
1.4 符号表示法
  • 语言符号表示法:形式语言用于精确定义语言、构建编译器、检查字符串是否属于特定语言,以及比较不同语言的描述是否一致。
  • 分析工具:主要包括分析自然语言和编程语言的工具,帮助识别有效的句子或程序。
1.5 形式语言与文法
  • 语言:由符号的集合和操作规则构成,是表达想法、事实和概念的系统。
    • 字母表(Alphabet):有限、非空的符号集。
    • 字符串(String):符号的有限序列。
    • 语言(Language):由字母表构成的符号串的集合,遵循特定的语法规则。
示例

2.2 字符串操作

2.3 闭包运算

2.4 文法

2.5 文法的应用

2.6 语法树(Parse Tree)

示例

 3.2 自动机的类型

例子:

2. 非确定性有限自动机(Nondeterministic Finite Automaton, NFA)示例

假设有一个 NFA 来识别包含子串 ab 的字符串,字母表为 {a, b}。NFA 允许从一个状态有多种状态转换,并且可以从某些状态没有输入符号(即空移动)。

例子:

3. 图灵机(Turing Machine, TM)示例

假设有一个简单的图灵机,它执行两个二进制数字的加法(例如,输入 101 + 011)。

工作过程

例子:

3.3 自动机的组成部分

3.4 自动机的工作原理

3.5 图灵机的特点

3.6 自动机的应用

3.7 自动机模型之间的关系

示例

4.2 关系与函数(Relation and Function)

4.3 图(Graph)

4.4 证明技巧(Proof Techniques)

示例
  • 字母表:∑ = {a, b}
  • 字符串

    第二部分:形式语言与文法

    2.1 形式语言的定义
  • 形式语言:由符号构成的字符串集合,按照特定的语法规则生成。形式语言广泛用于计算机科学、语言学和数学领域,来定义和分析语言的结构。

  • 字母表(Alphabet):有限的符号集合,通常表示为 ∑。

    • 例子:∑ = {a, b},则 abab, aaaabbba 是 ∑ 上的字符串。
  • 字符串(String):由字母表中的符号组成的有限序列。

    • 空字符串:没有任何符号的字符串,记作 ϵ。
    • |ϵ| = 0
    • ϵw = wϵ = w 
    • |𝑤 1 𝑤 2|  = | 𝑤 1|  + | 𝑤2|
    • w = 𝑎 1 𝑎 2 𝑎 𝑛
      w 𝑅 = 𝑎 𝑛 𝑎 2 𝑎 1(reverse)
      A palindrome is a string w satisfying w = wR.
  • 语言的表示方法

    • 语言 L 是字母表 ∑ 上字符串的集合。形式语言就是这些集合的子集。
  • 串联(Concatenation):将两个字符串合并为一个字符串。

    • 例子:若 w = ab, v = cd,则 wv = abcd。
  • 逆序(Reverse):字符串符号顺序反转。

    • 例子:w = abcd,w⁻¹ = dcba。
  • 子串(Substr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值