JavaScript EditorFree JavaScript Editor     Ajax Editor 

Main Page
  Previous Section Next Section

Chapter 21. Knowledge of the Problem

Key Topics

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:

  • Analyze complex problems

  • Design efficient systems

  • Find issues with broken solutions

  • Improve existing behaviors

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:

  • Informal and theoretical understanding of the problem and indications of its complexity

  • A more refined way to understand the problem using data analysis with statistics

  • The analytical understanding of a problem, used to extract complex properties of the problem

  • How the developer can apply these levels of knowledge, notably for refining problems

  • A few guidelines to using and refining our knowledge when solving the problem

High-level knowledge of the problem is covered first, progressing toward the gory details.

      Previous Section Next Section

    JavaScript EditorAjax Editor     JavaScript Editor