To search the tree, we might try the depth first approach:
- Follow current branch as far as it will go until a final
state is reached.
- If a branch terminates (goal state is not down this path),
backtrack to the last viable state.
Problems:
- Does a branch ever end?
- How do we check for loops?
- Is the path found really the shortest?