computational complexity theory (tsz. computational complexity theories)
Computational Complexity Theory (számítási bonyolultságelmélet) a számítástudomány egyik alappillére, amely azt vizsgálja, hogy egy adott problémát milyen erőforrásokkal (például idő és memória) lehet megoldani. Célja, hogy besorolja a problémákat aszerint, mennyire nehéz őket megoldani vagy ellenőrizni.
Olyan modelleket és osztályokat definiálunk, amelyek elméletileg leírják a problémák számítási nehézségét, és összehasonlíthatóvá teszik őket.
Ezáltal választ kapunk a kérdésekre:
Erőforrás | Jelentés |
---|---|
Időkomplexitás (T(n)) | A szükséges lépések száma bemeneti méret függvényében |
Térkomplexitás (S(n)) | A szükséges memóriahely mérete |
Osztály | Jelentés |
---|---|
P | Determinisztikus polinomiális időben megoldható problémák |
NP | Polinomiális időben ellenőrizhető problémák |
co-NP | Az NP tagadása: „nincs” válasz igazolható |
PSPACE | Polinomiális memóriával megoldható problémák |
EXPTIME | Exponenciális időben megoldható problémák |
L / NL | Logaritmikus memóriahasználat (determin./nemdetermin.) |
Vajon minden olyan probléma, aminek megoldása gyorsan ellenőrizhető (NP), gyorsan meg is oldható (P)?
Probléma | Osztály |
---|---|
Összeg két számról | P |
Rendezés, keresés | P |
Sudoku megfejtése | NP |
Hamilton-kör, 3-SAT | NP-complete |
Go játék győzelem kérdése | EXPTIME |
Fehérjeszerkezet jóváhagyása | PSPACE |
Fogalom | Jelentés |
---|---|
NP-complete | NP osztályban van, és minden más NP-problémára redukálható |
NP-hard | Legalább olyan nehéz, mint az NP-problémák, de nem feltétlen NP-beli |
Két probléma között akkor van redukció, ha az egyik problémára való megoldásból polinomiális idő alatt levezethető a másik megoldása.
Modell | Leírás |
---|---|
Turing-gép | Elméleti számítási modell, minden más gép erre visszavezethető |
RAM-gép | Elvont programozási modell, közelebb a valósághoz |
Kvantumszámítógép (BQP) | Valószínűségi és kvantumos számítások vizsgálata |
Fogalom | Leírás |
---|---|
Számítási bonyolultságelmélet | Problémák és algoritmusok nehézségének rendszerezett vizsgálata |
Fő cél | Megérteni, mi oldható meg hatékonyan, és mi nem |
Fő osztályok | P, NP, NP-complete, NP-hard, PSPACE, EXPTIME |
Kritikus kérdés | P = NP? |
Eszközök | Redukciók, gépi modellek, döntési vs. optimalizálási problémák |