What is a heuristic?
A heuristic is a technique to solve a problem faster than classic methods or find an approximate solution when classic methods cannot. It is a kind of a shortcut as we often trade one of completeness, optimality, precision, or accuracy for speed.
A heuristic looks at search algorithms. Each branching step evaluates the available information and decides on which branch to follow, and it does so by ranking alternatives. The heuristic is any device that is often effective but will not guarantee work in every case.
Why do we need heuristics?
One reason is to produce a solution that is good enough for the problem in question in a reasonable amount of time. It does not have to be the best, and an approximate solution will do since this is fast enough. Most problems are exponential, and the heuristic search lets us reduce this to a polynomial number. We use this in AI because we can put it to use in situations where we can’t find known algorithms.
What are the different categories of heuristic search techniques in AI?
The categories of heuristic search techniques in AI are as follows:
- Direct Heuristic Search Techniques:
These are also referred to as Blind Search, Uninformed Search, and Blind Control Strategy. These are not always possible since they demand much time or memory. They search the entire state space for a solution and use an arbitrary ordering of operations. Examples of these are Breadth-First Search (BFS) and Depth First Search (DFS).
- Weak Heuristic Search Techniques:
These are also referred to as Informed Search, Heuristic Search, and Heuristic Control Strategy. These are effective if applied correctly to the appropriate tasks and usually demand domain-specific information. We need this extra information to compute preference among child nodes to explore and expand, and each node has a heuristic function associated with it. Examples are Best First Search (BFS) and A*.