There are many search
algorithms that are followed by an agent for solving the problems by searching.
Some of them are:
·
Random
search:
In this search technique, an agent just keeps checking any random state for
being 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.
·
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.
·
Depth-first
search (DFS):
In the DFS, the search first begins from the root node, and the 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.
·
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.
·
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.