chapter three

3 Intelligent Search

 

What you will learn in this chapter:

  • Understanding and designing heuristics for guided search.
  • Identifying problems suited to be solved using guided search approaches.
  • Understanding and designing a guided search algorithm.
  • Designing a search algorithm to play a two-player game.

3.1   Defining Heuristics – Designing educated guesses

Now that we have an idea of how uninformed search algorithms work, we can explore how they can be improved by providing more information about the problem. For this we used informed search. Informed search means that the algorithm has some context of the specific problem being solved. Heuristics are a way to represent this context. Often described as a “rule of thumb”, a heuristic is a rule or set of rules used to evaluate a state. It can be used to define criteria that a state must satisfy or define the performance of a specific state. A heuristic is used when a clear method of finding an optimal solution is not possible. A heuristic can be interpreted as an “educated guess” in social terms and should be seen more as a guideline rather than a scientific truth with respect to the problem that is being solved.

3.2   Informed Search – Looking for solutions with guidance

3.2.1   A* Search

3.2.2   Use Cases for Informed Search Algorithms

3.3   Adversarial Search – Looking for solutions in a changing environment

3.3.1   A Simple Adversarial Problem

3.3.2   Min-max Search – Simulate actions and choose the best future

3.3.3   Alpha-beta Pruning – Optimize by exploring the sensible paths only

3.3.4   Use Cases for Adversarial Search Algorithms