Teoria NP
Oltre a quelli visti, esistono anche problemi detti intrattabili, perchè non hanno soluzioni o richiedono tempo non polinomiale. Un esempio è il problema della clique massima.
Un problema si può definire come la relazione tra le istanze degli input e le soluzioni degli output: e si possono suddividere in:
- Problemi indecidibili, se è impossibile costruirne una soluzione
- Problemi decidibili, se possiedono un algoritmo a tempo finito, e sono detti trattabili quando hanno tempo , con in genere , e intrattabili quando hanno tempo , con costante
Quelli più semplici vengono detti decisionali perchè e quindi la soluzione da trovare è binaria, altrimenti vengono detti di ottimizzazione perchè tra molteplici soluzioni va cercata la migliore.
Le istanze di problemi decisionali si suddividono quindi in istanze positive , ossia quelle per cui il problema restituisce , e istanze negative , per cui il problema restituisce .
Un esempio di problema di ottimizzazione è il travelling salesman problem, che data una lista di città e di distanze tra ognuna di esse, cerca il percorso più corto che le visita tutte e torna alla città di origine.