This article intends to explain how artificial intelligence search can be used to solve problems. It gives an introduction to some of the AI search techniques which will help beginners to understand the basics.
Whenever we have problems we try by all means to solve it. There would be more than one way to solve the problem. So it is required search for better solution from the available solutions. Making the system systematic will solve the problem efficiently. For systematic search knowledge and intelligence are the must. We always try to use machines solve our day to day problems: calculators for calculation, washing machines for washing clothes and so on. But whenever we hear knowledge and intelligence the word computer comes into our mind. Yes, computers can be fed knowledge and intelligence by means of artificial intelligence techniques. There are several search techniques available in the field of artificial intelligence. This article explains some of them.
Types of AI search techniques
There are two types: uninformed search and uninformed search. This classification is based on the amount of information required for a technique.
We cannot always have sufficient information to solve a problem. When we have less information we have to search blindly and so is the name blind search. The search is like traversing a tree of nodes where each node represents a state. one way is to explore all the nodes in each level and if the solution is not found go on exploring the nodes in the next level. This cycle should repeat till we reach a solution state or we found that there is no solution at all. This technique is known as breadth first search (BFS) because the search is breadth-wise. The problem with breadth first search is that it takes a lot of time if the solution is far away from the root node in the tree. If there is a solution then BFS is guaranteed to find it.
The exploration can be done depth-wise instead of breadth-wise. That is, exploring one branch completely till solution is found or it is found that there is no solution. If no solution is found in one branch, backtracking should be done to go back to the previous node and explore in another branch. This technique is called depth first search (DFS). If the goal state exists in an early node in one of the first few branches then depth first search will find it easily, otherwise DFS is no better than BFS. Searching can also be done on both directions: one from the initial state to the goal state and another from the goal state towards the initial state. This approach is called bidirectional search.
Some we luckily have sufficient information. The information may be a clue or some other information. In this case we can solve the problem in an efficient manner. The information that helps finding the solution is called heuristic information. Heuristic search techniques provide solution to the problems for which we have sufficient information. While traversing the tree, heuristic search decides whether to proceed in the particular direction or not based on the information in hand. So it always selects the most promising successor. Some of the heuristic search techniques are pure heuristic Search, A* algorithm, iterative-deepening A*, depth-first branch-and-bound and recursive best-First search.