Рекурсивные функции — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Примитивно рекурсивные функции)
Строка 1: Строка 1:
 
{{В разработке}}
 
{{В разработке}}
 
Все рассматриваемые  здесь функции действуют из подмножества <tex> \mathbb {N}^t </tex> в <tex> \mathbb {N} </tex>, где <tex> t </tex> - любое целое неотрицательное число.   
 
Все рассматриваемые  здесь функции действуют из подмножества <tex> \mathbb {N}^t </tex> в <tex> \mathbb {N} </tex>, где <tex> t </tex> - любое целое неотрицательное число.   
 
+
== Примитивно рекурсивные функции ==
 +
=== Основные определения ===
 
Рассмотрим следующие правила преобразования функций.
 
Рассмотрим следующие правила преобразования функций.
  
* Рассмотрим <tex> k </tex>-местную функцию <tex> f(x_1,\ldots,x_k) </tex>  и <tex> k </tex> <tex>n </tex>-местных  
+
* Рассмотрим <tex> k </tex>-местную функцию <tex> f(x_1,\ldots,x_k) </tex>  и <tex> k </tex> <tex>n </tex>-местных функций <tex> g_i(x_1,x_2,\ldots,x_n) </tex>. Тогда после преобразования у нас появится <tex> n </tex> - местная функция <tex> F = f(g_1(x_1,\ldots,x_n),\ldots, g_k(x_1,\ldots,x_n)) </tex>.  
функций <tex> g_i(x_1,x_2,\ldots,x_n) </tex>.  
 
Тогда после преобразования у нас появится <tex> n </tex> - местная функция <tex> F = f(g_1(x_1,\ldots,x_n),\ldots, g_k(x_1,\ldots,x_n)) </tex>.  
 
 
Это правило называется правилом подстановки
 
Это правило называется правилом подстановки
  
* Рассмотрим <tex> k </tex>-местную функцию <tex> f </tex> и <tex> k + 2 </tex>-местную функцию <tex> h </tex>.  
+
* Рассмотрим <tex> k </tex>-местную функцию <tex> f </tex> и <tex> k + 2 </tex>-местную функцию <tex> h </tex>. Тогда после преобразования у нас будет <tex> k+1 </tex> -местная функция <tex> g </tex>, которая определена следующим образом:  
Тогда после преобразования у нас будет <tex> k+1 </tex> -местная функция <tex> g </tex>, которая определена следующим образом:  
 
 
: <tex>g(x_1,\ldots,x_n,0)=f(x_1,\ldots,x_n)</tex>
 
: <tex>g(x_1,\ldots,x_n,0)=f(x_1,\ldots,x_n)</tex>
 
: <tex>g(x_1,\ldots,x_n,y+1)=h(x_1,\ldots,x_n,y,h(x_1,\ldots, x_n,y))</tex>
 
: <tex>g(x_1,\ldots,x_n,y+1)=h(x_1,\ldots,x_n,y,h(x_1,\ldots, x_n,y))</tex>

Версия 17:20, 18 января 2013

Эта статья находится в разработке!

Все рассматриваемые здесь функции действуют из подмножества [math] \mathbb {N}^t [/math] в [math] \mathbb {N} [/math], где [math] t [/math] - любое целое неотрицательное число.

Примитивно рекурсивные функции

Основные определения

Рассмотрим следующие правила преобразования функций.

  • Рассмотрим [math] k [/math]-местную функцию [math] f(x_1,\ldots,x_k) [/math] и [math] k [/math] [math]n [/math]-местных функций [math] g_i(x_1,x_2,\ldots,x_n) [/math]. Тогда после преобразования у нас появится [math] n [/math] - местная функция [math] F = f(g_1(x_1,\ldots,x_n),\ldots, g_k(x_1,\ldots,x_n)) [/math].

Это правило называется правилом подстановки

  • Рассмотрим [math] k [/math]-местную функцию [math] f [/math] и [math] k + 2 [/math]-местную функцию [math] h [/math]. Тогда после преобразования у нас будет [math] k+1 [/math] -местная функция [math] g [/math], которая определена следующим образом:
[math]g(x_1,\ldots,x_n,0)=f(x_1,\ldots,x_n)[/math]
[math]g(x_1,\ldots,x_n,y+1)=h(x_1,\ldots,x_n,y,h(x_1,\ldots, x_n,y))[/math]
Это правило называется правилом рекурсии.


Определение:
Примитивно рекурсивными называют функции, которые можно получить с помощью правил подстановки и рекурсии из константы ноль, функции [math] f(x) = x + 1, [/math] и набора функций [math] f_{n,k}(x_1,\ldots,x_n) = x_k,[/math] где [math] k \le n [/math]