Uninformed search (BFS, DFS, Iterative Deepening)
Uninformed Search (BFS, DFS, Iterative Deepening) Uninformed search algorithms are a class of search methods that explore a graph or search tree systematical...
Uninformed Search (BFS, DFS, Iterative Deepening) Uninformed search algorithms are a class of search methods that explore a graph or search tree systematical...
Uninformed search algorithms are a class of search methods that explore a graph or search tree systematically by visiting nodes in the order in which they are encountered. These algorithms are particularly useful when the underlying graph or tree has complex structures, as they can efficiently discover optimal solutions even in cases where the problem is difficult or impossible to solve with informed algorithms.
Three main types of uninformed search algorithms are:
Breadth-First Search (BFS): BFS explores the graph by visiting the neighbors of the current node in the order in which they are encountered. It is a simple algorithm that is easy to implement but can become trapped in local optima, especially for problems with complex structures.
Depth-First Search (DFS): DFS explores the graph by visiting the children of the current node before visiting its parents. This ensures that the search explores the graph depth-wise, but it can also get trapped in local optima.
Iterative Deepening: This is a hybrid approach that combines the strengths of BFS and DFS. It starts with a BFS exploration of the graph, then switches to a DFS of the explored substructure to avoid getting stuck in local optima.
Examples:
Breadth-First Search (BFS) can be used to find the shortest path between two points on a map.
Depth-First Search (DFS) can be used to find the largest connected component in a graph.
Iterative Deepening can be used to solve the 8-puzzle, which involves placing 8 checkers on an 8x8 grid in a way that ensures no two checkers are in the same row or column.
Advantages of Uninformed Search:
Can efficiently explore complex graphs and trees even when other algorithms fail.
Explore the graph depth-wise, potentially finding optimal solutions.
Can be combined with other algorithms to tackle challenging search problems.
Disadvantages of Uninformed Search:
Can be trapped in local optima due to the order in which they are visited.
May not find the optimal solution if the underlying structure is too complex.
Can be computationally expensive for large graphs