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

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

Машина Тьюринга полностью определяется следующими составляющими:

1) внешний алфавит А={а01,...,аn}, а0 - символ пустой ячейки;

2) алфавит внутренних состояний Q={q0,q1,...,qm}, q0 - состояние остановки: попав в него, машина прекращает работу; q1 - начальное состояние: в этом состоянии машина начинает работать;

3) программа (функциональная схема) — совокупность выражений Тij (i=1,…,m, j=1,…,n), каждое из которых имеет один из следующих видов: qiajqkalП, qiajqkalЛ, qiajqkal.

Выражения Тij называются командами.

Наглядно устройство и работу машины Тьюринга можно представить себе следующим образом: машина имеет бесконечную в обе стороны ленту, разбитую на ячейки. В каждой ячейке записана ровно одна буква из внешнего алфавита А, запись буквы а0 означает что ячейка пуста. Машина имеет управляющее устройство, включающее считывающе-записывающую головку. В каждый момент времени машина находится в одном из состояний, обозначенных буквами алфавита внутренних состояний, и «обозревает» точно одну ячейку ленты. По команде qiajqkalX, где Х=П или Х=Л , или Х отсутствует, машина, находясь в состоянии qi и обозревая ячейку, в которой записана буква аj, переходит в состояние qk, в обозреваемой ячейке стирает букву aj и заносит туда букву al. Затем машина переходит к обозрению ячейки, находящейся справа или слева в зависимости от того Х=П или Х=Л соответственно, или же продолжает обозревать эту же ячейку, если место Х в команде не заполнено. После выполнения указанной команды машина в следующий момент времени переходит к выполнению команды qkalqrasX.

Пусть на ленте в ячейках записано слово α алфавита А. Если лента не содержит символов, отличных от а0, то слово α называется пустым (обозначается α=).

Если α≠, то будем считать что левее и правее α все символы равны а0, а самый левый и самый правый символы α не являются пустыми.

Будем говорить, что машина Тьюринга Т перерабатывает слово α в слово β, если Т применима к α в начальном состоянии, а β изображено на ленте, когда машина Тьюринга находится в состоянии остановки q0.

Под k-той конфигурацией будем понимать изображение слова, записанного на ленте к началу k-того такта, с указанием того, какая ячейка обозревается в этот такт и в каком состоянии находится машина.

Говорят, что машина Тьюринга Т неприменима к слову α, если Т, будучи применена к α в начальном состоянии, никогда не останавливается (зацикливается).

Пример. Машина Тьюринга задана внешним алфавитом А={а0,0,1}, алфавитом внутренних состояний Q={q0,q1,q2,q3,q4} и программой

  1. q10q1

  2. q11q2

  3. q21q2

  4. q20q3

  5. q31q3

  6. q3а0q4

  7. q4а0q01

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

Решение.

Функция f в алфавите А={а01,...,аs} называется вычислимой по Тьюрингу, если существует машина Тьюринга с внешним алфавитом {а01,...,as,…,аn}, которая всякое слово α из области определения f перерабатывает в слово f(α) и неприменима ко всякому слову β, на котором f не определена.

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

Тезис Тьюринга. Класс вычислимых по Тьюрингу арифметических функций совпадает с классом вычислимых функций.

Теорема. Следующие классы арифметических функций совпадают:

  1. класс частично-рекурсивных функций;

  2. класс функций, вычислимых по Маркову;

  3. класс функций, вычислимых по Тьюрингу.

В отличие от интуитивного понятия алгоритма все три определения алгоритма являются математически точными. Основная заслуга определений состоит в доказательстве отсутствия алгоритмов при решении некоторых классов задач.