解決の仕方がわかっていない問題を解決するための方策を研究するのが、問題解決という分野である。問題解決では、試行錯誤で可能性の組み合わせ(解空間と呼ぶ)の中から望ましい答えを探索によって推論する、というのが一般的である。ある問題を解決しようとするときには、その問題をコンピューター上に表現しなければならない。すなわちどこを探索すればよいかという空間を指定しなければならない。
以下に示す状態空間の概念で問題を表現するのが普通である。解決すべき問題が現在どのような状態であるかを記述したのが初期状態である。解決すべき問題がどのような状態を目標としているかを記述したのが目標状態である。状態を変化させる手段を列挙したのが作用素である。問題を解決するにあたって守らなければならない条件が制約条件である。これら四つの要素によって問題を表現し、初期状態を目標状態に制約条件を満たしながら変換するような作用素の列を求めることが問題解決に相当する。