Алгоритм называется частичным алгоритмом, если мы получаем результат только для некоторых d є D и полным алгоритмом, если алгоритм получает правильный.

Презентация:



Advertisements
Похожие презентации
LOGO Определение машины Тьюринга. Машина Тьюринга – абстрактный исполнитель, осуществляющий алгоритмический процесс Это математический объект, а не физическая.
Advertisements

Элементы теоретического программирования Машина Тьюринга – математическое понятие алгоритма.
Машина Тьюринга Для формального определения алгоритма математиками Тьюрингом (1936 г.) и независимо от него Постом (1937 г.) были предложены абстрактные.
Говорят, что формальный исполнитель А имитирует другого формального исполнителя В, если: каждому объекту, которым управляет исполнитель В, однозначно.
Лекция Машина Тьюринга. Типы алгоритмов. История создания Интенсивный поиск универсального уточнения алгоритма предложил примерно 20 формальных конструкций.
Автоматическая обработка информации. В 30-х годах XX века возникает новая наука теория алгоритмов. Вопрос, на который ищет ответ эта наука: для всякой.
Теория автоматов Машины Тьюринга. Конечные автоматы как преобразователи входных последовательностей сигна­лов, так и распознаватели множеств цепочек выполняют.
Автоматическая обработка информации Чебышев Михаил10 класс.
Машина Поста Доклад по курсу « Системы Искусственного Интеллекта » Шариповой А. Ф. ИУ 4-93.
Машина Тьюринга. История возникновения Машины Тьюринга Алгоритмически неразрешимая задача Свойства Машины Тьюринга как алгоритм Описание МТ Информация.
Элементы теории алгоритмов Фестиваль педагогических идей «Открытый урок» уч.г. festival.1september.ru Narzyaeva I.Y., 2010.
Машина Поста Для уточнения понятия алгоритма амер. математиком Постом (1937 г.) было предложено строгое математическое построение, которое было названо.
Машина Тьюринга. КТО? Машина Тьюринга – математическая (воображаемая) машина, а не машина физическая. Она такой же математический объект, как функция,
Машина Поста – это абстрактная (несуществующая реально) вычислительная машина, созданная для уточнения (формализации) понятия алгоритма. Представляет.
10 класс Тема урока: Машина Тьюринга. Выполнила учитель информатики МАОУ «Гимназия 37» г.Казани Хуснутдинова Р.Р.
Обработка информации и алгоритмы Алгоритмическая машина Поста.
Ребята, сегодня вы познакомитесь с «игрушечной» машиной, которой в реальной жизни нет, но ее можно построить. Изобрел эту машину более 70-ти лет назад.
Алгоритм - способ выполнения арифметических действий над десятичными числами. Обозначение любой последовательности действий, приводящей к решению поставленной.
Уточнение понятия алгоритм Определение 1: Символом будем называть любой печатный знак. Определение 2: Алфавитом называется любое конечное множество символов.
Введение в теорию конечных автоматов. В вычислительной технике используются системы двух классов: -Комбинационные системы Особенности: имеют функциональную.
Транксрипт:

Алгоритм называется частичным алгоритмом, если мы получаем результат только для некоторых d є D и полным алгоритмом, если алгоритм получает правильный результат для всех d є D. Определение 2 (А.Н. Колмогоров): Алгоритм – это всякая система вычислений, выполняемых по строго определенным правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи. Определение 3 (А.А. Марков): Алгоритм – это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату.

Машина Тьюринга Машина Тьюринга – это модель алгоритма, которая иллюстрирует процессы, происходящие при реализации алгоритма. Машина Тьюринга является гипотетической машиной. Ее составляют следующие компоненты: Управляющее устройство Лента Считывающая и пишущая головка Управляющее устройство Управляющее устройство в каждый данный момент времени может находиться в одном и только одном состоянии из некоторого множества состояний. Q = {q 0, q 1, q m }. Состояния обозначаются буквами так называемого внутреннего алфавита Q = {q 0, q 1, q m }. q 1 q 0 Состояние q 1 считают начальным состоянием, а состояние q 0 – конечным (заключительным). R L E Во внутренний алфавит включают также символы сдвига : R – вправо, L – влево, E – на месте.

Лента Лента, разделенная на ячейки, потенциально бесконечная в обе стороны - имеется в виду, что в каждый момент времени лента содержит конечное число ячеек, но при необходимости число ячеек можно увеличивать. внешнего алфавита A В каждой ячейке может быть записан один и только один символ некоторого внешнего алфавита A= {a 0, a 1 … a n }. Символ a 0 принято считать пустым символом. Он обозначает пустую ячейку. которых НЕ ЗАПИСАНЫ символы a1, a2,…, an записан символ a 0. По умолчанию, во всех ячейках, в которых НЕ ЗАПИСАНЫ символы a1, a2,…, an записан символ a 0. В качестве внешнего алфавита мы будем рассматривать алфавит E = {0; 1}, где a 0 =0 соответствует пустому символу.

Считывающая и пишущая головка, Считывающая и пишущая головка, которая в каждый данный момент времени обозревает одну ячейку. На рис. считывающая головка обозревает ячейку ленты, в которой записан символ a n. Управляющее устройство находится в состоянии q 1 (начальном состоянии). В зависимости от состояния управляющего устройства головка либо оставляет обозреваемый символ без изменения, либо записывает на его место любой другой символ внешнего алфавита, либо стирает обозреваемый символ. Далее головка либо остается на месте, либо передвигается на одну ячейку вправо или влево, при этом управляющее устройство переходит в некоторое новое состояние (состояние может и не меняться). На рис. считывающая головка обозревает ячейку ленты, в которой записан символ a n. Управляющее устройство находится в состоянии q 1 (начальном состоянии). В зависимости от состояния управляющего устройства головка либо оставляет обозреваемый символ без изменения, либо записывает на его место любой другой символ внешнего алфавита, либо стирает обозреваемый символ. Далее головка либо остается на месте, либо передвигается на одну ячейку вправо или влево, при этом управляющее устройство переходит в некоторое новое состояние (состояние может и не меняться).

Каждое перемещение головки и изменение состояния управляющего устройства можно определить командой, которая обычно записывается в виде: q a q a D q q Q где q и q Q D {R, L, E} Каждое перемещение головки и изменение состояния управляющего устройства можно определить командой, которая обычно записывается в виде: q a q a D q q Q где q и q Q D {R, L, E} q a q a D Команда q a q a D qa q a D расшифровывается так: если машина находится в состоянии q и считанный с ленты символ a, то машина переходит в состояние q, печатает в текущей клетке символ a и затем выполняет одно из трех действий множества D. q a q a D Команда q a q a D qa q a D расшифровывается так: если машина находится в состоянии q и считанный с ленты символ a, то машина переходит в состояние q, печатает в текущей клетке символ a и затем выполняет одно из трех действий множества D.

к записям на ленте: к записям на ленте: Найти результат применения машины Тьюринга Набор всех команд образует программу машины Тьюринга. Ее можно представить таблицей: 01 q1 q2 Задание 2. Задание 1.

В зависимости от того, какая была записана входная информация на ленте, имеем 2 возможности работы машины Тьюринга : останавливается (переходит в конечное состояние q 0 ) машина применима к начальной информации А и перерабатывает ее в результирующую информацию В. 1. После конечного числа тактов машина Тьюринга останавливается (переходит в конечное состояние q 0 ) и при этом на ленте выходит результирующая информация. Остановка машины происходит и в том случае, если для пары (q i, а i ) функция перехода не определена. В этом случае говорят, что машина применима к начальной информации А и перерабатывает ее в результирующую информацию В. не останавливается. машина не применима к начальной информации А. 2. Машина Тьюринга не останавливается. В этом случае говорят, что машина не применима к начальной информации А.

детерминированной, соответствует не более одного Машина Тьюринга называется детерминированной, если каждой комбинации состояния и ленточного символа в таблице соответствует не более одного правила (команды). существует 2 и более недетерминированной. Если существует пара «ленточный символ состояние», для которой существует 2 и более команд, такая машина Тьюринга называется недетерминированной.

любой алгоритм в интуитивном смысле этого слова может быть представлен эквивалентной машиной Тьюринга. Алан Тьюринг высказал предположение, что любой алгоритм в интуитивном смысле этого слова может быть представлен эквивалентной машиной Тьюринга. тезис Черча– Тьюринга. Это предположение известно как тезис Черча– Тьюринга.

Полнота по Тьюрингу Полнота по Тьюрингу Можно сказать, что машина Тьюринга представляет собой простейшую вычислительную машину с линейной памятью, которая согласно формальным правилам преобразует входные данные с помощью последовательности элементарных действий. Элементарность действий заключается в том, что действие меняет лишь небольшой кусочек данных в памяти (в случае машины Тьюринга лишь одну ячейку), и число возможных действий конечно. Несмотря на простоту машины Тьюринга на ней можно вычислить всё, что можно вычислить на любой другой машине, осуществляющей вычисления с помощью последовательности элементарных действий. Это свойство называется полнотой.

На машине Тьюринга можно имитировать (с помощью задания правил перехода) все другие исполнители, реализующие процесс пошагового вычисления, в котором каждый шаг вычисления достаточно элементарен - машину Поста, нормальные алгоритмы Маркова и любую программу для обычных компьютеров, преобразующую входные данные в выходные по какому-либо алгоритму. В свою очередь, на различных абстрактных исполнителях можно имитировать Машину Тьюринга. Есть программы для обычных компьютеров, имитирующие работу машины Тьюринга. Но следует отметить, что данная имитация неполная, так как в машине Тьюринга присутствует абстрактная бесконечная лента. Бесконечную ленту с данными невозможно в полной мере имитировать на компьютере с конечной памятью (суммарная память компьютера оперативная память, жёсткие диски, различные внешние носители данных, регистры и кэш процессора и др. может быть очень большой, но, тем не менее, всегда конечна).

Вычислимые функции по Тьюрингу Вычислимые функции по Тьюрингу это множество функций вида которые могут быть реализованы на машине Тьюринга. алгоритмически разрешимойалгоритмически неразрешимой возможно ли написать алгоритм, вычисляющий эту функцию. Задачу вычисления функции называют алгоритмически разрешимой или алгоритмически неразрешимой, в зависимости от того, возможно ли написать алгоритм, вычисляющий эту функцию. «неопределённость» = соответствующее случаю, когда алгоритм «зависает». В качестве множества N обычно рассматривается множество слов в двоичном алфавите {0, 1} и к нему добавляется специальное значение «неопределённость» =, соответствующее случаю, когда алгоритм «зависает».

Важно отметить, что множество программ для исполнителя алгоритмов счётно. Поэтому множество вычислимых функций не более чем счётно; в то время как множество функций вида несчётно, если N счётно. Значит, есть невычислимые функции, причём мощность их множества больше, чем мощность множества вычислимых функций. Примером невычислимой функции (алгоритмически неразрешимой проблемы) может быть функция определения остановки функция, которая получает на вход описание некоторой машины Тьюринга и вход для неё, а возвращает 0 или 1 в зависимости от того, остановится данная машина на данном входе или нет.