
Go up to Question 7
Go forward to Solution to Question 7, part 2
Solution to Question 7, part 1
The neighbors of [sitting_at(rob,o109),sitting_at(parcel,lab2)]
in a regression search tree are (assuming that we are not reducing to
primitive goals):
- [autonomous(rob), sitting_at(rob,L), adjacent(L,o109),
sitting_at(parcel,lab2)] using the action move(rob,L,o109).
- [sitting_at(rob,o109), autonomous(parcel),
sitting_at(parcel,L), adjacent(L,lab2)] using the action
move(parcel,L,o109).
- [sitting_at(Ag,o109), autonomous(Ag), carrying(Ag,rob), Ag\=rob,sitting_at(parcel,lab2)] for the action putdown(Ag,rob).
- [sitting_at(rob,o109), sitting_at(Ag,lab2), autonomous(Ag), carrying(Ag,parcel), Ag\=parcel] for the action putdown(Ag,parcel).
If we reduce to primitive goals, we get the neighbors as:
- [sitting_at(rob,o103),
sitting_at(parcel,lab2)] using the action move(rob,o103,o109).
- [sitting_at(rob,storage),
sitting_at(parcel,lab2)] using the action move(rob,storage,o109).
- [sitting_at(rob,o109), sitting_at(rob,lab2),
carrying(rob,parcel)] for the action putdown(rob,parcel).
(The last one could be omitted as it is impossible).
