funcţia calculabil
- este funcții de calcul un set de funcții de forma, f. N → N., care pot fi puse în aplicare pe o mașină Turing. Sarcina de calcul al funcției f se numește algoritmic algoritmic solubilă sau insolubilă. în funcție de faptul dacă sunt sau nu pentru a scrie algoritmul este posibil. calculează această funcție.
Deoarece setul N este considerat, de obicei set B *> - o multitudine de cuvinte în binar alfabet B = <0. 1>>. cu condiția ca rezultatul calculului, poate fi nu numai un cuvânt, dar, de asemenea, o valoare deosebită de „incertitudine“, care corespunde cazului în care algoritmul „atarna“. Astfel, acesta poate fi definit ca N:
unde B = <0. 1>>. și u n d e f - element special, indicând incertitudinea.
Rolul pluralității N poate juca un set de numere naturale, la care se adaugă un element u n d e f. și apoi funcții de calcul - este un subset al funcțiilor unui naturalnoznachnyh argument natural. Este convenabil să se presupună că, în calitate de N poate servi o varietate de seturi de numărabile - multimea numerelor naturale, mulțimea numerelor raționale, setul de cuvinte în orice alfabet finit, etc. Este important să existe o anumită limbă oficială într-un alfabet finit care descrie elementele de N și la problema recunoașterii. descrierea corectă a fost calculabil. De exemplu, pentru a descrie numerele naturale este convenabil de a utiliza sistemul număr binar - descrierea limba de numere naturale în alfabetul B.
În această definiție, în loc de artist mașini Turing poate lua una dintre artiștii interpreți sau executanți Turing-completă. Aproximativ vorbind, un „interpret de referință“ poate fi un calculator abstract, similare cu cele folosite PC-uri, dar cu o arhitectură de memorie potențial infinită și caracteristici, care să permită utilizarea acestei memorii infinite.
Este important de remarcat faptul că o varietate de programe pentru acest artist (de exemplu, o mulțime de mașini Turing cu un alfabet fix de date de intrare și de ieșire) este numărabil. Prin urmare, setul de funcții calculabile este cel mult numărabilă, în timp ce o varietate de funcții de forma f. N → N. nenumărat, numărabilă dacă N. Deci, nu există funcția calculabil, cu puterea de seturi lor mai mult decât cardinalitatea setului de funcții de calcul. Un exemplu de funcții non-calculabile (algoritmic probleme nerezolvabile) poate fi o funcție de determinare a oprire - o funcție care ia ca intrare o descriere a unei mașini Turing, și de intrare la acesta, și returnează 0 sau 1, în funcție de faptul dacă acest lucru se va opri aparatul pentru o anumită intrare sau nu. Un alt exemplu este funcțiile de bază non-calculabile complexitate Kolmogorov.
Înțelegând că unele dintre funcțiile de forma f. B * → B * \ la B ^> este calculabil, iar unele nu, a apărut înainte de apariția primelor calculatoare. Teoria calculabilitate provine din teza Turing (1936), în care a introdus conceptul de un computer abstract, și funcțiile calculabile pe ea. Odată cu dezvoltarea teoriei calculabilitate, mai multe definiții au fost formulate care, după cum sa dovedit, să definească același set de funcții - set de funcții de calcul: