Национальный исследовательский Томский политехнический университет Тема 4. Элементы теории алгоритмов Логика и теория алгоритмов Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ 4.Элементы теории алгоритмов Логика и теория алгоритмов, Аксёнов С.В. Темы лекции 1. Машины Тьюринга 4.Элементы теории алгоритмов Логика и теория алгоритмов, Аксёнов С.В. Определение машины Тюринга-1 На бесконечно длинной (влево и вправо) ленте имеются ячейки, куда записывается информация. В дискретный момент времени управляющей устройство, находящееся в определенном состоянии, обозревает содержимое ячеек и делает шаг, заключающийся в изменении своего положения, содержимого ячейки и/или находящегося состояния. Шаг осуществляется на основе заданной программы. Совокупность всех команд – программа машины Тьюринга. Внешний алфавит А={a0, a1, a2, …, an} – Множество знаков, которые могут быть записаны в ячейки ленты. a0 - символ пустой ячейки Состояния Q={q0, q1, q2,…,qp}, в которых может находится управляющее устройство. Программа состоит из команд. Каждая команда представляет собой выражение вида: qiaj→qrasM. M∈{S, R, L}. qi – текущее состояние, aj – текущий обозреваемый символ, qr-состояние, в которое перейдет машина Тьюринга, as- символ, который будет записан в текущую ячейку, M – сдвиг управляющего устройства: R – влево, L – вправо, S – позиция не изменяется. 4.Элементы теории алгоритмов Логика и теория алгоритмов, Аксёнов С.В. Графическая интерпретация 4.Элементы теории алгоритмов Логика и теория алгоритмов, Аксёнов С.В. Машина Тьюринга: еще немного определений Начальное состояние машины - q1 Заключительное состояние - q0. Состояние машины, при котором работа алгоритма прекращается. K-тая конфигурация – изображение ленты машины с информацией, сложившейся на ней к началу k-того шага. Будем говорить, что непустое слово α в алфавите А воспринимается машиной в стандартном положении, если оно записано в последовательных ячейках ленты, все другие ячейки пусты и машина обозревает крайнюю справа ячейку, из тех в которых записано слово α. Стандартное положение называется начальным, если машина, воспринимающее слово в стандартном положении, находится в начальном состоянии q1. Будем говорить что слово α перерабатывается машиной в слово β, если от слова α , воспринимаемого в начальном стандартном положении, машина после выполнения конечного числа команд приходит к слову β, воспринимаемому в положении остановки. 4.Элементы теории алгоритмов Логика и теория алгоритмов, Аксёнов С.В. Пример. Применение машины Тьюринга с словам - Задача Дана машина Тьюринга с внешним алфавитом A ={0, 1, 2}, где 0 символ пустой ячейки, алфавитом функциональных состояний Q={q0, q1, q2, q3, q4} и со следующей функциональной схемой: q1 q2 q3 q4 0 q31R q32L q41L q12L 1 q20L q10L q02S q32L 2 q41L q42R q02S q02S Задание. Определить в какое слово переработает машина Тьюринга слово 201201211 исходя из стандартного начального положения. 4.Элементы теории алгоритмов Логика и теория алгоритмов, Аксёнов С.В. Пример. Применение машины Тьюринга с словам - Решение Машина Тьюринга в состоянии q1 обозревает ячейку, хранящую 1. Находим команду находящуюся на пересечении строки с 1 и столбца с состоянием q1. По изменяем ячейку на 0, меняем состояние на q2 и сдвигаем управляющее устройство влево. Последовательность всех команд, а также их результат поместим в таблицу. Итерация Слово Состояние Команда Результат 1 201201211 q1 q11→q20L 201201210 2 201201210 q2 q21→q10L 201201200 3 201201200 q1 q12→q41L 201201200 4 201201200 q4 q41→q32L 201202200 5 201202200 q3 q30→q41L 201212200 6 201212200 q4 q42→q02S 201212200 7 201212200 q0 Ответ. Слово 201201211 было переработано в слово 201212200. 4.Элементы теории алгоритмов Логика и теория алгоритмов, Аксёнов С.В.