
- •Введение: интуитивное понятие алгоритма. Свойства алгоритма. Вычислимые функции
- •Теоретический материал
- •Рекурсивные функции
- •Нормальные алгоритмы Маркова
- •3. Машины Тьюринга
- •Типовые задачи
- •Рекурсивные функции
- •2. Нормальные алгоритмы Маркова
- •3. Машины Тьюринга
- •Варианты заданий к ргр
- •Литература
- •Содержание
- •Формат Объем Тираж Заказ
3. Машины Тьюринга
Машина Тьюринга полностью определяется следующими составляющими:
1) внешний алфавит А={а0,а1,...,а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} и программой
q10q11П
q11q21П
q21q21П
q20q31П
q31q31П
q3а0q41П
q4а0q01
Изображая на каждом такте работы машины получающуюся конфигурацию, определите, применима ли машина Тьюринга к слову α=01111011. В начальной конфигурации машина находится в состоянии q1 и обозревает первую слева ячейку слова α.
Решение.
Функция f в алфавите А={а0,а1,...,аs} называется вычислимой по Тьюрингу, если существует машина Тьюринга с внешним алфавитом {а0,а1,...,as,…,аn}, которая всякое слово α из области определения f перерабатывает в слово f(α) и неприменима ко всякому слову β, на котором f не определена.
Арифметическая функция f называется вычислимой по Тьюрингу, если присоединенная для нее функция вычислима по Тьюрингу.
Тезис Тьюринга. Класс вычислимых по Тьюрингу арифметических функций совпадает с классом вычислимых функций.
Теорема. Следующие классы арифметических функций совпадают:
класс частично-рекурсивных функций;
класс функций, вычислимых по Маркову;
класс функций, вычислимых по Тьюрингу.
В отличие от интуитивного понятия алгоритма все три определения алгоритма являются математически точными. Основная заслуга определений состоит в доказательстве отсутствия алгоритмов при решении некоторых классов задач.