Search programs find a solution for a problem by trying different
sequences of actions ( operators) until a solution is found.

Advantage:
Many kinds of problems can be viewed as search problems.
To solve a problem using search, it is only necessary to code the
operators that can be used; search will find the sequence of
actions that will provide the desired result. For
example, a program can be written to play chess using search
if one knows the rules of chess; it isn't necessary to know
how to play good chess.

Disadvantage:
Most problems have search spaces so large that it is impossible
to search the whole space. Chess has been estimated to have 10120
possible games. The rapid growth of combinations of possible moves
is called the combinatoric explosion problem.