AI Unit 2 Half
AI Unit 2 Half
Problem-solving agents:
o Solution: It is an action sequence which leads from the start node to the
goal node.
o Optimal Solution: If a solution has the lowest cost among all solutions.
Based on the search problems we can classify the search algorithms into
uninformed (Blind search) search and informed search (Heuristic search)
algorithms.
Uninformed/Blind Search:
The uninformed search does not contain any domain knowledge such as
closeness, the location of the goal. It operates in a brute-force way as it only
includes information about how to traverse the tree and how to identify leaf
and goal nodes. Uninformed search applies a way in which search tree is
searched without any information about the search space like initial state
operators and test for the goal, so it is also called blind search. It examines
each node of the tree until it achieves the goal node.
It can be divided into five main types:
o Breadth-first search
o Uniform cost search
o Depth-first search
o Iterative deepening depth-first search
o Bidirectional Search
Informed Search
A heuristic is a way which might not always be guaranteed for best solutions
but guaranteed to find a good solution in reasonable time.
Informed search can solve much complex problem which could not be
solved in another way.
1. Greedy Search
2. A* Search
1. Breadth-first Search
2. Depth-first Search
3. Depth-limited Search
4. Iterative deepening depth-first search
5. Uniform cost search
6. Bidirectional Search
1. Breadth-first Search:
o Breadth-first search is the most common search strategy for traversing
a tree or graph. This algorithm searches breadthwise in a tree or graph,
so it is called breadth-first search.
o BFS algorithm starts searching from the root node of the tree and
expands all successor node at the current level before moving to nodes
of next level.
Advantages:
o If there are more than one solutions for a given problem, then BFS will
provide the minimal solution which requires the least number of steps.
Disadvantages:
o It requires lots of memory since each level of the tree must be saved
into memory to expand the next level.
o BFS needs lots of time if the solution is far away from the root node.
Example:
In the below tree structure, we have shown the traversing of the tree using
BFS algorithm from the root node S to goal node K. BFS search algorithm
traverse in layers, so it will follow the path which is shown by the dotted
arrow, and the traversed path will be:
1. S---> A--->B---->C--->D---->G--->H--->E---->F---->I---->K
Time Complexity:
2. Depth-first Search
o DFS requires very less memory as it only needs to store a stack of the
nodes on the path from root node to the current node.
o It takes less time to reach to the goal node than BFS algorithm (if it
traverses in the right path).
Disadvantage:
o There is the possibility that many states keep re-occurring, and there is
no guarantee of finding the solution.
o DFS algorithm goes for deep down searching and sometime it may go to
the infinite loop.
Example:
In the below search tree, we have shown the flow of depth-first search, and it
will follow the order as:
It will start searching from root node S, and traverse A, then B, then D and E,
after traversing E, it will backtrack the tree as E has no other successor and
still goal node is not found. After backtracking it will traverse node C and then
G, and here it will terminate as it found goal node.
Completeness: DFS search algorithm is complete within finite state space as it
will expand every node within a limited search tree.
It is given by:
T(n)= 1+ n 2+ n3 +.........+ n m=O(n m)
Where, m= maximum depth of any node and this can be much larger than d
(Shallowest solution depth)
Space Complexity: DFS algorithm needs to store only single path from the
root node, hence space complexity of DFS is equivalent to the size of the
fringe set, which is O(bm).
Advantages:
Depth-limited search is Memory efficient.
Disadvantages:
Example:
Completeness:
Uniform-cost search is complete, such as if there is a solution, UCS will
find it.
Time Complexity:
Let C* is Cost of the optimal solution, and ε is each step to get closer to
the goal node. Then the number of steps is = C*/ε+1. Here we have taken +1,
as we start from state 0 and end to C*/ε.
1
Hence, the worst-case time complexity of Uniform-cost search isO(b
+ [C*/ε]
)/.
Space Complexity:
The same logic is for space complexity so, the worst-case space complexity of
Uniform-cost search is O(b 1 + [C*/ε]).
Optimal:
Uniform-cost search is always optimal as it only selects a path with the
lowest path cost.
The iterative search algorithm is useful uninformed search when search space
is large, and depth of goal node is unknown.
Advantages:
o It combines the benefits of BFS and DFS search algorithm in terms of
fast search and memory efficiency.
Disadvantages:
o The main drawback of IDDFS is that it repeats all the work of the
previous phase.
Example:
Completeness:
Time Complexity:
Let's suppose b is the branching factor and depth is d then the worst-case
time complexity is O(b d).
Space Complexity:
The space complexity of IDDFS will be O(bd).
Optimal:
IDDFS algorithm is optimal if path cost is a non- decreasing function of the
depth of the node.
6. Bidirectional Search Algorithm:
Advantages:
o Bidirectional search is fast.
o Bidirectional search requires less memory
Disadvantages:
o Implementation of the bidirectional search tree is difficult.
Example:
Time Complexity: Time complexity of bidirectional search using BFS is O(b d).
Space Complexity: Space complexity of bidirectional search is O(b d).
So far we have talked about the uninformed search algorithms which looked
through search space for all possible solutions of the problem without having
any additional knowledge about search space. But informed search algorithm
contains an array of knowledge such as how far we are from the goal, path
cost, how to reach to goal node, etc. This knowledge helps agents to explore
less to the search space and find more efficiently the goal node.
The informed search algorithm is more useful for large search space.
Informed search algorithm uses the idea of heuristic, so it is also called
Heuristic search.
The heuristic method, however, might not always give the best solution, but it
guaranteed to find a good solution in reasonable time. Heuristic function
estimates how close a state is to the goal. It is represented by h(n), and it
calculates the cost of an optimal path between the pair of states. The value of
the heuristic function is always positive.
Admissibility of the heuristic function is given as: h(n) <= h*(n) Here
Hence heuristic cost should be less than or equal to the estimated cost.