
- •Введение: интуитивное понятие алгоритма. Свойства алгоритма. Вычислимые функции
- •Теоретический материал
- •Рекурсивные функции
- •Нормальные алгоритмы Маркова
- •3. Машины Тьюринга
- •Типовые задачи
- •Рекурсивные функции
- •2. Нормальные алгоритмы Маркова
- •3. Машины Тьюринга
- •Варианты заданий к ргр
- •Литература
- •Содержание
- •Формат Объем Тираж Заказ
3. Машины Тьюринга
Задание 1. Дана машина Тьюринга с внешним алфавитом А={a0,1}, алфавитом внутренних состояний Q={q0,q1,…,q7} и следующей программой
-
Q A
q1
q2
q3
q4
q5
q6
q7
a0
q4a0П
q6a0П
q6a0П
q01
q4a0П
q0a0
q6a0П
1
q21Л
q31Л
q11Л
q5a0
q5a0
q7a0
q7a0
Изображая на каждом такте работы машины получившуюся конфигурацию, определите, в какое слово переработает машина каждое из следующих слов. В начальный момент времени машина находится в состоянии q1 и обозревает первую справа ячейку слова.
1)11111
2) 1a0111 a0a01111
3) 11a0 111
Решение.
Машина Тьюринга применима к слову α и перерабатывает его в пустое слово λ.
Машина Тьюринга применима к слову α и перерабатывает его в слово β=1a0111.
Машина Тьюринга применима к слову α и перерабатывает его в слово β=11a0a0a0a01.
Задание 2. Построить машину Тьюринга, которая перерабатывает слово α в слово β, не применяя пустых ячеек a0 слева от данного слова. В состоянии q1 обозревается крайняя левая ячейка слова.
α= 1010110, β=1111
α= 00101101, β=0110
α= 1100111, β=0010
Решение. Построить машину Тьюринга означает написать ее программу. Таких вариантов может быть много. Основная идея – вначале записать слово β, а затем оставшиеся буквы стереть. Так как программу составляем сами, то начальное положение головки можно выбирать любым способом. Пусть в начальный момент времени машина обозревает первую слева ячейку слова.
Машина Тьюринга задана внешним алфавитом А={а0,0,1}, алфавитом внутренних состояний Q={q0,q1,q2,q3} и программой Тij: q11q11П, q10q21П, q21q21П, q20q31П, q31q3a0П, q3а0q0a0.
Машина Тьюринга задана внешним алфавитом А={а0,0,1}, алфавитом внутренних состояний Q={q0,q1,q2,q3,q4} и программой Тij: q10q20П, q20q21П, q21q31П, q30q30П, q31q4a0П, q41q4a0П, q40q4a0П,q4а0q0a0.
Машина Тьюринга задана внешним алфавитом А={а0,0,1}, алфавитом внутренних состояний Q={q0,q1,q2} и программой Тij: q11q10П, q10q21П, q20q20П, q21q2a0П, q2а0q0a0.
Задание 3. Доказать, что функция f(x,y) вычислима по Тьюрингу.
1) f(x,y) = y
2) f(x,y) = x-y
3) f(x,y) = x+y+3
Решение.
1) Функция f вычислима по Тьюрингу, если присоединенная функция вычислима по Тьюрингу.
f(x,y) = y
, A={1, }
Построим машину Тьюринга для функции .
Пусть в начальный момент времени машина обозревает первую слева ячейку слова. Внешний алфавит А={а0, ,1}, алфавит внутренних состояний Q={q0,q1} и программа Тij: q11q1a0П, q1 q0a0.
Следовательно, вычислима по Тьюрингу, а значит, f вычислима по Тьюрингу.
2) f(x,y) = x-y
, A={1, }
Построим машину Тьюринга для функции .
Пусть в начальный момент времени машина обозревает первую справа ячейку слова. Внешний алфавит А={а0, ,1}, алфавит внутренних состояний Q={q0,q1,q2,q3,q4} и программа Тij: q11q2a0Л, q21q21Л, q2 q2 Л, q2а0q3a0П, q31q4a0П, q41q41П, q4 q4 П, q4а0q1a0П, q1 q0a0.
Следовательно, вычислима по Тьюрингу, а значит, f вычислима по Тьюрингу.
3) f(x,y) = x+y+3
, A={1, }
Построим машину Тьюринга для функции .
Пусть в начальный момент времени машина обозревает первую слева ячейку слова. Внешний алфавит А={а0, ,1}, алфавит внутренних состояний Q={q0,q1,q2} и программа Тij: q11q11П, q1 q11П, q1а0q21П, q2а0q01.
Следовательно, вычислима по Тьюрингу, а значит, f вычислима по Тьюрингу.