3.1. Машина Тьюринга
Машина Тьюринга – это абстрактная структура, пример алгоритма. Машина Тьюринга (МТ) состоит из:
управляющего устройства, которое может находиться в одном из состояний, образующих конечное множество ;
ленты, разбитой на ячейки, в каждой из которых может быть записан один из символов конечного алфавита ;
устройства обращения к ленте, т. е. считывающей и пишущей головки, которая в каждый момент времени обозревает ячейку ленты, в зависимости от символа в этой ячейке и состояния управляющего устройства записывает в ячейку символ (может быть, совпадающий с прежним или пустой, т.е. стирает символ), сдвигается на ячейку влево, или вправо, или остается на месте; при этом управляющее устройство переходит в новое состояние или остается в прежнем состоянии.
Лента бесконечна в обе стороны, однако, в начальный момент времени только конечное число ячеек ленты заполнены. Поэтому важна не фактическая бесконечность ленты, а ее неограниченность, т. е. возможность писать на ней сколь угодно длинные конечные слова.
Среди состояний управляющего устройства выделены начальное состояние и заключительное состояние . В начальном состоянии МТ находится перед началом работы, попав заключительное состояние МТ останавливается.
Для любого состояния и символа однозначно заданы:
следующее состояние ;
символ , который нужно записать вместо в ту же ячейку (стирание символа будем понимать как запись пустого символа );
направление сдвига головки ,обозначаемое одним из трех символов: L – влево, R – вправо, E – на месте.
Это задание может записываться либо системой команд, имеющих вид
,
либо таблицей, строкам которой соответствуют состояния, столбцам – входные символы, а на пересечении строки и столбца записана тройка символов . Еще возможен графический способ задания.
Полное состояние МТ, по которому однозначно можно определить ее дальнейшее поведение определяется состоянием управляющего устройства, словом, записанным на ленте, положением считывающей и пишущей головки. Полное состояние называется конфигурацией. Конфигурация обозначается тройкой , где – состояние управляющего устройства, – слово, слева от головки, – слово, образованное символом, обозреваемым головкой и символами справа от него. Стандартная начальная конфигурация имеет вид , т.е. головка обозревает крайний левый символ, записанный на ленте. Стандартная заключительная конфигурация имеет вид , т. е. головка обозревает крайний левый символ результирующего слова. Это делается для того, чтобы вслед за этой МТ могла работать другая МТ, для которой данная заключительная конфигурация будет начальной. Таким образом строится композиция МТ.
Ко всякой незаключительной конфигурации применима ровно одна команда вида . Она переводит в . Это обозначается . Если существует последовательность конфигураций , , ... , переводящих в , так что , то это обозначается . Так если – стандартная начальная конфигурация, а – стандартная заключительная конфигурация, то правильно построенная МТ должна .
Для вычисления функций типа используется запись на ленте в унарном коде, т. е. натуральное число представляется последовательностью единиц, записанных подряд. Например, число х представлено в виде слова 11...1= , состоящего из х единиц.
Правильная запись данных на ленте предполагает, что каждое слово, представленное в унарном коде будет записано последовательностью единиц, заполняющих подряд идущие ячейки, между словами ставится разделитель ( символ, отличный от 1), не являющийся пустым символом, левее первого пустого и правее последнего пустого символа на ленте нет непустых ячеек. Таким образом, в начальном состоянии МТ обозревает первую непустую ячейку на ленте. Аналогично, для заключительного состояния. Пустой символ может встречаться внутри слова в процессе работы МТ, выполняя вспомогательную функцию, но не в исходных данных и не в конечном результате.
Пример. Записать систему команд, реализующих функцию .
Слагаемые х и у являются натуральными числами и представлены на ленте в унарном коде. Между последовательностями х единиц и у единиц стоит разделитель: . Это машинное слово (последовательность символов) надо переработать в слово , состоящее из единиц, идущих подряд. Очевидно, что для этого необходимо заменить разделитель единицей, стереть (заменить пустым символом) последнюю единицу справа, вернуться на первую слева непустую ячейку.
Данная последовательность действий описывается следующей системой команд:
;
;
;
;
;
;
.
Если МТ видит в первой ячейке разделитель, значит . МТ заменяет разделитель на 1, тем самым единиц становится на одну больше, чем надо, ведь результат равен у. Тогда МТ доходит в состоянии до конца слова и стирает в состоянии последнюю единицу. В состоянии осуществляется обратный проход до первой пустой слева ячейки. Если же в первой ячейке МТ видит 1, то сначала в состоянии осуществляется проход до разделителя, затем аналогично.
Заметим, что данная система команд могла бы быть короче, если бы мы не задались целью, закончить работу МТ в той же ячейке ленты, в которой начали. Это бывает необходимо, если МТ работает не с целой лентой, а лишь с полулентой (лентой, бесконечной лишь в одну сторону). Такое встречается, если при построении композиции МТ, необходимо сохранить результат, полученный при работе предыдущей МТ.
Применим данную систему команд к стандартной начальной конфигурации . МТ должна преобразовать сумму двух единиц в два.
- Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «кемеровский государственный университет»
- Кафедра автоматизации исследований
- И технической кибернетики
- Дискретная математика
- Содержание
- Глава 1. Теория множеств. Дискретная теория вероятности......5
- Глава 2. Теория графов.....................................................................53
- Глава 3. Дискретные структуры: конечные автоматы, коды...76
- Глава 4. Алгебра логических функций..........................................88
- Глава 5. Логика высказываний и логика предикатов..............109
- Глава 6. Схемы переключателей. Комбинационные схемы...................................................................................................123
- Глава 1. Теория множеств. Дискретная теория вероятности
- Множества и операции над ними
- Упражнения
- 1.2. Векторы и прямые произведения множеств. Проекция вектора на ось
- Упражнения
- 1.3. Комбинаторика Правило суммы
- Правило произведения
- Число размещений без повторений
- Число размещений с повторениями
- Число перестановок без повторений
- Число сочетаний без повторений
- Упражнения
- 1.4. Введение в дискретную теорию вероятностей
- Свойства элементарных событий:
- Соотношения между событиями:
- Свойства операций над событиями:
- Упражнения
- 1.5. Соответствия и функции
- Взаимно однозначные соответствия и мощность множеств
- Упражнения
- 1.6. Отношения
- Способы задания бинарных отношений
- Свойства бинарных отношений
- Отношение эквивалентности
- Отношение порядка
- Лексико-графический порядок.
- Упражнения
- 1.7. Операции и алгебры
- Свойства бинарных алгебраических операций
- 1.8. Гомоморфизм и изоморфизм алгебр
- Полугруппы, группы, решетки
- Упражнения
- Глава 2. Теория графов
- 2.1. Основные определения, способы задания, основные классы, изоморфизм графов
- Способы задания графа
- Степени вершин графа
- Части, суграфы и подграфы
- Операции над частями графа
- Графы и бинарные отношения
- Упражнения
- Среди пар графов, изображенных на рисунке, указать пары изоморфных графов и пары неизоморфных графов. Ответ обосновать.
- Маршруты, цепи и циклы. Расстояния, диаметры, центры. Обходы. Разделяющие множества и разрезы
- Упражнения
- Деревья, их свойства. Характеристические числа графов. Сети
- Упражнения
- Глава 3. Дискретные структуры: конечные автоматы, коды
- 3.1. Машина Тьюринга
- Упражнения
- Основы теории кодирования
- Упражнения
- Глава 4. Алгебра логических функций
- 4.1. Основные определения
- Упражнения
- 4.2. Эквивалентные преобразования
- Упражнения
- 4.3. Дизъюнктивные и конъюнктивные нормальные формы
- Упражнения
- 4.4. Дизъюнктивные нормальные формы и импликанты
- Упражнения
- 4.5. Минимизация днф. Тупикова днф
- Упражнения
- 4.6. Алгебра Жегалкина
- Упражнения
- 4.7. Двойственность в алгебре логики. Самодвойственные функции
- Принцип двойственности
- Упражнения
- 4.8. Функциональная полнота систем
- Упражнения
- Глава 5. Логика высказываний и логика предикатов
- 5.1. Логика высказываний
- Алгебра логики
- Исчисление высказываний
- Упражнения
- 5.2. Логика предикатов
- Упражнения
- Глава 6. Схемы переключателей. Комбинационные схемы
- Схемы переключателей
- Комбинационные схемы
- Упражнения
- Литература
- 650043, Кемерово, ул. Красная, 6.