1. AO* SEARCH ALGORITHM
Problem Reduction In Artificial Intelligence
AO* is informed search algorithm ,work based on
heuristic
We already know about the divide and conquer strategy, a
solution to a
problem can be obtained by decomposing it into smaller sub-
problems.
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,
2. AO* SEARCH ALGORITHM
Just as in an OR graph, several arcs may emerge
from a single node, indicating a variety of ways in which
the original problem might be solved.
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)
3. 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.
4. 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).
5. 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.
6. 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.
The propagation of revised cost estimation backward is
in the tree is not necessary in A* algorithm. This is
because in AO* algorithm expanded nodes are re-examined
so that the current best path can be selected.
8. AO* SEARCH ALGORITHM
Advantages of AO*:
It is Complete
Will not go in infinite
loop
Less Memory
Required
Disadvantages of AO*:
It is not optimal as it does not explore all the path once it
find a solution.