КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Нормальные алгоритмы Маркова
Тезис Тьюринга (основная гипотеза теории алгоритмов) Каждую задачу из бесконечного множества задач можно закодировать некоторым словом некоторого алфавита, а решение задачи - каким-то другим словом того же алфавита. В результате получим функцию, заданную на некотором подмножестве множества всех слов того же алфавита. Решить какую-либо задачу – значит найти значение этой функции на слове, кодирующем данную задачу. Иметь алгоритм решения всех задач данного класса – значит, иметь единый способ, позволяющий за конечное число шагов вычислять значения построенной функции для любых значений аргумента из ее области определения. Таким образом, алгоритмическая проблема – это проблема о вычислении значений функции, заданной в некотором алфавите. Каждая функция, для вычисления которой существует
какой-нибудь алгоритм, оказывалась вычислимой посредством некоторой машины Тьюринга. Это дало повод Тьюрингу высказать гипотезу, называемую основной гипотезой теории алгоритмов, или тезисом Тьюринга: Для нахождения значений функции, заданной в некотором алфавите, тогда и только тогда существует какой-нибудь алгоритм, когда функция является вычислимой по Тьюрингу, то есть, когда она может вычисляться на подходящей машине Тьюринга. Данный тезис является аксиомой. Этот тезис не может доказан методами математики, потому что он не имеет внутриматематического характера (одна сторона в тезисе – понятие алгоритма – не является точным математическим понятием). Однако этот тезис может быть опровергнут, если будет найдена функция, которая вычислима с помощью какого-нибудь алгоритма, но не вычислима на машине Тьюринга.
Теория нормальных алгоритмов была разработана русским математиком А.А. Марковым в конце 1940-х – начале 1950-х гг. ХХ в. Эти алгоритмы представляют некоторые правила по переработке слов в каком-либо алфавите, так что исходные данные и результаты являются словами в некотором алфавите. Марковские подстановки. Алфавитом называется любое непустое множество символов. Элементы этого множества называются буквами, а последовательности букв – словами в данном алфавите. Допускается наличие пустых слов, то есть слов, не содержащих ни одной буквы. Пустое слово обозначается символом Слова обозначаются латинскими буквами: Марковской подстановкой называется операция над словами, задаваемая с помощью упорядоченной пары слов ( слову считается, что марковская подстановка Частными случаями марковских подстановок являются подстановки с пустыми словами: Примеры марковских подстановок
Для обозначения марковской подстановки Упорядоченный конечный список формул подстановок
в алфавите Нормальным алгоритмом (Маркова) в алфавите рассматриваемой последовательности еще не завершился. Если при этом в схеме нормального алгоритма нет формул, левые части которых входили бы в
говорят, что нормальный алгоритм применим к слову Последний член Функция Рассмотрим примеры нормальных алгоритмов. Пример 1. Пусть
Всякое слово в алфавите вхождение буквы
Пример 2. Задана функция
где Рассмотрим схему нормального алгоритма в алфавите
Пока число букв 1 в слове не меньше 3, алгоритм последовательно стирает по три буквы. Если число букв меньше 3, но больше 0, оставшиеся буквы 1 или 11 стираются заключительно; если слово пусто, то оно заключительно переводится в слово 1. Например: 1111111 111111111 Пример 3. В алфавите
Применим этот алгоритм к слову 3000. Алгоритм работает следующим образом. На первом шаге применяется самая последняя подстановка: 3000
Теперь срабатывает одна из подстановок третьего столбца (в данном случае – первая), фактически меняя букву А.А. Марков выдвинул гипотезу, получившую название “Принцип нормализации Маркова”. Согласно этому принципу, для нахождения значений функции, заданной в некотором алфавите, тогда и только тогда существует какой-нибудь алгоритм, когда функция нормально вычислима. Сформулированный принцип, так же как и тезисы Тьюринга и Черча, носит внематиматический характер и не может быть строго доказан. Он выдвинут на основании математического и практического опыта. Рассмотренные три теории (класс всех частично вычислимых функций, класс функций вычислимых по Тьюрингу, класс нормально вычислимых функций), уточняющие понятие алгоритма, оказываются равносильными между собой. Это подтверждается следующей теоремой
Следующие классы функций (заданных на натуральных числах и принимающих натуральные значения) совпадают: а) класс всех частично рекурсивных функций; б) класс всех функций, вычислимых по Тьюрингу; с) класс всех нормально вычислимых функций. Эта теорема служит косвенным подтверждением адекватности этих теорий опыту вычислений, справедливости каждого из тезисов Тьюринга, Черча и Маркова. Если бы один из этих классов оказался шире какого-либо другого класса, то соответствующий тезис Тьюринга, Черча или Маркова был бы опровергнут. Например, если бы класс нормально вычислимых функций оказался шире класса рекурсивных функций, то существовала бы нормально вычислимая, но не рекурсивная функция. В силу ее нормальной вычислимости она бы была алгоритмически вычислима в интуитивном понимании алгоритма, и предположение о ее нерекурсивности опровергало бы тезис Черча. Но классы Тьюринга, Черча и Маркова совпадают, и таких функций не существует. Это и служит еще одним косвенным подтверждением тезисов Тьюринга, Черча и Маркова.
Контрольные вопросы и упражнения
Задание 1
Дата добавления: 2015-06-27; Просмотров: 18390; Нарушение авторских прав?; Мы поможем в написании вашей работы! |