I'm currently having difficulty reasoning about how multiple prerequisites are satisfied using the A* algorithm during planning.
Assuming the following actions (with prerequisites in brackets):
Get Material Make Gloves (need material) Get Iron Make Axe (needs iron)
And the following goal (prerequisites in brackets):
Chop Tree (needs gloves, needs axe)
Now, assuming I am doing a backward search from the goal, as I understand it, I would start considering actions that have effects that directly correspond to the prerequisites of the node (this is where I think I'm going wrong).
The problem with that is, the first 2 actions to consider are
Make Gloves and
Make Axe. However, for this goal to be satisfied they both need to be done. If I only build my graph by linking effects to prerequisites, I only consider each of those actions once, and only choose one.
I.e. if I arbitrarily choose
Make Axe that leads me to
Get Iron, I don't have anything making me reconsider
Make Gloves as
Get Iron has no prerequisites.
For the actions and goal I had above there are many routes to solving it, below I have highlighted one to illustrate my point. As you can see, in this case I would need
Get Iron to be done after
Make Gloves even though their effects/prerequisites don't match in any way.
Can someone tell me where I'm going wrong in my thinking?