A class of methods often used to approach planning problems, constraint satisfaction problems, etc. by representing them as the problem of searching in some problem-specific space, where various alternatives can be tried until a solution is found.