Uninformed Search AlgorithmsUninformed search is a class of generalpurpose search algorithms which operates in brute forceway. Uninformed search algorithms do not have additional information about state or search space other than how to traverse the tree, so it is also called blind search. Following are the various types of uninformed search algorithms:
1. Breadthfirst Search:
Advantages:
Disadvantages:
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: Time Complexity: Time Complexity of BFS algorithm can be obtained by the number of nodes traversed in BFS until the shallowest Node. Where the d= depth of shallowest solution and b is a node at every state. T (b) = 1+b^{2}+b^{3}+.......+ b^{d}= O (b^{d}) Space Complexity: Space complexity of BFS algorithm is given by the Memory size of frontier which is O(b^{d}). Completeness: BFS is complete, which means if the shallowest goal node is at some finite depth, then BFS will find a solution. Optimality: BFS is optimal if path cost is a nondecreasing function of the depth of the node. 2. Depthfirst Search
Note: Backtracking is an algorithm technique for finding all possible solutions using recursion.Advantage:
Disadvantage:
Example:In the below search tree, we have shown the flow of depthfirst search, and it will follow the order as: Root node>Left node > right node. 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. Time Complexity: Time complexity of DFS will be equivalent to the node traversed by the algorithm. It is given by: T(n)= 1+ n^{2}+ n^{3} +.........+ 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). Optimal: DFS search algorithm is nonoptimal, as it may generate a large number of steps or high cost to reach to the goal node. 3. DepthLimited Search Algorithm:A depthlimited search algorithm is similar to depthfirst search with a predetermined limit. Depthlimited search can solve the drawback of the infinite path in the Depthfirst search. In this algorithm, the node at the depth limit will treat as it has no successor nodes further. Depthlimited search can be terminated with two Conditions of failure:
Advantages: Depthlimited search is Memory efficient. Disadvantages:
Example:Completeness: DLS search algorithm is complete if the solution is above the depthlimit. Time Complexity: Time complexity of DLS algorithm is O(b^{ℓ}). Space Complexity: Space complexity of DLS algorithm is O(b×ℓ). Optimal: Depthlimited search can be viewed as a special case of DFS, and it is also not optimal even if ℓ>d. 4. Uniformcost Search Algorithm:Uniformcost search is a searching algorithm used for traversing a weighted tree or graph. This algorithm comes into play when a different cost is available for each edge. The primary goal of the uniformcost search is to find a path to the goal node which has the lowest cumulative cost. Uniformcost search expands nodes according to their path costs form the root node. It can be used to solve any graph/tree where the optimal cost is in demand. A uniformcost search algorithm is implemented by the priority queue. It gives maximum priority to the lowest cumulative cost. Uniform cost search is equivalent to BFS algorithm if the path cost of all edges is the same. Advantages:
Disadvantages:
Example:Completeness: Uniformcost 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*/ε. Hence, the worstcase time complexity of Uniformcost search isO(b^{1 + [C*/ε]})/. Space Complexity: The same logic is for space complexity so, the worstcase space complexity of Uniformcost search is O(b^{1 + [C*/ε]}). Optimal: Uniformcost search is always optimal as it only selects a path with the lowest path cost. 5. Iterative deepeningdepthfirst Search:The iterative deepening algorithm is a combination of DFS and BFS algorithms. This search algorithm finds out the best depth limit and does it by gradually increasing the limit until a goal is found. This algorithm performs depthfirst search up to a certain "depth limit", and it keeps increasing the depth limit after each iteration until the goal node is found. This Search algorithm combines the benefits of Breadthfirst search's fast search and depthfirst search's memory efficiency. The iterative search algorithm is useful uninformed search when search space is large, and depth of goal node is unknown. Advantages:
Disadvantages:
Example:Following tree structure is showing the iterative deepening depthfirst search. IDDFS algorithm performs various iterations until it does not find the goal node. The iteration performed by the algorithm is given as: 1'st Iteration> A Completeness: This algorithm is complete is ifthe branching factor is finite. Time Complexity: Let's suppose b is the branching factor and depth is d then the worstcase 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:Bidirectional search algorithm runs two simultaneous searches, one form initial state called as forwardsearch and other from goal node called as backwardsearch, to find the goal node. Bidirectional search replaces one single search graph with two small subgraphs in which one starts the search from an initial vertex and other starts from goal vertex. The search stops when these two graphs intersect each other. Bidirectional search can use search techniques such as BFS, DFS, DLS, etc. Advantages:
Disadvantages:
Example:In the below search tree, bidirectional search algorithm is applied. This algorithm divides one graph/tree into two subgraphs. It starts traversing from node 1 in the forward direction and starts from goal node 16 in the backward direction. The algorithm terminates at node 9 where two searches meet. Completeness: Bidirectional Search is complete if we use BFS in both searches. Time Complexity: Time complexity of bidirectional search using BFS is O(b^{d}). Space Complexity: Space complexity of bidirectional search is O(b^{d}). Optimal: Bidirectional search is Optimal.
Next TopicInformed Search Algorithms in AI
