Скачать презентацию Тема Нормальные алгоритмы Маркова LOGO Марковские подстановки Скачать презентацию Тема Нормальные алгоритмы Маркова LOGO Марковские подстановки

Алг_Марков.ppt

  • Количество слайдов: 42

Тема: Нормальные алгоритмы Маркова LOGO Тема: Нормальные алгоритмы Маркова LOGO

Марковские подстановки LOGO Марковские подстановки LOGO

Теория нормальных алгоритмов была разработана советским математиком Андреевичем Марковым в конце 1940 -х годов. Теория нормальных алгоритмов была разработана советским математиком Андреевичем Марковым в конце 1940 -х годов. Андрей Андреевич Марков (младший) (22. 09. 190311. 10. 1979) – советский математик, сын известного русского математика А. А. Маркова, основоположник советской школы конструктивной математики, автор понятия нормального алгоритма (1947 г. )

Эти алгоритмы представляют собой некоторые правила по переработке слов в каком-либо алфавите При этом Эти алгоритмы представляют собой некоторые правила по переработке слов в каком-либо алфавите При этом исходные данные и результат работы алгоритма являются словами в этом алфавите

Алфавитом будем называть любое непустое множество. Его элементы называются буквами, а любая последовательность букв Алфавитом будем называть любое непустое множество. Его элементы называются буквами, а любая последовательность букв – словами в данном алфавите Для удобства рассуждений допускается пустое слово, которые обозначим Слова будем обозначать буквами Р, Q, R и с индексами

Рассмотрим упорядоченную пару слов (Р, Q) Марковской подстановкой (Р, Q) называется следующая операция над Рассмотрим упорядоченную пару слов (Р, Q) Марковской подстановкой (Р, Q) называется следующая операция над словами: в заданном слове R находят первое вхождение слова Р и, не изменяя остальных частей слова R, заменяют в нем это вхождение словом Q

Замечание: 1) Полученное слово называется результатом применения марковской подстановки (Р, Q) к слову R Замечание: 1) Полученное слово называется результатом применения марковской подстановки (Р, Q) к слову R 2) Если первого вхождения слова Р в слово R нет (и, следовательно, вообще нет ни одного вхождения Р в R), то считается что марковская подстановка (Р, Q) не применима к слову R

Частными случаями марковских подстановок являются подстановки с пустыми словами: ( , Q), (P, ), Частными случаями марковских подстановок являются подстановки с пустыми словами: ( , Q), (P, ), ( , )

Для обозначения марковской подстановки (Р, Q) используют запись Р Q Эту запись называют формулой Для обозначения марковской подстановки (Р, Q) используют запись Р Q Эту запись называют формулой подстановки (Р, Q) Различают простые подстановки Р Q и заключительные подстановки Р . Q

Пример Данное слово: 521421 Подстановка: 21 3 Результат подстановки: 53421 Пример Данное слово: 521421 Подстановка: 21 3 Результат подстановки: 53421

Пример Данное слово: 521421 Подстановка: 21 Результат подстановки: 5421 Пример Данное слово: 521421 Подстановка: 21 Результат подстановки: 5421

Пример Данное слово: 521421 Подстановка: 25 7 Результат подстановки: Не применима Пример Данное слово: 521421 Подстановка: 25 7 Результат подстановки: Не применима

Нормальные алгоритмы и их применение к словам LOGO Нормальные алгоритмы и их применение к словам LOGO

Упорядоченный конечный список формул подстановок в алфавите А называется схемой нормального алгоритма в А Упорядоченный конечный список формул подстановок в алфавите А называется схемой нормального алгоритма в А

Для задания нормального алгоритма необходимо определить: - алфавит (к словам в котором алгоритм будет Для задания нормального алгоритма необходимо определить: - алфавит (к словам в котором алгоритм будет применяться) - схему алгоритма

Процесс применения нормального алгоритма к произвольному слову представляет собой дискретную последовательность элементарных шагов (тактов) Процесс применения нормального алгоритма к произвольному слову представляет собой дискретную последовательность элементарных шагов (тактов)

Шаг работы нормального алгоритма Пусть R - слово, полученное на предыдущем шаге работы алгоритма Шаг работы нормального алгоритма Пусть R - слово, полученное на предыдущем шаге работы алгоритма (или исходное слово, если текущий шаг является первым). 1) Если в схеме алгоритма среди формул подстановки нет такой, левая часть которой входила бы в R, то работа алгоритма считается завершённой, и результатом этой работы считается слово R 2) Если в схеме алгоритма имеются формулы подстановки, левые части которых входят в R, то к слову R применяется марковская подстановка, соответствующая первой такой формуле в схеме

Замечание 1) Процесс работы нормального алгоритма считается завершенным, если на данном шаге была применена Замечание 1) Процесс работы нормального алгоритма считается завершенным, если на данном шаге была применена заключительная формула подстановки или ни одна подстановка схемы не подходит 2) Может оказаться, что процесс подстановок не может остановиться. В этом случае – алгоритм не применим к исходным данным.

Пример , R = Результат работы алгоритма: Пример , R = Результат работы алгоритма:

Пример ab bd, db ba, bba abb, c R = abbc Результат работы алгоритма: Пример ab bd, db ba, bba abb, c R = abbc Результат работы алгоритма: abbc bdbc bbac abbc … Алгоритм не применим к слову abbc

Пример ab bd, db ba, bba abb, c R = cdbacab Ответ: bbddd Пример ab bd, db ba, bba abb, c R = cdbacab Ответ: bbddd

Нормально вычислимые функции и принцип нормализации Маркова LOGO Нормально вычислимые функции и принцип нормализации Маркова LOGO

Если А и В два алфавита, причем А В, то алфавит В называется расширением Если А и В два алфавита, причем А В, то алфавит В называется расширением алфавита А

Функция f, заданная на некотором множестве слов алфавита А, называется нормально вычислимой, если найдется Функция f, заданная на некотором множестве слов алфавита А, называется нормально вычислимой, если найдется такое расширение В данного алфавита А (А В) и такой нормальный алгоритм в В, что каждое слово R (в алфавите А) из области определения функции f этот алгоритм перерабатывает в слово f(R)

Пример 1: f(x) = x + 1, A = {1} Схема алгоритма: . 1 Пример 1: f(x) = x + 1, A = {1} Схема алгоритма: . 1 Исходные данные: R = 111 Результат работы алгоритма: 1111

Пример 2: A = {1} Предложить схему нормального алгоритма Пример 2: A = {1} Предложить схему нормального алгоритма

Пример 3: f(x) = x + 1, A = {0, 1, 2, 3, 4, Пример 3: f(x) = x + 1, A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} R = 234 R = 239 R = 299 R = 537. Результат работы алгоритма: 537 a 537 5 a 37 53 a 7 537 a 537 b 538

Замечание В примере 1 и примере 2 алгоритм построен в алфавите А В примере Замечание В примере 1 и примере 2 алгоритм построен в алфавите А В примере 3 алгоритм построен в расширении В алфавита А, где В=А {a, b}

Принцип нормализации Маркова Для нахождения значений функции, заданной в некотором алфавите, тогда и только Принцип нормализации Маркова Для нахождения значений функции, заданной в некотором алфавите, тогда и только тогда существует какой-нибудь алгоритм, когда функция нормально вычислима

Принцип нормализации Маркова Сформулированный принцип носит внематический характер (аналогично тезису Тьюринга и тезису Черча) Принцип нормализации Маркова Сформулированный принцип носит внематический характер (аналогично тезису Тьюринга и тезису Черча) и не может быть строго доказан Он выдвинут на основе математического и практического опыта

Эквивалентность нормальных алгоритмов и машины Тьюринга LOGO Эквивалентность нормальных алгоритмов и машины Тьюринга LOGO

Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: Рассмотрим некоторую функцию f(x), Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: Рассмотрим некоторую функцию f(x), вычислимую по Тьюрингу Соответствующая машина Тьюринга имеет внешний алфавит А={a 0, a 1, …, am} и алфавит внутренних состояний Q={q 0, q 1, …, qn} При этом функция f(x) задана на множестве слов алфавита А

Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: В процессе работы машины Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: В процессе работы машины Тьюринга к некоторому слову возникают конфигурации в алфавите A Q: Добавим к алфавиту A Q два символа (не входящие в это множество): A Q {u, v} Эти символы будем ставить в начало и конец каждого слова R: u. Rv

Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: Представим программу машины Тьюринга Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: Представим программу машины Тьюринга в виде совокупности марковских подстановок Пусть на данном шаге работы машины Тьюринга необходимо применить команду q ai q aj. X Это означает, что слово u. Rv содержит подслово q ai

Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: 1) Х = С: Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: 1) Х = С: команда имеет вид q ai q aj В качестве марковской подстановки, соответствующей данной команде можно взять q ai q aj

Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: 2) Х = Л: Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: 2) Х = Л: команда имеет вид q ai q aj. Л Соответствующая схема марковских подстановок имеет вид: a 1 q ai q a 1 aj … amq ai q amaj uq ai uq a 0 aj

Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: 3) Х = П: Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: 3) Х = П: команда имеет вид q ai q aj. П Соответствующая схема марковских подстановок имеет вид: q ai a 1 ajq a 1 … q ai am ajq am q ai v ajq a 0 v

Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: Т. к. q ai Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: Т. к. q ai входит в слово u. Rv только один раз, то к слову u. Rv применима только одна из перечисленных подстановок Значит порядок следования подстановок не имеет значения

Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: Если заменить каждую команду Всякая функция, вычислимая по Тьюрингу, будет также нормально вычислимой Доказательство: Если заменить каждую команду машины Тьюринга соответствующей схемой марковских подстановок, получим нормальный алгоритм, вычисляющий функцию f(x) ч. т. д. Верно и обратное утверждение

Литература 1. Ильиных А. П. Теория алгоритмов. Учебное пособие. – Екатеринбург, 2006. - 149 Литература 1. Ильиных А. П. Теория алгоритмов. Учебное пособие. – Екатеринбург, 2006. - 149 с. 2. Игошин В. И. Математическая логика и теория алгоритмов. – М. : Академия, 2008. - 448 с. 3. Лихтарников Л. М. , Сукачева Т. Г. Математическая логика. Курс лекций. Задачник -практикум и решения. – СПб. : Лань, 1999. 288 с.