Студопедия

КАТЕГОРИИ:


Архитектура-(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: К W или SN: К W в зависимости от того, применялась простая формула или заключительная соответственно.

Теперь пишем SN: К | W, если существует конечная последовательность слов W 0, W 1, … Wk в алфавите А такая, что К = W 0, W = Wk и выполнено

SN: W 0 1, SN: W 1 W 2, …, SN: Wk – 1 × Wk,

либо SN: Wk 1 Wk.

В первом случае пишем также SN: К | × W. Говорим, что нормальный алгоритм N со схемой SN вычисляет словарную функцию Fs: A * à A *, где А * — множество слов в алфавите А, если для любых слов P, Q Î A * имеем:

Fs (P) = Q

Работа нормального алгоритма может быть описана так. Если дано слово Р, то находим в схеме алгоритма SN первую формулу Pt à (×) Qt такую, что Pt входит в Р, и производим замену первого вхождения Pt словом Qt. Пусть W 1 — результат этой подстановки. Если применяемая формула Pt à (×) Qt — заключительная, то работа алгоритма заканчивается, и слово W 1 есть результат работы алгоритма. Если применяемая формула Pt à Qt — простая, то к слову W 1 применяем описанную процедуру. Если на некотором шаге получено слово Wi, к которому не применима схема алгоритма SN (т.е. ни одно из не входит в Pj, ), то работа алгоритма заканчивается, и Wi есть результат работы алгоритма. Если описанный процесс не заканчивается, то, по определению, алгоритм не применим к слову Р.

Словарная функция f в алфавите А (т.е. типа f: A * à A *) называется вычислимой по Маркову, если существует схема нормального алгоритма SN в алфавите В Ê А, вычисляющая f, т.е. Fs = f. Класс функций, вычислимых по Маркову, обозначим М.

Рассмотрим несколько примеров.

1) А = { a 1, a 2}. Схема SN: . Данный алгоритм оставляет пустое слово ^ без изменения и всякое слово Р в алфавите А переводит в слово Q, полученное из Р путем вычеркивания первого вхождения буквы а 1. Алгоритм N не применим к словам, не содержащим вхождений буквы а 1.

2) А = { a 1, …, an }.

Схема

SN: .

Данный алгоритм переводит всякое слово Р в алфавите А в пустое слово.

3) А = {1}. Схема SN: . Данный алгоритм переводит всякое слово Р = в слово Q = . Если представить натуральное число n словом 1 n + 1, то данный алгоритм вычисляет функцию f (n) = n + 1.

4) A = { a 1, …, an }. Схема SN: . Данный алгоритм вычисляет функцию Fs (P) = P, для любого слова Р. Если же взять схему 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; Просмотров: 398; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.071 сек.