You are on page 1of 8

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, 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

 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)
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.

 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.
AO* SEARCH ALGORITHM
The working of AO* algorithm is illustrated in figure as follows:
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.

You might also like