Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмы и их виды.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
537.09 Кб
Скачать

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

q2

q3

q1

q5a0

q5a0

q7a0

q7a0

Изображая на каждом такте работы машины получившуюся конфигурацию, определите, в какое слово переработает машина каждое из следующих слов. В начальный момент времени машина находится в состоянии q1 и обозревает первую справа ячейку слова.

1)11111

2) 1a0111 a0a01111

3) 11a111

Решение.

Машина Тьюринга применима к слову α и перерабатывает его в пустое слово λ.

Машина Тьюринга применима к слову α и перерабатывает его в слово β=1a0111.

Машина Тьюринга применима к слову α и перерабатывает его в слово β=11a0a0a0a01.

Задание 2. Построить машину Тьюринга, которая перерабатывает слово α в слово β, не применяя пустых ячеек a0 слева от данного слова. В состоянии q1 обозревается крайняя левая ячейка слова.

  1. α= 1010110, β=1111

  2. α= 00101101, β=0110

  3. α= 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 вычислима по Тьюрингу.