- •1.Алфавитный и содержательный подход к изучению информации.
- •2. Информация. Информационные процессы (кодирование, обработка, передача, хранение).
- •1)Бумажные носители.
- •Представление чисел. Система счисления.
- •4. Логические элементы и узлы
- •6. Файлы и файловая система. Функциональное устройство пк.
- •Функциональное устройство
- •8. Алгоритмы. Алгоритмические конструкции.
- •9. Массивы и подпрограммы.
- •10. Технологии обработки графической информации
- •11. Мультимедиа-технологии
- •12. Структуры данных
- •13. Машины Тьюринга и Поста
- •14. Классификация языков программирования
- •15. Компьютерные сети. Поиск информации.
- •16. Сервисы Интернета
- •17. Язык гипертекстовой разметки html.
- •7 Модели
13. Машины Тьюринга и Поста
Машиной Тьюринга (МТ) называется упорядоченный набор вида { А, a0, а, Q, q1, q0, Т, τ},где
А — конечное множество, называемое основным алфавитом МТ,
а0 А и называется пустой буквой алфавита,Q — конечное множество, называемое алфавитом состояний МТ,q1 Q — начальное состояние МТ,
q0 Q — заключительное, или состояние останова МТ,
Т = {Л, Н, П} — множество сдвигов МТ,
τ — программа МТ, то есть
.
В каждой машине Тьюринга есть две части:
неограниченная в обе стороны лента, разделенная на ячейки;
головка для считывания/записи, управляемая программой.
С каждой машиной Тьюринга связаны два конечных алфавита: алфавит входных символов А = {а0, a1, …, am} и алфавит состояний Q = {q0, q1 ,..., qp } . (С разными машинами Тьюринга могут быть связаны разные алфавиты А и Q.) Состояние q0 называется заключительным, или состоянием останова. Считается, что если машина попала в это состояние, то она заканчивает свою работу. Состояние q1 называется начальным. Находясь в этом состоянии, машина начинает свою работу.
Входное слово размещается на ленте по одной букве в расположенных подряд ячейках. Слева и справа от входного слова находятся только пустые ячейки (в алфавит А всегда входит "пустая" буква а0 — признак того, что ячейка пуста).
Автомат может двигаться вдоль ленты влево или вправо, читать содержимое ячеек и записывать в ячейки буквы своего алфавита. Ниже схематично нарисована машина Тьюринга, автомат которой обозревает первую ячейку с данными.
Автомат каждый раз "видит" только одну ячейку. В зависимости от того, какую букву a1 он видит, а также в зависимости от своего состояния qt, автомат может выполнять следующие действия:
записать новую букву в обозреваемую ячейку;
выполнить сдвиг по ленте на одну ячейку вправо/влево или остаться неподвижным;
перейти в новое состояние.
Программа для машины Тьюринга представляет собой таблицу, в каждой клетке которой записана команда.
Клетка (qj, ai) определяется двумя параметрами — символом алфавита и состоянием машины.
После выполнения очередной команды МТ переходит в состояние q1 (которое может в частном случае совпадать с прежним состоянием qj). Следующую команду нужно искать в к-й строке таблицы на пересечении со столбцом, соответствующим букве, которую автомат видит после сдвига. В процессе работы автомат перескакивает из одной клетки программы, записанной в виде таблицы, в другую, пока не дойдет до клетки, в которой записано, что автомат должен перейти в состояние q0, т.е. остановиться. Будем говорить, что такие клетки содержат команду останова.
Если клеток останова в программе вообще нет или в процессе работы над входным словом МТ никогда не окажется в заключительном состоянии, то считается, что машина Тьюринга неприменима к данному входному слову. Машина Тьюринга применима к входному слову только в том случае, если, начав работу над этим входным словом, она окажется в заключительном состоянии.
Тьюрингом был описан универсальный исполнитель — машина Тьюринга, этот исполнитель способен решить любую алгоритмически разрешимую задачу. Почти одновременно с А.Тьюрингом (1937 г.) американский математик Эмиль Пост предложил иную абстрактную машину, характеризующуюся еще большей простотой, чем машина Тьюринга. Это строгое математическое построение было также предложено в качестве уточнения понятия алгоритма.
В машине Поста в ячейках бесконечной ленты можно записывать всего два знака: 0 и 1 (ставить метку в ячейку или стирать метку). Это ограничение не влияет на ее универсальность, так как любой алфавит может быть закодирован двумя знаками. Кроме ленты, в машине Поста имеется каретка (головка чтения/записи), которая:
умеет двигаться вперед, назад и стоять на месте;
умеет читать содержимое, стирать и записывать 0 или 1;
управляется программой.
Как и машина Тьюринга, машина Поста может находиться в различных состояниях, но каждому состоянию соответствует не строка состояния с клетками, а некоторая команда одного из следующих шести типов (все строки в программе пронумерованы):
1. Записать 1 (метку), перейти к i-й строке программы;
Записать 0 (стереть метку), перейти к i-й строке программы;
Сдвиг влево, перейти к i-й строке программы i;
Сдвиг вправо, перейти к i-й строке программы;
Останов;
Если 0, то перейти к i, иначе перейти к j.
Состояние машины — это состояние ленты и положение головки чтения/записи. Тезис Поста заключается в том, что: "Всякий алгоритм представим в форме машины Поста". Отсюда следует другое формальное определение алгоритма.
Алгоритм (по Посту) — программа для машины Поста, приводящая к решению поставленной задачи. Тезис Поста невозможно строго доказать, так же, как и тезис Тьюринга.