Рекурсивная функция
Рекурсивная функция в теории вычислимости — функция, формализующая понятие рекурсии с вычислительной точки зрения; подразделяются на три последовательно входящих класса функций: примитивно рекурсивные, общерекурсивные и частично рекурсивные. Последние совпадают с классом вычислимых по Тьюрингу функций и занимают центральное место в логике и теоретической информатике, соответственно, при упоминании рекурсивных функций без уточнения обычно имеются в виду частично рекурсивные функции. Введены Куртом Гёделем.
Примитивно рекурсивная функция
Определение примитивно рекурсивной функции является индуктивным. Оно состоит из указания класса базовых примитивно рекурсивных функций и двух операторов (суперпозиции и примитивной рекурсии), позволяющих строить новые примитивно рекурсивные функции на основе уже имеющихся.
К числу базовых примитивно рекурсивных функций относятся функции следующих трёх видов:
- нулевая функция
— функция без аргументов, всегда возвращающая ;
- функция следования
одной переменной, сопоставляющая любому натуральному числу
непосредственно следующее за ним натуральное число
;
- функция
(
) от
переменных, сопоставляющая любому упорядоченному набору
натуральных чисел число
из этого набора (например,
).
Операторы подстановки и примитивной рекурсии определяются следующим образом:
- оператор подстановки (оператор суперпозиции) для функции
от
переменных и упорядоченного набора
функций
от
переменных каждая даёт функцию
от
переменных, сопоставляющую любому упорядоченному набору
натуральных чисел число:
;
- оператор примитивной рекурсии для функции
от
переменных и функции
от
переменных дающий функцию
от
переменной вида:
,
.
В данном определении переменную можно понимать как счётчик итераций,
— как исходную функцию в начале итерационного процесса, выдающего некую последовательность функций
переменных, начинающуюся с
, и
— как оператор, принимающий на вход
переменных
, номер шага итерации
, функцию
на данном шаге итерации, и возвращающий функцию на следующем шаге итерации.
Множество примитивно рекурсивных функций — минимальное множество, содержащее все базовые функции и замкнутое относительно операторов подстановки и примитивной рекурсии.
В терминах императивного программирования примитивно рекурсивные функции соответствуют программным блокам, в которых используется только арифметические операции, а также условный оператор и оператор арифметического цикла (оператор цикла, в котором число итераций известно на момент начала цикла). Если же программист начинает использовать оператор цикла while, в котором число итераций заранее неизвестно и, в принципе, может быть бесконечным, то он переходит в класс частично рекурсивных функций.
Например, примитивно рекурсивны функция сложения двух натуральных чисел ():
;
;
и функция умножения двух натуральных чисел ():
;
;
.
Примитивно рекурсивный функционал — обобщение понятия примитивно рекурсивной функции в многомерной теории типов.
Частично рекурсивная функция
Частично рекурсивная функция определяется аналогично примитивно рекурсивной, только к двум операторам, суперпозиции и примитивной рекурсии, добавляется ещё третий оператор — минимизации аргумента, дающий для функции от переменных
функцию
от
переменной, задаваемую следующим определением:
, при условии
(то есть функция возвращает минимальное значение последнего аргумента функции
, при котором её значение равно 0).
Частично рекурсивные функции для некоторых значений аргумента могут быть не определены, так как оператор минимизации аргумента не всегда корректно определён, поскольку функция может быть не равной нулю ни при каких значениях аргументов. С точки зрения императивного программирования, результатом частично рекурсивной функции может быть не только число, но и исключение или уход в бесконечный цикл, соответствующие неопределённому значению.
Общерекурсивная функция
Общерекурсивная функция — частично рекурсивная функция, определённая для всех значений аргументов. Задача определения того, является ли частично рекурсивная функция с данным описанием общерекурсивной или нет, алгоритмически неразрешима.
Пример общерекурсивной функции, не являющейся примитивно рекурсивной — функция Аккермана. Другой пример общерекурсивной функции, не являющейся примитивно рекурсивной, строится диагональным методом Кантора из универсальной функции для множества одноместных примитивно рекурсивных функций.
Литература
- Гильберт Д., Бернайс П. Основания математики. — М.: Наука, 1979. — Т. 1.
- Клини С. К. Введение в метаматематику. — М.: Иностранная литература, 1957.
- Мальцев А. И. Алгоритмы и рекурсивные функции. — М.: Наука, 1986.
- Петер Р. Рекурсивные функции . — М.: Иностранная литература, 1954.
- Н. К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. — 2-е изд., исправленное. — М.: МЦНМО, 2002. — Т. 3. Вычислимые функции.
Для улучшения этой статьи желательно: |
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Рекурсивная функция, Что такое Рекурсивная функция? Что означает Рекурсивная функция?
U etogo termina sushestvuyut i drugie znacheniya sm Rekursivnaya funkciya znacheniya Rekursivnaya funkciya v teorii vychislimosti funkciya formalizuyushaya ponyatie rekursii s vychislitelnoj tochki zreniya podrazdelyayutsya na tri posledovatelno vhodyashih klassa funkcij primitivno rekursivnye obsherekursivnye i chastichno rekursivnye Poslednie sovpadayut s klassom vychislimyh po Tyuringu funkcij i zanimayut centralnoe mesto v logike i teoreticheskoj informatike sootvetstvenno pri upominanii rekursivnyh funkcij bez utochneniya obychno imeyutsya v vidu chastichno rekursivnye funkcii Vvedeny Kurtom Gyodelem Primitivno rekursivnaya funkciyaOpredelenie primitivno rekursivnoj funkcii yavlyaetsya induktivnym Ono sostoit iz ukazaniya klassa bazovyh primitivno rekursivnyh funkcij i dvuh operatorov superpozicii i primitivnoj rekursii pozvolyayushih stroit novye primitivno rekursivnye funkcii na osnove uzhe imeyushihsya K chislu bazovyh primitivno rekursivnyh funkcij otnosyatsya funkcii sleduyushih tryoh vidov nulevaya funkciya O displaystyle O funkciya bez argumentov vsegda vozvrashayushaya 0 funkciya sledovaniya S displaystyle S odnoj peremennoj sopostavlyayushaya lyubomu naturalnomu chislu x displaystyle x neposredstvenno sleduyushee za nim naturalnoe chislo x 1 displaystyle x 1 funkciya Inm displaystyle I n m 0 lt m n displaystyle 0 lt m leqslant n ot n displaystyle n peremennyh sopostavlyayushaya lyubomu uporyadochennomu naboru x1 xn displaystyle x 1 dots x n naturalnyh chisel chislo xm displaystyle x m iz etogo nabora naprimer I32 10 20 30 20 displaystyle I 3 2 10 20 30 20 Operatory podstanovki i primitivnoj rekursii opredelyayutsya sleduyushim obrazom operator podstanovki operator superpozicii dlya funkcii f displaystyle f ot m displaystyle m peremennyh i uporyadochennogo nabora m displaystyle m funkcij g1 gm displaystyle g 1 dots g m ot n displaystyle n peremennyh kazhdaya dayot funkciyu h displaystyle h ot n displaystyle n peremennyh sopostavlyayushuyu lyubomu uporyadochennomu naboru x1 xn displaystyle x 1 dots x n naturalnyh chisel chislo h x1 xn f g1 x1 xn gm x1 xn displaystyle h x 1 ldots x n f big g 1 x 1 ldots x n ldots g m x 1 ldots x n big operator primitivnoj rekursii dlya funkcii f displaystyle f ot n displaystyle n peremennyh i funkcii g displaystyle g ot n 2 displaystyle n 2 peremennyh dayushij funkciyu h displaystyle h ot n 1 displaystyle n 1 peremennoj vida h x1 xn 0 f x1 xn displaystyle h x 1 ldots x n 0 f x 1 ldots x n h x1 xn y 1 g x1 xn y h x1 xn y displaystyle h x 1 ldots x n y 1 g x 1 ldots x n y h x 1 ldots x n y V dannom opredelenii peremennuyu y displaystyle y mozhno ponimat kak schyotchik iteracij f displaystyle f kak ishodnuyu funkciyu v nachale iteracionnogo processa vydayushego nekuyu posledovatelnost funkcij n displaystyle n peremennyh nachinayushuyusya s f displaystyle f i g displaystyle g kak operator prinimayushij na vhod n displaystyle n peremennyh x1 xn displaystyle x 1 ldots x n nomer shaga iteracii y displaystyle y funkciyu h x1 xn y displaystyle h x 1 ldots x n y na dannom shage iteracii i vozvrashayushij funkciyu na sleduyushem shage iteracii Mnozhestvo primitivno rekursivnyh funkcij minimalnoe mnozhestvo soderzhashee vse bazovye funkcii i zamknutoe otnositelno operatorov podstanovki i primitivnoj rekursii V terminah imperativnogo programmirovaniya primitivno rekursivnye funkcii sootvetstvuyut programmnym blokam v kotoryh ispolzuetsya tolko arifmeticheskie operacii a takzhe uslovnyj operator i operator arifmeticheskogo cikla operator cikla v kotorom chislo iteracij izvestno na moment nachala cikla Esli zhe programmist nachinaet ispolzovat operator cikla while v kotorom chislo iteracij zaranee neizvestno i v principe mozhet byt beskonechnym to on perehodit v klass chastichno rekursivnyh funkcij Naprimer primitivno rekursivny funkciya slozheniya dvuh naturalnyh chisel Sum a b a b displaystyle Sum a b a b Sum x 0 I11 x displaystyle Sum x 0 I 1 1 x Sum x y 1 F x y Sum x y displaystyle Sum x y 1 F x y Sum x y F x y z S I33 x y z displaystyle F x y z S I 3 3 x y z i funkciya umnozheniya dvuh naturalnyh chisel Mul a b a b displaystyle Mul a b a times b Mul x 0 O x displaystyle Mul x 0 O x Mul x y 1 G x y Mul x y displaystyle Mul x y 1 G x y Mul x y G x y z Sum I31 x y z I33 x y z displaystyle G x y z Sum I 3 1 x y z I 3 3 x y z Primitivno rekursivnyj funkcional obobshenie ponyatiya primitivno rekursivnoj funkcii v mnogomernoj teorii tipov Chastichno rekursivnaya funkciyaChastichno rekursivnaya funkciya opredelyaetsya analogichno primitivno rekursivnoj tolko k dvum operatoram superpozicii i primitivnoj rekursii dobavlyaetsya eshyo tretij operator minimizacii argumenta dayushij dlya funkcii ot n displaystyle n peremennyh f displaystyle f funkciyu h displaystyle h ot n 1 displaystyle n 1 peremennoj zadavaemuyu sleduyushim opredeleniem h x1 xn 1 miny displaystyle h x 1 ldots x n 1 min y pri uslovii f x1 xn 1 y 0 displaystyle f x 1 ldots x n 1 y 0 to est funkciya h displaystyle h vozvrashaet minimalnoe znachenie poslednego argumenta funkcii f displaystyle f pri kotorom eyo znachenie ravno 0 Chastichno rekursivnye funkcii dlya nekotoryh znachenij argumenta mogut byt ne opredeleny tak kak operator minimizacii argumenta ne vsegda korrektno opredelyon poskolku funkciya f displaystyle f mozhet byt ne ravnoj nulyu ni pri kakih znacheniyah argumentov S tochki zreniya imperativnogo programmirovaniya rezultatom chastichno rekursivnoj funkcii mozhet byt ne tolko chislo no i isklyuchenie ili uhod v beskonechnyj cikl sootvetstvuyushie neopredelyonnomu znacheniyu Obsherekursivnaya funkciyaObsherekursivnaya funkciya chastichno rekursivnaya funkciya opredelyonnaya dlya vseh znachenij argumentov Zadacha opredeleniya togo yavlyaetsya li chastichno rekursivnaya funkciya s dannym opisaniem obsherekursivnoj ili net algoritmicheski nerazreshima Primer obsherekursivnoj funkcii ne yavlyayushejsya primitivno rekursivnoj funkciya Akkermana Drugoj primer obsherekursivnoj funkcii ne yavlyayushejsya primitivno rekursivnoj stroitsya diagonalnym metodom Kantora iz universalnoj funkcii dlya mnozhestva odnomestnyh primitivno rekursivnyh funkcij LiteraturaGilbert D Bernajs P Osnovaniya matematiki M Nauka 1979 T 1 Klini S K Vvedenie v metamatematiku M Inostrannaya literatura 1957 Malcev A I Algoritmy i rekursivnye funkcii M Nauka 1986 Peter R Rekursivnye funkcii M Inostrannaya literatura 1954 N K Vereshagin A Shen Lekcii po matematicheskoj logike i teorii algoritmov 2 e izd ispravlennoe M MCNMO 2002 T 3 Vychislimye funkcii Dlya uluchsheniya etoj stati zhelatelno Prostavit snoski vnesti bolee tochnye ukazaniya na istochniki Oformit spisok literatury Pozhalujsta posle ispravleniya problemy isklyuchite eyo iz spiska parametrov Posle ustraneniya vseh nedostatkov etot shablon mozhet byt udalyon lyubym uchastnikom
