Слайд 1Автоматическая обработка информации.
Машина Поста
Слайд 2Теория Алгоритмов
В 30-х годах XX века возникает
новая наука — теория алгоритмов. Вопрос, на который ищет ответ
эта наука: для всякой ли задачи обработки информации может быть построен алгоритм решения?
Но чтобы ответить на этот вопрос, надо сначала договориться об исполнителе, на которого должен быть ориентирован алгоритм.
Слайд 3 Английский ученый Алан Тьюринг предложил модель такого
исполнителя, получившую название «машина Тьюринга». По замыслу Тьюринга, его «машина»
является универсальным исполнителем обработки любых символьных последовательностей в любом алфавите.
МАШИНА ТЬЮРИНГА
Слайд 4МАШИНА ПОСТА
Практически одновременно с Тьюрингом (1936-1937
гг.) другую модель алгоритмической машины описал Эмиль Пост. Машина Поста
работает с двоичным алфавитом и несколько проще в своем «устройстве». Можно сказать, что машина Поста является частным случаем машины Тьюринга.
Слайд 5Машина Поста
Бесконечная лента
Программа
Каретка
Слайд 6 Алгоритм, по которому работает машина Поста, будем
называть программой.
Под словом «программа» мы всегда будем
понимать алгоритм, записанный по строгим правилам языка команд исполнителя — на языке программирования для данного исполнителя.
Машина Поста
Слайд 7 Опишем архитектуру машины Поста. Имеется
бесконечная информационная лента, разделенная на позиции — клетки. В каждой
клетке может либо стоять метка (некоторый знак), либо отсутствовать (пусто).
Вдоль ленты движется каретка — считывающее устройство. На рисунке она обозначена стрелкой. Каретка может передвигаться шагами: один шаг — смещение на одну клетку вправо или влево. Клетку, под которой установлена каретка, будем называть текущей.
Каретка является еще и процессором машины. С ее помощью машина может:
• распознать, пустая клетка или помеченная знаком;
• стереть знак в текущей клетке;
• записать знак в пустую текущую клетку.
Слайд 8Машина Поста
Существенное отличие каретки-процессора
машины Поста от процессора компьютера состоит в том, что в
компьютере возможен доступ процессора к ячейкам памяти в произвольном порядке, а в машине Поста — только последовательно.
Слайд 9 Назначение машины Поста — производить преобразования
на информационной ленте.
Исходное состояние
ленты можно рассматривать как исходные данные задачи, конечное состояние ленты — результат решения задачи. Кроме того, в исходные данные входит информация о начальном положении каретки.
Слайд 10Машина Поста
Система команд машины Поста
Слайд 11Пример программы решения задачи на машине Поста
Исходное состояние показано на
рисунке. Машина должна стереть знак в текущей клетке и присоединить
его слева к группе знаков, расположенных справа от каретки.
Слайд 12Машина Поста
Пример программы решения задачи на машине Поста
Пример программы решения
задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна
стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
Слайд 13Машина Поста
Пример программы решения задачи на машине Поста
Пример программы решения
задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна
стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
Слайд 14Машина Поста
Пример программы решения задачи на машине Поста
Пример программы решения
задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна
стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
Слайд 15Машина Поста
Пример программы решения задачи на машине Поста
Пример программы решения
задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна
стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
Слайд 16Машина Поста
Пример программы решения задачи на машине Поста
Пример программы решения
задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна
стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
Слайд 17Машина Поста
Пример программы решения задачи на машине Поста
Пример программы решения
задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна
стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
Слайд 18Машина Поста
Пример программы решения задачи на машине Поста
Пример программы решения
задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна
стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
Слайд 19Машина Поста
Пример программы решения задачи на машине Поста
Пример программы решения
задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна
стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
Слайд 20Машина Поста
Пример программы решения задачи на машине Поста
Пример программы решения
задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна
стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
Слайд 21Машина Поста
Пример программы решения задачи на машине Поста
Пример программы решения
задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна
стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
Слайд 22Машина Поста
Пример программы решения задачи на машине Поста
Пример программы решения
задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна
стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
Слайд 23Машина Поста
В процессе выполнения приведенной
программы многократно повторяется выполнение команд с номерами 2 и 3.
Такая ситуация называется циклом.
Напомним, что цикл относится к числу основных алгоритмических структур вместе со следованием и ветвлением.
Слайд 24Определить состояние, в котором окажется машина Поста в результате выполнения
программы при заданном начальном состоянии ленты.
Пояснение: выделенная цифра, например 1, означает,
что эту ячейку каретка обозревает в начальный момент времени.
Закрепление материала
Задание 1
b) 1) 1100101
2) 10001
Ответ: Выделенная цифра показывает, на какой ячейке остановится машина.
a) 1) 110000001
2) 11000001
РЕШЕНИЕ:
Слайд 25Закрепление материала
Задание 2
Даны два массива меток,
которые находятся на некотором расстоянии друг от друга. Требуется соединить
их в один массив. Каретка находится над крайней левой меткой первого массива.
ОТВЕТ:
Слайд 26Закрепление материала
Задание 3
На ленте имеется массив из n отмеченных ячеек. Каретка обозревает
крайнюю левую метку. Справа от данного массива на расстоянии в m ячеек
находится еще одна метка. Составьте для машины Поста программу, придвигающую данный массив к данной ячейке.
ОТВЕТ:
Слайд 27Домашнее задание:
§ 10, № 1, 2
ОТВЕТЫ:
№1: Останется 1 и последняя
метка