Тема 4. Элементы теории алгоритмов Логика и теория алгоритмов Аксёнов Сергей Владимирович

advertisement
Национальный исследовательский
Томский политехнический университет
Тема 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.Элементы теории алгоритмов Логика и
теория алгоритмов, Аксёнов С.В.
Download