III.2

Машины Тьюринга

[25/96%]
Показать
LaTeX
Задача III.2.1

Какую функцию f(x)f(x) вычисляет машина TT со следующей программой команд:

q10→q20R,q11→q01,q20→q01,q21→q21R ? q_{1}0 \to q_{2}0R, \qquad q_{1}1 \to q_{0}1, \qquad q_{2}0 \to q_{0}1, \qquad q_{2}1 \to q_{2}1R \, ?
?
Задача III.2.2

Пусть машина TT имеет следующую программу:

q10→q00. q_{1}0 \to q_{0}0.

Какие функции f1(x),f2(x1,x2),…,fn(x1,…,xn),…f_{1}(x), f_{2}(x_{1}, x_{2}), \ldots , f_{n}(x_{1}, \ldots , x_{n}), \ldots вычисляет эта машина?

?
Задача III.2.3

Построить машину Тьюринга, которая правильно вычисляет функцию f(x)=x+1f(x) = x+1.

?
Задача III.2.4

Построить машину Тьюринга, которая правильно вычисляет функцию o(x)=0o(x) = 0.

?
Задача III.2.5

Построить следующие машины Тьюринга:

  1. Перенос нуля: q1001x0∣⇒Аq001x00q_{1}001^{x}0 \mid \Rightarrow_{А} q_{0}01^{x}00.

  2. Правый сдвиг: q1001x0∣⇒Б+01xq00q_{1}001^{x}0 \mid \Rightarrow_{Б^{+}} 01^{x}q_{0}0.

  3. Левый сдвиг: 01xq10∣⇒Б−q001x001^{x}q_{1}0 \mid \Rightarrow_{Б^{-}} q_{0}01^{x}0.

  4. Транспозиция: 01xq101y0∣⇒В01yq001x001^{x}q_{1}01^{y}0 \mid \Rightarrow_{В} 01^{y}q_{0}01^{x}0.

  5. Удвоение: q101x0⇒Гq001x01x0q_{1}01^{x}0 \Rightarrow_{Г} q_{0}01^{x}01^{x}0.

  6. Циклический сдвиг: q101x101x2…01xn0∣⇒Цnq001x2…01xn01x10q_{1}01^{x_{1}}01^{x_{2}}\ldots 01^{x_{n}}0 \mid \Rightarrow_{\text{Ц}_{n}} q_{0}01^{x_{2}}\ldots 01^{x_{n}}01^{x_{1}}0.

  7. Копирование: q101x1…01xn0⇒Кnq001x1…01xn01x1…01xn0q_{1}01^{x_{1}}\ldots 01^{x_{n}}0 \Rightarrow_{\text{К}_{n}} q_{0}01^{x_{1}}\ldots 01^{x_{n}}01^{x_{1}}\ldots 01^{x_{n}}0.

?
Задача III.2.6

Построить машину Тьюринга, которая правильно вычисляет функцию Imn(x1,…,xn)I_{m}^{n}(x_{1}, \ldots , x_{n}) (где 1≤m≤n1 \leq m \leq n).

?
Задача III.2.7
?
(а)

Пусть функции f(x)f(x) и g(x)g(x) правильно вычислимы по Тьюрингу. Показать, что функция h(x)=f(g(x))h(x) = f(g(x)) правильно вычислима по Тьюрингу.

(б)

Пусть функции f(x1,…,xn)f(x_{1}, \ldots , x_{n}) и g1(x1,…,xm),…,gn(x1,…,xm)g_{1}(x_{1}, \ldots , x_{m}), \ldots , g_{n}(x_{1}, \ldots , x_{m}) правильно вычислимы по Тьюрингу. Показать, что функция h(x1,…,xn)=f(g1(x1,…,xm),…,gn(x1,…,xm))h(x_{1}, \ldots , x_{n}) = f(g_{1}(x_{1}, \ldots , x_{m}), \ldots , g_{n}(x_{1}, \ldots , x_{m})) правильно вычислима по Тьюрингу.

Задача III.2.8

Построить машину Тьюринга для правильного вычисления функций:

?
(а)

x+yx+y;

(б)

x\symdiff1x \symdiff 1;

(в)

sg⁡(x)\operatorname {sg}(x);

(г)

sg⁡‾(x)\overline{\operatorname {sg}}(x);

(д)

x\symdiffyx \symdiff y;

(е)

x−yx - y;

(ж)

x2\dfrac {x}{2};

(з)

[x2]\left[\dfrac {x}{2}\right].

Задача III.2.9

Доказать, что:

?
(а)

если функция fn+1f^{n+1} получается из правильно вычислимых по Тьюрингу функций gng^{n} и hn+2h^{n+2} с помощью примитивной рекурсии, то fn+1f^{n+1} правильно вычислима по Тьюрингу;

(б)

если функция fnf^{n} получается из правильно вычислимой по Тьюрингу функции gn+1g^{n+1} с помощью μ\mu-оператора, то fnf^{n} правильно вычислима по Тьюрингу.

Задача III.2.10

Доказать, что любая частично рекурсивная функция правильно вычислима по Тьюрингу.

?
Задача III.2.11

Доказать, что существуют примитивно рекурсивные функции α,β,γ\alpha , \beta , \gamma такие, что:

?
(а)

α(x,y)=λ(T1⋅T2)\alpha (x, y) = \lambda (T_{1} \cdot T_{2}), если λ(T1)=x\lambda (T_{1}) = x и λ(T2)=y\lambda (T_{2}) = y;

(б)

β(x)=λ(T)\beta (x) = \lambda (T) для некоторой машины TT, перерабатывающей слово q10q_{1}0 в слово q101x0q_{1}01^{x}0;

(в)

γ(x,y,z)=λ(T1{qi=T2qj=T3)\gamma (x, y, z) = \lambda \left(T_{1}\begin{cases} q_{i} = T_{2} \\ q_{j} = T_{3} \end{cases}\right), если λ(T1)=x\lambda (T_{1}) = x, λ(T2)=y\lambda (T_{2}) = y, λ(T3)=z\lambda (T_{3}) = z.

Задача III.2.12

Построить примитивно рекурсивные функции γn(x1,…,xn)\gamma^{n}(x_{1}, \ldots , x_{n}) такие, что

ν(q101x1…01xn0)=γn(x1,…,xn). \nu (q_{1}01^{x_{1}}\ldots 01^{x_{n}}0) = \gamma ^{n}(x_{1}, \ldots , x_{n}).
?
Задача III.2.13

Построить примитивно рекурсивную функцию ρ(s,k,l,u,ν)\rho (s, k, l, u, \nu ) удовлетворяющую условию: если u=kl(A)u = k_{l}(A), ν=kr(B)\nu = k_{r}(B), 0≤s≤20 \leq s \leq 2, то ρ(s,k,l,u,ν)=ν((AqiajB)T′)\rho (s, k, l, u, \nu ) = \nu ((Aq_{i}a_{j}B)_{T}'), где T(i,j)T(i,j) есть qiaj→qkalq_{i}a_{j} \to q_{k}a_{l} при s=0s=0, qiaj→qkalLq_{i}a_{j} \to q_{k}a_{l}L при s=1s=1, qiaj→qkalRq_{i}a_{j} \to q_{k}a_{l}R при s=2s=2.

?
Задача III.2.14

Построить примитивно рекурсивную функцию σ(t,i,j,u,ν)\sigma (t, i, j, u, \nu ), удовлетворяющую условию: если u=kl(A)u = k_{l}(A), ν=kr(B)\nu = k_{r}(B), t=λ(T)t = \lambda (T), qiq_{i} входит в алфавит внутренних состояний, а aja_{j} --- во внешний алфавит машины TT, то σ(t,i,j,u,ν)=ν((AqiajB)T′)\sigma (t, i, j, u, \nu ) = \nu ((Aq_{i}a_{j}B)_{T}').

?
Задача III.2.15

Построить примитивно рекурсивную функцию τ(t,x)\tau (t, x), удовлетворяющую условию: если t=λ(T)t = \lambda (T), x=ν(M)x = \nu (M), где M=AqiajBM = Aq_{i}a_{j}B --- машинное слово в алфавите машины TT, то τ(t,x)=ν(MT′)\tau (t,x) = \nu (M_{T}').

?
Задача III.2.16

Построить примитивно рекурсивную функцию w(t,x,y)w(t, x, y), удовлетворяющую условию: если t=λ(T)t = \lambda (T), x=ν(M)x = \nu (M), где MM --- машинное слово в алфавите машины TT, то w(t,x,y)=ν(MT(y))w(t, x, y) = \nu (M_{T}^{(y)}).

?
Задача III.2.17

Построить примитивно рекурсивную функцию ε(x)\varepsilon (x), удовлетворяющую условию: если x=ν(M)x = \nu (M), то ε(x)\varepsilon (x) есть число вхождений символа a1a_{1} в слово MM.

?
Задача III.2.18

Доказать, что если машина TT вычисляет f(x1,…,xn)f(x_{1}, \ldots , x_{n}) и t0=λ(T)t_{0} = \lambda (T), то:

?
(а)

⟨x1,…,xn⟩∈δf⇔ex⁡(1,w(t0,γn(x1,…,xn),y))=0\langle x_{1}, \ldots , x_{n} \rangle \in \delta_{f} \Leftrightarrow \operatorname {ex}(1, w(t_{0}, \gamma^{n}(x_{1}, \ldots , x_{n}), y)) = 0 для некоторого yy;

(б)

f(x1,…,xn)=ε(w(t0,γn(x1,…,xn),hn+1(t0,x1,…,xn)))f(x_{1}, \ldots , x_{n}) = \varepsilon (w(t_{0}, \gamma^{n}(x_{1}, \ldots , x_{n}), h^{n+1}(t_{0}, x_{1}, \ldots , x_{n}))), где hn+1(t0,x1,…,xn)=μy[ex⁡(1,w(t0,γn(x1,…,xn),y))=0]h^{n+1}(t_{0}, x_{1}, \ldots , x_{n}) = \mu y \left[\operatorname {ex}(1, w(t_{0}, \gamma^{n}(x_{1}, \ldots , x_{n}), y)) = 0\right], а функции γ,w\gamma , w и ε\varepsilon взяты из задач III.2.12, III.2.16 и III.2.17.

Задача III.2.19

Доказать, что любая вычислимая по Тьюрингу функция частично рекурсивна.

?
Задача III.2.20

Доказать, что функция вычислима по Тьюрингу тогда и только тогда, когда существует машина Тьюринга с внешним алфавитом {0,1}\left\{ 0,1\right\}, вычисляющая эту функцию.

?
Задача III.2.21

Доказать, что существует двуместная частично рекурсивная функция U(t,x)U(t, x), универсальная для семейства всех одноместных частично рекурсивных функций.

?
Задача III.2.22

Доказать, что существует (n+1)(n+1)-местная частично рекурсивная функция Un+1(t,x1,…,xn)U^{n+1}(t, x_{1}, \ldots , x_{n}), универсальная для семейства всех nn-местных частично рекурсивных функций.

?
Задача III.2.23

Доказать, что следующие функции не являются частично рекурсивными:

?
(а)

h(x,y)={1,если x есть номер машины T и машина T останавливается, начиная работу с машинного слова q101y0,0в противном случае;h(x, y) = \begin{cases} 1, & \text{если } x \text{ есть номер машины } T \text{ и машина } T \text{ останавливается, начиная работу с машинного слова } q_{1}01^{y}0, \\ 0 & \text{в противном случае;} \end{cases}

(б)

g(x)=h(x,x)g(x) = h(x,x);

(в)

h0(x)={1,если x есть номер машины T и машина T останавливается, начиная работу с машинного слова q10,0в противном случае.h_{0}(x) = \begin{cases} 1, & \text{если } x \text{ есть номер машины } T \text{ и машина } T \text{ останавливается, начиная работу с машинного слова } q_{1}0, \\ 0 & \text{в противном случае.} \end{cases}

Задача III.2.24

Доказать, что существует примитивно рекурсивная функция S(z,x,y,w)S(z, x, y, w) такая, что

S(z,x,y,w)={1,если z=λ(T) и машина T перерабатывает слово q101x0 в слово q001y0…0 не более чем за w шагов,0в противном случае. S(z, x, y, w) = \begin{cases} 1, & \text{если } z = \lambda (T) \text{ и машина } T \text{ перерабатывает слово } q_{1}01^{x}0 \text{ в слово } q_{0}01^{y}0\ldots 0 \text{ не более чем за } w \text{ шагов,} \\ 0 & \text{в противном случае.} \end{cases}
?
Задача III.2.25

Доказать, что существуют примитивно рекурсивные функции p,T1,T2,…p, T_{1}, T_{2}, \ldots такие, что:

?
(а)

U(m,x)=p(μy[T1(m,x,y)=0])U(m, x) = p(\mu y \left[T_{1}(m, x, y) = 0\right]);

(б)

Un+1(m,x1,…,xn)=p(μy[Tn(m,x1,…,xn,y)=0])U^{n+1}(m, x_{1}, \ldots , x_{n}) = p(\mu y \left[T_{n}(m, x_{1}, \ldots , x_{n}, y) = 0\right]).