Home »
Machine Learning/Artificial Intelligence
Problem Solving by Searching in Artificial Intelligence
In this tutorial, we will study the searching approach of an agent to find a solution to the problem. We will also learn about the various search techniques used.
By Monika Sharma Last updated : April 12, 2023
Problem Solving by Searching
Whenever the agent is confronted by a problem, its first action is seeking a solution is its knowledge system. This is known as the search for the solution in the knowledge base. Another attempt can be to search for a solution by going into different states. The search of the agent stops in the state when the agent reaches the goal state.
There are many approaches for searching a particular goal state from all the states that the agent can be in.
Searching Algorithms for Problem Solving in AI
There are many search algorithms which are followed by an agent for solving the problems by searching. Some of them are:
1. Random Search
In this search technique, an agent just keeps checking any random state for being it the goal state. This is not an effective way to search the solution because, in this search, each node can be searched again and again, there is no fixed path followed, problems like infinite searching can be faced.
2. Breadth-first Search (BFS)
In this type of search, the agent considers every state as a node of a tree data structure. It first checks the current node and then evaluates all the neighboring nodes. After all the neighboring nodes are checked, it moves towards the next set of neighboring nodes for any of the neighbor nodes, and this process continues until the search is ended. In BFS, the nodes of the tree are traversed level after level.
3. Depth-first Search (DFS)
In the DFS, the search first begins from the root node and first one of the child node’s sub-tree is completely traversed. That is, first all the one-sided nodes are checked, and then the other sided nodes are checked.
4. Best First Search (Heuristic Search)
In the best first search, which is also known as the heuristic search, the agent picks up the best node based upon the heuristic value irrespective of where the node is.
5. A* Search
It is one of the best and popular techniques used in pathfinding and graph traversals. It decides the node to be traversed on the basis of an f-score which is calculated according to some norms and the node with the highest f-score gets traversed. Here, the f-score is calculated on the basis of misplaced events and number of nodes which needs to be moved to in order to replace the nodes.