6.4

Недетерминированные машины Тьюринга

[12/25%]
Показать
LaTeX
Пример 6.22

Пусть L={ai1bai2b⋯baikbbaj∣i1,…,ik,j>0,∑r∈Air=j для некоторого A⊆{1,2,…,k}}L=\left\{ a^{i_{1}} b a^{i_{2}} b \cdots b a^{i_{k}} b b a^{j} \mid i_{1}, \ldots , i_{k}, j>0, \sum_{r \in A} i_{r}=j\text{ для некоторого }A \subseteq \left\{ 1,2, \ldots , k\right\} \right\}. Постройте НМТ, допускающую язык LL.

?
Пример 6.30

Покажите, что NSPACE⁡(n)⊆≠NSPACE⁡(n2log⁡n)\operatorname {NSPACE}(n) \underset {\neq }{\subseteq } \operatorname {NSPACE}(n^{2} \log n).

?
Пример 6.32

Покажите, что NSPACE (n)⊆≠NSPACE⁡(n1.5)(n) \underset {\neq }{\subseteq } N \operatorname {SPACE}\left(n^{1.5}\right).

?
Задача 6.4.1

Постройте многоленточные НМТ, допускающие следующие языки за время t(n)=2nt(n)=2 n:

?
(a)

L1={ai1bai2b⋯baik∣i1,i2,…,ik≥0,k≥3,ir=is=it для некоторых 1≤r<s<t≤k}L_{1}=\left\{ a^{i_{1}} b a^{i_{2}} b \cdots b a^{i_{k}} \mid i_{1}, i_{2}, \ldots , i_{k} \geq 0, k \geq 3, i_{r}=i_{s}=i_{t}\text{ для некоторых }1 \leq r<s<t \leq k\right\}.

(b)

L2={x1cx2c⋯cxmccy∣x1,…,xm,y∈{a,b}∗,(∃i1,…,ik)[1≤i1<⋯<ik≤m,xi1xi2⋯xik=y]}L_{2}=\left\{ x_{1} c x_{2} c \cdots c x_{m} c c y \mid x_{1}, \ldots , x_{m}, y \in \left\{ a, b\right\}^{*},\left(\exists i_{1}, \ldots , i_{k}\right)[1 \leq \left.i_{1}<\cdots <i_{k} \leq m, x_{i_{1}} x_{i_{2}} \cdots x_{i_{k}}=y\right]\right\}.

Задача 6.4.2
?
(a)

Регулярное выражение rr называется беззвёздным регулярным выражением, если оно не содержит символ * (звезду Клини). Покажите, что задача определения того, не эквивалентны ли два беззвёздных регулярных выражения r1r_{1} и r2r_{2} (то есть, верно ли L(r1)≠L(r2)L\left(r_{1}\right) \neq L\left(r_{2}\right)), принадлежит NPN P.

(b)

Покажите, что задача определения того, не эквивалентны ли два регулярных выражения, принадлежит NSPACE⁡(n)\operatorname {NSPACE}(n).

(c)

Расширенное регулярное выражение — это регулярное выражение, в котором может использоваться дополнительная операция пересечения (обозначаемая ∩\cap). Покажите, что задача определения того, не эквивалентны ли два расширенных регулярных выражения, принадлежит ⋃c>0NSPACE⁡(2cn)\bigcup_{c>0} \operatorname {NSPACE}\left(2^{c n}\right).

Задача 6.4.3

В доказательстве теоремы 6.27 предикат reach⁡(α1,α2,2i)\operatorname {reach}\left(\alpha_{1}, \alpha_{2}, 2^{i}\right) решался детерминированным рекурсивным алгоритмом. Преобразуйте его в эквивалентный нерекурсивный алгоритм, использующий память O((s(n))2)O\left((s(n))^{2}\right).

(reach⁡(α1,α2,k)\operatorname {reach}\left(\alpha_{1}, \alpha_{2}, k\right) обозначает предикат, что MM может перейти от конфигурации α1\alpha_{1} к конфигурации α2\alpha_{2} не более чем за kk ходов. Доказательство теоремы 6.27 определяет reach⁡(α1,α2,2i)\operatorname {reach}\left(\alpha_{1}, \alpha_{2}, 2^{i}\right) рекурсивно: если i=0i=0, оно возвращает ДА тогда и только тогда, когда α1⊢α2\alpha_{1} \vdash \alpha_{2} или α1=α2\alpha_{1}=\alpha_{2}; если i≥1i \geq 1, оно возвращает ДА тогда и только тогда, когда для некоторой конфигурации α3\alpha_{3} выполнены оба предиката reach⁡(α1,α3,2i−1)\operatorname {reach}\left(\alpha_{1}, \alpha_{3}, 2^{i-1}\right) и reach⁡(α3,α2,2i−1)\operatorname {reach}\left(\alpha_{3}, \alpha_{2}, 2^{i-1}\right), что проверяется рекурсивным вызовом того же алгоритма для каждого из них.)

?
Задача 6.4.4

Покажите, что класс сложности NP замкнут относительно объединения, пересечения, конкатенации и замыкания Клини.

?
Задача 6.4.5

Покажите, что для любых вещественных чисел r≥1r \geq 1 и 0<ϵ<10<\epsilon <1,

NSPACE⁡(nr)≠⊂NSPACE⁡(nr+ϵ). \operatorname {NSPACE}\left(n^{r}\right) \stackrel{\subset }{\neq } \operatorname {NSPACE}\left(n^{r+\epsilon }\right).
?
Задача 6.4.6
?
(a)

Покажите, что лемма 6.31 по-прежнему верна, если заменить условия s2(n)≥ns_{2}(n) \geq n и f(n)≥nf(n) \geq n на s2(n)≥log⁡ns_{2}(n) \geq \log n и log⁡(f(n))=O(s2(n))\log (f(n))= O\left(s_{2}(n)\right). [Подсказка: заметим, что НМТ M3M_{3} может моделировать M2M_{2} на входе y=xSf(∣x∣)−∣x∣y=x S^{f(\left|x\right|)-\left|x\right|}, не выписывая строку yy на второй ленте. Вместо этого она может просто записывать на второй ленте позицию kk головки входной ленты M2M_{2} и использовать kk, чтобы определить, какой входной символ сканирует головка ленты M2M_{2}.]

(b)

Покажите, что для любых вещественных чисел r>0r>0 и 0<ϵ<10<\epsilon <1,

NSPACE⁡(nr)≠⊂NSPACE⁡(nr+ϵ). \operatorname {NSPACE}\left(n^{r}\right) \stackrel{\subset }{\neq } \operatorname {NSPACE}\left(n^{r+\epsilon }\right).
Задача 6.4.7

Покажите, что если t1(n),t2(n)t_{1}(n), t_{2}(n) и f(n)f(n) — вполне временно-конструируемые функции с t2(n)≥nt_{2}(n) \geq n и f(n)≥nf(n) \geq n, то NTIME⁡(t1(n))⊆NTIME⁡(t2(n))\operatorname {NTIME}\left(t_{1}(n)\right) \subseteq \operatorname {NTIME}\left(t_{2}(n)\right) влечёт NTIME⁡(t1(f(n)))⊆NTIME⁡(t2(f(n)))\operatorname {NTIME}\left(t_{1}(f(n))\right) \subseteq \operatorname {NTIME}\left(t_{2}(f(n))\right).

?
Задача 6.4.8
?
(a)

Покажите, что EXP≠NPE X P \neq N P.

(b)

Покажите, что EXP ≠⋃c>0DTIME⁡(2nc)\neq \bigcup_{c>0} \operatorname {DTIME}\left(2^{n^{c}}\right).

Задача 6.4.9

Покажите, что если P=NPP=N P, то

⋃c>0DTIME⁡(2nc)=⋃c>0NTIME⁡(2nc). \bigcup _{c>0} \operatorname {DTIME}\left(2^{n^{c}}\right)=\bigcup _{c>0} \operatorname {NTIME}\left(2^{n^{c}}\right).
?