I want to solve the "Towers of Hanoi" problem by using a good "state space". Using an appropriate state space is a way that is suggested by some AI techniques. Having a good state space, I would then like to be able to build a search tree and then use some strategy like "DFS" (depth-first-search) to find a solution.

My problem is, I just don't know how to develop a good state space and then use it to build a search tree. Can anyone describe how to create a state-space for the Tower of Hanoi problem? Then tell me how to build a search tree for that?