Man skiller gjerne på og . Et optimaliseringsproblem spør om det finnes en optimal verdi; et beslutningsproblem om det finnes en løsning, der svaret enten er eller . Disse problemene kan igjen kategoriseres i ulike kompleksitetsklasser, relatert etter hvor vanskelig det er å løse dem. Eksempler på kompleksitetsklasser er P, NP, NP-hardt.