monimutkaisuusluokat
Monimutkaisuusluokat ovat laskennan teoreettisessa perustassa käytettyjä luokitteluja laskennallisten ongelmien vaikeusasteen mukaan. Ne perustuvat resurssien, kuten ajan ja muistin, määrään, jonka tietokone tarvitsee ongelman ratkaisemiseen. Tärkeimpiä monimutkaisuusluokkia ovat P ja NP.
Luokka P sisältää ne päätösongelmat, jotka voidaan ratkaista polynomisessa ajassa. Tämä tarkoittaa, että ongelman ratkaisemiseen kuluva
Luokka NP puolestaan sisältää ne päätösongelmat, joiden ratkaisun oikeellisuus voidaan tarkistaa polynomisessa ajassa, jos ratkaisu on
NP-täydelliset ongelmat ovat NP-luokan vaikeimpia ongelmia. Jos jokin NP-täydellinen ongelma voidaan ratkaista polynomisessa ajassa, niin kaikki