AO (Star) Search 12M
AO (Star) Search 12M
UNIT 2
12M
1) AO* Search:
AO* (AO Star) Search is an Algorithm used in artificial intelligence for searching in
graphs or trees. It's an extension of the A* (A Star) search algorithm, which is widely
used in pathfinding and graph traversal problems.
In A*, the algorithm tries to find the optimal path from a starting node to a goal node
by using a practical function to estimate the cost, from the current node to the goal
node. The algorithm evaluates nodes based on the sum of the cost to reach the node
from the start and the estimated cost to reach the goal from that node.
a) Open List: Similar to A*, AO* maintains an open list of nodes that have been
discovered but not yet expanded. Nodes in this list are sorted.
b) Backup Value: AO* maintains a backup value, which is the best solution found
so far. This allows it to return the best solution at any point during the search.
c) Anytime Performance: Unlike traditional algorithms that aim for an optimal
solution, AO* focuses on providing solutions that improve over time.
ALGORITHM –
o Initialize the open list with the initial state.
o Set the g-value (current cost) of the initial state to 0.
o Set the h-value (heuristic estimate of remaining cost) of the initial state.
o Select the node from the open list with the lowest f-value, where,
f(n) = g(n) + h(n).
o Remove the selected node from the open list.
If the selected node is the goal state, terminate the search and return the
optimal path.
o Generate successor nodes from the selected node.
o For each successor:
Calculate its g-value based on the current path.
Calculate its h-value & f-value.
If the successor is not already in the open list, add the successor
to the open list.
o Re-Evaluate affected nodes to ensure consistency of g-values.
Repeat Steps 2-5 until either:
o The open list is empty,
o The goal state is reached, in which case the optimal path has been
found.