Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория алгоритмов.doc
Скачиваний:
12
Добавлен:
29.07.2019
Размер:
154.62 Кб
Скачать

Способы композиции нормальных алгоритмов:

  1. Суперпозиция алгоритмов. При суперпозиции двух алгоритмов A и B выходное слово первого алгоритма рассматривается как входное слово второго алгоритма. Результат суперпозиции С может быть представлен в виде C(P) = B(A(P))

  2. Объединение алгоритмов. Объединением алгоритмов A и B в одном и том же алфавите называется алгоритм C, преобразующий любое слово P, содержащееся в пересечении областей определения алгоритма A и B в записанные рядом слова A(P) и B(P)

  3. Разветвление алгоритмов. Разветвление представляет собой композицию D трёх алгоритмов A,B и C, причём область определения алгоритма D является пересечением областей определения трёх алгоритмов A,B,C.

  4. Итерация (повтор). Представляет собой такую композицию C двух алгоритмов A и B, что для любого входного слова P, соответствующего слова C(P), получается в результате последовательного многократного применения алгоритма A до тех пор, пока не получится слово, образуемое алгоритмом B.

Нормальные алгоритмы Маркова являются не только средством теоретических построений, но и основой специализированного языка программирования, применяемого как язык символьных преобразований при разработке систем искусственного интеллекта.

Рекурсивные функции.

Ещё одним подходом к проблеме формализации понятия алгоритма являются т.н. рекурсивные функции. Исторически этот подход возник первым, по этому в математических исследованиях, посвящённых алгоритмам, он имеет наибольшее распространение.

Рекурсией называется способ задания функции, при котором значении функции при определённом значении аргументов выражается через уже заданные значения функции, при других значениях аргументов.

Применение рекурсивных функций в теории алгоритмов основано на идее нумерации слов в произвольном алфавите последовательными числами.

Т.о. любой алгоритм можно свести к вычислению значений некоторой функции, при целочисленном значении аргумента.

Введём несколько понятий.

Пусть X и Y – два множества. Частичной функцией (или отображением из X в Y) будем называть пару <D(f), f>, состоящее из подмножества D(f), содержащее D(f) € X.

Через n будем обозначать множество значений чисел (N)n.

Частичная функция f называется вычислимой, если можно указать такой алгоритм, который для входного набора XC(N)n даёт на выходе f(X), если X € D(f). И 0, если X не принадлежит D(f).

В этом отрезке неформальное понятие алгоритма оказывается связанным с понятием вычислимости функции.

Вместо алгоритмов далее будут изучаться свойства вычислимых функций.

Частная функция из (N)m полувычислима, если можно указать такой алгоритм, который для входного набора X(N)n лежит в области определения.

Очевидно, что вычислимые функции полувычислимы, а всюду определённые полувычилсимые функции вычислимы.

Частичная функция f называется ни вычислимой, ни полувычислимой. Фундаментальным открытием теории вычислимости является т.н. тезис Чёрча, который в слабейшей форме имеет следующий вид: можно явно указать:

  1. семейство простейших полувычисимых функций;

  2. Семейства элементарных операций, которые позволяют строить по одним полувычислимым функциям другие полувычислимые функции с тем свойством, что любая полувычислимая функция получается за конечное число шагов, каждый из которых стостоит в применении одной из элементарных операций к ранее построенным или к простейшим функциям.

Простейшие функции:

Suc:N → N ( suc(x) = x+1 – определение следующего за x числа).

T(n):(N)n → N;

T(n)(x1,xn)=0.

Определение размерности области определения функции

Prn:(N)n → N;

Prn(x1…xn)=x2 – проекция области определения на одну из переменных.