Chapter 21. Knowledge of the Problem
This chapter describes a fundamental principle of AI development in general: knowledge of the problem. Part II covered the early stages of AI development—namely the analysis, understanding, and specification phases. These provide valuable insights into the problem; however, this knowledge only falls into place during the application phase.
During development, the application phase is indirectly about refining knowledge of the problem using experience from the prototypes. The next few pages discuss the different levels of knowledge and how they can be acquired using practical examples.
Knowing the problem may seem trivial compared to understanding the solution. However, it's arguably more important. By emphasizing the general principles in this chapter, we'll quickly realize that we have the power to do the following:
Spending time understanding the problem is justified because such understanding enhances our ability to manipulate the problem into a convenient form. Notably, the problem can be refined into one that's efficient to solve, or divided into manageable parts.
This chapter covers the following topics:
High-level knowledge of the problem is covered first, progressing toward the gory details.