КАТЕГОРИИ: Архитектура-(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) |
Нормальные алгоритмы
Л е к ц и я 14
В данной лекции дается представление об одном подходе к уточнению понятия алгоритма, предложенном А.А. Марковым и называемом нормальные алгоритмы (в авторской транскрипции — алгорифмы). Данный подход связывает неформальное понятие эффективности с переработкой слов в некотором конечном алфавите в соответствии с определенными правилами. В качестве элементарного преобразования используется подстановка одного слова вместо другого. Множество таких подстановок определяет схему алгоритма. Правила, определяющие порядок применения подстановок, а также правила останова являются общими для всех нормальных алгоритмов. Дадим формальные определения. Пусть А = { a 1, …, an } — алфавит. Если P, Q — слова в алфавите А (возможно, пустые), то выражения P à Q P à × Q называются формулами подстановки в алфавите А (предполагается, что знаки à, × не входят в алфавит А). При этом формула P à Q называется простой, а формула P à × Q — заключительной. Обозначим P à (×) Q — любую из этих формул. Произвольная конечная последовательность таких формул называется схемой SN нормального алгоритма N. Значит схема нормального алгоритма имеет вид:
Схема SN определяет следующий алгоритм N, перерабатывающий слова в алфавите А (т.е. вычисляющий словарную функцию на словах в алфавите А). Говорим, что слово Р входит в слово W, если существуют слова V 1 и V 2 (возможно, пустые) такие, что W = = V 1 P V 2. Если слово V 1 имеет наименьшую длину из всех слов такого вида, то говорят о первом вхождении Р в слово W. Пусть дано произвольное слово К в алфавите А. Возможны следующие случаи: 1) ни одно из слов P 1, …, Pm не входит в слово К. В этом случае говорим, что схема SN не применима к К и пишем SN: --|; 2) среди слов P 1, …, Pm существует Pi, входящее в К. Пусть t — минимальное число такое, что Pt входит в К, и пусть К = V 1 Pt V 2, где V 1 имеет минимальную длину (т.е. берется первое вхождение Pt в К). Тогда определим слово W = V 1 Qt V 2. В этом случае говорим, что схема SN применима к К и пишем SN: К Теперь пишем SN: К | SN: W 0 либо SN: Wk – 1 В первом случае пишем также SN: К | Fs (P) = Q Работа нормального алгоритма может быть описана так. Если дано слово Р, то находим в схеме алгоритма SN первую формулу Pt à (×) Qt такую, что Pt входит в Р, и производим замену первого вхождения Pt словом Qt. Пусть W 1 — результат этой подстановки. Если применяемая формула Pt à (×) Qt — заключительная, то работа алгоритма заканчивается, и слово W 1 есть результат работы алгоритма. Если применяемая формула Pt à Qt — простая, то к слову W 1 применяем описанную процедуру. Если на некотором шаге получено слово Wi, к которому не применима схема алгоритма SN (т.е. ни одно из не входит в Pj, Словарная функция f в алфавите А (т.е. типа f: A * à A *) называется вычислимой по Маркову, если существует схема нормального алгоритма SN в алфавите В Ê А, вычисляющая f, т.е. Fs = f. Класс функций, вычислимых по Маркову, обозначим М. Рассмотрим несколько примеров. 1) А = { a 1, a 2}. Схема SN: 2) А = { a 1, …, an }. Схема SN: Данный алгоритм переводит всякое слово Р в алфавите А в пустое слово. 3) А = {1}. Схема SN: 4) A = { a 1, …, an }. Схема SN: 5) A = { a 1, …, an }. Если Рассмотрим алфавит В = А È {a, b} и соответственно схему SN (a, b — новые буквы): 1. aa à b 2. b a à a b, для любых a Î A 3. ba à b 4. b à ×^ 5. a ab à b a a, для любых a, b Î A 6. ^ à a. Покажем, что данный алгоритм N осуществляет обращение слов в алфавите А. Пусть
Теперь, повторяя этот процесс, получим:
Для нормальных алгоритмов разработана техника программирования, позволяющая осуществлять операции композиции алгоритмов, реализовывать операторы «если Ф, то выполнить F 1, иначе F 2», «пока Ф, выполнять F 1, иначе F 2». Следовательно, класс функций М достаточно широк. Много конкретных нормальных алгоритмов и соответствующая техника программирования представлены в книге «Теория алгорифмов»[7]. В связи с этим Марковым А.А. был выдвинут принцип нормализации, который заключается в том, что все алгоритмы исчерпываются нормальными алгоритмами или, что то же самое — всякий алгоритм нормализуем. Принятие данного принципа позволяет истолковывать утверждения о несуществовании нормальных алгоритмов для решения конкретных задач как утверждения о несуществовании алгоритмов вообще. Данный принцип эквивалентен тезисам Черча и Тьюринга, поскольку справедлива следующая теорема. Теорема 14.1. Класс функций М, вычислимых по Маркову, совпадает с классом функций Т, вычислимых по Тьюрингу, и, следовательно, с классом частично рекурсивных функций Ч и с классом МПД, вычислимых функций Е. Доказательство совпадения классов М и Ч проводится по той же схеме, что и приведенное выше доказательство совпадения классов Т и Ч [8].
Дата добавления: 2014-12-29; Просмотров: 426; Нарушение авторских прав?; Мы поможем в написании вашей работы! |