- Given an informal description of the problem,
construct a formal description as a state space:
- Define a data structure to represent the
*state*. - Make a representation for the
*initial state*from the given data. - Write programs to represent
*operators*that change a given state representation to a new state representation. - Write program to detect
*terminal states*.

- Define a data structure to represent the
- Choose an appropriate search technique:
- How large is the search space?
- How well-structured is the domain?
- What knowledge about the domain can be used to guide the search?

- How large is the search space?