Redukcia v zmysleteórie vypočítateľnosti je vyjadrenie problému v podobe inštancie iného problému.Pomocou redukcie sa definujú triedy zložitosti. Ak sa dá problém A redukovať na problém B, a B sa dá redukovať na A, hovoríme, že A a B sú rovnako ťažké problémy, alebo že A aj B patria do rovnakej triedy zložitosti.
Ako funguje redukcia problému A na problém B? Je to taký postup, ktorý:
Príklad:
Majme čiernu skrinku B, ktorá vie vypočítať funkciu sínus. Chceme vedieť počítať problém A, ktorý pre dané vráti súčin.
Na to môžeme využiť vzorec. Treba len vhodne transformovať vstupy a výstupy. Rovnica sa dá upraviť na. Takže naša redukcia bude vyzerať takto:
Tento príklad je len ilustračný, redukcia sa využíva hlavne v prípadoch, keď je náročné reprodukovaťriešenie problému B, alebo sme na to leniví. Využijeme len to, že B vieme riešiť. Napríklad na kalkulačke máme tlačidlo sin, ktorý počíta sínus, ale málokoho zaujíma, ako vnútorne funguje. Vyššie uvedený príklad sa dá využiť v prípade, keď sa nám pokazí tlačidlo kosínus.