Skip to content

Commit 14069ab

Browse files
committed
add 补天笔记
1 parent 7658d0d commit 14069ab

2 files changed

Lines changed: 26 additions & 20 deletions

File tree

docs/补天笔记/os.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
# 操作系统
22

33
- 多道程序设计:内存中有多个进程
4-
- 多任务处理:在不同进程间切换来执行多个进程
4+
- 多任务处理:在不同进程间切换来执行多个进程
5+
6+
- 并发(concurrency) 系统通过推进所有任务(不一定同时推进)来执行多个任务
7+
- 并行(parallelism) 系统可以同时执行多个任务
8+
- 随着大多数系统上处理核心数量的不断增加,限制内核线程的数量已变得不那么重要,因此现今多数 OS 仍然采用一对一模型

docs/补天笔记/toc.md

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,55 +2,57 @@
22

33
- 三种证明方法:数学归纳法、鸽巢原理、对角化
44
- 字母表 $\Sigma$ 和字符串都是有限的
5-
-Σ=∅ 时,还是存在非空的语言 L={e}
5+
-$\Sigma=\emptyset$ 时,还是存在非空的语言 $L=\{e\}$
66
- 根据 NFA 构造等价的 DFA
7-
- 正则语音在 并、拼接、*、补、交 运算下是封闭的
8-
- 正则语言 𝐿 中所有字符串的反转构成的集合 𝐿^𝑅 也是正则语言(可通过构造 NFA 证明)
9-
- 单个正则语言是可数的(语言 𝐿 ⊆ Σ* ,若 Σ 有限,那么 Σ* 就是可数的)
7+
- 正则语音在 并、拼接、$*$、补、交 运算下是封闭的
8+
- 正则语言 $L$ 中所有字符串的反转构成的集合 $L^R$ 也是正则语言(可通过构造 NFA 证明)
9+
- 单个正则语言是可数的(语言 $L \subseteq \Sigma^*$ ,若 $\Sigma$ 有限,那么 $\Sigma^*$ 就是可数的)
1010
- 所有正则语言构成的集合也是可数的
1111
- 回文语言不是正则语言(但它是上下文无关语言)
1212
- 对正则语言进行无限次的并/交/拼接运算无法保证结果的正则性
1313
- (pumping theorem) 存在整数 N,对于所有长度大于 N 的字符串 w,都可以提取重复结构,且重复结构的数量可以任意变化
1414

15-
- 规则集合: (V−Σ)×V* 的有限子集
15+
- 规则集合: $(V-\Sigma) \times V^*$ 的有限子集
1616
- CFG 的解析树能够表示推导的等价类
1717
- 交换使用规则的先后顺序,产生一个偏序关系,且这两个推导是相似的,于是可以构造一个等价类
1818
- 最左推导:在偏序关系中最大的,即每次都选择最左边的非终结符进行替换(中序遍历)
19-
- ambiguous:不同的解析树生成相同的 w,有些语言只能用二义文语法来描述
19+
- ambiguous:不同的解析树生成相同的 $w$,有些语言只能用二义文语法来描述
2020

21-
- PDA 的转移关系Δ:(K×(Σ∪{e})×Γ*) × (K×Γ*) 的有限子集
21+
- PDA 的转移关系 $\Delta$:$(K \times (\Sigma \cup \{e\}) \times \Gamma^*) \times (K \times \Gamma^*)$ 的有限子集
2222
- K 为状态
23-
- Σ 为输入字母表
24-
- Γ 为栈字母表
23+
- $\Sigma$ 为输入字母表
24+
- $\Gamma$ 为栈字母表
2525
- 左边是读取的字符(或不读取)和要弹出的字符串,右边是要压入的字符串
26-
- PDA 的配置定义为 K×Σ∗×Γ∗ 的一个成员,表示栈中所有的字符
27-
- 假如有配置 (q,w,abc),那么 a 在栈顶, c 在栈底
28-
- 上下文无关语言在 并、拼接和*上是封闭的
26+
- PDA 的配置定义为 $K \times \Sigma^* \times \Gamma^*$ 的一个成员,表示栈中所有的字符
27+
- 假如有配置 $(q,w,abc)$,那么 $a$ 在栈顶, $c$ 在栈底
28+
- 上下文无关语言在 并、拼接和$*$上是封闭的
2929
- 上下文无关语言在补和交上不是封闭的
3030
- 上下文无关语言和正则语言的交集是上下文无关语言
3131

3232
- 图灵机(原始)的纸带只有一遍无限
3333
- 图灵机的配置:状态、纸带上的字符、纸带上的位置
3434
- 所有配置均假设为从左端符号开始,且从不以空符号结尾,除非当前就扫描到了空符号
3535
- 复合图灵机的例子:
36-
该机器从 M 1 的初始状态开始,先由 M 1 操作,直到其停机 若停机时,当前扫描到的符号为 a ,那么就启动 M 2 并以 M 2 完成后续操作;若扫描到的符号为 b ,那么就启动 M 3 并以 M 3 完成后续操作
37-
- M 在输入 w 上的初始配置(initial configuration) 为 (s, ▹, ⊔w),读写头在空格上
36+
该机器从 $M_1$ 的初始状态开始,先由 $M_1$ 操作,直到其停机 若停机时,当前扫描到的符号为 $a$ ,那么就启动 $M_2$ 并以 $M_2$ 完成后续操作;若扫描到的符号为 $b$ ,那么就启动 $M_3$ 并以 $M_3$ 完成后续操作
37+
- M 在输入 $w$ 上的初始配置(initial configuration) 为 $(s, \rhd, \sqcup w)$,读写头在空格上
3838
- 递归可枚举:若停则接受,也称半判定
3939
- 递归语言的补也是递归的
4040

4141
- 图灵机的拓展:多条、多头、两路无限纸带、多维
4242
- NTM:
43-
- 如果停机,称接受了 w;半判定
44-
- 存在 N 依赖于 M,w,N 步内停机;判定
43+
- 如果停机,称接受了 $w$;半判定
44+
- 存在 $N$ 依赖于 $M$、$w$,$N$ 步内停机;判定
4545

46-
- 无限制文法的规则: (V* (V−Σ) V*) × V* 的有限子集
46+
- 无限制文法的规则: $(V^* (V-\Sigma) V^*) \times V^*$ 的有限子集
4747
- 当且仅当语言是递归可枚举时,它由文法生成
48-
-SwS 生成的 f(w) 是文法可计算的
48+
-$S wS$ 生成的 $f(w)$ 是文法可计算的
4949

5050
- 基础函数:
5151
- 零函数
5252
- 后继函数
5353
- 投影函数
5454
- 基础函数 + 复合 + 原始递归 = 原始递归函数
5555
- 按情况定义的函数(谓词)也是原始递归函数
56-
- 最小化:计算满足条件的最小整数
56+
- 最小化:计算满足条件的最小整数
57+
58+
- 递归可枚举语言类在补操作下不封闭

0 commit comments

Comments
 (0)