foundations of computational agents
AI applications are widespread and diverse and include medical diagnosis, scheduling factory processes, robots for hazardous environments, game playing, autonomous cars, natural language translation systems, personal assistants and tutoring systems. Rather than treating each application separately, we abstract the essential features of such applications to allow us to study the principles behind intelligent reasoning and action.
Four application domains are developed in examples throughout the book. Although the particular examples presented are simple – otherwise they would not fit into the book – the application domains are representative of the range of domains in which AI techniques can be, and are being, used.
The four application domains are as follows:
An autonomous delivery robot roams around a building delivering packages and coffee to people in the building. This delivery agent should be able to find paths, allocate resources, receive requests from people, make decisions about priorities, and deliver packages without injuring people or itself.
A diagnostic assistant helps a human troubleshoot tasks and suggests repairs or treatments to rectify the tasks. One example is an electrician’s assistant that suggests what may be wrong in a house, such as a fuse blown, a light switch broken, or a light burned out, given some symptoms of electrical problems. Another example is a medical diagnostician that finds potential diseases, useful tests, and appropriate treatments based on knowledge of a particular medical domain and a patient’s electronic health record, which records the patient’s history of symptoms, tests, test results, treatments, etc. A diagnostic assistant should be able to explain its reasoning to the person who is acting in the world. That person is responsible for their actions. It is possible that some people will be sued in the future for not using a diagnostic assistant, which may be able to point out options that the person did not take into account.
A tutoring system interacts with a student, presenting information about some domain and giving tests of the student’s knowledge or performance. This entails more than presenting information to students. Doing what a good teacher does, namely tailoring the information presented to each student based on his or her knowledge, learning preferences, and misunderstandings, is more challenging. The system must understand the subject matter, the student and how students learn.
A trading agent knows what a person wants and can buy goods and services on the person’s behalf. It should know the person’s requirements and preferences and how to trade off competing objectives. For example, for a family holiday, a travel agent must book hotels, airline flights, rental cars, and entertainment, all of which must fit together. It should determine the customer’s trade-offs. If the most suitable hotel cannot accommodate the family for all of the days, it should determine whether they prefer to stay in that hotel for only part of the stay and move in the middle or they prefer to not move hotels. It may even be able to shop around for specials or to wait until good deals come up.
A smart house can be seen as a mix of these, taking aspects of each of the other application domains. These domains will be used for the motivation for the examples in the book. In the next sections, we discuss each application domain in detail.