0% found this document useful (0 votes)
124 views15 pages

AI UNIT 1 Lecture 5

The document discusses problem reduction and the AO* search algorithm. It begins by explaining problem reduction as decomposing a problem into smaller subproblems that can be solved independently and then recombined into a solution. It then provides details on the AO* algorithm, which uses AND/OR graphs to represent problem decomposition and solve subproblems without exploring all solution paths. The key steps are to initialize a graph, select unexpanded nodes, explore them, update cost estimates through backpropagation, and mark nodes as solved when applicable. The overall process repeats until the starting node is solved or deemed infeasible.

Uploaded by

Sunil Nagar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
124 views15 pages

AI UNIT 1 Lecture 5

The document discusses problem reduction and the AO* search algorithm. It begins by explaining problem reduction as decomposing a problem into smaller subproblems that can be solved independently and then recombined into a solution. It then provides details on the AO* algorithm, which uses AND/OR graphs to represent problem decomposition and solve subproblems without exploring all solution paths. The key steps are to initialize a graph, select unexpanded nodes, explore them, update cost estimates through backpropagation, and mark nodes as solved when applicable. The overall process repeats until the starting node is solved or deemed infeasible.

Uploaded by

Sunil Nagar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 15

Problem Reduction: 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 recombine to get a solution as a whole. That is called
is Problem Reduction. This method generates arc which is called as AND 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.
Problem Reduction:
1. Initialize the graph to the starting node.
2. Loop until the starting node is labeled SOLVED or until its cost
goes above FUTILITY:
a) Traverse the graph, starting at the initial node and following the current
best path , and accumulate the set of nodes that are on that path and have
not yet been expanded or labeled as solved.
b) Pick one of these unexpanded nodes and expand it. If there are no
successors, assign FUTILITY as the value of this node. Otherwise, add its
successors to the graph and for each of them compute f’ (use only h'
and ignore g, for reasons we discuss below). If f’ of any node is 0, mark
that node as SOLVED.
c) Change the f’ estimate of the newly expanded node to reflect the new
information provided by its successors. Propagate this change backward
through the graph.
If any node contains a successor arc whose descendants are all sol ed, label
the node itself as SOLVED. At each node that is visited while going up the
graph, decide which of its successor arcs is the most promising and mark
it as part of the current best path .
This may cause the current best path to change. This propagation of
revi sed cost estimates backs up the tree was not necessary in the best-first
search algorithm because only unexpanded nodes were examined. But now
expanded nodes must be reexamined so that the best current path can be
selected. Thus, it is important that their f’ values be the best estimates
available.
AO * Algorithm:

1. AO* Algorithm basically based on problem decomposition (Breakdown


problem into small pieces)
2. When a problem can be divided into a set of sub problems, where each sub
problem can be solved separately and a combination of these will be a
solution, AND-OR graphs or AND - OR trees are used for representing the
solution. 
3. The decomposition of the problem or problem reduction generates AND
arcs.
4. Instead of OPEN and CLSOED list as in A* Algo, here we use a structure
GRAPH, representing the part of search graph that has been generated so
far.
5. We will not use g value as it is not possible to find one such value.
6. h value will be the estimate of goodness of a node.
7. AO* algorithm does not explore all the solution path once it got solution.
So, we can say AO* doesn’t provide optimal result.
Step-1: Create an initial graph with a single node (start node).
Step-2: Transverse the graph following the current path, accumulating node that
has not yet been expanded or solved.
Step-3: Select any of these nodes and explore it. If it has no successors then call
this value- FUTILITY else calculate f'(n) for each of the successors.
Step-4: If f'(n)=0, then mark the node as SOLVED.
Step-5: Change the value of f'(n) for the newly created node to reflect its
successors by backpropagation.
Step-6: Whenever possible use the most promising routes, If a node is marked as
SOLVED then mark the parent node as SOLVED.
Step-7: If the starting node is SOLVED or value is greater than FUTILITY then
stop else repeat from Step-2.

https://www.goeduhub.com/7063/implement-ao-search-algorithm

https://www.youtube.com/watch?v=u_TE42-uWD0
CONSTRAINT SATISFACTION:
In Constraint Satisfaction we have:
 Initial state
 Goal State
 Set of Constraints

You might also like