SlideShare a Scribd company logo
1 of 18
Автоматическая
обработка информации

       10 класс

         2012г.
Машина Поста
   Машина Поста – это абстрактная
(несуществующая реально) вычислительная
машина,      созданная    для     уточнения
(формализации)       понятия      алгоритма.
Представляет       собой      универсальный
исполнитель, позволяющий вводить начальные
данные и читать результат выполнения
программы.
   В 1936 г. американский математик Эмиль
Пост в статье описал систему, обладающую
алгоритмической простотой и способную
определять, является ли та или иная задача     Эмиль Пост
алгоритмически разрешимой. Если задача         (1897-1954),
имеет алгоритмическое решение, то она             США
представима в форме команд для машины
Поста.
Терминология

Программа - алгоритм записанный по строгим
правилам языка команд исполнителя – на языке
программирования для данного исполнителя.

Алгоритм, по которому работает машина
Поста, будем называть программой.
Модель машины Поста
    V               V   V   V



Машина Поста состоит из …
бесконечной ленты, поделенной на одинаковые ячейки
(секции). Ячейка может быть пустой (0 или пустота) или
содержать метку (1 или любой другой знак),
головки (каретки), способной передвигаться по ленте на одну
ячейку в ту или иную сторону, а также способной проверять
наличие метки, стирать и записывать метку.
Описание работы
Текущее состояние машины Поста описывается
состоянием ленты и положением каретки. Состояние
ленты – информация о том, какие секции пусты, а какие
отмечены. Шаг – это движение каретки на одну ячейку
влево или вправо. Состояние ленты может изменяться в
процессе выполнения программы.
Кареткой управляет программа, состоящая из строк команд.
Каждая команда имеет следующий синтаксис:
i K j,
где i - номер команды, K – действие каретки, j - номер
следующей команды (отсылка).
Описание работы

Всего для машины Поста существует шесть типов
команд:
V j - поставить метку, перейти к j-й строке программы.
X j - стереть метку, перейти к j-й строке программы.
<- j - сдвинуться влево, перейти к j-й строке программы.
-> j - сдвинуться вправо, перейти к j-й строке программы.
? j1; j2 - если в ячейке нет метки, то перейти к j1-й строке
программы, иначе перейти к j2-й строке программы.
! – конец программы (стоп).
У команды «стоп» отсылки нет.
Варианты окончания выполнения программы
            на машине Поста:

Всего для машины Поста существует шесть типов
команд:
V j - поставить метку, перейти к j-й строке программы.
X j - стереть метку, перейти к j-й строке программы.
<- j - сдвинуться влево, перейти к j-й строке программы.
-> j - сдвинуться вправо, перейти к j-й строке программы.
? j1; j2 - если в ячейке нет метки, то перейти к j1-й строке
программы, иначе перейти к j2-й строке программы.
! – конец программы (стоп).
У команды «стоп» отсылки нет.
Элементарные действия (команды) машина Поста проще
команд машины Тьюринга. Поэтому программы для
машины Поста имеют большее число команд, чем
аналогичные программы для машины Тьюринга.
Почему достаточно лишь два различных символа (есть
метка, нет метки)? Дело в том, что любой алфавит может
быть закодирован двумя знаками; в зависимости от
алфавита возрастать может только количество двоичных
символов в букве алфавита.
Пример работы машины Поста:

Задача: увеличить число 3 на единицу (изменить значение
в памяти с 3 на 4).
Целое положительное число на ленте машины Поста
представимо идущими подряд метками, которых на одну
больше, чем кодируемое число. Это связано с тем, что одна
метка обозначает ноль, а уже две – единицу, и т.д.
Допустим, точно известно, что каретка стоит где-то слева
от меток и обозревает пустую ячейку. Тогда программа
увеличения числа на единицу может выглядеть так:
1 -> 2
2 ? 1;3
3 <- 4
4V5
5!
Игра Баше

Играют двое. Перед ними 21 (или 16, или 11 и т.д.) фишка.
Игроки берут фишки по очереди. За один ход можно взять
от 1 до 4 фишек. Проигрывает тот, кто забирает последнюю
фишку.
Имеется выигрышная тактика для игрока, берущего фишки
вторым. Она заключается в том, чтобы брать такое
количество     фишек,    которое      дополняет     число
фишек, взятых соперником на предыдущем ходе, до пяти.
Роль фишек на информационной ленте машины Поста
будут выполнять метки (знаки). Машина играет с
человеком. Человеку предоставляется возможность стирать
метки (брать фишки) первым. Машина будет вступать в
игру второй.
Игра Баше


Исходная обстановка: на ленте массив из 21 клетки
содержит метки. Каретка установлена на крайней слева
клетке этого массива. Стирать метки можно только подряд.
Выигрышным результатом должна быть одна оставшаяся
метка перед очередным ходом человека.
Машина всегда будет выигрывать, если правильно задано
начальное число меток, которое должно быть равно
5n+1, где n – любое натуральное число. В противном
случае машина может проиграть.
Игра Баше

  Команда                               Действие
1 ? 2,1     Машина ждет появления пустой клетки над кареткой. После
            очередного хода человека машина делает свой ход. Если человек
            видит всего одну метку на ленте, он прекращает игру, признав свое
            поражение.
2→3         Эта серия команд выведет каретку на пятую (десятую, пятнадцатую
3 →4        и т.д.) позицию. Какой бы ход ни сделал соперник, в ней
            обязательно будет стоять метка.
4→5
5→6
6↕7         Стирается метка в текущей клетке
7←8         Шаг влево
8 ? 9,6     Если клетка не пустая, то возврат к команде 6
9 → 10      Каретка перемещается к первой помеченной клетке. После этого
10 ? 9,1    машина возвращается к команде 1 и ждет хода человека (или
            признания им своего поражения)
Выводы


Автоматическая обработка информации возможна, если:
1. Информация представлена в формализованном виде – в
   конечном алфавите некоторой знаковой системы;
2. Реализован исполнитель, обладающий конечной
   системой команд, достаточной для построения
   алгоритмов решения определенного класса задач
   обработки информации;
3. Реализовано    программное    управление    работой
   исполнителя.
Задания

1. На информационной ленте машины Поста
     расположен массив из N меток. Каретка находится
     под крайней левой меткой. Какое состояние
     установится на ленте после выполнения следующей
     программы?
1→2
2↕3
3→4
4 ? 5,2
5 ←6
6v7
7!
Задания

2. На информационной ленте на некотором расстоянии
    справа от каретки, стоящей под пустой
    клеткой, находится непрерывный массив меток.
    Требуется присоединить к правому концу массива
    одну метку.
3. На ленте расположен массив из 2n-1 меток.
    Составить программу отыскания средней метки и
    стирания ее.
4. На ленте расположен массив из 2n меток. Составить
    программу, по которой машина раздвинет на
    расстояние в одну клетку две половины данного
    массива.
Задания

3.    Придумайте минимально необходимую
     систему      команд     для     кассового
     аппарата, который подсчитывает стоимость
     покупок и сумму сдачи покупателю.
     Опишите алгоритм управления работой
     таким автоматом.
Использованные источники
• Семакин И.Г. Информатика и ИКТ. Базовый уровень:
  учебник для 10-11 классов/ И.Г.Семакин, Е.К.Хеннер. – 8-е
  изд. – М.: БИНОМ. Лаборатория знаний, 2012.
• http://inf1.info/machinepost
• http://kpolyakov.narod.ru/prog/post.htm

More Related Content

What's hot

исполнитель робот. ветвление.
исполнитель робот.  ветвление.исполнитель робот.  ветвление.
исполнитель робот. ветвление.guest3af4c4
 
Урок 21. Паттерн 13. Выравнивание данных
Урок 21. Паттерн 13. Выравнивание данныхУрок 21. Паттерн 13. Выравнивание данных
Урок 21. Паттерн 13. Выравнивание данныхTatyanazaxarova
 
Lesson10 Num Seq
Lesson10 Num SeqLesson10 Num Seq
Lesson10 Num Seqguest6adc64
 
презентация лP № 2 091214 v2
презентация лP № 2 091214 v2презентация лP № 2 091214 v2
презентация лP № 2 091214 v2Gulnaz Shakirova
 
Конструирование алгоритмов
Конструирование алгоритмовКонструирование алгоритмов
Конструирование алгоритмовAndrey Dolinin
 
куб.фун
куб.функуб.фун
куб.фунkravhenko
 

What's hot (8)

исполнитель робот. ветвление.
исполнитель робот.  ветвление.исполнитель робот.  ветвление.
исполнитель робот. ветвление.
 
Урок 21. Паттерн 13. Выравнивание данных
Урок 21. Паттерн 13. Выравнивание данныхУрок 21. Паттерн 13. Выравнивание данных
Урок 21. Паттерн 13. Выравнивание данных
 
chislennye
chislennyechislennye
chislennye
 
Lesson10 Num Seq
Lesson10 Num SeqLesson10 Num Seq
Lesson10 Num Seq
 
презентация лP № 2 091214 v2
презентация лP № 2 091214 v2презентация лP № 2 091214 v2
презентация лP № 2 091214 v2
 
Конструирование алгоритмов
Конструирование алгоритмовКонструирование алгоритмов
Конструирование алгоритмов
 
Использование стратегии локального поиска для решения задачи об N ферзях
Использование стратегии локального поиска для решения задачи об N ферзяхИспользование стратегии локального поиска для решения задачи об N ферзях
Использование стратегии локального поиска для решения задачи об N ферзях
 
куб.фун
куб.функуб.фун
куб.фун
 

Similar to автоматическая обработка информации

алг и прогр (11кл)
алг и прогр (11кл)алг и прогр (11кл)
алг и прогр (11кл)isva69
 
алг и прогр (11кл)
алг и прогр (11кл)алг и прогр (11кл)
алг и прогр (11кл)isva69
 
лекция1
лекция1лекция1
лекция1shagore
 
тема множество для загрузки 2013
тема множество для загрузки 2013тема множество для загрузки 2013
тема множество для загрузки 2013AliyaAringazinova
 
07.Datchic cveta/color sensor
07.Datchic cveta/color sensor07.Datchic cveta/color sensor
07.Datchic cveta/color sensortukunivan
 
Алгоритмы и исполнители
Алгоритмы и исполнителиАлгоритмы и исполнители
Алгоритмы и исполнителиAndrey Dolinin
 
Komarov borba za-miesto-urfu_2013
Komarov borba za-miesto-urfu_2013Komarov borba za-miesto-urfu_2013
Komarov borba za-miesto-urfu_2013Yandex
 
Практикум по выполнению блока с информатика
Практикум по выполнению блока с информатикаПрактикум по выполнению блока с информатика
Практикум по выполнению блока с информатикаЕкатерина Луговова
 
03
0303
03JIuc
 
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)Mikhail Kurnosov
 
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)Mikhail Kurnosov
 
введение в паскаль
введение в паскальвведение в паскаль
введение в паскальisva69
 
Лекция 7. Алгоритмы
Лекция 7. АлгоритмыЛекция 7. Алгоритмы
Лекция 7. АлгоритмыVladimir Tcherniak
 

Similar to автоматическая обработка информации (20)

Уроки Scratch
Уроки Scratch Уроки Scratch
Уроки Scratch
 
23
2323
23
 
алг и прогр (11кл)
алг и прогр (11кл)алг и прогр (11кл)
алг и прогр (11кл)
 
алг и прогр (11кл)
алг и прогр (11кл)алг и прогр (11кл)
алг и прогр (11кл)
 
Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...
Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...
Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...
 
лекция1
лекция1лекция1
лекция1
 
тема множество для загрузки 2013
тема множество для загрузки 2013тема множество для загрузки 2013
тема множество для загрузки 2013
 
07.Datchic cveta/color sensor
07.Datchic cveta/color sensor07.Datchic cveta/color sensor
07.Datchic cveta/color sensor
 
Алгоритмы и исполнители
Алгоритмы и исполнителиАлгоритмы и исполнители
Алгоритмы и исполнители
 
KL10TCH: Paver.js + T.js
KL10TCH: Paver.js + T.jsKL10TCH: Paver.js + T.js
KL10TCH: Paver.js + T.js
 
Komarov borba za-miesto-urfu_2013
Komarov borba za-miesto-urfu_2013Komarov borba za-miesto-urfu_2013
Komarov borba za-miesto-urfu_2013
 
Aaa
AaaAaa
Aaa
 
Практикум по выполнению блока с информатика
Практикум по выполнению блока с информатикаПрактикум по выполнению блока с информатика
Практикум по выполнению блока с информатика
 
03
0303
03
 
презентация1
презентация1презентация1
презентация1
 
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
 
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
 
введение в паскаль
введение в паскальвведение в паскаль
введение в паскаль
 
Основы MATLAB. Программирование
Основы MATLAB. ПрограммированиеОсновы MATLAB. Программирование
Основы MATLAB. Программирование
 
Лекция 7. Алгоритмы
Лекция 7. АлгоритмыЛекция 7. Алгоритмы
Лекция 7. Алгоритмы
 

More from Елена Ключева

378 васильев куницын_тезисы
378 васильев куницын_тезисы378 васильев куницын_тезисы
378 васильев куницын_тезисыЕлена Ключева
 
378 васильев куницын_тезисы
378 васильев куницын_тезисы378 васильев куницын_тезисы
378 васильев куницын_тезисыЕлена Ключева
 
представление графической информации
представление графической информациипредставление графической информации
представление графической информацииЕлена Ключева
 
представление текстовой информации
представление текстовой информациипредставление текстовой информации
представление текстовой информацииЕлена Ключева
 
как оформить реферат по госту
как оформить реферат по гостукак оформить реферат по госту
как оформить реферат по гостуЕлена Ключева
 
программа открытых мероприятий для родителей обучающихся лицея
программа открытых мероприятий для родителей обучающихся лицеяпрограмма открытых мероприятий для родителей обучающихся лицея
программа открытых мероприятий для родителей обучающихся лицеяЕлена Ключева
 
проектирование исследования
проектирование исследованияпроектирование исследования
проектирование исследованияЕлена Ключева
 
виды исследовательских работ
виды исследовательских работвиды исследовательских работ
виды исследовательских работЕлена Ключева
 
шифрование и дешифрование
шифрование и дешифрованиешифрование и дешифрование
шифрование и дешифрованиеЕлена Ключева
 

More from Елена Ключева (20)

378 васильев куницын
378 васильев куницын378 васильев куницын
378 васильев куницын
 
378 васильев куницын_тезисы
378 васильев куницын_тезисы378 васильев куницын_тезисы
378 васильев куницын_тезисы
 
378 васильев куницын_тезисы
378 васильев куницын_тезисы378 васильев куницын_тезисы
378 васильев куницын_тезисы
 
плакат орксэ
плакат орксэплакат орксэ
плакат орксэ
 
символы
символысимволы
символы
 
378 vasilyev
378 vasilyev378 vasilyev
378 vasilyev
 
378 васильев тезисы
378 васильев тезисы378 васильев тезисы
378 васильев тезисы
 
представление графической информации
представление графической информациипредставление графической информации
представление графической информации
 
представление текстовой информации
представление текстовой информациипредставление текстовой информации
представление текстовой информации
 
как оформить реферат по госту
как оформить реферат по гостукак оформить реферат по госту
как оформить реферат по госту
 
программа открытых мероприятий для родителей обучающихся лицея
программа открытых мероприятий для родителей обучающихся лицеяпрограмма открытых мероприятий для родителей обучающихся лицея
программа открытых мероприятий для родителей обучающихся лицея
 
представление чисел
представление чиселпредставление чисел
представление чисел
 
проектирование исследования
проектирование исследованияпроектирование исследования
проектирование исследования
 
виды исследовательских работ
виды исследовательских работвиды исследовательских работ
виды исследовательских работ
 
содержательный подход
содержательный подходсодержательный подход
содержательный подход
 
научная деятельность
научная деятельностьнаучная деятельность
научная деятельность
 
измерение информации
измерение информацииизмерение информации
измерение информации
 
шифрование и дешифрование
шифрование и дешифрованиешифрование и дешифрование
шифрование и дешифрование
 
стартовая презентация
стартовая презентациястартовая презентация
стартовая презентация
 
стартовая презентация
стартовая презентациястартовая презентация
стартовая презентация
 

автоматическая обработка информации

  • 2. Машина Поста Машина Поста – это абстрактная (несуществующая реально) вычислительная машина, созданная для уточнения (формализации) понятия алгоритма. Представляет собой универсальный исполнитель, позволяющий вводить начальные данные и читать результат выполнения программы. В 1936 г. американский математик Эмиль Пост в статье описал систему, обладающую алгоритмической простотой и способную определять, является ли та или иная задача Эмиль Пост алгоритмически разрешимой. Если задача (1897-1954), имеет алгоритмическое решение, то она США представима в форме команд для машины Поста.
  • 3. Терминология Программа - алгоритм записанный по строгим правилам языка команд исполнителя – на языке программирования для данного исполнителя. Алгоритм, по которому работает машина Поста, будем называть программой.
  • 4. Модель машины Поста V V V V Машина Поста состоит из … бесконечной ленты, поделенной на одинаковые ячейки (секции). Ячейка может быть пустой (0 или пустота) или содержать метку (1 или любой другой знак), головки (каретки), способной передвигаться по ленте на одну ячейку в ту или иную сторону, а также способной проверять наличие метки, стирать и записывать метку.
  • 5. Описание работы Текущее состояние машины Поста описывается состоянием ленты и положением каретки. Состояние ленты – информация о том, какие секции пусты, а какие отмечены. Шаг – это движение каретки на одну ячейку влево или вправо. Состояние ленты может изменяться в процессе выполнения программы. Кареткой управляет программа, состоящая из строк команд. Каждая команда имеет следующий синтаксис: i K j, где i - номер команды, K – действие каретки, j - номер следующей команды (отсылка).
  • 6. Описание работы Всего для машины Поста существует шесть типов команд: V j - поставить метку, перейти к j-й строке программы. X j - стереть метку, перейти к j-й строке программы. <- j - сдвинуться влево, перейти к j-й строке программы. -> j - сдвинуться вправо, перейти к j-й строке программы. ? j1; j2 - если в ячейке нет метки, то перейти к j1-й строке программы, иначе перейти к j2-й строке программы. ! – конец программы (стоп). У команды «стоп» отсылки нет.
  • 7. Варианты окончания выполнения программы на машине Поста: Всего для машины Поста существует шесть типов команд: V j - поставить метку, перейти к j-й строке программы. X j - стереть метку, перейти к j-й строке программы. <- j - сдвинуться влево, перейти к j-й строке программы. -> j - сдвинуться вправо, перейти к j-й строке программы. ? j1; j2 - если в ячейке нет метки, то перейти к j1-й строке программы, иначе перейти к j2-й строке программы. ! – конец программы (стоп). У команды «стоп» отсылки нет.
  • 8. Элементарные действия (команды) машина Поста проще команд машины Тьюринга. Поэтому программы для машины Поста имеют большее число команд, чем аналогичные программы для машины Тьюринга. Почему достаточно лишь два различных символа (есть метка, нет метки)? Дело в том, что любой алфавит может быть закодирован двумя знаками; в зависимости от алфавита возрастать может только количество двоичных символов в букве алфавита.
  • 9. Пример работы машины Поста: Задача: увеличить число 3 на единицу (изменить значение в памяти с 3 на 4). Целое положительное число на ленте машины Поста представимо идущими подряд метками, которых на одну больше, чем кодируемое число. Это связано с тем, что одна метка обозначает ноль, а уже две – единицу, и т.д. Допустим, точно известно, что каретка стоит где-то слева от меток и обозревает пустую ячейку. Тогда программа увеличения числа на единицу может выглядеть так: 1 -> 2 2 ? 1;3 3 <- 4 4V5 5!
  • 10.
  • 11. Игра Баше Играют двое. Перед ними 21 (или 16, или 11 и т.д.) фишка. Игроки берут фишки по очереди. За один ход можно взять от 1 до 4 фишек. Проигрывает тот, кто забирает последнюю фишку. Имеется выигрышная тактика для игрока, берущего фишки вторым. Она заключается в том, чтобы брать такое количество фишек, которое дополняет число фишек, взятых соперником на предыдущем ходе, до пяти. Роль фишек на информационной ленте машины Поста будут выполнять метки (знаки). Машина играет с человеком. Человеку предоставляется возможность стирать метки (брать фишки) первым. Машина будет вступать в игру второй.
  • 12. Игра Баше Исходная обстановка: на ленте массив из 21 клетки содержит метки. Каретка установлена на крайней слева клетке этого массива. Стирать метки можно только подряд. Выигрышным результатом должна быть одна оставшаяся метка перед очередным ходом человека. Машина всегда будет выигрывать, если правильно задано начальное число меток, которое должно быть равно 5n+1, где n – любое натуральное число. В противном случае машина может проиграть.
  • 13. Игра Баше Команда Действие 1 ? 2,1 Машина ждет появления пустой клетки над кареткой. После очередного хода человека машина делает свой ход. Если человек видит всего одну метку на ленте, он прекращает игру, признав свое поражение. 2→3 Эта серия команд выведет каретку на пятую (десятую, пятнадцатую 3 →4 и т.д.) позицию. Какой бы ход ни сделал соперник, в ней обязательно будет стоять метка. 4→5 5→6 6↕7 Стирается метка в текущей клетке 7←8 Шаг влево 8 ? 9,6 Если клетка не пустая, то возврат к команде 6 9 → 10 Каретка перемещается к первой помеченной клетке. После этого 10 ? 9,1 машина возвращается к команде 1 и ждет хода человека (или признания им своего поражения)
  • 14. Выводы Автоматическая обработка информации возможна, если: 1. Информация представлена в формализованном виде – в конечном алфавите некоторой знаковой системы; 2. Реализован исполнитель, обладающий конечной системой команд, достаточной для построения алгоритмов решения определенного класса задач обработки информации; 3. Реализовано программное управление работой исполнителя.
  • 15. Задания 1. На информационной ленте машины Поста расположен массив из N меток. Каретка находится под крайней левой меткой. Какое состояние установится на ленте после выполнения следующей программы? 1→2 2↕3 3→4 4 ? 5,2 5 ←6 6v7 7!
  • 16. Задания 2. На информационной ленте на некотором расстоянии справа от каретки, стоящей под пустой клеткой, находится непрерывный массив меток. Требуется присоединить к правому концу массива одну метку. 3. На ленте расположен массив из 2n-1 меток. Составить программу отыскания средней метки и стирания ее. 4. На ленте расположен массив из 2n меток. Составить программу, по которой машина раздвинет на расстояние в одну клетку две половины данного массива.
  • 17. Задания 3. Придумайте минимально необходимую систему команд для кассового аппарата, который подсчитывает стоимость покупок и сумму сдачи покупателю. Опишите алгоритм управления работой таким автоматом.
  • 18. Использованные источники • Семакин И.Г. Информатика и ИКТ. Базовый уровень: учебник для 10-11 классов/ И.Г.Семакин, Е.К.Хеннер. – 8-е изд. – М.: БИНОМ. Лаборатория знаний, 2012. • http://inf1.info/machinepost • http://kpolyakov.narod.ru/prog/post.htm