Rezumat: Operatorii superpoziției, recurențe primitiv și reducerea la minimum. Clasele recursive parțiale și funcții recursive primitive. Software-ul calculabilitate funcții recursive parțiale. funcțiile de tabelă Recursiveness, funcțiile determinate prin însumarea produsului și, pe porțiuni, n-numerotare funcții c și funcțiile definite recurență comune
În această secțiune, vom examina abordarea algebrică a definiției clasei de funcții calculabile. Fiecare funcție calculabil va fi obținută de la unele dintre cele mai simple funcții de bază, evident, calculabil cu ajutorul unor operațiuni, calculabilitate care, de asemenea, nu provoacă îndoieli. Operația, care a dat numele său acestei abordări - recursivitate - este un mod de a defini o funcție prin definirea fiecăreia dintre semnificația sa în termeni de definit anterior valorile sale și alte funcții predefinite.
Clasa de funcții recursive parțiale
Definiția funcțiilor recursive
Vom lua în considerare parțial funcțiile aritmetice f n (x1 xn.): N n -> N. Aici, n superscript în numele funcției f reprezintă numărul argumentelor sale ( "aritate"). Dacă aritatea este clar din context sau nesemnificative, atunci indicele va fi omisă. Noi definim mai întâi cei trei operatori, permițând să primească cealaltă una dintre funcțiile.
Definiția 8.1. Suprapunerea. Fie F m și n f1. FM n - funcții aritmetice. Noi spunem că G n este obținută de la F m. n f1. fm n via operatorului superpoziție (denumire: G n = [F m; f1 n fm n.]), în cazul în care pentru toate seturile de argumente (x1 xn).
Mai mult, pentru fiecare set de argumente (An a1.) Funcție (adică determinată), în cazul în care toate valorile definite f1 n (a1. An) = b1. fm n (a1. o) = bm u.
Definiție 8.2. recursivitate Primitive. Noi spunem că funcția F n + 1 (x1. Xn, y) obținut de operatorul recursie al funcțiilor g n (x1. Xn) și h n + 2 (x1. Xn. Y, z). în cazul în care acesta poate fi setat la schema recursivitatii primitiv
In acest caz, vom scrie F n + 1 = R (g n, h n + 2).
Rețineți că, în cazul în care funcțiile originale și în superpoziției definite pretutindeni operatorii recursie primitiv, iar caracteristicile rezultate sunt, de asemenea, definite peste tot. Această declarație vă permite să nu specifica definite peste tot, și anume parțială. funcție.
Definiție 8.3. Minimalizarea. Noi spunem că funcția F n (x1. Xn) se obține prin minimizarea operatorului (-Operator) a funcției g n + 1 (x1. Xn, y). dacă n F (x1. xn) este definit și este egal cu y dacă și numai dacă toate valorile g n + 1 (x1. xn, 0). g n + 1 (x1. xn, y-1) sunt definite și nu sunt egali cu 0, și g n + 1 (x1. xn, y) = 0. În acest caz, vom scrie
Definiție 8.4. Cea mai simplă funcție. Funcția se numește simplu, în cazul în care este una dintre următoarele opțiuni:
- o 1 (x) = 0 - identic zero;
- s 1 (x) = x + 1 - numărul următor (plus unu);
- argument de selectare a funcției Im n (x1. xn) = xm (1 <= m <= n) .
Rețineți că toate funcțiile elementare sunt calculabile în sens intuitiv. În plus, operatorii de superpoziție. recursie primitiv, și minimizarea exact același Computable: să înțeleagă algoritmii prin care a programelor la funcțiile inițiale pot fi obținute pentru programul rezultat. Următoarea definiție ne introduce în interesul clasă de funcții recursive parțiale și subclasele sale importante.
Definiția 8.5. Funcții recursive parțiale. Functia f este o funcție parțial recursive (PRF), în cazul în care este una dintre cele mai simple funcții sau poate veni de la ei printr-un număr finit de operatori de superpoziție utilizări. recursie primitivă și minimizarea. și anume Există o secvență de funcții f1, f2. fn = f. fiecare dintre care este fie un singur sau obținut din cea anterioară prin intermediul unuia dintre operatori menționate anterior. Această secvență este denumită funcții recursive parțiale care descriu funcția f.
Funcția f se numește funcția recursiv (GRF), în cazul în care este recursiv parțial definită peste tot.
Funcția f se numește funcția recursive primitivă (p.r.f.) în cazul în care este parțial recursiv și are o descriere parțial recursiv folosind numai operatorii de superpoziție și recursivitate primitiv. Într-un asemenea caz, se numește o descriere primitivă funcție recursivă f.
Este ușor de a verifica dacă fiecare funcție recursiv primitivă definită peste tot, adică Este o recursiv (inversul nu este adevărat în general).
Câteva exemple de functii recursive parțiale.
Exemplul 8.1. Funcții constante.