Typically, a problem to solve or a task to carry out, as well as what constitutes a solution, is only given informally, such as “deliver parcels promptly when they arrive” or “fix whatever is wrong with the electrical system of the house.” The general framework for solving problems by computer is given in Figure 1.
To solve a problem, the designer of a system must
- Flesh out the task and determine what constitutes a solution;
- Represent the problem in a language which a computer can reason;
- Use the computer to compute an output, which is an answer presented to a user or a sequence of actions to be carried out in the environment; and
- Interpret the output as a solution to the problem.
Knowledge is the information about a domain that can be used to solve problems in that domain. To solve many problems requires much knowledge, and this knowledge must be represented in the computer. As part of designing a program to solve problems, we must define how the knowledge will be represented. A representation scheme is the form of the knowledge that is used in an agent. A representation of some piece of knowledge is the internal representation of the knowledge. A representation scheme specifies the form of the knowledge. A knowledge base is the representation of all of the knowledge that is stored by an agent.
A good representation scheme is a compromise among many competing objectives. A representation should be
- Rich enough to express the knowledge needed to solve the problem.
- As close to the problem as possible; it should be compact, natural, and maintainable. It should be easy to see the relationship between the representation and the domain being represented, so that it is easy to determine whether the knowledge represented is correct. A small change in the problem should result in a small change in the representation of the problem.
- Amenable to efficient computation, which usually means that it is able to express features of the problem that can be exploited for computational gain and able to trade off accuracy and computation time.
- Able to be acquired from people, data and past experiences.
Many different representation schemes have started with some of these objectives and are then expanded to include the other objectives. For example, some are designed for learning and then expanded to allow richer problem solving and inference abilities. Some representation schemes are designed with expressiveness in mind, and then inference and learning are added on. Some schemes start from tractable inference and then are made more natural, and more able to be aquired.