Professional Documents
Culture Documents
Each of this sub-problem can then be solved to get its sub solution.
These sub solutions can then recombined to get a solution as a whole.
That is called is Problem Reduction. AND-OR graphs or AND - OR trees
are used for representing the solution.
This method generates arc which is called as AND-OR arcs. One AND arc
may point to any number of successor nodes, all of which must be solved
in order for an arc to point to a solution.
AND-OR graph is used to represent various kind of complex problem
solutions.
AO* search algo. is based on AND-OR graph so ,it is called AO* search
algo.
AO* SEARCH ALGORITHM
This is why the structure is called not simply an OR-graph but rather an
AND-OR graph (which also happens to be an AND-OR tree)
AO* SEARCH ALGORITHM
An algorithm to find a solution in an AND - OR graph must handle AND
area appropriately.
A* algorithm can not search AND - OR graphs efficiently.
This can be understand from the give figure
In figure (a) the top node A has been expanded producing two area one
leading to B and leading to C-D . the numbers at each node represent the
value of f ' at that node (cost of getting to the goal state from current state).
For simplicity, it is assumed that every operation(i.e. applying a rule) has
unit cost, i.e., each are with single successor will have a cost of 1 and each of
its components.
AO* SEARCH ALGORITHM
With the available information till now , it appears that C is the most
promising node to expand since its f ' = 3 , the lowest but going through B
would be better since to use C we must also use D' and the cost would be
9(3+4+1+1). Through B it would be 6(5+1).
Thus the choice of the next node to expand depends not only on a value but
also on whether that node is part of the current best path form the initial
mode. Figure (b) makes this clearer. In figure the node G appears to be the
most promising node, with the least f ' value. But G is not on the current
beat path, since to use G we must use GH with a cost of 9 and again this
demands that arcs be used (with a cost of 27).
AO* SEARCH ALGORITHM
The path from A through B, E-F is better with a total cost of (17+1=18).
Thus we can see that to search an AND-OR graph, the following three
things must be done.
1. traverse the graph starting at the initial node and following the current
best path, and accumulate the set of nodes that are on the path and have
not yet been expanded.
2. Pick one of these best unexpanded nodes and expand it. Add its
successors to the graph and compute f ' (cost of the remaining distance) for
each of them.
AO* SEARCH ALGORITHM
3. Change the f ' estimate of the newly expanded node to reflect the new
information produced by its successors. Propagate this change backward
through the graph. Decide which of the current best path.
Disadvantages of AO*:
It is not optimal as it does not explore all the path once it find a solution.