 Today we are going to discuss the topic AO star algorithm. The learning outcome that we establish at the end of this particular session relates to the students to be able to demonstrate the working of and or star algorithm that is AO star algorithm and indicates special features of the same algorithm. Before we start with the particular algorithm, let us understand the concept of and or graphs. An and or graph is a special graph or a tree which is used to represent solution to decompose problems all of which must be solved. The reason behind it is that we can go to solve every part of the particular graph to find a solution maybe at a faster rate. The decomposition generates and arcs which are the arcs to be processed for reaching the final goal. One and arc points to any number of successor nodes. All of which must be solved in order that the arc points to a solution. What do we expect to be addressed by AO star algorithm and how is this AO star algorithm different from A star algorithm is what we have to think about now. The basics that we have to consider is rather than two lists which were open and closed used in the A star algorithm, AO star uses a single structure graph representing part of the search graph which is generated so far. Each node in the graph will point to immediate successors and predecessor so there is a forward as well as a backward pointer. Each node has associated with it an h-value that estimates the cost of a path from itself to a set of solution nodes. G is not stored as in the A star algorithm. It is not possible to compute a single such value since there may be many paths to the same state. h dash serves as an estimate of goodness of a node. Now let us go to the actual algorithm. The algorithm starts by taking a graph which consists of the nodes representing the initial state. Call this as init and compute the h dash of the init which is an estimate. Now we go for the second step. Until init is labeled as salt or init's h dash value becomes greater than futility, repeat the following procedure. Trace the label arc from init and select the expansion one of the as yet expanded nodes that occur on this path. Call the selected node as node and generate the successor of this particular node. If there are none then assign futility as the h dash value of the node. If there are successors then for each one that is not also an ancestor of the node do the following. Add this successor to the graph. If successor is a terminal node label it as salt because we have found a solution and now assign it an h dash value of zero because we have reached a solution. If successor is not a terminal node compute its h dash value, propagate the newly discovered information up the graph by doing the following. Let s be the set of nodes that have been labeled as salt or whose h dash value have been changed and needed to propagate back to their parents. Since the search of the sub graph is over initialize s to the node until s is empty repeat the following procedure. If possible select from s a node of whose descendants in the graph occurs in s. If there is no such node select any node from s call this node as a current and remove it from s. Compute the cost of each of the arcs emerging from current. The cost of each arc is equal to the sum of the h dash values of each of the nodes at the end of the arc plus the cost of the arc itself. Assign as the current s new h dash value the minimum of the cost such computed for the arcs emerging from it. Mark the best path of current by marking the arc that had the minimum cost as computed in the previous step. Mark the current salt if all the nodes connected to it through the new labeled arcs have been labeled as solved. If current has been labeled solved or if the cost of current was just changed then its new status must be propagated back to the graph. Add all ancestors of current to s. There are few remarkable points of this particular AO star algorithm which have to be considered as they are of interest. The ancestors of a node whose cost was altered are added to the set of all nodes whose cost must be revised. The algorithm will insert all the nodes and ancestors into the set. This may result in the propagation of the cost change back up. Regarding termination in the backward cost propagation, since the graph may contain cycles which is the property of a graph, no guarantee is there that this process will terminate since it reaches the top of the graph. It turns out that the process can be guaranteed to terminate for a different reason. AO star algorithm, let us consider these MCQs. Consider the following AO graph which is the best node to expand next by the AO star algorithm. The alternatives are A, A, B, B, C, C and D, B and C. The answer is A because A has an arc value of 4 and H value of 42. Another MCQ is AO star uses a single structure dash representing part of search graph generated so far and the options are A open, B close, C graph, B both A and B and the answer to this question is graph. I have used these particular references. Thank you.