11.11.2014 Views

Chap2

Chap2

Chap2

SHOW MORE
SHOW LESS

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 的 值 返 回 .

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!