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

Содержание

Слайд 2

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

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

Все элементарные функции - всюду определенные и алгоритмически вычислимые.

Слайд 3

Оператор суперпозиции

Оператор суперпозиции

Слайд 4

Примеры

Примеры

Слайд 5

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

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

Слайд 6

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

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

Слайд 7

Функция называется примитивно – рекурсивной, если она является элементарной или может быть

Функция называется примитивно – рекурсивной, если она является элементарной или может быть
получена из элементарных функций с помощью конечного числа применений операторов тождества, суперпозиции и примитивной рекурсии.
Если некоторые функции являются примитивно-рекурсивными, то в результате применения к ним операторов суперпозиции или примитивной рекурсии можно получить новые примитивно-рекурсивные функции.
Существует три возможности доказательства того, что функция является примитивно-рекурсивной:
а) показать, что заданная функция является простейшей;
б) показать, что заданная функция построена с помощью оператора суперпозиции;
в) показать, что заданная функция построена с помощью оператора примитивной рекурсии.

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

Слайд 8

Функция – константа
f(x) = m s(s(s…s(Z(x))…)) m-раз
2. Сложение
f(x,y)=x+y
f(x,0)=x;
f(x,y+1)=x+(y+1)=(x+y)+1=f(x,y)+1
Доказательство:
f(x,0)=g(x)=x=I(x);
f(x,y+1) = h(x,y,z) = h(x,y,f(x,y))

Функция – константа f(x) = m s(s(s…s(Z(x))…)) m-раз 2. Сложение f(x,y)=x+y f(x,0)=x;
= s(I33 (x,y,f(x,y)))
+2 =R(I11,[s1;I33]).

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

Слайд 9

3. Умножение
f(x,y)=x*y
f(x,0)=x*0=0;
f(x,y+1)=x*(y+1)=x*y+x=f(x,y)+x
Доказательство:
f(x,0)=g(x)=0=Z(x);
f(x,y+1) = h(x,y,z) = h(x,y,f(x,y)) =x+z= I31 (x,y,f(x,y))+I33 (x,y,f(x,y))
x2 =R(Z,[+;I33,I13])
4.

3. Умножение f(x,y)=x*y f(x,0)=x*0=0; f(x,y+1)=x*(y+1)=x*y+x=f(x,y)+x Доказательство: f(x,0)=g(x)=0=Z(x); f(x,y+1) = h(x,y,z) = h(x,y,f(x,y))
Симметрическая разность (абсолютная величина разности)
Одноместная функция усеченного вычитания единицы определяется рекурсивно:

Слайд 11

Операции конечного суммирования и конечного произведения

Операции конечного суммирования и конечного произведения

Слайд 12

Оператор минимизации

Оператор минимизации

Слайд 13

Использование оператора минимизации

Используя минимизацию можно получать частично –определенные функции из всюду определенных

Использование оператора минимизации Используя минимизацию можно получать частично –определенные функции из всюду
функций.

Пример 2. Пусть g(x) = [x/2]. Найдем функцию f(x), которая получается в результате применения оператора минимизации к этой всюду определенной функции. При каждом конкретном x значение f(x) равно минимальному корню уравнения [y/2] = x. Это уравнение имеет два корня: 2x и 2x+1. Поэтому f(x)=2x.

Слайд 15

Тезис Черча

Функция называется частично-рекурсивной (вычислимой по Черчу), если она может быть получена

Тезис Черча Функция называется частично-рекурсивной (вычислимой по Черчу), если она может быть
из простейших функций с помощью конечного числа операторов суперпозиции, примитивной рекурсии и минимизации.
Если такие функции оказываются всюду определенными, то они называются общерекурсивными функциями.
Указанные операции могут быть выполнены в любой последовательности и любое конечное число раз. Таким образом, мы не просто задаем функцию, но и точно знаем, как её вычислять.
Очевидно, каждая примитивно рекурсивная функция является частично
рекурсивной, но обратное неверно.
Введем обозначения:
KПРФ – класс примитивно рекурсивных функций;
KОРФ – класс общерекурсивных функций;
KЧРФ – класс частично рекурсивных функций.
Тогда между этими классами имеется соотношения:
KПРФ ⊆ KОРФ ⊆ KЧРФ.
Имя файла: Рекурсивные-функции.pptx
Количество просмотров: 24
Количество скачиваний: 0