A general search algorithm
1. Form a one element list with null state
2. Loop Until (either list empty or we have a solution)
- Remove the first state X from the list
- Choose the next decision to make
- e.g. which letter to set in SAT, which city to choose successor in TSP
- Create a new state for each possible choice of decision
- e.g. upper/lower case, Walla Walla/Oberlin/Ithaca
- MERGE the set of new states into the list
- different algorithms will have different MERGE methods
3. If (solution in list) succeed
- else list must be empty, so fail
-