Презентация - Автоматическая обработка информации
просмотр
Текст этой презентации
Слайд 1
Автоматическаяобработкаинформации
Слайд 2
В 30-х годах XX века возникает новая наука — теория алгоритмов. Вопрос, на который ищет ответ эта наука: для всякой ли задачи обработки информации может быть построен алгоритм решения? Но чтобы ответить на этот вопрос, надо сначала договориться об исполнителе, на которого должен быть ориентирован алгоритм.
Слайд 3
Английский ученый Алан Тьюринг предложил модель такого исполнителя, получившую название «машина Тьюринга». По замыслу Тьюринга, его «машина» является универсальным исполнителем обработки любых символьных последовательностей в любом алфавите.
Слайд 4
Практически одновременно с Тьюрингом (1936-1937 гг.) другую модель алгоритмической машины описал Эмиль Пост. Машина Поста работает с двоичным алфавитом и несколько проще в своем «устройстве». Можно сказать, что машина Поста является частным случаем машины Тьюринга. Однако именно работа с двоичным алфавитом представляет наибольший интерес, поскольку, как вы знаете, современный компьютер тоже работает с двоичным алфавитом.
Слайд 5
Алгоритм, по которому работает машина Поста, будем называть программой. Договоримся о терминологии: под словом «программа» мы всегда будем понимать алгоритм, записанный по строгим правилам языка команд исполнителя — на языке программирования для данного исполнителя.
Слайд 6
Имеется бесконечная информационная лента, разделенная на позиции — клетки. В каждой клетке может либо стоять метка (некоторый знак), либо отсутствовать (пусто).
v v v v v
Вдоль ленты движется каретка — считывающее устройство. На рисунке она обозначена стрелкой. Каретка может передвигаться шагами: один шаг — смещение на одну клетку вправо или влево. Клетку, под которой установлена каретка, будем называть текущей.
Каретка является еще и процессором машины. С ее помощью машина может:
• распознать, пустая клетка или помеченная знаком;
• стереть знак в текущей клетке;
• записать знак в пустую текущую клетку.
Слайд 7
Система команд машины Поста
Команда Действие
n ← m Сдвиг каретки на шаг влево и переход к выполнению команды с номером m
n → m Сдвиг каретки на шаг вправо и переход к выполнению команды с номером m
n v m Запись метки в текущую пустую клетку и переход к выполнению команды с номером m
n ↕ m Стирание метки в текущей клетке и переход к выполнению команды с номером m
n ! Остановка выполнения программы
n ? m,k Переход в зависимости от содержимого текущей клетки: если текущая клетка пустая, то следующей будет выполняться команда с номером m, если непустая – команда с номером k
Слайд 8
Пример программы решения задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
v v v v v
Команда Действие
1 ↕ 2 Стирание метки; переход к следующей команде
2 → 3 Сдвиг вправо на один шаг
3 ? 2,4 Если клетка пустая, то переход к команде 2, иначе – к команде 4
4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы)
5 v 6 Запись метки в пустую клетку
6 ! Остановка машины
Слайд 9
Пример программы решения задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
v v v v v
Команда Действие
1 ↕ 2 Стирание метки; переход к следующей команде
2 → 3 Сдвиг вправо на один шаг
3 ? 2,4 Если клетка пустая, то переход к команде 2, иначе – к команде 4
4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы)
5 v 6 Запись метки в пустую клетку
6 ! Остановка машины
v v v v
Слайд 10
Пример программы решения задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
v v v v
Команда Действие
1 ↕ 2 Стирание метки; переход к следующей команде
2 → 3 Сдвиг вправо на один шаг
3 ? 2,4 Если клетка пустая, то переход к команде 2, иначе – к команде 4
4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы)
5 v 6 Запись метки в пустую клетку
6 ! Остановка машины
Слайд 11
Пример программы решения задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
v v v v
Команда Действие
1 ↕ 2 Стирание метки; переход к следующей команде
2 → 3 Сдвиг вправо на один шаг
3 ? 2,4 Если клетка пустая, то переход к команде 2, иначе – к команде 4
4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы)
5 v 6 Запись метки в пустую клетку
6 ! Остановка машины
Слайд 12
Пример программы решения задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
v v v v
Команда Действие
1 ↕ 2 Стирание метки; переход к следующей команде
2 → 3 Сдвиг вправо на один шаг
3 ? 2,4 Если клетка пустая, то переход к команде 2, иначе – к команде 4
4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы)
5 v 6 Запись метки в пустую клетку
6 ! Остановка машины
Слайд 13
Пример программы решения задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
v v v v
Команда Действие
1 ↕ 2 Стирание метки; переход к следующей команде
2 → 3 Сдвиг вправо на один шаг
3 ? 2,4 Если клетка пустая, то переход к команде 2, иначе – к команде 4
4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы)
5 v 6 Запись метки в пустую клетку
6 ! Остановка машины
Слайд 14
Пример программы решения задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
v v v v
Команда Действие
1 ↕ 2 Стирание метки; переход к следующей команде
2 → 3 Сдвиг вправо на один шаг
3 ? 2,4 Если клетка пустая, то переход к команде 2, иначе – к команде 4
4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы)
5 v 6 Запись метки в пустую клетку
6 ! Остановка машины
Слайд 15
Пример программы решения задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
v v v v
Команда Действие
1 ↕ 2 Стирание метки; переход к следующей команде
2 → 3 Сдвиг вправо на один шаг
3 ? 2,4 Если клетка пустая, то переход к команде 2, иначе – к команде 4
4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы)
5 v 6 Запись метки в пустую клетку
6 ! Остановка машины
Слайд 16
Пример программы решения задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
v v v v
Команда Действие
1 ↕ 2 Стирание метки; переход к следующей команде
2 → 3 Сдвиг вправо на один шаг
3 ? 2,4 Если клетка пустая, то переход к команде 2, иначе – к команде 4
4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы)
5 v 6 Запись метки в пустую клетку
6 ! Остановка машины
Слайд 17
Пример программы решения задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
v v v v
Команда Действие
1 ↕ 2 Стирание метки; переход к следующей команде
2 → 3 Сдвиг вправо на один шаг
3 ? 2,4 Если клетка пустая, то переход к команде 2, иначе – к команде 4
4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы)
5 v 6 Запись метки в пустую клетку
6 ! Остановка машины
Слайд 18
Пример программы решения задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
v v v v
Команда Действие
1 ↕ 2 Стирание метки; переход к следующей команде
2 → 3 Сдвиг вправо на один шаг
3 ? 2,4 Если клетка пустая, то переход к команде 2, иначе – к команде 4
4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы)
5 v 6 Запись метки в пустую клетку
6 ! Остановка машины
v
Слайд 19
Пример программы решения задачи на машине Поста
Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
v v v v v
Команда Действие
1 ↕ 2 Стирание метки; переход к следующей команде
2 → 3 Сдвиг вправо на один шаг
3 ? 2,4 Если клетка пустая, то переход к команде 2, иначе – к команде 4
4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы)
5 v 6 Запись метки в пустую клетку
6 ! Остановка машины
Слайд 20
В процессе выполнения приведенной программы многократно повторяется выполнение команд с номерами 2 и 3. Такая ситуация называется циклом. Напомним, что цикл относится к числу основных алгоритмических структур вместе со следованием и ветвлением.
Похожие презентации
Поделиться ссылкой на презентацию через:
Код для вставки видеоплеера презентации на свой сайт: