Машина Тьюринга. Теория алгоритмов, формальных языков, грамматик и автоматов презентация

Содержание


Презентации» Информатика» Машина Тьюринга. Теория алгоритмов, формальных языков, грамматик и автоматов
Машина Тьюринга
 (Бильгаева Н.Ц.
 Теория алгоритмов, формальных
 языков, грамматик и автоматов)Типы алгоритмов. История создания
 Интенсивный поиск универсального уточнения алгоритма предложил примерноАлгоритмические машины (АМ)
 имеют единственный процессор, выполняющий небольшой набор очень примитивныхОсновные АМ
 Машина Тьюринга (МТ) предложена Тьюрингом в 1937 г.
 МашинаАвторСтруктура алгоритма (составляющие алгоритма) 
 Процессорная структура. (Исполнитель алгоритма). 
 Составляющие структуры
 Информационная структура алгоритма (ИСА). Структура функций есть описание конструированияИнтерпретация МТ. 
 Процессор – в МТ называется управляющей головкой (УГ).
МТ
 Тьюринг назвал свое абстрактное механическое устройство "универсальной машиной", поскольку онаАбстрактная модель машины Тьюринга 
 МТ = <Q, D, P, q0,МТ = <Q, D, P, q0, qкон>Машина Тьюринга состоит из трех частей: ленты, считывающе-записывающей головки и логическогоГоловка неподвижна, а лента передвигается относительно нее вправо или влево. 
В каждую ячейку ленты может быть записан лишь один символ. 
Система исполняемых головкой команд предельно проста: 
 Система исполняемых головкой командКоманды перемещений ленты
 L («Left») на ячейку влево, 
 R («Right»)Элементарный шаг (такт) работы машины Тьюринга
 головка считывает символ из обозреваемойОпределение Конфигурация машины- совокупность состояний всех ячеек ленты, состояния УУ иПример
 Пусть начальной является конфигурация 1q11111. 
 Такт 1 Обозревается 1,Отличия читающего автомата с выходом и МТТезис Тьюринга 
 Всякий алгоритм может быть задан посредством тьюринговой функциональнойОтличия ЭВМ и машины Тьюринга
 Главное отличие машины Тьюринга от ЭВМЭтапы решения задачиПредставление машины Тьюринга совокупностью команд 
 Совокупность всех команд, которые можетПредставление машины Тьюринга графом 
 При представлении машины Тьюринга посредством графаПредставление машины Тьюринга таблицей соответствияПример 1.
 Построить машину Тьюринга, которая правильно вычисляет функцию f(x) =x+1Построение МТ
 Для того чтобы доказать вычислимость функции, а в дальнейшемОперации над машинами Тьюринга
 1. Композиция машин Тьюринга. Пусть машины Т1Операции над МТОперации над МТАлгоритмическая машина Поста 
 (МП) — абстрактная вычислительная машина, предложенная ЭмилемЗа один такт (его называют шагом) головка может сдвинуться на однуСтруктура команды
 Каждая команда имеет следующую структуру 
 xKy,
  xСистема команд машиныСистема команд машиныПримерКомментарий к примеру
 Последовательное исполнение команд 1 и 2 приводит кЕсли данные условия не выполняются, происходит безрезультатная остановка машины, т.е. остановкаФункции, вычислимые алгоритмом 
 алгоритм не определяется формально, а существует какВычислимые функцииРекурсивные функции
 Рекурсивные функции на множестве натуральных чисел были предложены КлиниРекурсия
 Пример: определение факториала.
 n!=1*2*3*...*n. 
 Н.Вирт отмечает, что "...мощность рекурсииРекурсивные функции
 Рекурси́вная фу́нкция (от лат. recursio — возвращение) — это числовая функция   числового аргумента, котораяСвойства рекурсивных алгоритмов:
 Правильный рекурсивный алгоритм не должен создавать бесконечную последовательностьПримитивная рекурсия
 Оператор примитивной рекурсии Rn позволяет определить (n+1) - местнуюИсчисления. 
 Исчисление функций, вычисляемых на множестве натуральных чисел предложено ЭрбраномМетапрограммирование
 Метапрограммирование предусматривает написание программ, которые работают с другими программами вАссоциативное исчисление



Слайды и текст этой презентации
Слайд 1
Описание слайда:
Машина Тьюринга (Бильгаева Н.Ц. Теория алгоритмов, формальных языков, грамматик и автоматов)


Слайд 2
Описание слайда:

Слайд 3
Описание слайда:
Типы алгоритмов. История создания Интенсивный поиск универсального уточнения алгоритма предложил примерно 20 формальных конструкций алгоритмов, которые условно можно разбить на три типа Алгоритмические машины (АМ). Функции, вычислимые алгоритмом. Исчисления.

Слайд 4
Описание слайда:
Алгоритмические машины (АМ) имеют единственный процессор, выполняющий небольшой набор очень примитивных действий, простую структуру данных (структуру памяти) в виде бесконечной ленты, простую логику (правила) управления процессором.

Слайд 5
Описание слайда:
Основные АМ Машина Тьюринга (МТ) предложена Тьюрингом в 1937 г. Машина Поста (МР) предложена Постом в 1937 г. Нормальный алгоритм Маркова (НАМ) предложен Марковым в 1953 г.

Слайд 6
Описание слайда:

Слайд 7
Описание слайда:
Автор

Слайд 8
Описание слайда:

Слайд 9
Описание слайда:

Слайд 10
Описание слайда:
Структура алгоритма (составляющие алгоритма) Процессорная структура. (Исполнитель алгоритма). Во всех теоретических конструкциях алгоритмов и большинстве алгоритмических языках это единственный процессор. Структуры данных. Структура данных это способ организация записи, хранения и извлечение данных. Данные – это элементы множеств, которые нужно порождать или распознавать..

Слайд 11
Описание слайда:
Составляющие структуры Информационная структура алгоритма (ИСА). Структура функций есть описание конструирования функции от функций из базовых. Логическая структура алгоритма (ЛСА) или программы (ЛСП). ЛСА суть описание организации вычислительного процесса, который управляется состоянием памяти.

Слайд 12
Описание слайда:
Интерпретация МТ. Процессор – в МТ называется управляющей головкой (УГ). Структура данных (память процессора) бесконечная лента, разбитая на ячейки, в ячейку может быть записан только один символ Процесс вычислений происходит по тактам Процесс остановки (остановка) МТ. Замечание Список правил для МТ не упорядочен

Слайд 13
Описание слайда:
МТ Тьюринг назвал свое абстрактное механическое устройство "универсальной машиной", поскольку она должна была справляться с любой допустимой, то есть теоретически разрешимой задачей — математической или логической. Данные должны были вводиться в машину на бумажной ленте, поделенной на клетки — ячейки. Каждая такая ячейка либо содержала символ, либо была пустой. Машина могла не только обрабатывать записанные на ленте символы, но и изменять их, стирая старые и записывая новые в соответствии с инструкциями, хранимыми в ее внутренней памяти.

Слайд 14
Описание слайда:

Слайд 15
Описание слайда:
Абстрактная модель машины Тьюринга МТ = <Q, D, P, q0, qкон>

Слайд 16
Описание слайда:
МТ = <Q, D, P, q0, qкон>

Слайд 17
Описание слайда:

Слайд 18
Описание слайда:

Слайд 19
Описание слайда:
Машина Тьюринга состоит из трех частей: ленты, считывающе-записывающей головки и логического устройства Машина Тьюринга состоит из трех частей: ленты, считывающе-записывающей головки и логического устройства

Слайд 20
Описание слайда:
Головка неподвижна, а лента передвигается относительно нее вправо или влево. Головка неподвижна, а лента передвигается относительно нее вправо или влево. Машина работает в некотором произвольном конечном алфавите A = {ε a1…a n} – этот алфавит называется внешним. В нем выделяется специальный символ – ε, называемый пустым – его посылка в какую-либо ячейку стирает тот символ, который до этого там находился, и оставляет ячейку пустой.

Слайд 21
Описание слайда:
В каждую ячейку ленты может быть записан лишь один символ. В каждую ячейку ленты может быть записан лишь один символ. Информация, хранящаяся на ленте, изображается конечной последовательностью символов внешнего алфавита, отличных от пустого символа. Головка всегда расположена над одной из ячеек ленты. Работа происходит тактами (шагами).

Слайд 22
Описание слайда:
Система исполняемых головкой команд предельно проста: Система исполняемых головкой команд предельно проста: на каждом такте она производит замену символа в обозреваемой ячейке ai символом aj При этом возможны сочетания: j = i – это означает, что в обозреваемой ячейке символ не изменился; i_0, j = 0 означает, что хранившийся в ячейке символ заменяется пустым, т.е. стирается; i =0, j_ 0 означает, что пустой символ заменяется непустым (с номером j в алфавите), т.е. производится вставка символа; i j_ 0 соответствует замене одного символа другим.

Слайд 23
Описание слайда:
Команды перемещений ленты L («Left») на ячейку влево, R («Right») на ячейку вправо S («Stop») остаться на месте, т.е. адрес обозреваемой ячейки в результате выполнения команды может либо измениться на 1, либо остаться неизменным.

Слайд 24
Описание слайда:
Элементарный шаг (такт) работы машины Тьюринга головка считывает символ из обозреваемой ячейки и, в зависимости от своего состояния и прочитанного символа, выполняет команду, в которой указано, какой символ записать (или стереть) и какое движение совершить. При этом и головка переходит в новое состояние

Слайд 25
Описание слайда:
Определение Конфигурация машины- совокупность состояний всех ячеек ленты, состояния УУ и положение головки Определение Конфигурация машины- совокупность состояний всех ячеек ленты, состояния УУ и положение головки В зависимости от начальной конфигурации возможны два варианта : после конечного числа тактов машина останавливается по команде остановки; при этом на ленте оказывается конечная конфигурация, соответствующая выходной информации; остановки не происходит. В первом случае говорят, что данная машина применима к начальной информации, во втором – нет.

Слайд 26
Описание слайда:
Пример Пусть начальной является конфигурация 1q11111. Такт 1 Обозревается 1, в ЛУ состояние q. Выходная команда q1R, что эквивалентно перемещению головки по отношению ленты на 1 шаг вправо. Следовательно, образуется промежуточная конфигурация 11q111. Такт 2 – аналогичным образом осуществляется переход к конфигурации 111q11. Такт 3 – переход к конфигурации 1111q1. Такт 4 –переход к конфигурации 11111q Такт 5 Обозревается , в ЛУ состояние q. Выходная команда z1S – вместо в ячейку записывается 1, сдвига нет, работа прекращается. Конечная конфигурация 111111z. Задача решена.

Слайд 27
Описание слайда:
Отличия читающего автомата с выходом и МТ

Слайд 28
Описание слайда:
Тезис Тьюринга Всякий алгоритм может быть задан посредством тьюринговой функциональной схемы и реализован в соответствующей машине Тьюринга. Машина Тьюринга - это модель компьютера

Слайд 29
Описание слайда:
Отличия ЭВМ и машины Тьюринга Главное отличие машины Тьюринга от ЭВМ – бесконечная лента В отличие от машины Тьюринга память реальных машин всегда конечна и ее ограничения удается преодолеть путем организации циклов if – если и for – делай до тех пор пока

Слайд 30
Описание слайда:
Этапы решения задачи

Слайд 31
Описание слайда:
Представление машины Тьюринга совокупностью команд Совокупность всех команд, которые может выполнять машина, называется ее программой. Машина Тьюринга считается заданной, если заданы ее внешний и внутренний алфавиты, программа, начальная конфигурация и указано, какие из символов обозначают пустую ячейку и заключительное состояние. Чтобы записать совокупность команд, нужно воспользоваться следующими правилами: 1) начальному шагу алгоритма ставится в соответствие q 0 - начальное состояние; 2) циклы реализуются так, что последнее действие цикла должно соответствовать переходу в то состояние, которое соответствует началу цикла; 3) соседним шагам алгоритма соответствует переход в смежные состояния, которые соответствуют этим пунктам; 4) последний шаг алгоритма вызывает переход в заключительное состояние.

Слайд 32
Описание слайда:

Слайд 33
Описание слайда:
Представление машины Тьюринга графом При представлении машины Тьюринга посредством графа необходимо каждому состоянию поставить в соответствие вершину графа, а каждой команде - помеченную дугу. Машина Тьюринга из рассмотренного примера инвертирования цепочки, состоящей из символов 0 и 1, будет представлена в виде графа следующим образом:

Слайд 34
Описание слайда:
Представление машины Тьюринга таблицей соответствия

Слайд 35
Описание слайда:

Слайд 36
Описание слайда:
Пример 1. Построить машину Тьюринга, которая правильно вычисляет функцию f(x) =x+1 по правилам двоичного сложения. Решение. Исходя из формулировки задачи, требующей вычислить функцию по правилам сложения в двоичной системе сложения, выберем входной алфавит: А ={0, 1, ε}. Представим машины Тьюринга таблицей соответствия и графом. Таблица соответствия:

Слайд 37
Описание слайда:

Слайд 38
Описание слайда:

Слайд 39
Описание слайда:
Построение МТ Для того чтобы доказать вычислимость функции, а в дальнейшем и существование алгоритма необходимо построить машину Тьюринга, реализация которой на практике зачастую представляет собой трудоемкую задачу. В связи с этим возникает необходимость разбиения алгоритма на отдельные задачи, каждая из которых будет решаться отдельной машиной Тьюринга. Если объединить программы этих машин, то получится новая программа, позволяющая решить исходную задачу.

Слайд 40
Описание слайда:
Операции над машинами Тьюринга 1. Композиция машин Тьюринга. Пусть машины Т1 и Т2 имеют программы Р1 и Р2. Предположим, что внутренние алфавиты этих машин не пересекаются; пусть qz1 - заключительное состояние машины Т1, а q02 - начальное состояние машины Т2. Заменим всюду в программе Р1 заключительное состояние qz1 на начальное состояние q02 машины Т2 и полученную программу объединим с программой Р2. Новая программа Р определяет машину Т, называемую композицией машин Т1 и Т2 по паре состояний (qz1, q02). Композиция машин может быть обозначена Т1 ⋅Т2 или Т1Т2. Более подробно композиция машин записывается следующим образом: Т = Т(Т1, Т2, (qz1, q02)), где T1 = (Q1, A1, δ1, p01, pz1, a01, a11), Т2= (Q2, A2, δ2, p02, pz2, a02, a12).

Слайд 41
Описание слайда:
Операции над МТ

Слайд 42
Описание слайда:
Операции над МТ

Слайд 43
Описание слайда:
Алгоритмическая машина Поста (МП) — абстрактная вычислительная машина, предложенная Эмилем Леоном Постом (Emil L. Post), которая отличается от машины Тьюринга большей простотой. Обе машины «эквивалентны» и были созданы для уточнения понятия «алгоритм» Абстрактная машина Поста состоит из бесконечной ленты, разделенной на равные секции, считывающе-записывающей головки. Каждая секция может быть либо пуста (т.е. в нее ничего не записано), либо заполнена (отмечена – т.е. в нее записана метка). Состояние ленты и информация о положении головки характеризуют состояние машины Поста.

Слайд 44
Описание слайда:
За один такт (его называют шагом) головка может сдвинуться на одну секцию вправо или влево и поставить или удалить метку. За один такт (его называют шагом) головка может сдвинуться на одну секцию вправо или влево и поставить или удалить метку. Работа машины Поста заключает в переходе от одного состояния машины к другому в соответствии с заданной программой, которая строится из отдельных команд.

Слайд 45
Описание слайда:
Структура команды Каждая команда имеет следующую структуру xKy, x – номер исполняемой команды; K – указание о выполняемом действии; y – номер следующей команды (наследника).

Слайд 46
Описание слайда:
Система команд машины

Слайд 47
Описание слайда:
Система команд машины

Слайд 48
Описание слайда:
Пример

Слайд 49
Описание слайда:
Комментарий к примеру Последовательное исполнение команд 1 и 2 приводит к тому, что головка за два такта работы машины сдвигается на одну позицию вправо. Это передвижение продолжается до тех пор, пока после очередного сдвига под головкой не окажется пустая ячейка – тогда по команде 3 в нее будет поставлена метка и по команде 4 машина остановится

Слайд 50
Описание слайда:
Если данные условия не выполняются, происходит безрезультатная остановка машины, т.е. остановка до получения запланированного результата. Если данные условия не выполняются, происходит безрезультатная остановка машины, т.е. остановка до получения запланированного результата. В отличие от этой ситуации, остановка по команде <x стоп> является результативной, т.е. она происходит после того, как результат действия алгоритма получен. Кроме того, возможна ситуация, когда машина не останавливается никогда – это происходит, если ни одна из команд не содержит в качестве последователя номера команды остановки или программа не переходит к этой команде.

Слайд 51
Описание слайда:
Функции, вычислимые алгоритмом алгоритм не определяется формально, а существует как бы в виде «всем понятной механической процедуры». Любая функция, вычислимая на интуитивном (содержательном) уровне, должна быть сконструирована из базовых

Слайд 52
Описание слайда:
Вычислимые функции

Слайд 53
Описание слайда:

Слайд 54
Описание слайда:

Слайд 55
Описание слайда:

Слайд 56
Описание слайда:
Рекурсивные функции Рекурсивные функции на множестве натуральных чисел были предложены Клини в 1938 г. Конструктивные механизмы рекурсивных функций очень просты, их применение в процессе построения «функции от функции» позволяет явно выстраивать структуру функции в отличие от АМ, где функция определяется процедурно, через последовательность действий.

Слайд 57
Описание слайда:
Рекурсия Пример: определение факториала. n!=1*2*3*...*n. Н.Вирт отмечает, что "...мощность рекурсии связана с тем, что она позволяет определить бесконечное множество объектов с помощью конечного высказывания".

Слайд 58
Описание слайда:
Рекурсивные функции Рекурси́вная фу́нкция (от лат. recursio — возвращение) — это числовая функция   числового аргумента, которая в своей записи содержит себя же. Рекурсия – это такой способ организации вычислительного процесса, при котором процедура или функция в ходе выполнения составляющих ее операторов обращается сама к себе.

Слайд 59
Описание слайда:
Свойства рекурсивных алгоритмов: Правильный рекурсивный алгоритм не должен создавать бесконечную последовательность вызовов самого себя. Для этого он обязательно должен содержать нерекурсивный выход, т.е. при некоторых исходных данных вычисления в алгоритме должны производиться без вызовов его самого - тривиальный случай. Определение сложного случая в терминах более простого. При любых исходных данных нерекурсивный выход должен достигаться за конечное число рекурсивных вызовов. Для этого каждый новый вызов рекурсивного алгоритма должен решать более простую задачу, т.е. рекурсивный алгоритм должен содержать определение некоторого сложного случая в терминах более простого случая.

Слайд 60
Описание слайда:
Примитивная рекурсия Оператор примитивной рекурсии Rn позволяет определить (n+1) - местную функцию f по двум заданным функциям, одна из которых является n- местной функцией g, а другая (n+2) - местной функцией h. Функция f(x1, x2, ..., xn, y) получается оператором примитивной рекурсии из функции g(x1, x2, ..., xn) и функции h(x1, x2, ..., xn, y, z), по схеме: f(x1, x2, ..., xn, 0) = g(x1, x2, ..., xn); f(x1, x2, ..., xn, y+1) = h(x1, x2, ..., xn, y, f(x1, x2, ..., xn, y)). Независимо от числа переменных в f рекурсия ведется только по одной переменной у. Остальные n переменных x1, x2, ..., xn на момент применения схемы зафиксированы и играют роль параметров.

Слайд 61
Описание слайда:

Слайд 62
Описание слайда:

Слайд 63
Описание слайда:
Исчисления. Исчисление функций, вычисляемых на множестве натуральных чисел предложено Эрбраном и Гёделем в 1938 г. -исчисление А.Чёрча также может быть отнесено к этому типу алгоритмов, предложено в 1937 г. Формальные грамматики, порождающие языки, предложены Хомским в 1953 – 1956 г.

Слайд 64
Описание слайда:

Слайд 65
Описание слайда:
Метапрограммирование Метапрограммирование предусматривает написание программ, которые работают с другими программами в качестве данных. Язык обрабатывающей программы называется метаязыком, язык обрабатываемой — объектным языком. Простейшим примером метапрограмми-рования является любой компилятор, преобразующий код, написанный на языке высокого уровня, в низкоуровневый машинный язык или ассемблер.

Слайд 66
Описание слайда:
Ассоциативное исчисление

Слайд 67
Описание слайда:

Слайд 68
Описание слайда:

Слайд 69
Описание слайда:


Скачать презентацию на тему Машина Тьюринга. Теория алгоритмов, формальных языков, грамматик и автоматов можно ниже:

Похожие презентации