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

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

Версия 17:17, 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]