This is an advanced AI course on what should an agent do based on its ability, its beliefs, its perceptions and its values/goals in an uncertain environment. One of the primary goals of AI is the design, control and analysis of agents or systems that behave appropriately in various circumstances. Such intelligent agents require not only the ability to act but also to decide how to act as circumstances vary. In turn, good decision making requires that the agent have knowledge or beliefs about its environment and its dynamics, about its own abilities to observe and change the environment, and its goals and preferences.
In this course, we will build on the foundations of CPSC 322 and CSPC 312 to show how to build intelligent agents that can observe the world and act appropriately. Such agents include robots, intelligent tutoring systems, diagnostic agents, purchasing agents, and game agents.
We will begin by studying representations of actions and control. We then discuss decision making under uncertainty, and spend some time on the issues that arise in multi-stage decision processes, including planning and learning for acting. We will consider complications that arise in multi-agent decision problems. We will also discuss issues arising from reasoning about relations. Throughout, we will pay special attention to the understanding the state of the art.
Instructor: David Poole, poole@cs.ubc.ca. Office hours: Wednesdays 11:30-12:20, Fridays 2:00-2:30 or by appointment (room ICCS 127).
Teaching Assistant: David Buchman, davidbuc at cs.ubc.ca. See Vista for office hours.
This course will cover the design space of intelligent computational agents, so that you con understand the frontier of research. We cover the following dimensions of the design space:
Unfortunately these cannot be studied independently, as they interact in complex ways.
There will be 3 hours of in-class interaction per week. The classes will be a mix of lectures on the foundations, student presentations, discussion of a few research papers and problem solving. This is a participatory class; everyone will be expected to participate fully, to have read all assigned reading material before class, and come ready to discuss and critically analyze it.
The classes will be held:
Everyone will choose a "vertical domain", with 4 properties: (a) you know something about it, (b) someone may be interested in predictions in this domain, (c) there is potentially rich data about the domain and (d) there are complex interactions about the concepts in the domain. Each participant needs to be ready to explain how the concepts covered in class can apply to their domain.
The course assessment will be based on assignments, in-class participation, a final research paper and exams. The evaluation of the final project will be based on peer review. Assignments will not be traditional assignments, but will be to apply what is being covered in class to your vertical domain.
You will be expected to complete 2 mini-projects; one is due in January and one in February. Each mini project involves doing some research or learning about some research, and explaining it to the class.
Participants are expected to complete a small course project (html pdf). The project will be decided in consultation with the instructor and may consist of an implementation of a particular reasoning, decision-making or planning theory (or theories), a short research paper on problem related to a course topic, or a critical literature survey. You are encouraged to collaborate with other students to find complementary synergistic projects (e.g., sharing the same code to test different hypotheses), but your written project must be the your own. You will be required to hand in a short proposal in the middle of the term and give a conference-style poster presentation of your project. You will be expected to peer review three other projects. You will have a chance to revise your project based on the reviews and feedback from your poster presentation.
The breakdown of marks is tentatively: