Автор работы: Пользователь скрыл имя, 25 Октября 2013 в 23:11, реферат
Машина Поста – это абстрактная (несуществующая реально) вычислительная машина, созданная для уточнения (формализации) понятия алгоритма. Представляет собой универсальный исполнитель, позволяющий вводить начальные данные и читать результат выполнения программы.
Машина Поста…………………………………………. 3
Введение…………………………………………....
Принцип работы…………………………………..
Объекты используемые в программе…………..
Функции используемые в программе…………..
Варианты окончания выполнения программы на машине Поста…………………………………………………...
Пример работы машины Поста…………………
Машина Тьюринга…………………………………….. 9
Введение…………………………………………….
Описание машины Тьюринга…………………....
Свойства машины Тьюринга как алгоритма….
Сложность алгоритмов……………………………
Сложность проблем………………………………..
Машина Тьюринга и алгоритмически неразрешимые проблеммы…………………………………….
Заключение…………………………………………
Пример работы машины Тьюринга…………….
3. Список используемой литературы……………………......20
Министерство
образования и науки РФ Федерального
государственное бюджетное
Реферат по информатике.
Кафедра Информационных систем и технологий
Тема: «Машина Поста и машина Тьюринга»
Работу выполнила студентка ТФ 1-2
Гонохина Екатерина Андреевна
Работу проверила: Голубева Светлана Константиновна
2012 год.
Содержание:
3. Список используемой литературы……………………......20
1 Машина Поста
1.1 Введение
Машина Поста –
это абстрактная (несуществующая реально)
вычислительная машина, созданная для
уточнения (формализации) понятия алгоритма.
Представляет собой универсальный исполнитель,
позволяющий вводить начальные данные
и читать результат выполнения программы.
В 1936 г. американский математик Эмиль Пост
в статье описал систему, обладающую алгоритмической
простотой и способную определять, является
ли та или иная задача алгоритмически
разрешимой. Если задача имеет алгоритмическое
решение, то она представима в форме команд
для машины Поста.
1.2 Принцип работы
Машина Поста состоит из каретки (или считывающей и записывающей головки) и разбитой на секции бесконечной в обе стороны ленты. Каждая секция ленты может быть либо пустой — 0, либо помеченной меткой 1. За один шаг каретка может сдвинуться на одну позицию влево или вправо, считать, поставить или стереть символ в том месте, где она стоит. Работа машины Поста определяется программой, состоящей из конечного числа строк. Всего команд шесть: N. → J сдвиг вправо N. ← J сдвиг влево N. 1 J запись метки N. 0 J удаление метки N. ? J1, J0 если в ячейке 1, то перейти к j1 строке программы, иначе перейти к j0 строке. N. Stop остановка
N. — номер строки, J — строка на которую переходит управление далее.
Для работы машины нужно задать программу и ее начальное состояние (т. е. состояние ленты и позицию каретки). После запуска возможны варианты: работа может закончиться невыполнимой командой (стирание несуществующей метки или запись в помеченное поле); работа может закончиться командой Stop; работа никогда не закончится.
1.3 Объекты используемые в программе
1.4 Функции используемые в программе
Машина Поста состоит из:
Текущее состояние машины Поста описывается состоянием ленты и положением каретки. Состояние ленты – информация о том, какие секции пусты, а какие отмечены. Шаг – это движение каретки на одну ячейку влево или вправо. Состояние ленты может изменяться в процессе выполнения программы.
Кареткой управляет программа,
состоящая из строк команд. Каждая
команда имеет следующий
где i - номер команды, K – действие каретки, j - номер следующей команды (отсылка).
Всего для машины Поста существует шесть типов команд:
У команды «стоп» отсылки нет.
1.5 Варианты окончания выполнения программы на машине Поста:
Элементарные действия (команды) машина
Поста проще команд машины Тьюринга.
Поэтому программы для машины
Поста имеют большее число
команд, чем аналогичные программы
для машины Тьюринга.
Почему достаточно лишь два различных
символа (есть метка, нет метки)? Дело в
том, что любой алфавит может быть закодирован
двумя знаками; в зависимости от алфавита
возрастать может только количество двоичных
символов в букве алфавита.
1.6 Пример работы машины Поста:
Задача: увеличить
число 3 на единицу (изменить значение
в памяти с 3 на 4).
Целое положительное число на ленте машины
Поста представимо идущими подряд метками,
которых на одну больше, чем кодируемое
число. Это связано с тем, что одна метка
обозначает ноль, а уже две – единицу,
и т.д.
Допустим, точно известно, что каретка
стоит где-то слева от меток и обозревает
пустую ячейку. Тогда программа увеличения
числа на единицу может выглядеть так:
1. -> 2
2. ? 1;3
3. <- 4
4. V 5
5. !
А процесс выполнения может быть таким:
Алгоритм для машины Поста:
2 Машина Тьюринга
2.1 Введение
В 1936 г. Аланом
Тьюрингом для уточнения
Кроме того, предполагается, что универсальный
исполнитель должен уметь доказывать
существование или отсутствие алгоритма
для той или иной задачи.
Машина Тьюринга - это очень простое вычислительное устройство. Она состоит из ленты бесконечной длины, разделенной на ячейки, и головки, которая перемещается вдоль ленты и способна читать и записывать символы. Также у машины Тьюринга есть такая характеристика, как состояние, которое может выражаться целым числом от нуля до некоторой максимальной величины. В зависимости от состояния машина Тьюринга может выполнить одно из трех действий: записать символ в ячейку, передвинуться на одну ячейку вправо или влево и установить внутреннее состояние.
Устройство машины Тьюринга чрезвычайно просто, однако на ней можно выполнить практически любую программу. Для выполнения всех этих действий предусмотрена специальная таблица правил, в которой прописано, что нужно делать при различных комбинациях текущих состояний и символов, прочитанных с ленты.
В 1947 г. Алан Тьюринг расширил определение, описав "универсальную машину Тьюринга". Позже для решения определенных классов задач была введена ее разновидность, которая позволяла выполнять не одну задачу, а несколько.
2.2 Описание машины Тьюринга
Алан Тьюринг
(Turing) в 1936 году опубликовал в трудах
Лондонского математического
Предыстория создания этой работы связана с формулировкой Давидом Гильбертом на Международном математическом конгрессе в Париже в 1900 году неразрешенных математических проблем. Одной из них была задача доказательства непротиворечивости системы аксиом обычной арифметики, которую Гильберт в дальнейшем уточнил как "проблему разрешимости" - нахождение общего метода, для определения выполнимости данного высказывания на языке формальной логики.
Статья Тьюринга как раз и давала ответ на эту проблему - вторая проблема Гильберта оказалась неразрешимой. Но значение статьи Тьюринга выходило далеко за рамки той задачи, по поводу которой она была написана.
Приведем характеристику этой работы, принадлежащую Джону Хопкрофту: "Работая над проблемой Гильберта, Тьюрингу пришлось дать четкое определение самого понятия метода. Отталкиваясь от интуитивного представления о методе как о некоем алгоритме, т.е. процедуре, которая может быть выполнена механически, без творческого вмешательства, он показал, как эту идею можно воплотить в виде подробной модели вычислительного процесса. Полученная модель вычислений, в которой каждый алгоритм разбивался на последовательность простых, элементарных шагов, и была логической конструкцией, названной впоследствии машиной Тьюринга".
Машина Тьюринга является расширением модели конечного автомата, расширением, включающим потенциально бесконечную память с возможностью перехода (движения) от обозреваемой в данный момент ячейки к ее левому или правому соседу.
Формально машина
Тьюринга может быть описана следующим
образом. Пусть заданы:конечное множество
состояний – Q, в которых может
находиться машина Тьюринга;конечное
множество символов ленты – Г;функция
δ (функция переходов или