The Ordered Search Algorithm
- Put the start node s on open; compute f( s).
- While open is non-empty,
- Remove the lowest-cost node n from open; put n on
closed. If n is a goal, terminate with success.
The solution path is given by the
pointers from n back to the start node.
- Expand node n (generate its successors). For each successor
- Compute f( m).
- If m is neither on open nor on closed,
place m on open so that open remains ordered.
Put a pointer from m back to n and record the operator used.
- If m is already on open or closed, and the
path to m just found is better than the one previously found,
change the cost value and pointer of node m to the new values
and put m on open.
- open is empty; terminate with failure.