Chapter 3 CVML Part 2
Chapter 3 CVML Part 2
Unlike BFS, this uninformed search explores nodes based on their path cost from the root
node.
It expands a node n having the lowest path cost g(n), where g(n) is the total cost from a
root node to node n.
Uniform-cost search is significantly different from the breadth-first search because of the
following two reasons:
First, the goal test is applied to a node only when it is selected for expansion not
when it is first generated because the first goal node which is generated may be on
a suboptimal path.
Secondly, a goal test is added to a node, only when a better/ optimal path is found.
Thus, uniform-cost search expands nodes in a sequence of their optimal path
cost because before exploring any node, it searches the optimal path.
Also, the step cost is positive so, paths never get shorter when a new node is added in the
search.
Depth-limited search
This search strategy is similar to DFS with a little difference.
SFV: The Standard Failure Value which tells that there is no solution
to the problem.
CFV: The Cutoff Failure Value tells that there is no solution within
the given depth.
Advantages:
Depth-limited search is Memory efficient.
Disadvantages:
Depth-limited search also has a disadvantage of incompleteness.
It may not be optimal if the problem has more than one solution.
Iterative Deepening Depth-first Search
A combination of DFS and BFS algorithms, Iterative Deepening Depth-First Search identifies
the best depth limit, by gradually increasing the limit until the goal is achieved.
Iterative deepening search (or iterative deepening depth-first search) is a general strategy,
ITERATIVE DEEPENING SEARCH often used in combination with depth-first tree search, that
It does this by gradually increasing the limit—first 0, then 1, then 2, and so on—until a goal is
found.
This will occur when the depth limit reaches d, the depth of the shallowest goal node.
This searching strategy is extremely beneficial, as it combines the benefits of both Breadth-First
The only drawback associated with this method is that it performs the search and work of
previous stages.
The algorithm is shown in Figure. Iterative deepening combines the benefits of depth-first and
Like breadth-first search, it is complete when the branching factor is finite and
optimal when the path cost is a non decreasing function of the depth of the node.
Iterative deepening search may seem wasteful because states are generated multiple
times.
It turns out this is not too costly. The reason is that in a search tree with the same (or
nearly the same) branching factor at each level, most of the nodes are in the bottom
level, so it does not matter much that the upper levels are generated multiple times.
In an iterative deepening search, the nodes on the bottom level (depth d) are generated
once, those on the unlike the other two search algorithms, IDDFS is complete and is
used to perform iterations of depth-limited searches while increasing the expected
runtime.
Moreover, if a solution exists, IDDFS will find a solution path with the fewest arcs.
Advantages:
It combines the benefits of BFS and DFS search algorithm in terms of fast
search and memory efficiency.
Disadvantages:
The main drawback of IDDFS is that it repeats all the work of the previous
phase.
Bidirectional Search
The idea behind bidirectional search is to run two simultaneous searches—one forward
from the initial state and the other backward from the goal—hoping that the two searches
meet in the middle.
Bidirectional search is implemented by replacing the goal test with a check to see whether
the frontiers of the two searches intersect; if they do, a solution has been found.
It is important to realize that the first such solution found may not be optimal, even if the
two searches are both breadth-first; some additional search is required to make sure there
isn’t another short-cut across the gap.
The check can be done when each node is generated or selected for expansion and, with a
Advantages: Disadvantages: