24

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

[25/100%]
Показать
LaTeX
Задача 584

Дана машина Тьюринга M=({q,p,r},{Λ,0,1},P,q)\mathfrak {M}=(\left\{ q, p, r\right\} ,\left\{ \Lambda , 0,1\right\} , P, q) со следующей программой P={q,0→q,0,+1;q,1→q,1,+1;q,Λ→p,Λ,−1;p,0→p,1,−1;p,1→r,0,−1;r,0→r,0,−1;r,1→r,1,−1}P=\left\{ q, 0 \rightarrow q, 0,+1 ; q, 1 \rightarrow q, 1,+1 ; q, \Lambda \rightarrow p, \Lambda ,-1 ; p, 0 \rightarrow p, 1,-1 ; p, 1 \rightarrow r, 0,-1 ; r, 0 \rightarrow r, 0,-1 ; r, 1 \rightarrow r, 1,-1\right\}. Какой будет заключительная конфигурация этой машины при работе на входе 1100? Сколько шагов при этом будет сделано? ⊛\circledast

?
Задача 585

Имеются три машины Тьюринга Mi=(Q,Σ,Pi,q),i=1,2,3\mathfrak {M}_{i}=\left(Q, \Sigma , P_{i}, q\right), i=1,2,3, которые имеют общие алфавит ленты Σ={Λ,a,b}\Sigma =\left\{ \Lambda , a, b\right\}, множество состояний Q={q,p,r,s,t}Q=\left\{ q, p, r, s, t\right\} и начальное состояние qq. Их программы PiP_{i} представлены в таблицах на рис. 38 на следующей странице. Определить, какие из этих машин переводят любое входное слово вида a2nba^{2 n} b, n>0n>0, в выходное banb a^{n}. ⊛\circledast

Рис. 38: Программы машин из задачи 585.Рис. 38: Программы машин из задачи 585.

Рис. 38: Программы машин из задачи 585.Рис. 38: Программы машин из задачи 585.

?
Задача 586

Пусть Σ\Sigma — произвольный алфавит, не содержащий Λ\Lambda. Требуется построить машину Тьюринга C\mathfrak {C}, которая меняет местами два аргумента, точнее переводит любой вход вида xΛyx \Lambda y (xx и yy — слова в алфавите Σ)\Sigma ) в выход yΛxy \Lambda x со стандартной заключительной конфигурацией.

Определить, какие из следующих программ можно использовать для машины C\mathfrak {C}. В текстах программ q0q_{0} — начальное состояние, α,β\alpha , \beta — это произвольные символы из Σ,γ,δ\Sigma , \gamma , \delta — это произвольные символы из Σ∪{u,v}\Sigma \cup \left\{ u, v\right\}, где u,vu, v — новые символы.

?
(а)

P1={q0,α→q1α,Λ,+1;q1α,β→q1α,β,+1;q1α,Λ→q2,α,+1;q2,α→q3α,Λ,−1;q2,Λ→q4,Λ,−1;q3α,β→q3α,β,−1;q3α,Λ→q0,α,+1;q4,α→q4,α,−1;q4,Λ→q5,Λ,−1;q5,α→q5,α,−1;q5,Λ→q6,Λ,+1};P_{1}=\left\{ q_{0}, \alpha \rightarrow q_{1}^{\alpha }, \Lambda ,+1 ; q_{1}^{\alpha }, \beta \rightarrow q_{1}^{\alpha }, \beta ,+1 ; q_{1}^{\alpha }, \Lambda \rightarrow q_{2}, \alpha ,+1 ; q_{2}, \alpha \rightarrow q_{3}^{\alpha }, \Lambda ,-1 ; q_{2}, \Lambda \rightarrow q_{4}, \Lambda ,-1 ; q_{3}^{\alpha }, \beta \rightarrow q_{3}^{\alpha }, \beta ,-1 ; q_{3}^{\alpha }, \Lambda \rightarrow q_{0}, \alpha ,+1 ; q_{4}, \alpha \rightarrow q_{4}, \alpha ,-1 ; q_{4}, \Lambda \rightarrow q_{5}, \Lambda ,-1 ; q_{5}, \alpha \rightarrow q_{5}, \alpha ,-1 ; q_{5}, \Lambda \rightarrow q_{6}, \Lambda ,+1\right\} ;

(б)

P2={q0,α→q0,α,+1;q0,Λ→q1,u,+1;q1,α→q1,α,+1;q1,Λ→q2,v,0;q2,γ→q3γ,Λ,−1;q3γ,δ→q3δ,γ,−1;q3α,Λ→q9α,Λ,+1;q3u,Λ→q6,Λ,+1;q6,α→q6,α,+1;q6,v→q7,Λ,−1;q7,α→q7,α,−1;q7,Λ→q8,Λ,+1;q9α,δ→q9α,δ,+1;q9α,Λ→q2,α,0};P_{2}=\left\{ q_{0}, \alpha \rightarrow q_{0}, \alpha ,+1 ; q_{0}, \Lambda \rightarrow q_{1}, u,+1 ; q_{1}, \alpha \rightarrow q_{1}, \alpha ,+1 ; q_{1}, \Lambda \rightarrow q_{2}, v, 0 ; q_{2}, \gamma \rightarrow q_{3}^{\gamma }, \Lambda ,-1 ; q_{3}^{\gamma }, \delta \rightarrow q_{3}^{\delta }, \gamma ,-1 ; q_{3}^{\alpha }, \Lambda \rightarrow q_{9}^{\alpha }, \Lambda ,+1 ; q_{3}^{u}, \Lambda \rightarrow q_{6}, \Lambda ,+1 ; q_{6}, \alpha \rightarrow q_{6}, \alpha ,+1 ; q_{6}, v \rightarrow q_{7}, \Lambda ,-1 ; q_{7}, \alpha \rightarrow q_{7}, \alpha ,-1 ; q_{7}, \Lambda \rightarrow q_{8}, \Lambda ,+1 ; q_{9}^{\alpha }, \delta \rightarrow q_{9}^{\alpha }, \delta ,+1 ; q_{9}^{\alpha }, \Lambda \rightarrow q_{2}, \alpha , 0\right\} ;

(в)

P3={q0,α→q0,α,+1;q0,Λ→q1,u,−1;q1,α→q1,α,−1;q1,Λ→q2,Λ,+1;q2,α→q3α,v,+1;q3γ,δ→q3δ,γ,+1;q3γ,Λ→q6,γ,0;q6,α→q7α,Λ,−1;q6,u→q8,Λ,−1;q7α,δ→q7α,δ,−1;q7α,Λ→q9α,Λ,+1;q8,α→q8,α,−1;q8,u→q8,Λ,−1;q8,v→q8,Λ,−1;q8,Λ→q4,Λ,+1;q9α,δ→q3δ,α,+1}P_{3}=\left\{ q_{0}, \alpha \rightarrow q_{0}, \alpha ,+1 ; q_{0}, \Lambda \rightarrow q_{1}, u,-1 ; q_{1}, \alpha \rightarrow q_{1}, \alpha ,-1 ; q_{1}, \Lambda \rightarrow q_{2}, \Lambda ,+1 ; q_{2}, \alpha \rightarrow q_{3}^{\alpha }, v,+1 ; q_{3}^{\gamma }, \delta \rightarrow q_{3}^{\delta }, \gamma ,+1 ; q_{3}^{\gamma }, \Lambda \rightarrow q_{6}, \gamma , 0 ; q_{6}, \alpha \rightarrow q_{7}^{\alpha }, \Lambda ,-1 ; q_{6}, u \rightarrow q_{8}, \Lambda ,-1 ; q_{7}^{\alpha }, \delta \rightarrow q_{7}^{\alpha }, \delta ,-1 ; q_{7}^{\alpha }, \Lambda \rightarrow q_{9}^{\alpha }, \Lambda ,+1 ; q_{8}, \alpha \rightarrow q_{8}, \alpha ,-1 ; q_{8}, u \rightarrow q_{8}, \Lambda ,-1 ; q_{8}, v \rightarrow q_{8}, \Lambda ,-1 ; q_{8}, \Lambda \rightarrow q_{4}, \Lambda ,+1 ; q_{9}^{\alpha }, \delta \rightarrow q_{3}^{\delta }, \alpha ,+1\right\}. ⊛\circledast

Задача 587

Построить машину Тьюринга, которая по каждому входному слову вида anbka^{n} b^{k} выдаёт результат a⌊(n+k)/2⌋b⌊(n+k)/2⌋a^{\lfloor (n+k) / 2\rfloor } b^{\lfloor (n+k) / 2\rfloor }. Как работает машина на других входах — несущественно. Оценить время работы построенной машины. ⊛\circledast

?
Задача 588

Построить машину Тьюринга, которая по каждому входному слову вида 0n1k0^{n} 1^{k}, где n>k>0n>k>0, выдаёт результат 0, а для всех остальных слов — результат 1. Оценить время работы построенной машины. ⊛\circledast

?
Задача 589

Построить машину Тьюринга, которая переводит любое входное слово w∈{a,b}∗w \in \left\{ a, b\right\}^{*} в выходное anΛbma^{n} \Lambda b^{m}, где nn — количество букв aa, а mm — количество букв bb в слове ww. Другими словами, выполняется сортировка букв слова с последующим их разделением. Оценить время работы построенной машины. ⊛\circledast

?
Задача 590

Пусть алфавит Σ\Sigma не содержит символов Λ\Lambda и *. Построить программу машины Тьюринга, которая выполняла бы перенос последнего слова на ленте в алфавите Σ\Sigma слева направо в место ленты, отмеченное *. Точнее, из ленты αΛwΛn∗\alpha \Lambda w \Lambda^{n} * должно быть получено αΛΛnw\alpha \Lambda \Lambda^{n} w, где w∈Σ∗w \in \Sigma^{*}. ⊛\circledast

?
Задача 591

Построить машину Тьюринга, выполняющую следующую задачу: по входу, состоящему из одного или нескольких слов w1Λ…Λwnw_{1} \Lambda \ldots \Lambda w_{n} в алфавите Σ\Sigma (возможно, что n=1n=1), построить выход, удвоив последнее из слов: w1Λ…ΛwnΛwnw_{1} \Lambda \ldots \Lambda w_{n} \Lambda w_{n}. ⊛\circledast

?
Задача 592

Доказать, что для любой константы k>1k>1 можно построить машину Тьюринга, которая решает задачу 591 за время не большее n2/k+O(n)n^{2} / k+O(n), где nn — это суммарная длина входных слов. ⊛\circledast

?
Задача 593

Построить машину Тьюринга, сравнивающую два входных слова в алфавите {a,b,c}\left\{ a, b, c\right\} лексикографически. Эта машина Тьюринга должна вычислять словарную функцию: ⊛\circledast

f(x,y)={a, если x<y,b, если x=y,c, если y<x. f(x, y)= \begin{cases} a, & \text{ если } x<y, \\ b, & \text{ если } x=y, \\ c, & \text{ если } y<x.\end{cases}
?
Задача 594

Построить программы машин Тьюринга, вычисляющих следующие словарные функции в алфавите Σ={a,b,c}\Sigma =\left\{ a, b, c\right\} :

?
(а)

циклическая перестановка букв: f(xw)=wx,x∈Σf(x w)=w x, x \in \Sigma;

(б)

циклическая перестановка слов:

f(w1,…,wn)=(w2,…,wn,w1); f\left(w_{1}, \ldots , w_{n}\right)=\left(w_{2}, \ldots , w_{n}, w_{1}\right) ;
(в)

«переворачивание» последовательности слов:

f(w1,…,wn)=(wn,…,w1) f\left(w_{1}, \ldots , w_{n}\right)=\left(w_{n}, \ldots , w_{1}\right)
(г)

удвоение каждой буквы: f(x1…xn)=x1x1…xnxnf\left(x_{1} \ldots x_{n}\right)=x_{1} x_{1} \ldots x_{n} x_{n};

(д)

нахождение образа при гомоморфизме φ:φ(a)=a,φ(b)=cb\varphi : \varphi (a)=a, \varphi (b)=c b, φ(c)=ε;\varphi (c)=\varepsilon ;

(е)

удаление всех одиночных букв aa, стоящих на чётных позициях;

(ж)

проверка, содержат ли два слова одно и то же количество букв aa (результат равен 1, если ответ «да», 0, если «нет»);

(з)

проверка, является ли слово палиндромом (то есть симметричным);

(и)

проверка, есть ли в слове две последовательности букв aa одной и той же длины;

(к)

проверка, образуют ли в слове количества букв a,ba, b и cc возрастающую арифметическую прогрессию.

Задача 595

Построить машину Тьюринга для перевода записи числа из двоичной системы в унарную, входной алфавит {0,1}\left\{ 0,1\right\}. ⊛\circledast

?
Задача 596

Построить машину Тьюринга, которая по унарной записи трёх чисел, то есть входу вида ∣n+1Λ∣k+1Λ∣m+1\left.\left.\left.\right|^{n+1} \Lambda \right|^{k+1} \Lambda \right|^{m+1}, выдаёт результат 0, если 0<n<k+m0<n<k+m, и 1 в противном случае. Оценить время работы построенной машины. ⊛\circledast

?
Задача 597

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

?
(а)

x+yx+y;

(б)

x÷yx \div y;

(в)

xyx y;

(г)

сравнение x<yx<y;

(д)

возведение в степень: xyx^{y};

(е)

квадратный корень: ⌊x⌋\lfloor \sqrt{x}\rfloor;

(ж)

логарифм: ⌊log⁡2x⌋\left\lfloor \log_{2} x\right\rfloor;

(з)

деление нацело: ⌊x/y⌋\lfloor x / y\rfloor;

(и)

остаток: x mod yx \bmod y;

(к)

функция выбора mm-го аргумента: id⁡m,m\operatorname {id}_{m}, m — заранее заданная константа. ⊛\circledast

Задача 598

Даны машины Тьюринга со стандартной заключительной конфигурацией Mi\mathfrak {M}_{i}, каждая из которых вычисляет словарную функцию fi(x)f_{i}(x) за время ti(x),i=1,…,nt_{i}(x), i=1, \ldots , n. Указать, как построить, и оценить время работы

?
(а)

машины M1;…;Mn\mathfrak {M}_{1} ; \ldots ; \mathfrak {M}_{n}, вычисляющей функцию

g1(x)=fn(…f1(x)…) g_{1}(x)=f_{n}\left(\ldots f_{1}(x) \ldots \right)
(б)

машины par⁡(a,M1,…,Mn)\operatorname {par}\left(a, \mathfrak {M}_{1}, \ldots , \mathfrak {M}_{n}\right), вычисляющей функцию

g2(x1ax2a…axn)=f1(x1)af2(x2)a…afn(xn); g_{2}\left(x_{1} a x_{2} a \ldots a x_{n}\right)=f_{1}\left(x_{1}\right) a f_{2}\left(x_{2}\right) a \ldots a f_{n}\left(x_{n}\right) ;
(в)

машины if⁡(M1,M2,M3)\operatorname {if}(\mathfrak {M}_{1}, \mathfrak {M}_{2}, \mathfrak {M}_{3}), вычисляющей функцию

g3(x)={M2(x), если M1(x) непусто, M3(x), если M1(x) пусто;  g_{3}(x)= \begin{cases} \mathfrak {M}_{2}(x), & \text{ если } \mathfrak {M}_{1}(x) \text{ непусто, } \\ \mathfrak {M}_{3}(x), & \text{ если } \mathfrak {M}_{1}(x) \text{ пусто; }\end{cases}
(г)

машины while⁡(M1,M2)\operatorname {while}(\mathfrak {M}_{1}, \mathfrak {M}_{2}), вычисляющей функцию g4(x)=xqg_{4}(x)=x_{q}, где qq — наименьшее натуральное число, для которого M1(xq)\mathfrak {M}_{1}\left(x_{q}\right) пусто, при этом x0=xx_{0}=x и xj+1=M2(xj)x_{j+1}=\mathfrak {M}_{2}\left(x_{j}\right). Считать, что ∣xj∣⩽L(x)\left|x_{j}\right| \leqslant L(x) и ti(xj)⩽Ti(x)t_{i}\left(x_{j}\right) \leqslant T_{i}(x). ⊛\circledast

Задача 599

Даны следующие машины Тьюринга со стандартной заключительной конфигурацией: - copy⁡(a)\operatorname {copy}(a) — копирует вход, используя символ aa как разделитель между оригиналом и копией: w↦waww \mapsto w a w; - replace⁡(a,b)\operatorname {replace}(a, b) — заменяет самое левое вхождение символа aa на bb, если символа aa нет, то вход не меняется; - add⁡\operatorname {add} — складывает два числа, записанных в унарной системе счисления; - mult⁡\operatorname {mult} — умножает два числа, записанных в унарной системе счисления; - nop⁡\operatorname {nop} — не изменяет вход.

Определить, какие арифметические функции вычисляются (в унарной системе счисления) следующими машинами Тьюринга, построенными методами из задачи 598 на предыдущей странице:

?
(а)

copy⁡(∗);par⁡(∗,copy⁡(Λ),copy⁡(Λ));par⁡(∗,mult⁡,add⁡);replace⁡(∗\operatorname {copy}(*) ; \operatorname {par}(*, \operatorname {copy}(\Lambda ), \operatorname {copy}(\Lambda )) ; \operatorname {par}(*, \operatorname {mult}, \operatorname {add}) ; \operatorname {replace}(*, Λ\Lambda); add⁡\operatorname {add};

(б)

copy⁡(∗);par⁡(∗,copy⁡(Λ),copy⁡(Λ));par⁡(∗,mult⁡,add⁡);par⁡(∗\operatorname {copy}(*) ; \operatorname {par}(*, \operatorname {copy}(\Lambda ), \operatorname {copy}(\Lambda )) ; \operatorname {par}(*, \operatorname {mult}, \operatorname {add}) ; \operatorname {par}(*, (copy⁡(Λ);add⁡),nop⁡);replace⁡(∗,Λ);add⁡;\operatorname {copy}(\Lambda ) ; \operatorname {add}), \operatorname {nop}) ; \operatorname {replace}(*, \Lambda ) ; \operatorname {add} ;

(в)

copy⁡(∗);par⁡(∗,(copy⁡(Λ);mult⁡),nop⁡);par⁡(∗,(copy⁡(Λ);add⁡)\operatorname {copy}(*) ; \operatorname {par}(*,(\operatorname {copy}(\Lambda ) ; \operatorname {mult}), \operatorname {nop}) ; \operatorname {par}(*,(\operatorname {copy}(\Lambda ) ; \operatorname {add}), nop⁡\operatorname {nop}); \operatorname {replace}$$(*, \Lambda ); add⁡\operatorname {add}.

Задача 600

Даны машины Тьюринга со стандартной заключительной конфигурацией из задачи 599 на предшествующей странице, а также следующие: - id⁡i\operatorname {id}_{i} — возвращает ii-й аргумент или пустое слово, если количество аргументов меньше ii; - pos⁡i\operatorname {pos}_{i} — проверяет, является ли ii-й аргумент положительным (числа записаны в унарной системе), возвращает пустое слово, если он равен нулю, или |, если он положителен; - dec⁡\operatorname {dec} — уменьшает аргумент на единицу, если он положителен, в противном случае вход не изменяется (числа записаны в унарной системе). Определить, какие арифметические функции (в унарной системе) вычисляются каждой из машин Тьюринга, программы которых схематично изображены на рис. 39 на следующей странице (см. задачу 598 на предшествующей странице). ⊛\circledast

?
Задача 601

Используя машины Тьюринга из предыдущих задач, построить программы машин Тьюринга, вычисляющих следующие функции:

?
(а)

f1(x,y)={x2y3, если x<y,⌊(x+y)/2⌋, в противном случае; f_{1}(x, y)= \begin{cases} x^{2} y^{3}, & \text{ если } x<y, \\ \lfloor (x+y) / 2\rfloor , & \text{ в противном случае; }\end{cases}

(б)

f2(x,y)={⌊x⌋, если x+1⩾y,2(x+y), в противном случае; f_{2}(x, y)= \begin{cases} \lfloor \sqrt{x}\rfloor , & \text{ если } x+1 \geqslant y, \\ 2(x+y), & \text{ в противном случае; }\end{cases}

(в)

f3(x,y)={⌊log⁡2(1+⌊x/y⌋)⌋, если x>2y,xy, в противном случае; f_{3}(x, y)= \begin{cases} \left\lfloor \log_{2}(1+\lfloor x / y\rfloor )\right\rfloor , & \text{ если } x>2 y, \\ x y, & \text{ в противном случае; }\end{cases}

(г)

f4(x,y)={⌊x⌋, если 2x⩾y,x mod y, в противном случае. f_{4}(x, y)= \begin{cases} \lfloor \sqrt{x}\rfloor , & \text{ если } 2 x \geqslant y, \\ x \bmod y, & \text{ в противном случае. }\end{cases} ⊛\circledast

Задача 602

Показать, как на обычной машине Тьюринга можно организовать выполнение следующих команд:

?
(а)

q,a→p,bq, a \rightarrow p, b, return — возврат головки в ту из соседних ячеек, из которой она пришла в текущую;

(б)

q,a→p,bq, a \rightarrow p, b, zero — возврат головки в нулевую ячейку;

(в)

q,a→p,bq, a \rightarrow p, b, mirror — сдвиг головку в ячейку −i-i, если она была в ячейке с номером ii;

(г)

q,a→p,bq, a \rightarrow p, b, double — сдвиг головку в ячейку 2i2 i, если она была в ячейке с номером ii;

(д)

q,a→p,bq, a \rightarrow p, b, next — сдвиг головки в ближайшую справа к текущей ячейку, содержащую aa (если она есть, иначе головка остаётся на месте);

(е)

q,a→p,insert⁡bq, a \rightarrow p, \operatorname {insert} b — сдвиг текущей и всех ячеек справа от неё на одну позицию вправо и запись символа bb в освободившуюся ячейку, головка оказывается в новой ячейке;

(ж)

q,a→pq, a \rightarrow p, restore, ss — замена символа aa на тот, который находился в ячейке в начальной конфигурации. ⊛\circledast

Задача 603

Построить машину Тьюринга для задачи 591 на стр. 185, не увеличивая исходный алфавит Σ\Sigma. ⊛\circledast

?
Задача 604

Реализовать следующие машины Тьюринга без расширения алфавита:

?
(а)

стереть вторую половину слова, оставив центральный символ, если длина была нечётной;

(б)

сложить два числа, записанных в двоичной системе. ⊛\circledast

Задача 605

Один из подходов к моделированию двухсторонней ленты на односторонней заключается в том, чтобы содержимое неотрицательной половины ленты M\mathfrak {M} хранить в ячейках с нечётными номерами, а содержимое левой половины — с чётными. То есть новая лента будет иметь вид β(0)=#,β(2x+1)=α(x)\beta (0)=\# , \beta (2 x+1)=\alpha (x) и β(2x)=α(−x)\beta (2 x)=\alpha (-x) при x>0x>0. Построить программу односторонней машины N\mathfrak {N}, реализующую этот подход. ⊛\circledast

?
Задача 606

Доказать, что всякую арифметическую функцию f(x)f(x), вычислимую на некоторой машине Тьюринга M=(Q,Σ,P,q0)\mathfrak {M}=\left(Q, \Sigma , P, q_{0}\right) в унарной системе счисления, можно также вычислить на машине Тьюринга N\mathfrak {N}, алфавит ленты которой содержит лишь два символа: Λ\Lambda и ∣\mid. Указание. Использовать для моделирования одного символа aia_{i} алфавита Σ\Sigma блок из нескольких подряд идущих ячеек, содержащих слово ∣iΛk−i\left.\right|^{i} \Lambda^{k-i}, где Σ={a0,…,ak}\Sigma =\left\{ a_{0}, \ldots , a_{k}\right\}. Заменить каждую команду M\mathfrak {M} группой команд, обрабатывающих соответствующий блок ячеек. ⊛\circledast

?
Задача 607

kk-ленточная машина Тьюринга имеет kk лент, по каждой из которых перемещается своя головка. Команда kk-ленточной машины Тьюринга имеет вид

q,a1,a2,…,ak→p,b1,b2,…,bk,s1,s2,…,sk, q, a_{1}, a_{2}, \ldots , a_{k} \rightarrow p, b_{1}, b_{2}, \ldots , b_{k}, s_{1}, s_{2}, \ldots , s_{k},

где q,p∈Qq, p \in Q — состояния, a1,…,aka_{1}, \ldots , a_{k} — символы, наблюдаемые головками на соответствующих лентах, b1,…,bkb_{1}, \ldots , b_{k} — символы, записываемые головками на соответствующих лентах, s1,…,sks_{1}, \ldots , s_{k} — направления сдвигов головок на соответствующих лентах. Входные данные записываются на первой ленте, а остальные в начальной конфигурации пусты. Результат также располагается на первой ленте.

Доказать, что любую функцию, вычислимую на kk-ленточной машине Тьюринга, можно также вычислить и на обычной машине Тьюринга. На сколько при этом увеличится время вычисления? ⊛\circledast

?
Задача 608

Показать, что палиндромы (симметричные слова) можно распознать на двухленточной машине Тьюринга за время, пропорциональное их длине. ⊛\circledast

?