Functie recursiva

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În logica matematică și informatică , funcțiile recursive sunt o clasă de funcții de la numere naturale la numere naturale care sunt „calculabile” în sens intuitiv. De fapt, în teoria calculabilității se arată că funcțiile recursive corespund exact acelor funcții care pot fi calculate prin intermediul unei mașini Turing .

Funcțiile recursive sunt un superset al funcțiilor recursive primitive și, de fapt, definiția lor inductivă (așa cum vom vedea mai jos) este construită pornind de la cea a acesteia din urmă. Prin urmare, există funcții recursive care nu sunt și recursive primitive, iar cel mai cunoscut exemplu este cel al funcției Ackermann . Alte clase de funcții echivalente cu cele ale funcțiilor recursive sunt funcțiile λ-recursive și funcțiile care pot fi calculate de un algoritm Markov .

Descriere

Definiție

Funcțiile recursive sunt definite pe baza funcțiilor recursive primitive .

Funcțiile recursive sunt cea mai mică clasă de funcții care conțin funcții recursive primitive închise în ceea ce privește operatorii de compoziție, operatorii recursivi primitivi și operatorul μ, numit și operator de minimizare.

Operatorul μ este definit după cum urmează:

Minimizare : dată o funcție totală :

Funcțiile recursive primitive sunt, prin urmare, un subset al funcțiilor recursive. Rețineți că, deși funcțiile recursive primitive sunt întotdeauna totale (NB: nu toate funcțiile totale sunt recursive primitive), funcțiile recursive pot fi parțiale, adică nu pot fi definite pentru unele valori de intrare: de fapt, operatorul de minimizare nu returnează valoare în cazul în care funcția la care este aplicată nu este anulată pentru nicio valoare a argumentului.

Cu toate acestea, amintiți-vă că operatorul de minimizare funcționează pe funcții totale. Se poate arăta că, dacă admitem aplicarea operatorului de minimizare pe funcții parțiale, atunci funcțiile recursive nu ar fi închise în ceea ce privește minimizarea.

Exemple de funcții recursive

Limitări: funcții nerecursive

Nu toate funcțiile sunt calculabile, adică recursive. Aici sunt cateva exemple.

Problema opririi

Teorema

Să luăm în considerare orice enumerare a funcțiilor recursive , în care funcția Corespunde la -funcția recursivă. Adică, a spus Acolo -funcția recursivă, avem:

Apoi, nu există o funcție recursivă astfel încât pentru fiecare Și

Această problemă este o formulare a problemei de oprire . Consultați secțiunea corespunzătoare din articolul despre seturi recursive pentru o formulare alternativă.

Demonstrație

Să presupunem prin ipoteză că este recursiv. Atunci ar fi și o funcție definit astfel:

Spunem că în enumerarea funcțiilor recursive pe care le-am dat, este indicele funcției și, prin urmare .
Dacă trecem indexul (care este un număr natural ) ca parametru al funcției , avem .
Pentru definirea avem asta dacă și numai dacă .
Dar prin definiția lui avem asta dacă și numai dacă nu este definit.
În concluzie dacă și numai dacă , care este ca și cum ai spune asta dacă și numai dacă nu este definit, ceea ce este absurd .
Deci această dovadă prin absurditate arată că ipoteza inițială " este recursiv "este fals.

Bibliografie

  • Giorgio Ausiello, Fabrizio d'Amore, Giorgio Gambosi; Franco Angeli Editor: Limbi, modele, complexitate , 2003. ISBN 88-464-4470-1
  • Brainerd, WS, Landweber, LH, Theory of Computation , Wiley, 1974. ISBN 0471095850

Elemente conexe

linkuri externe

Controlul autorității Tezaur BNCF 45388 · LCCN (EN) sh85112014 · BNF (FR) cb11977577z (data)
Matematica Portalul de matematică : accesați intrările Wikipedia care se ocupă de matematică