Il termine problem solving[1][2] (in italiano letteralmente "risoluzione di un problema")[3][4] indica un'attività finalizzata all'analisi e alla risoluzione dei problemi usando tecniche e metodi generici, o ad hoc. Il termine può avere un significato leggermente diverso a seconda della disciplina in cui è usato; per esempio in psicologia è un processo mentale, un'attività intellettuale del pensiero umano, mentre in informatica è un processo computerizzato (vedi per esempio intelligenza artificiale e teoria della complessità computazionale).[5][6]