Turing completeness




În teoria calculabilității, se spune că un sistem de reguli de manipulare a datelor (cum ar fi un model de calcul, un set de instrucțiuni al computerului, un limbaj de programare sau un automat celular) Orice mașină Turing (concepută de matematicianul englez și de informatică Alan Turing).

Aceasta înseamnă că acest sistem este capabil să recunoască sau să decidă alte seturi de reguli de manipulare a datelor.

Completitudinea Turing este utilizată ca o modalitate de a exprima puterea unui astfel de set de reguli de manipulare a datelor.

Practic, toate limbajele de programare astăzi sunt complete.

Un concept înrudit este cel al echivalenței Turing - două computere P și Q sunt numite echivalent dacă P poate simula Q și Q poate simula P.

P.

Conjecturile de teză a bisericii - că orice funcție ale cărei valori poate fi calculată de un algoritm poate fi calculată de A de A de A Turing Machine, și, prin urmare, că, dacă vreun computer din lumea reală poate simula o mașină de Turing, acesta este echivalent cu o mașină Turing.

O mașină universală de Turing poate fi utilizată pentru a simula orice mașină Turing și, prin extensie, aspectele de calcul ale oricărui computer posibil din lumea reală.

Pentru a arăta că ceva este complet, este suficient pentru a arăta că poate fi utilizat pentru a simula o anumită Turing- sistem complet.

Niciun sistem fizic nu poate avea memorie infinită, dar dacă limitarea memoriei finite este ignorată, majoritatea limbajelor de programare sunt altfel complete.