66、证明如果A属于P类,则P^A = P。
一般而言,证明 $ P^A = P $(其中 $ A \in P $)可以从以下思路进行:
- 首先明确,$ P $ 类是在多项式时间内可由确定性图灵机判定的语言类。
- $ P^A $ 类是在多项式时间内可由带 $ A $ 的神谕的确定性图灵机判定的语言类。
因为 $ A \in P $,所以存在一个确定性图灵机 $ M_A $,能在多项式时间 $ p(n) $ 内判定 $ A $。
对于任意语言 $ L \in P^A $,存在一个带 $ A $ 的神谕的确定性图灵机 $ M $,能在多项式时间 $ q(n) $ 内判定 $ L $。
在 $ M $ 运行过程中,当需要询问神谕时,我们可以用 $ M_A $ 来模拟神谕的回答:
- 由于 $ M_A $ 运行时间是多项式 $ p(n) $,
- 且 $ M $ 询问神谕的次数最多为 $ q(n) $ 次,
所以总的模拟时间是关于输入长度的多项式。
这表明存在一个确定性图灵机(即结合 $ M $ 和 $ M_A $ 模拟的机器)能在多项式时间内判定 $ L $,所以 $ L \in P $。
由于 $ L $ 是 $ P^A $ 中任意的语言,所以 $ P^A \subseteq P $。
又因为显然 $ P \subseteq P^A $,所以 $ P^A = P $。
67、给出带有指数运算的正则表达式,用于生成字母表 {0, 1} 上所有长度为 500 的字符串。
(0 ∪ 1)^500
68、给出带有指数运算的正则表达式,用于生成字母表 {0, 1} 上长度为 500 或更短的所有字符串。
正则表达式可以写为 ((0|1)^(0|1|...|500)) ,其中 (0|1) 表示 0 或 1, ^(0|1|..

最低0.47元/天 解锁文章
982

被折叠的 条评论
为什么被折叠?



