Informații despre Cook

În teoria complexității computaționale, reducerea unei probleme la Cook  este un algoritm care este polinom în timp (cu alte cuvinte, o mașină Turing cu timp de rulare polinomial) care rezolvă problema cu condiția ca funcția care găsește soluția problemei. îi este dat ca un oracol , adică un apel la ea durează doar un pas.

Dacă un astfel de algoritm există, spunem că este Cooke reductibil la și scrie

Informal, în acest caz, ei spun că „cel puțin la fel de complex” ca .

Dacă problema este redusă conform lui Cook la problemă , atunci soluția problemei poate fi utilizată pentru a rezolva problema în următorul mod: atunci când un algoritm care calculează este solicitat de la oracol, se folosește soluția corespunzătoare . Deoarece mașina Turing poate interoga oracolul de un număr mare de ori, algoritmul final pentru rezolvarea problemei poate dura mai mult timp asimptotic decât algoritmul care rezolvă problema .

Istorie

Prima definiție formală a reductibilității a fost propusă de Alan Turing în 1939.

Vezi și

Link -uri