Chap2
Chap2
Chap2
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Chap2</strong> - 2.2.7<br />
设 A 是 一 个 DFA, q 是 A 的 一 个 特 定 状 态 , 使 得 对 所 有 输 入 符<br />
号 a, δ(q, a) = q. 通 过 对 输 入 长 度 进 行 归 纳 , 证 明 : 对 所 有<br />
输 入 串 w, ˆδ(q, a) = q.<br />
基 础 : w = ε, ˆδ(q, ε) = q.<br />
归 纳 : 设 w 是 形 如 xa 的 串 , 且 ˆδ(q, x) = q,<br />
则 ˆδ(q, w) = ˆδ(q, xa) = δ(ˆδ(q, x), a) = δ(q, a) = q.
<strong>Chap2</strong> - 2.2.8<br />
设 A 是 一 个 DFA, a 是 A 的 这 样 一 个 输 入 符 号 , 使 得 对 A 的 所 有<br />
状 态 q, 有 δ(q, a) = q. a) 通 过 对 n 进 行 归 纳 , 证 明 : 对 所<br />
有 n ≥ 0, ˆδ(q, a n ) = q, 其 中 a n 是 由 n 个 a 组 成 的 串 。b) 证 明 :<br />
要 么 {a} ∗ ⊆ L(A), 要 么 {a} ∗ ∩ L(A) = ∅.<br />
a) 基 础 : n = 0 时 , ˆδ(q, ε) = q.<br />
归 纳 : 设 n = k 时 有 ˆδ(q, a k ) = q,<br />
则 , n = k + 1 时 , ˆδ(q, a k+1 ) = δ(ˆδ(q, a k ), a) = δ(q, a) = q.<br />
b) 由 (a) 可 知 , 对 A 的 初 始 状 态 q 0 有 ˆδ(q0 , a n ) = q 0 对 任<br />
意 n ≥ 0 成 立 .<br />
若 q 0 为 接 受 状 态 , ∀n, ˆδ(q 0 , a n ) = q 0 ∈ F , 也 即 {a} ∗ ⊆ L(A);<br />
若 q 0 /∈ F , 则 ∀n, ˆδ(q 0 , a n ) = q 0 /∈ F , 也 即 {a} ∗ ∩ L(A) = ∅.
<strong>Chap2</strong> - 2.3.1<br />
把 下 列 NFA 转 化 为 DFA<br />
共 有 2 4 个 状 态 , 去 除 不 可 达 状 态<br />
{p} 是 DFA 的 一 个 状 态 (A = {p});<br />
δ D ({p}, 0) = {p, q} (B = {p, q});<br />
δ D ({p}, 1) = {p};<br />
δ D ({p, q}, 0) = {p, q, r}<br />
(C = {p, q, r});<br />
δ D ({p, q}, 1) = {p, r} (D = {p, r});<br />
p<br />
q<br />
r<br />
*s<br />
0 1<br />
{p, q}<br />
{r}<br />
{s}<br />
{s}<br />
δ D ({p, q, r}, 0) = {p, q, r, s} (E = {p, q, r, s}, E 为 接 受 状<br />
态 ); δ D ({p, q, r}, 1) = {p, r};<br />
δ D ({p, r}, 0) = {p, q, s} (F = {p, q, s}, F 为 接 受 状 态 );<br />
δ D ({p, r}, 1) = {p};<br />
δ D ({p, q, r, s}, 0) = {p, q, r, s}; δ D ({p, q, r, s}, 1) = {p, r, s}<br />
(G = {p, r, s}, G 为 接 受 状 态 );<br />
{p}<br />
{r}<br />
<br />
{s}
δ D ({p, q, s}, 0) = {p, q, r, s}; δ D ({p, q, s}, 1) = {p, r, s};<br />
δ D ({p, r, s}, 0) = {p, q, s}; δ D ({p, r, s}, 1) = {p, s}<br />
(H = {p, s}, H 为 接 受 状 态 );<br />
δ D ({p, s}, 0) = {p, q, s}; δ D ({p, s}, 1) = {p, s}.<br />
0 1<br />
A<br />
B<br />
C<br />
D<br />
*E<br />
*F<br />
*G<br />
*H<br />
B<br />
C<br />
E<br />
F<br />
E<br />
E<br />
F<br />
F<br />
A<br />
D<br />
D<br />
A<br />
G<br />
G<br />
H<br />
H
<strong>Chap2</strong> - 2.3.4(a)<br />
给 出 接 受 下 列 语 言 的 非 确 定 型 有 穷 自 动 机 . 尝 试 尽 可 能 多 利<br />
用 非 确 定 性 . a) 在 字 母 表 {0, 1, . . . , 9} 上 的 串 的 集 合 , 使 得 结<br />
尾 数 字 在 前 面 出 现 过 .<br />
记 状 态 q i 为 已 看 到 数 字 i 并 猜 测 i 就 是 结 尾 将 要 重 复 的 数 字 ,<br />
i = 0, 1, . . . , 9.<br />
0 1 · · · 8 9<br />
→ q s {q s , q 0 } {q s , q 1 } · · · {q s , q 8 } {q s , q 9 }<br />
q 0 {q f } {q 0 } · · · {q 0 } {q 0 }<br />
q 1 {q 1 } {q f } · · · {q 1 } {q 1 }<br />
· · · · · · · · · · · · · · · · · ·<br />
q 9 {q 9 } {q 9 } · · · {q 9 } {q f }<br />
∗q f ∅ ∅ · · · ∅ ∅
<strong>Chap2</strong> - 2.3.5<br />
证 明 : 如 果 ˆδD (q 0 , w) = p, 则 ˆδN (q 0 , w) = {p}.<br />
基 础 : |w| = 0 ⇒ w = ε, ˆδ D (q 0 , ε) = q 0 , ˆδ N (q 0 , ε) = {q 0 }<br />
归 纳 : 设 w 的 长 度 为 n + 1, w = xa, 且 命 题 对 长 度 n 成 立 . 也<br />
即<br />
如 果 ˆδD (q 0 , x) = r, ˆδ N (q 0 , x) = {r},<br />
对 于 串 w, 若 ˆδD (q 0 , w) = δ D (ˆδ D (q 0 , x), a) = δ D (r, a) = p,<br />
有 ˆδN (q 0 , w) = δ N (r, a) = {p} 成 立 .
<strong>Chap2</strong> - 2.5.1<br />
考 虑 下 列 ε-NFA, a) 计 算 每 个 状 态 的 ε 闭 包 ; b) 给 出 这 个 自 动<br />
机 接 受 的 所 有 长 度 小 于 或 等 于 3 的 串 ; c) 把 这 个 自 动 机 转 换<br />
为 DFA.<br />
a) 根 据 状 态 的 ε 闭<br />
包 的 性 质 , 有 ECLOSE(p)={p},<br />
ECLOSE(q)={p, q},<br />
ECLOSE(r)={p, q, r}.<br />
p<br />
q<br />
*r<br />
<br />
<br />
{p}<br />
{q}<br />
a<br />
{p}<br />
{q}<br />
{r}<br />
b<br />
{q}<br />
{r}<br />
<br />
c<br />
{r}<br />
<br />
{p}<br />
b) 根 据 转 移 表 , 该 自 动 机 接 受 的<br />
长 度 小 于 或 等 于 3 的 串 为<br />
c<br />
bc, cb, ca, ac, bb, cc<br />
aac, caa, aca, abc, bac, bca, acb, cab, cba, abb, bab, bba,<br />
cca, cac, acc, bbc, bcb, cbb, ccb, cbc, bcc, ccc, bbb
c) 由 初 始 状 态 ECLOSE(p)={p}, 有 3 个 状 态 可 以 达 到 . 分 别<br />
为 {p}, {p, q}, {p, q, r}. 转 移 表 如 下 :<br />
{p}<br />
{p, q}<br />
*{p, q, r}<br />
a<br />
b<br />
{p} {p, q}<br />
{p, q} {p, q, r}<br />
{p, q, r} {p, q, r}<br />
c<br />
{p, q, r}<br />
{p, q, r}<br />
{p, q, r}
<strong>Chap2</strong> - 2.5.3<br />
为 下 列 语 言 设 计 ε-NFA. 尝 试 用 ε 转 移 来 简 化 你 的 设 计 . a) 包<br />
含 零 个 或 多 个 a, 后 面 跟 着 零 个 或 多 个 b, 再 跟 着 零 个 或 多<br />
个 c 的 串 的 集 合 . b) 包 含 着 01 重 复 一 次 或 多 次 或 010 重 复 一<br />
次 或 多 次 的 串 的 集 合 .<br />
Start<br />
q 0<br />
<br />
a<br />
q 1<br />
<br />
b<br />
q 2<br />
<br />
c<br />
q 3<br />
(a)<br />
Start<br />
q 0<br />
<br />
<br />
q 1<br />
0<br />
q 4<br />
0<br />
<br />
1<br />
q 2<br />
1<br />
q 5<br />
q 6<br />
q 3<br />
0<br />
<br />
q 8<br />
<br />
q 7<br />
<br />
(b)
Chap3 - 3.1.1<br />
写 出 表 示 下 列 语 言 的 正 则 表 达 式 . a) 字 母 表 {a, b, c} 上 包 含<br />
至 少 一 个 a 和 至 少 一 个 b 的 串 的 集 合 . b) 倒 数 第 10 个 符 号<br />
是 1 的 0 和 1 的 串 的 集 合 .<br />
a) 第 一 个 a 在 第 一 个 b 前 面 出 现 , c ∗ a(a + c) ∗ b(a + b + c) ∗<br />
第 一 个 a 在 第 一 个 b 后 面 出 现 , c ∗ b(b + c) ∗ a(a + b + c) ∗<br />
结 果 为 c ∗ a(a + c) ∗ b(a + b + c) ∗ + c ∗ b(b + c) ∗ a(a + b + c) ∗<br />
b) (1 + 0) ∗ 1(1 + 0) 9
Chap3 - 3.2.1<br />
下 面 是 一 个 DFA 的 转 移 表 , a) 给 出 所 有 正 则 表 达 式 R (0)<br />
ij<br />
, b)<br />
给 出 所 有 正 则 表 达 式 R (1)<br />
ij<br />
, c) 给 出 所 有 正 则 表 达 式 R (2)<br />
ij<br />
, d) 给<br />
出 这 个 自 动 机 的 语 言 的 正 则 表 达 式 , e) 构 造 这 个 DAF 的 状 态<br />
转 移 图 , 通 过 消 除 状 态 q 2 , 给 出 其 语 言 的 正 则 表 达 式 .<br />
a) R (0)<br />
11 = ε + 1,<br />
R (0) (0)<br />
12 = 0, R 13<br />
R (0)<br />
23<br />
= 0, R<br />
(0)<br />
31<br />
b) 由 R (1)<br />
ij<br />
= R (0)<br />
= ϕ, R<br />
(0)<br />
21<br />
= ϕ, R<br />
(0)<br />
32<br />
(0)<br />
= 1, R 22 = ε,<br />
(0)<br />
= 1, R 33 = ε + 0.<br />
ij<br />
+ R (0) (0)<br />
i1<br />
(R 11 )∗ R (0)<br />
1j<br />
,<br />
有 R (1)<br />
11 = ε + 1 + (ε + 1)(ε + 1)∗ (ε + 1) = 1 ∗ , R (1)<br />
R (1)<br />
13<br />
R (1)<br />
32<br />
(1)<br />
= ϕ, R 21 = 11∗ , R (1)<br />
22 = ε + 11∗ 0, R (1)<br />
23<br />
(1)<br />
= 1, R 33 = ε + 0.<br />
0 1<br />
q 1 q 2 q 1<br />
*q 3 q 3 q 2<br />
q 2 q 3 q 1<br />
12 = 1∗ 0,<br />
(1)<br />
= 0, R 31 = ϕ,
c) 由 R (2)<br />
ij<br />
= R (1)<br />
ij<br />
+ R (1) (1)<br />
i2<br />
(R 22 )∗ R (1)<br />
2j<br />
,<br />
有 R (2)<br />
11 = 1∗ + 1 ∗ 0(11 ∗ 0) ∗ 11 ∗ , R (2)<br />
12 = 1∗ 0(11 ∗ 0) ∗ ,<br />
R (2)<br />
13 = 1∗ 0(11 ∗ 0) ∗ 0, R (2)<br />
21 = (11∗ 0) ∗ 11 ∗ , R (2)<br />
R (2)<br />
23 = (11∗ 0) ∗ 0, R (2)<br />
31 = 1(11∗ 0) ∗ 11 ∗ , R (2)<br />
R (2)<br />
33 = ε + 0 + 1(11∗ 0) ∗ 0.<br />
22 = (11∗ 0) ∗ ,<br />
32 = 1(11∗ 0) ∗ ,<br />
d) R (3)<br />
13 = R (2)<br />
13 + R (2) (2)<br />
13 (R 33 )∗ R (2)<br />
33<br />
=1 ∗ 0(11 ∗ 0) ∗ 0 + (1 ∗ 0(11 ∗ 0) ∗ 0) (ε + 0 + 1(11 ∗ 0) ∗ 0) ∗<br />
(ε + 0 + 1(11 ∗ 0) ∗ 0)<br />
=1 ∗ 0(11 ∗ 0) ∗ 0(0 + 1(11 ∗ 0) ∗ 0) ∗
e) 该 DFA 的 状 态 转 移 图 为 (a), 消 除 状 态 q 2 的 转 移 图 为 (b), 正<br />
则 表 达 式 为 : [1 + 01 + 00(0 + 10) ∗ 11] ∗ 00(0 + 10) ∗ .<br />
1<br />
Start 0<br />
q 1<br />
1<br />
q 2<br />
0<br />
1<br />
0<br />
q 3<br />
(a)<br />
1+01<br />
Start 00<br />
q 1<br />
11<br />
0+10<br />
q 3<br />
(b)
Chap3 - 3.2.6<br />
设 A = (Q, Σ, δ, q 0 , {q f }) 是 一 个 ε-NFA, 使 得 既 没 有 进 入 q 0 的<br />
转 移 也 没 有 离 开 q f 的 转 移 , 就 L = L(A) 而 言 , 描 述 A 的 每 一 个<br />
下 列 修 改 所 接 受 的 语 言 . a) 通 过 增 加 q f 到 q 0 的 ε 转 移 , 从 A 构<br />
造 的 自 动 机 ; b) 通 过 增 加 从 q 0 到 每 个 从 q 0 可 达 ( 沿 着 标 记 包<br />
含 Σ 中 符 号 和 ε 的 路 径 ) 的 状 态 的 ε 转 移 , 从 A 构 造 的 自 动 机 ;<br />
c) 通 过 增 加 从 每 个 能 沿 着 某 条 路 径 到 达 q f 的 状 态 到 q f 的 ε 转<br />
移 , 从 A 构 造 的 自 动 机 ; d) 通 过 同 时 做 (b) 和 (c) 的 修 改 从 A 构<br />
造 的 自 动 机 .<br />
a) 接 受 的 语 言 为 LL ∗<br />
b) 接 受 的 语 言 为 L 中 串 的 后 缀 的 集 合<br />
c) 接 受 的 语 言 为 L 中 串 的 前 缀 的 集 合<br />
d) 接 受 的 语 言 为 L 中 串 的 子 集 的 集 合
Chap3 - 3.4.1<br />
验 证 下 列 关 于 正 则 表 达 式 的 恒 等 式 , a) R+S=S+R; g)<br />
(ε + R) ∗ = R ∗<br />
a) 将 R 替 换 为 a, S 替 换 为 b, 检 验 {a} + {b} 是 否 等<br />
于 {b} + {a}. 由 于 {a, b} = {b, a}, 因 为 集 合 中 元 素 的 顺 序<br />
是 无 关 紧 要 的 , 可 知 等 式 a) 成 立 .<br />
g) 将 R 替 换 为 a, 检 验 (ε + {a}) ∗ 是 否 等 于 {a} ∗ , 由<br />
于 (ε + {a}) ∗ 和 {a} ∗ 均 代 表 由 a 组 成 的 所 有 串 的 集 合 , 可 知 等<br />
式 g) 成 立 .
Chap3 - 3.4.2<br />
证 明 或 推 翻 下 列 每 个 关 于 正 则 表 达 式 的 命 题 . b)<br />
(RS + R) ∗ R = R(SR + R) ∗ .<br />
b) 将 R 替 换 为 a, S 替 换 为 b, 得 到 正 则 表 达<br />
式 (ab + a) ∗ a 和 a(ba + a) ∗ . 二 者 均 表 示 以 a 开 始 且 结 尾 , 中<br />
间 无 相 邻 b 的 所 有 串 的 语 言 , 因 此 该 命 题 成 立 .
Chap3 - 3.4.5<br />
完 成 定 理 3.13 的 证 明 , 处 理 正 则 表 达 式 E 形 如 FG 的 情 形 .<br />
略 , 证 明 方 法 同 书 .
Chap4 - 4.1.1<br />
证 明 下 列 语 言 都 不 是 正 则 的 . e) {0 n 1 m | n ≤ m}.<br />
e) 假 设 上 述 语 言 是 正 则 的 , 由 泵 引 理 , 存 在 泵 引 理 常 数 n,<br />
对 于 w = 0 n 1 m (n ≤ m), 把 w 打 断 为 w = xyz, 满 足 | xy |≤ n,<br />
y ≠ ε, 则 y 只 由 0 构 成 , 取 k = m + 2,<br />
则 xy k z 中 0 的 个 数 ≥ n + m + 1 > m, 而 xy k z 中 1 的 个 数 为 m,<br />
可 知 xy k z /∈ L, 矛 盾 .<br />
因 此 L 不 是 正 则 语 言 .
Chap4 - 4.1.2(b)<br />
证 明 下 列 语 言 都 不 是 正 则 的 . b) {0 n | n 是 完 全 立 方 数 }.<br />
b) 假 设 上 述 语 言 是 正 则 的 , 令 n 为 泵 引 理 常 数 , 设 w = 0 n3 ,<br />
把 w 打 断 为 w = xyz, 满 足 | xy |≤ n, y ≠ ε, 则 y 是 由 大 于 1 小<br />
于 n 个 0 构 成 , 不 妨 设 | y |= m, 其 中 1 ≤ m ≤ n, 考<br />
虑 | xy 2 z |= n 3 − m + 2m = n 3 + m,<br />
n 3 + 1 ≤ n 3 + m ≤ n 3 + n, 由 于 n 3 的 下 一 个 完 全 立 方 数<br />
为 (n + 1) 3 , 而 n 3 < n 3 + m < (n + 1) 3 . 则 xy 2 z 的 长 度 不 是 完<br />
全 平 方 数 , 也 即 xy 2 z /∈ L. 由 泵 引 理 知 L 不 是 正 则 语 言 .
Chap4 - 4.2.1<br />
设 h 是 从 字 母 表 {1, 2, 3} 到 字 母 表 {a, b} 的 同 态 , h 的 定 义 为 :<br />
h(0) = a; h(1) = ab; h(2) = ba. a) h(0120) 是 什 么 ? c) 如<br />
果 L 是 语 言 L(01 ∗ 2), 则 h(L) 是 什 么 ?<br />
a) h(0120) = h(0)h(1)h(2)h(0) = aabbaa<br />
c) h(L) = a(ab) ∗ ba
Chap4 - 4.2.2<br />
如 果 L 是 一 个 语 言 , a 是 一 个 符 号 , 则 L/a ( 称 作 L 和 a 的 商 ) 是<br />
所 有 满 足 如 下 条 件 串 w 的 集 合 : wa 属 于 L. 例 如 , 如<br />
果 L = {a, aab, baa}, 则 L/a = {ε, ba}, 证 明 : 如 果 L 是 正 则<br />
的 , 那 么 L/a 也 是 .<br />
设 A 是 正 则 语 言 L 对 应 的 DFA, A = (Q, Σ, δ, q 0 , F A ), 构 造 DFA<br />
B = (Q, Σ, δ, q 0 , F B ), 其 中 F B = {q | δ(q, a) ∈ F A }, 也 即 当 且<br />
仅 当 δ(q, a) 是 A 的 一 个 接 受 状 态 时 , q 才 是 B 的 一 个 接 受 状 态 .<br />
因 此 , 当 且 仅 当 A 接 受 wa 时 , B 接 受 输 入 串 w, 即 L(B) = L/a,<br />
也 即 L/a 也 是 正 则 的 .
Chap4 - 4.2.6<br />
证 明 正 则 语 言 对 于 以 下 运 算 封 闭 . a) min(L) = {w | w ∈ L,<br />
但 是 w 的 真 前 缀 都 不 属 于 L}.<br />
在 L 对 应 的 自 动 机 中 移 去 从 接 受 状 态 出 发 的 边 , 以 及 不 可 达<br />
状 态 所 构 成 的 新 的 自 动 机 接 受 的 语 言 即 为 min(L), 因<br />
此 min(L) 也 是 正 则 的 .
Chap4 - 4.3.1<br />
给 出 算 法 区 分 正 则 语 言 L 是 否 无 穷 . 提 示 : 用 泵 引 理 证 明 如<br />
果 语 言 包 含 长 度 大 于 某 个 下 限 的 任 何 串 , 则 这 个 语 言 一 定 是<br />
无 穷 的 .<br />
令 n 是 泵 引 理 常 量 , 测 试 L 中 是 否 存 在 长 度 在 n 到 2n − 1 的 串 .<br />
若 存 在 这 样 的 串 , 则 可 由 泵 引 理 得 到 无 穷 的 串 , 也 即 L 是 无<br />
穷 的 . 若 不 存 在 这 样 的 串 , 则 可 知 L 中 不 存 在 长 度 大 于 或 等<br />
于 2n 的 串 , 也 即 L 是 有 穷 的 . 原 因 在 于 :<br />
假 设 L 中 不 存 在 长 度 为 n 到 2n − 1 的 串 , 但 却 存 在 长 度 大 于 或<br />
等 于 2n 的 串 .<br />
设 w 为 L 中 长 度 至 少 为 2n 的 串 , 且 w 是 L 中 长 度 至 少 为 2n 的 串<br />
中 最 短 的 一 个 . 由 泵 引 理 , w 可 打 断 为 w = xyz, | xy |≤ n,<br />
y ≠ ε, 由 于 L 为 正 则 语 言 , 则 xy 0 z = xz ∈ L, 但 是 由<br />
于 w 是 L 中 长 度 至 少 为 2n 的 串 中 最 短 的 一 个<br />
且 | xz |
又 y 的 长 度 至 多 为 n, 可 知 n ≤| xz |≤ 2n − 1, 这 与 假 设 L 中 不<br />
存 在 长 度 为 n 到 2n − 1 的 串 矛 盾 .<br />
因 此 , 若 L 中 不 存 在 长 度 在 为 n 到 2n − 1 的 串 , 则 L 是 有 穷 的 .
Chap4 - 4.3.2<br />
给 出 算 法 区 分 正 则 语 言 L 是 否 至 少 包 含 100 个 串 .<br />
1) 判 断 L 是 否 无 穷 , 若 无 穷 , 则 L 至 少 包 含 100 个 串 ;<br />
2) 若 有 穷 , 枚 举 判 断 串 的 个 数 是 否 大 于 100. ( 计 算 初 始 状<br />
态 q 0 到 达 每 个 接 受 状 态 的 不 同 路 径 的 个 数 并 相 加 , 判 断 是 否<br />
大 于 100.)
Chap4 - 4.4.1<br />
图 4-14 中 是 DFA 的 转 移 表 . a) 画 出 这 个 自 动 机 的 可 区 分 性<br />
表 ; b) 构 造 最 小 状 态 的 等 价 DFA.<br />
0 1<br />
→ A B A<br />
B A C<br />
C D B<br />
*D D A<br />
E D F<br />
F G E<br />
G F G<br />
H G D<br />
B ×<br />
C × ×<br />
D × × ×<br />
E × × ×<br />
F × × × ×<br />
G × × × × ×<br />
H × × × × × × ×<br />
A B C D E F G<br />
等 价 对 {A, G}, {B, F }, {C, E}, {D}, {H}, 其 中 {H} 不 可 达 .
1<br />
Start 0 1<br />
AG BF CE<br />
0 1<br />
0<br />
1<br />
D<br />
0
Chap4 - 4.4.2<br />
对 于 图 4-15 中 的 DFA 重 做 习 题 4.4.1<br />
B ×<br />
C × ×<br />
D × ×<br />
E × × ×<br />
F × × × ×<br />
G × × × ×<br />
H × × × × ×<br />
I × × × × × ×<br />
A B C D E F G H<br />
等 价 对 {A, D, G}, {B, E, H}, {C, F , I }.<br />
0 1<br />
→ {A, D, G} {B, E, H} {B, E, H}<br />
{B, E, H} {C, F , I } {C, F , I }<br />
∗{C, F , I } {A, D, G} {B, E, H}
Chap5 - 5.1.3<br />
证 明 : 任 何 正 则 语 言 都 是 上 下 文 无 关 语 言 . 提 示 : 通 过 对 正<br />
则 表 达 式 中 的 运 算 符 的 数 目 进 行 归 纳 的 方 法 来 构 造 CFG.<br />
设 正 则 表 达 式 E 中 的 运 算 符 数 目 为 n<br />
基 础 : n = 0, 则 E 为 某 个 字 符 a, 构 造 其 对 应 的 CFG,<br />
G = (V , T , P, S), V = {S}, T = {a}, P : S → a,<br />
有 L(E) = L(G).<br />
归 纳 : 设 n = k 时 , 存 在 CFG G, 使 得 L(E) = L(G).<br />
当 n = k + 1 时 ,<br />
(1) E = E 1 + E 2 , 其 中 由 归 纳 假 设 , 存 在 G 1 , G 2 使<br />
得 L(E 1 ) = L(G 1 ), L(E 2 ) = L(G 2 ), 其 中 G 1 = (V 1 , T 1 , P 1 , S 1 ),<br />
G 2 = (V 2 , T 2 , P 2 , S 2 ),<br />
则 G = (V 1 ∪ V 2 , T 1 ∪ T 2 , P 1 ∪ P 2 ∪ {S → S 1 } ∪ {S → S 2 }, S),<br />
L(E) = L(G).<br />
(2) E = E 1 E 2 , 同 理 ,<br />
G = (V 1 ∪ V 2 , T 1 ∪ T 2 , P 1 ∪ P 2 ∪ {S → S 1 S 2 }, S)
(3) E = E ∗ 1 , 同 理 , = (V 1 , T 1 , P 1 ∪ {S → SS 1 } ∪ {S → ε}, S).<br />
因 此 , 任 何 正 则 语 言 都 是 上 下 文 无 关 语 言 .
Chap5 - 5.1.7<br />
考 虑 下 面 产 生 式 定 义 的 GFG G: S → aS|Sb|a|b, a) 通 过 对 串<br />
的 长 度 进 行 归 纳 , 证 明 任 何 L(G) 中 的 串 都 没 有 ba 这 个 子 串 ;<br />
b) 非 形 式 化 的 描 述 L(G), 用 (a) 来 证 明 答 案 .<br />
a) 对 L(G) 中 的 任 意 串 w 的 长 度 进 行 归 纳 .<br />
n = 1 时 , w = a 或 w = b, 显 然 没 有 ba 这 个 子 串 . 设 n = k 时 ,<br />
w 不 包 含 ba 这 个 子 串 , 考 虑 | w ′ |= n = k + 1 的 情 形<br />
由 产 生 式 S → aS 或 S → Sb 可 知 w ′ = aw 或 w ′ = wb, 也<br />
即 n = k + 1 时 , w ′ 也 不 含 ba 这 个 子 串 .<br />
b) L(G) 中 的 串 为 a m b n (m ≥ 0, n ≥ 0) 的 形 式 .<br />
这 是 由 于 L(G) 中 的 串 没 有 ba 这 个 子 串 , 也 即 在 串 w 中 , b 只 能<br />
在 a 的 后 面 , 因 此 串 w 为 a m b n (m ≥ 0, n ≥ 0) 的 形 式 .
Chap5 - 5.2.4<br />
在 5.2.6 节 中 提 到 了 : 如 果 X 1 X 2 · · · X ∗ k ⇒ α, 那 么 对 于 任 意<br />
的 i < j, α 中 所 有 由 X i 扩 展 来 的 位 置 一 定 在 所 有 由 X j 扩 展 来<br />
的 位 置 的 左 边 . 试 证 明 这 一 点 . 提 示 : 对 推 导 的 步 数 进 行 归<br />
纳 .<br />
对 推 导 的 步 数 n 进 行 归 纳 .<br />
n = 0 时 , X 1 , X 2 , · · · , X k 为 终 结 字 符 , 也 即 i < j 时 , X i 的 位 置<br />
在 X j 的 左 边 .<br />
假 设 n = k 时 , 命 题 成 立 . n = k + 1 时 ,<br />
设 X 1 X 2 · · · X ∗ k ⇒ β ⇒ α. 即 X 1 , X 2 , · · · , X k 由 k 推 导 出 β,<br />
β 再 一 步 推 导 出 α.<br />
由 假 设 可 知 , β 中 所 有 X i 扩 展 来 的 位 置 在 X j 扩 展 来 的 位 置 的<br />
左 边 对 任 意 i < j 均 成 立 , 则 β 可 打 断 为 β = w 1 w 2 · · · w k , 其<br />
中 X ∗ i ⇒ w i .<br />
则 由 β ⇒ α 可 知 , α = w 1 w 2 · · · w i ′ · · · w k , 且 w i ⇒ w i ′.<br />
则<br />
在 α 中
对 i < j, 由 X i 扩 展 来 的 位 置 在 由 X j 扩 展 来 的 位 置 的 左 边 ,<br />
对 j < i, 由 X i 扩 展 来 的 位 置 在 由 X j 扩 展 来 的 位 置 的 右 边 , 也<br />
即 命 题 成 立 .
Chap5 - 5.4.1<br />
考 虑 下 面 的 文 法 : S → aS|aSbS|ε, 这 个 文 法 是 歧 义 的 , 试 证<br />
明 串 aab 的 两 个 : a) 语 法 分 析 树 ; b) 最 左 推 导 ; c) 最 右 推 导 .<br />
a) 见 右 图 .<br />
S<br />
S<br />
b) 最 左 推 导 S ⇒<br />
aS ⇒ aaSbS ⇒ aabS ⇒ aab,<br />
S ⇒<br />
aSbS ⇒ aaSbS ⇒ aabS ⇒ aab.<br />
a S b S<br />
c) 最 右 推 导 S ⇒ aS ⇒ aaSbS ⇒ aaSb ⇒ aab,<br />
S ⇒ aSbS ⇒ aSb ⇒ aaSb ⇒ aab.<br />
a<br />
S<br />
<br />
<br />
a<br />
a<br />
S<br />
<br />
S<br />
b<br />
S
Chap5 - 5.4.5<br />
证 明 文 法 S → A1B, A → 0A|ε, B → 0B|1B|ε, a) 证 明 这 个<br />
文 法 是 无 歧 义 的 ; b) 找 到 一 个 生 成 同 样 语 言 的 歧 义 文 法 , 并<br />
展 示 它 的 歧 义 性 .<br />
a) 上 述 文 法 的 推 导 第 一 步 一 定 为 S ⇒ A1B, 故 语 法 树 的 树<br />
根 有 唯 一 的 形 式 , 往 下 对 于 A, 要 么 推 出 ε, 要 么 从 左 往 右 推<br />
出 若 干 0, 没 有 歧 义 。 对 于 右 端 B 只 能 按 B → 0B|1B|ε 进 行 推<br />
导 , 也 即 从 左 往 右 依 次 生 成 0, 1 组 合 , 也 即 该 文 法 对 于 给 定<br />
输 入 串 只 有 一 个 语 法 树 与 之 对 应 , 因 此 该 文 法 是 非 歧 义 的 .<br />
b) 生 成 同 样 语 言 的 歧 义 文 法 为 S → A1B, A → 0A|A0|ε,<br />
B → 0B|1B|ε.<br />
对 于 串 010, 有 两 个 最 左 推 导<br />
S ⇒ A1B ⇒ 0A1B ⇒ 01B ⇒ 010B ⇒ 010,<br />
S ⇒ A1B ⇒ A01B ⇒ 01B ⇒ 010B ⇒ 010.
Chap6 - 6.1.1<br />
假 设 PDA P = ({q, p}, {0, 1}, {Z 0 , X }, δ, q, Z 0 , {p}) 具 有 下 列<br />
转 移 函 数 : 1. δ(q, 0, Z 0 ) = {(q, XZ 0 )}, 2.<br />
δ(q, 0, X ) = {(q, XX )}, 3. δ(q, 1, X ) = {(q, X )}, 4.<br />
δ(q, ε, X ) = {(p, ε)}, 5. δ(p, ε, X ) = {(p, ε)}, 6.<br />
δ(p, 1, X ) = {(p, XX )}, 7. δ(p, 1, Z 0 ) = {(p, ε)}. 那 么 从 初<br />
始 ID(q, w, Z 0 ) 开 始 , 给 出 当 输 入 串 w 为 下 面 的 串 时 所 有 可 达<br />
的 ID: a) 01; b) 0011; c) 010.<br />
(q, 01, Z 0 )<br />
(q, 010, Z 0 )<br />
(q, 1, XZ 0 )<br />
(q, 10, XZ 0 )<br />
(q, ε, XZ 0 ) (p, 1, Z 0 )<br />
(q, 0, XZ 0 )<br />
(p, 10, Z 0 )<br />
(p, 0, ε)<br />
(p, ε, Z 0 )<br />
(p, ε, ε)<br />
(q, ε, XXZ 0 )<br />
(p, 0, Z 0 )<br />
(a)<br />
(p, , XZ 0 )<br />
(p, , Z 0 )<br />
(c)
(q, 0011, Z 0 )<br />
(q, 011, XZ 0 )<br />
(p, 011, Z 0 )<br />
(q, 11, XXZ 0 )<br />
(p, 11, XZ 0 ) (p, 1, XXZ 0 ) (p, , XXXZ 0 )<br />
(q, 1, XXZ 0 )<br />
(p, 11, Z 0 )<br />
(p, 1, XZ 0 )<br />
(p, , XXZ 0 )<br />
(q, , XXZ 0 )<br />
(p, 1, XZ 0 )<br />
(p, 1, )<br />
(p, , XXZ 0 )<br />
(p, 1, Z 0 )<br />
(p, , XZ 0 )<br />
(p, , XZ 0 )<br />
(p, , XXZ 0 )<br />
(p, 1, Z 0 )<br />
(p, , XZ 0 )<br />
(p, , )<br />
(p, , Z 0 )<br />
(p, , Z 0 )<br />
(p, , XZ 0 )<br />
(p, , )<br />
(p, , Z 0 )<br />
(p, , Z 0 )<br />
(b)
Chap6 - 6.2.2<br />
设 计 一 个 PDA 来 接 受 下 列 语 言 . a) {a i b j c k |i = j 或 j = k}. b)<br />
所 有 0 的 个 数 是 1 的 个 数 两 倍 的 串 的 集 合 .<br />
Start<br />
c, Z 0 /Z 0<br />
q 1 , Z 0 /Z 0<br />
, Z 0 /Z 0 b, X/<br />
, Z<br />
q 0 /Z 0 b, X/<br />
0<br />
q 4<br />
q 2<br />
b, X/XX c, X/<br />
, Z 0 /Z 0<br />
a, Z 0 /XZ 0<br />
a, X/XX<br />
a, Z 0 /Z 0 , Z 0 /Z 0<br />
q 3 b, Z 0 /XZ 0<br />
q 5 c, X/<br />
q 6<br />
Start<br />
0, 0/00<br />
1, 0/<br />
q<br />
0, Z 1<br />
0 /0Z 0 , 0/<br />
, Z<br />
q 0 /Z 0<br />
0<br />
, Z 0 /1Z 0<br />
1, Z 0 /11Z 0<br />
, Z 0 /Z 0<br />
q 2<br />
1, 1/111<br />
0, 1/<br />
q 3<br />
(a)<br />
(b)
Chap6 - 6.2.6<br />
考 虑 习 题 6.1.1 中 的 PDA P, a) 把 P 转 换 成 为 另 外 一 个 PDA<br />
P 1 , 使 得 P 1 能 够 以 空 栈 方 式 接 受 P 以 终 结 状 态 方 式 接 受 的 语<br />
言 , 即 N(P 1 ) = L(P). b) 找 出 一 个 PDA P 2 , 使<br />
得 L(P 2 ) = N(P), 也 就 是 说 P 2 能 够 以 终 结 状 态 方 式 接 受 P 以<br />
空 栈 方 式 接 受 的 语 言 .<br />
a) 从 PDA P 的 接 受 状 态 加 一 转 移 到 t, 接 受 空 字 符 , 消 耗 栈<br />
顶 元 素 ; 同 时 为 了 避 免 未 进 入 接 受 状 态 之 前 出 现 空 栈 的 情<br />
况 , 加 状 态 s.<br />
Start<br />
(a)<br />
s<br />
1, X/X<br />
0, X/XX<br />
, X 0 /Z 0 X 0<br />
0, Z 0 /XZ 0<br />
, X/<br />
q<br />
1, Z 0 /<br />
1, X/XX<br />
, X/<br />
p<br />
, Z 0 /<br />
, X/<br />
, X 0 /<br />
, Z 0 /<br />
, X/<br />
, X 0 /<br />
t<br />
Start<br />
s<br />
1, X/X<br />
0, X/XX<br />
, X 0 /Z 0 X 0<br />
0, Z 0 /XZ 0<br />
, X/<br />
q<br />
1, Z 0 /<br />
1, X/XX<br />
, X/<br />
p<br />
, X 0 /<br />
t<br />
(b)
Chap6 - 补 充<br />
对 文 法 I → a|b|Ia|Ib|I 0|I 1, E → I |E ∗ E|E + E|(E), 对 于 输<br />
入 a + b ∗ b0, 写 出 从 文 法 到 PDA 的 过 程 以 及 从 PDA 到 产 生 式<br />
的 过 程 .<br />
略
Chap6 - 6.4.2(c)<br />
给 出 接 受 下 列 语 言 的 确 定 型 下 推 自 动 机 , c)<br />
{0 n 1 m 0 n |n 和 m 为 任 意 数 }.<br />
Start<br />
q 0<br />
, Z 0 /Z 0<br />
1, Z 0 /Z 0 q 2<br />
0, 0/00<br />
q 1<br />
q 3<br />
0, 0/00<br />
1, 0/0<br />
1, Z 0 /Z 0<br />
0, 0/<br />
q 4<br />
0, Z 0 /0Z 0<br />
q 5<br />
1, 0/0<br />
q 6<br />
, Z 0 /Z 0<br />
q 7<br />
1, 0/0<br />
0, 0/
Chap6 - 6.4.3<br />
分 三 部 分 证 明 定 理 6.19, a) 证 明 : 如 果 对 于 某 个 DPDA<br />
P 有 L = N(P), 则 L 具 有 前 缀 性 质 . b) 证 明 : 如 果 对 于 某<br />
个 DPDA P 有 L = N(P), 则 存 在 DPDA P’ 满 足 L = L(P ′ ). C)<br />
证 明 : 如 果 L 具 有 前 缀 性 质 , 并 且 对 某 个 DPDA P’ 是 L(P’), 则<br />
存 在 DPDA P 满 足 L = N(P).<br />
a) 假 设 L 不 具 有 前 缀 性 质 , 不 妨 设 DPDA P 能 通 过 空 栈 接<br />
收 w 和 wx (x ≠ ε), 则 存 在 状 态 q 满 足 (q 0 , wx, Z 0 ) ↦→ ∗<br />
(q, x, ε).<br />
( 其 中 q 0 为 初 始 状 态 , Z 0 为 初 始 符 号 .)<br />
由 于 x ≠ ε, 且 PDA 在 有 空 栈 情 况 下 不 能 发 生 状 态 转 移 , 因<br />
此 , 不 存 在 p, 使 (q, x, ε) ↦→ ∗<br />
(p, ε, ε), 也 即 不 存 在 p, 使<br />
得 (p 0 , wx, Z 0 ) ↦→ ∗<br />
(p, ε, ε)<br />
与 假 设 wx ∈ N(P) 矛 盾 , 因 此 如 果 对 于 某 个 DPDA P<br />
有 L = N(P), 则 L 具 有 前 缀 性 质 .
) 效 仿 6.2.3 节 从 空 栈 方 式 到 终 结 状 态 方 式 的 构 造 方 法 , 构<br />
造 PDA P’. 下 面 按 照 DPDA 的 定 义 说 明 构 造 的 PDA<br />
P’ 为 DPDA.<br />
首 先 , 原 PDA P 为 DPDA. 因 此 对 P 的 某 个 状 态 q, 任 意 输 入<br />
符 号 a 或 a = ε, 以 及 堆 栈 符 号 X, δ(q, a, X ) 至 多 有 一 个 成 员 .<br />
且 若 对 Σ 中 的 某 些 输 入 符 号 a, 有 δ(q, a, X ) 非 空 ,<br />
则 δ(q, ε, X ) 为 空 . 在 构 造 的 过 程 中 增 加 了 如 下 规 则 :<br />
(i)δ(p 0 , ε, X 0 ) = {(q 0 , Z 0 X 0 )};<br />
(ii) 对 Q 中 的 每 个 状 态 q, δ(q, ε, X 0 ) = {(p f , ε)}<br />
显 然 , 增 加 上 述 两 条 规 则 , DPDA 的 条 件 仍 然 成 立 , 也 即 构 造<br />
的 PDA 为 DPDA, 且 有 L(P ′ ) = L = N(P).<br />
c) 与 b) 类 似 , 效 仿 6.2.4 节 从 终 结 状 态 方 式 到 空 栈 方 式 的 构 造<br />
方 法 , 构 造 PDA P. 由 于 L 具 有 前 缀 性 质 , 因 此 P’ 中 的 终 结 状<br />
态 对 任 何 输 入 符 号 以 及 ε 都 不 会 发 生 状 态 转 移 , 否 则 会<br />
有 w ∈ L(P ′ ) 且 wx ∈ L(P ′ ), 与 L 具 有 前 缀 性 质 矛 盾 . 类 似 b),<br />
不 难 证 明 构 造 的 P 为 DPDA. 因 此 , 存 在 DPDA P, 满<br />
足 L = N(P).
Chap8 - 8.2.2<br />
设 计 接 受 下 列 语 言 的 图 灵 机 : a) 带 有 相 同 个 数 的 0 和 1 的 串<br />
的 集 合 ; c) {ww R |w 是 任 意 的 0 和 1 的 串 }.<br />
a) TM 转 移 表 如 下 , q f 为 接 受 状 态 :<br />
0 1 B X Y<br />
q 0 (q 2 , X , R) (q 1 , X , R) (q f , B, R) - (q 0 , Y , R)<br />
q 1 (q 3 , Y , L) (q 1 , 1, R) - - (q 1 , Y , R)<br />
q 2 (q 2 , 0, R) (q 3 , Y , L) - - (q 2 , Y , R)<br />
q 3 (q 3 , 0, L) (q 3 , 1, L) - (q 0 , X , R) (q 3 , Y , L)<br />
q f - - - - -
) 接 受 {ww R |w 是 任 意 的 0 和 1 的 串 } 的 TM 转 移 表 如 下 , q f 为<br />
接 受 状 态 :<br />
0 1 B<br />
q 0 (q 1 , B, R) (q 2 , B, R) (q f , B, R)<br />
q 1 (q 1 , 0, R) (q 1 , 1, R) (q 4 , B, L)<br />
q 2 (q 2 , 0, R) (q 2 , 1, R) (q 5 , B, L)<br />
q 3 (q 3 , 0, L) (q 3 , 1, L) (q 0 , B, R)<br />
q 4 (q 3 , B, L) - -<br />
q 5 - (q 3 , B, L) -<br />
q f - - -
Chap8 - 8.3.1<br />
重 新 设 计 习 题 8.2.2 中 图 灵 机 以 利 用 在 8.3 节 中 讨 论 的 程 序 设<br />
计 技 术 : a) 带 有 相 同 个 数 的 0 和 1 的 串 的 集 合 ; c) {ww R |w 是<br />
任 意 的 0 和 1 的 串 }.<br />
a) 对 于 a = 0 或 a = 1, δ([q 0 , B], [B, a]) = ([q 1 , a], [∗, a], R),<br />
δ([q 1 , a], [B, a]) = ([q 1 , a], [B, a], R),<br />
δ([q 1 , a], [∗, a]) = ([q 1 , a], [∗, a], R),<br />
δ([q 1 , a], [∗, ā]) = ([q 1 , a], [∗, ā], R),<br />
δ([q 1 , a], [B, ā]) = ([q 2 , B], [∗, ā], L),<br />
对 于 a = 0 或 a = 1, δ([q 2 , B], [B, a]) = ([q 2 , B], [B, a], L),<br />
δ([q 2 , B], [∗, a]) = ([q 2 , B], [∗, a], L),<br />
δ([q 2 , B], [B, B]) = ([q 0 , B], [B, B], R),<br />
δ([q 0 , B], [∗, a]) = ([q 0 , B], [∗, a], R),<br />
δ([q 0 , B], [B, B]) = ([q 3 , B], [B, B], R).<br />
其 中 , [q 3 , B] 为 接 受 状 态 .
c) {ww R |w 是 任 意 的 0 和 1 的 串 }<br />
c) 对 于 a = 0 或 a = 1, δ([q 0 , B], [B, a]) = ([q 1 , a], [∗, a], R),<br />
δ([q 1 , a], [B, a]) = ([q 1 , a], [B, a], R),<br />
δ([q 1 , a], [B, ā]) = ([q 1 , a], [B, ā], R),<br />
δ([q 1 , a], [B, B]) = ([q 2 , a], [B, B], L),<br />
δ([q 1 , a], [∗, a]) = ([q 2 , a], [∗, a], L),<br />
δ([q 1 , a], [∗, ā]) = ([q 2 , a], [∗, ā], L),<br />
δ([q 2 , a], [B, a]) = ([q 3 , B], [∗, a], L),<br />
对 于 a = 0 或 a = 1, δ([q 3 , B], [B, a]) = ([q 3 , B], [B, a], L),<br />
δ([q 3 , B], [∗, a]) = ([q 3 , B], [∗, a], L),<br />
δ([q 3 , B], [B, B]) = ([q 0 , B], [B, B], R),<br />
δ([q 0 , B], [∗, a]) = ([q 0 , B], [∗, a], R),<br />
δ([q 0 , B], [B, B]) = ([q 4 , B], [B, B], R).<br />
其 中 [q 4 , B] 为 接 受 状 态 .
Chap8 - 8.4.2<br />
这 里 是 非 确 定 型 TM<br />
M = ({q 0 , q 1 , q 2 }, {0, 1}, {0, 1, B}, δ, q 0 , B, {q 2 }) 的 转 移 函 数 :<br />
说 明 从 初 始 ID 可 达 的 ID, 如 果 输 入 是 : a) 01.<br />
δ 0 1 B<br />
q 0 {(q 0 , 1, R)} {(q 1 , 0, R)} ∅<br />
q 1 {(q 1 , 0, R), (q 0 , 0, L)} {(q 1 , 1, R), (q 0 , 1, L)} {(q 2 , B, R)}<br />
q 2 ∅ ∅ ∅<br />
a) q 0 01| − 1q 0 1| − 10q 1 | − 10Bq 2
Chap8 - 8.4.3<br />
非 形 式 化 但 清 楚 地 描 述 接 受 下 列 语 言 的 非 确 定 性 图 灵 机 . 尝<br />
试 利 用 非 确 定 性 来 避 免 迭 代 并 在 非 确 定 性 意 义 下 节 省 时 间 .<br />
也 就 是 说 , 宁 愿 让 NTM 多 进 行 分 支 而 让 每 个 分 支 保 持 简 短 .<br />
a) 所 有 重 复 ( 不 必 是 连 续 地 ) 某 个 长 为 100 的 串 的 0 和 1 的 串 的<br />
语 言 . 形 式 化 地 说 , 这 个 语 言 是 形 如 wxyxz 的 0 和 1 串 的 集 合 ,<br />
其 中 | x |= 100, 而 x, y, z 是 任 意 长 度 的 .<br />
a) 我 们 使 用 两 条 带 ,x 被 储 存 在 第 二 条 带 上 . 在 第 一 条 带 上<br />
从 左 至 右 扫 描 输 入 , 在 每 一 单 元 猜 测 是 停 留 在 做 扫 描 的 初 始<br />
状 态 , 还 是 进 入 把 接 下 来 的 100 个 字 符 复 制 到 第 二 条 带 的 新<br />
状 态 . 一 旦 复 制 完 成 , 将 第 二 条 带 子 的 读 写 头 收 回 到 100 个<br />
字 符 的 左 端 . 接 着 , 在 第 一 条 带 上 继 续 右 移 , 并 且 在 每 一 个<br />
单 元 猜 测 是 继 续 右 移 , 还 是 猜 测 x 的 第 二 次 复 制 开 始 . 在 后<br />
一 种 情 况 下 , 将 第 一 条 带 上 接 下 来 的 100 个 字 符 和 第 二 条 带<br />
上 的 100 个 字 符 比 较 . 如 果 全 部 匹 配 成 功 , 则 在 第 一 条 带 上<br />
右 移 , 并 且 看 到 空 格 立 即 接 受 .
) 所 有 对 于 任 意 n 形 如 w 1 ♯w 2 ♯ · · · ♯w n 的 串 的 语 言 , 使 得 每<br />
个 w i 是 0 和 1 的 串 , 并 且 对 于 某 个 j, w j 是 二 进 制 整 数 j.<br />
b) 使 用 三 条 带 , 在 第 一 条 带 上 从 左 至 右 扫 描 输 入 , 第 二 条 带<br />
用 二 进 制 方 式 记 录 ”♯” 号 出 现 的 次 数 , 初 始 时 为 0, 第 三 条 带<br />
用 于 复 制 w i .<br />
在 第 一 条 带 上 从 左 至 右 扫 描 输 入 , 至 ”♯” 号 或 者 空 格 停 止 , 在<br />
扫 描 的 过 程 中 将 扫 描 内 容 复 制 到 第 三 条 带 上 . 扫 描 暂 停 时 ,<br />
将 带 2 上 的 值 加 1( 二 进 制 表 示 ). 比 较 带 2 和 带 3 上 存 储 的 字<br />
符 , 如 果 全 部 匹 配 成 功 , 在 第 一 条 带 上 继 续 右 移 . 匹 配 成 功<br />
后 在 第 一 条 带 上 看 到 空 格 接 受 , 如 果 不 为 空 格 , 继 续 扫 描 输<br />
入 .
Chap8 - 8.5.1<br />
非 形 式 化 但 清 楚 地 描 述 接 受 下 列 语 言 的 计 数 器 机 器 . 在 每<br />
种 情 况 下 都 使 用 尽 可 能 少 的 计 数 器 , 但 不 超 过 两 个 计 数 器 .<br />
a) {0 n 1 m | n ≥ m ≥ 1}. c) {a i b j c k | i = j 或 i = k}.<br />
a) 用 一 个 计 数 器 , 初 始 值 为 0. 每 读 入 一 个 字 符 ’0’, 计 数 器<br />
加 1, 每 读 入 一 个 字 符 ’1’, 计 数 器 减 1. 当 读 完 所 有 字 符 , 如 果<br />
计 数 器 的 值 为 0, 则 接 受 .<br />
c) 使 用 两 个 计 数 器 , 计 数 器 1 和 2, 初 始 值 均 为 0. 每 读 入 一 个<br />
字 符 a, 计 数 器 1 和 2 均 加 1. 每 读 入 一 个 字 符 b, 计 数 器 1 减 1,<br />
当 读 完 所 有 字 符 b 后 , 计 数 器 1 的 值 为 0 时 , 接 受 . 否 则 , 比<br />
较 i 和 k 的 值 , 也 即 每 读 入 一 个 字 符 c, 计 数 器 2 减 1. 当 读 完 所<br />
有 字 符 , 计 数 器 2 的 值 为 0 时 , 接 受 .
Chap10 - 10.1.3<br />
假 设 存 在 一 个 NP 完 全 问 题 , 这 个 问 题 具 有 花 费 O(n log 2n ) 时 间<br />
的 确 定 型 解 法 . 注 意 , 这 个 函 数 介 于 多 项 式 与 指 数 之 间 , 并<br />
且 不 属 于 这 两 类 函 数 . 关 于 NP 中 任 意 问 题 的 运 行 时 间 , 能 得<br />
出 什 么 结 论 ?.<br />
由 NP 完 全 的 定 义 , 若 L 是 NP 完 全 问 题 , 则 对 于 任 意 L ′ ∈ NP,<br />
L’ 可 以 在 多 项 式 时 间 p(n) 内 归 约 到 L. 也 即 , 若 某 个 NP 完 全<br />
问 题 L 具 有 花 费 O(n log 2n ) 时 间 的 确 定 型 解 法 , 对 于 任 意<br />
的 NP 问 题 L’ 具 有 花 费<br />
O(p(n) + (p(n) log 2p(n) )) = O(p(n) klog 2n ) = O(n clog 2n )<br />
的 确 定 型 解 法 . 其 中 , c 为 常 量 .
Chap10 - 10.2.2<br />
假 设 G 是 四 个 顶 点 1, 2, 3, 4 的 图 . 设 对 于 1 ≤ i < j ≤ 4, x ij 是<br />
命 题 变 元 , 把 x ij 解 释 成 说 ” 在 顶 点 i 和 j 之 间 存 在 一 条 边 ”. 在<br />
这 四 个 顶 点 上 的 任 何 图 都 能 表 示 成 赋 值 . 例 如 , 图 10-1 中 的<br />
图 表 示 成 : 让 x 14 为 假 而 其 他 三 个 变 元 为 真 . 能 把 只 涉 及 到 边<br />
的 存 在 或 不 存 在 的 任 何 性 质 都 表 示 成 布 尔 表 达 式 , 这 个 布 尔<br />
表 达 式 为 真 当 且 仅 当 对 变 元 的 赋 值 描 述 了 具 有 这 个 性 质 的<br />
图 . 写 出 下 面 这 些 性 质 的 表 达 式 . a) G 有 哈 密 顿 回 路 . b)<br />
G 是 连 通 的 .<br />
a) 四 个 顶 点 的 图 的 哈 密 顿 回 路 仅 有 3 种 , 分 别 为 (1,2,3,4),<br />
(1,3,2,4), 和 (1,3,4,2). 则 G 有 哈 密 顿 回 路 对 应 的 布 尔 表 达 式<br />
为 : x 12 x 23 x 34 x 14 + x 13 x 23 x 24 x 14 + x 13 x 34 x 24 x 12 .<br />
b) (x 12 x 23 x 34 + x 12 x 23 x 14 + x 12 x 34 x 14 + x 23 x 34 x 14 )<br />
+(x 12 x 13 x 14 + x 12 x 23 x 24 + x 13 x 34 x 23 + x 34 x 24 x 14 )<br />
+(x 12 x 24 x 34 + x 12 x 13 x 34 + x 14 x 24 x 23 + x 14 x 13 x 23 ).
Chap10 - 10.4.7<br />
一 个 图 G 的 k 团 是 G 的 k 个 顶 点 的 集 合 , 使 得 这 个 集 合 中 每 对<br />
顶 点 之 间 都 有 边 . 因 此 , 2 团 就 是 用 边 连 接 的 2 个 顶 点 , 3 团 就<br />
是 三 角 形 . CLIQUE 问 题 是 : 给 定 一 个 图 G 和 常 数 k, G 有 没<br />
有 k 团 ? a) 对 于 图 10-1 中 的 图 G, 满 足 CLIQUE 的 最 大 k 是 多<br />
少 ? b) 作 为 k 的 函 数 , 一 个 k 团 有 多 少 条 边 ? c) 通 过 把 顶 点<br />
覆 盖 问 题 归 约 到 CLIQUE 来 证 明 : CLIQUE 是 NP 完 全 的 .<br />
a) k = 3, 例 如 顶 点 集 合 {1, 2, 3}.<br />
b) 边 数 为 k(k − 1)/2.<br />
c) 对 于 任 意 图 G 的 k 顶 覆 盖 问 题 , 考 虑 图 G 的 补 图 G ′ , 也 即 若<br />
边 (u, v) ∈ G, 则 (u, v) /∈ G ′ . 下 面 将 证 明 图 G 具 有 k 顶 覆<br />
盖 ⇐⇒ 在 图 G ′ 中 具 有 n − k 团 , 其 中 n 为 图 G 中 的 节 点 数 目 .
⇒ 假 设 C 是 规 模 为 k 的 图 G 的 顶 点 覆 盖 ,<br />
则 C ′ = V (G) − C 为 G ′ 的 n − k 团 . 原 因 在 于 , 如 果 C ′ 不<br />
是 G ′ 的 n − k 团 , 则 必 存 在 顶 点 u, v ∈ C ′ , (u, v) /∈ E(G ′ ). 由<br />
于 G ′ 为 G 的 补 图 , 则 有 (u, v) ∈ E(G). 然 而 由 u, v ∈ C ′ 可<br />
知 u, v /∈ C, 则 C 不 为 G 的 k 顶 覆 盖 , 因 为 C 没 有 覆 盖 到<br />
边 (u, v). 矛 盾 .<br />
因 此 , 若 C 是 规 模 为 k 的 图 G 的 顶 点 覆 盖 ,<br />
则 C ′ 是 G ′ 的 n − k 团 .<br />
⇐ 同 理 , 假 设 C ′ 是 G ′ 的 n − k 团 , 则 C 为 图 G 的 k 顶 覆 盖 . 原 因<br />
在 于 , 如 果 C 不 为 G 的 k 顶 覆 盖 , 则 在 图 G 中 存 在 边 (u, v), 但<br />
是 顶 点 u, v /∈ C, 也 即 u, v ∈ C ′ . 然 而 (u, v) ∈ E(G),<br />
(u, v) /∈ E(G ′ ), 这 与 C ′ 是 G ′ 的 n − k 团 矛 盾 .<br />
因 此 , 若 C ′ 是 G ′ 的 n − k 团 , 则 C 是 规 模 为 k 的 图 G 的 顶 点 覆<br />
盖 .<br />
由 上 述 证 明 可 知 , 顶 点 覆 盖 问 题 可 以 在 多 项 式 时 间 内 归 约<br />
到 CLIQUE 问 题 . 由 于 顶 点 覆 盖 问 题 是 NP 完 全 的 , 可<br />
知 CLIQUE 问 题 也 是 NP 完 全 的 .
Chap11 - 11.1.1<br />
下 面 是 一 些 问 题 . 辨 别 每 个 问 题 是 否 属 于 NP 以 及 是 否 属<br />
于 co-NP, 描 述 每 个 问 题 的 补 . 如 果 问 题 或 问 题 的 补 是 NP 完<br />
全 的 , 还 要 进 行 证 明 . a) TRUE-SAT 问 题 : 给 定 布 尔 表 达 式 E,<br />
当 全 部 变 元 都 为 真 时 E 为 真 , 是 否 存 在 变 元 不 都 为 真 的 某 个<br />
其 他 赋 值 使 E 为 真 .<br />
a) TRUE-SAT 问 题 属 于 NP 问 题 . 先 验 证 E 在 所 有 变 元 为 真 时<br />
是 否 为 真 ( 多 项 式 时 间 内 可 完 成 ), 之 后 对 其 他 赋 值 情 况 进 行<br />
猜 测 , 只 要 找 到 某 个 变 元 并 非 全 为 真 的 赋 值 使 得 E 为 真 ,<br />
NTM 接 受 .<br />
该 问 题 的 补 为 变 元 赋 值 全 为 真 时 , E 为 假 以 及 仅 当 变 元 赋 值<br />
为 真 时 E 为 真 , E 对 其 他 赋 值 均 为 假 .<br />
该 问 题 是 NP 完 全 的 , 将 SAT 问 题 归 约 到 该 问 题 .<br />
令 表 达 式 E 是 SAT 问 题 的 一 个 实 例 , 含 有 变 元 x 1 , x 2 , . . . , x n .<br />
若 在 所 有 变 元 赋 值 为 真 时 , E 为 真 . 令 z 为 在 E 中 未 出 现 的 变<br />
元 , E ′ = E(z + ¯z). 可 知 E ′ ∈ TRUE − SAT .
否 则 ( 若 在 所 有 变 元 赋 值 为 真 时 , E 为 假 ),<br />
令 E ′ = E + x 1 x 2 . . . x n , 可 知 E ′ 对 全 真 赋 值 为 真 , 若 E ∈ SAT ,<br />
可 存 在 一 个 非 全 真 的 赋 值 使 得 E 为 真 ( 已 知 E 在 全 真 赋 值 下 为<br />
假 ), 也 即 存 在 一 组 非 全 真 赋 值 使 得 E ′ 为 真 , 可<br />
知 E ′ ∈ TRUE − SAT . 反 之 , 若 E ′ ∈ TRUE − SAT 可<br />
知 E ∈ SAT . 由 上 述 可 知 SAT 问 题 可 在 多 项 式 时 间 归 约<br />
到 TRUE-SAT 问 题 , 也 即 TRUE-SAT 问 题 是 NP 完 全 的 .
c) DOUBLE-SAT 问 题 : 给 定 布 尔 表 达 式 E, 是 否 只 是 存 在 两<br />
个 赋 值 使 E 为 真 .<br />
c) DOUBLE-SAT 问 题 属 于 NP 问 题 , 对 表 达 式 的 赋 值 进 行 两<br />
次 猜 测 并 验 证 .<br />
该 问 题 的 补 为 表 达 式 E 对 任 意 赋 值 均 为 假 以 及 仅 存 在 唯 一 一<br />
组 赋 值 使 得 E 为 真 .<br />
DOUBLE-SAT 问 题 是 NP 完 全 的 , 将 SAT 问 题 归 约<br />
到 DOUBLE-SAT 问 题 .<br />
令 E 为 SAT 问 题 的 一 个 实 例 , z 为 在 E 中 未 出 现 的 变 元 . 则 表<br />
达 式 E ′ = E(z + ¯z) 在 E 为 真 , z 赋 以 任 意 值 时 为 真 . 可 知 E’ 对<br />
至 少 两 个 赋 值 为 真 . E ′ ∈ DOUBLE − SAT .<br />
由 上 述 可 知 SAT 问 题 可 在 多 项 式 时 间 归 约<br />
到 DOUBLE-SAT 问 题 , 也 即 DOUBLE-SAT 问 题 是 NP 完 全 的 .
Chap11 - 11.3.1<br />
通 过 处 理 以 下 情 形 完 成 定 理 11.10 的 证 明 . a) F = F 1 F 2 .<br />
a) 同 书 P339.<br />
(1) 把 F 1 自 身 的 记 录 放 到 F 的 记 录 右 方 的 记 录 中 .<br />
(2) 递 归 的 对 F 1 求 值 .<br />
(3) 如 果 F 1 的 值 为 0, 就 返 回 值 0 作 为 F 的 值 .<br />
(4) 如 果 F 1 的 值 为 1, 就 把 F 1 的 记 录 换 成 F 2 的 记 录 并 且 递 归 地<br />
对 F 2 求 值 .<br />
(5) 把 F 2 返 回 的 任 何 值 都 作 为 F 的 值 返 回 .