Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
98
Добавлен:
09.02.2015
Размер:
68.57 Кб
Скачать

Оператор суперпозиции или подстановки

Слова суперпозиция и подстановка в данном случае имеют одно и то же значение. Этот оператор по функции F от п аргументов и по функциям f1, f2, … fn строит новую функцию Ф такую, что для нее справедливо тождество

Ф≡F(f1, f2, … fn)

Алгоритм, сопутствующий этому оператору, гласит: «Значения функций f1, f2, … fn принять за значения аргументов функции F и вычислить ее значение». Оператор подстановки (суперпозиции) обозначим буквой C. Построение функции Ф из функций F и fi с помощью оператора суперпозиции будем записывать так:

Ф=C (F; f1, f2, … fn)

Алгоритм построения суперпозиции (для двух функций).

  1. Выбираются две функции f, g.

  2. Определяется аргумент xk первой функции f, для которой будем осуществлять подстановку.

  3. Подставляем значение аргумента в g и вычисляем ее значение g0.

  4. xk=g0.

  5. f0=f(x1, …, xk,…, xm)

Правило суперпозиции

Суперпозиция двух рекурсивных функций является рекурсивной функцией.

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

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

Оператор примитивной рекурсии

Этот оператор по двум функциям, одна из которых имеет п-1 независимых переменных, а другая, кроме указанных независимых переменных, имеет еще два (т.е. зависит от п+1 переменных), строит функцию п независимых переменных. Один из дополнительных аргументов войдет вместе с аргументами первой функции в число аргументов вновь получаемой функции, а другой играет вспомогательную роль при выполнении оператора рекурсии. Оператор рекурсии будем обозначать Пр; его применение будем записывать в виде строки:

f=Пр(φ, ψ)

где f означает получаемую функцию, φ – функцию п-1 независимых переменных, ψ – функцию n+1 независимых переменных.

При описании существа оператора рекурсии удобно не указывать аргументов первой из заданных функций ни в ее функциональной записи, ни в записях двух других функций, подразумевая эти аргументы. Тогда можно сказать, что оператор рекурсии задает функцию с помощью двух условий, в которые входят функции φ и ψ. Алгоритм, сопутствующий оператору рекурсии, гласит: «значением получаемой функции для нулевого значения главного дополнительного аргумента считать значение исходной функции п-1 аргументов; значением определяемой функции для каждого последующего значения главного аргумента считать значение второй из заданных функций при предыдущем значении главного аргумента и при значении вспомогательного аргумента, совпадающем с предыдущим значением определяемой функции».

Оператор примитивной рекурсии строится по следующему правилу:

  1. f(x1, x2,…, xn-1, 0)= φ(x1, x2,…, xn-1);

  2. f(x1, x2,…, xn-1, y+1) = ψ(x1, x2,…, xn-1, y, f(x1, x2,…, xn-1, y)).

При этом, f(x1, x2,…, xn-1, y+1) = C(ψ(x1, x2,…, y), xn+1).

Алгоритм построения примитивной рекурсии:

  1. выбираем две функции φ и ψ, у которых количество аргументов n-1 и n+1 соответственно;

  2. определяем значение для n-1 аргумента и фиксируем значение xn (n-го аргумента), это будет y;

  3. выбираем значение y=0;

  4. вычисляем f(x1, x2,…, xn-1, 0)= φ(x1, x2,…, xn-1);

  5. увеличиваем y на 1 и получаем функцию

ψ(x1, x2,…, xn-1, y, f(x1, x2,…, xn-1, y)) = f(x1, x2,…, xn-1, y+1).

Правило примитивной рекурсии. Если заданы две рекурсивные функции φ от n-1 аргумента и ψ от n+1 аргумента, то построенная с их помощью примитивная рекурсия даст тоже рекурсивную функцию.

Соседние файлы в папке Мат. логика все лекции