Input : Set of operators 0, Start state s, Goal state g
Output : Plan P
1. begin
2. | let P = [];
3. | while g (is not a subset of) s do
4. | | let E = {a|a is ground instance of an operator in O,
5. | | and Preconditions(a) hold in s}
6. | | if E = {} then
7. | | | return failure
8. | | end
9. | | choose a (which is a member of) E;
10. | | let s = s\ DeleteList(a) (union) AddList(a)
11. | | P = P @ [a]
12. | end
13. | return P
14.end
I'm struggling to understand lines 4,5 (and what is E used for?), lines 9 (how does it choose?) and line 10.
Thank you for any help you can offer.