Intelligent agents are software programs that can sense their environment, choose rational actions based on their percepts, and execute these actions. If an agent does all of this without the aid of a human, then it is generally considered autonomous. Often, agents interact with other agents, either by cooperating or competing with each other; such environments are called multiagent systems. Agents can be embedded in completely electronic environments such as the Web or a simulation, or may actually be robots "living" in the real world. The potential applications of agents are numerous -- including web search assistants, travel advisors, electronic secretaries, bidders in on-line auctions, tutoring systems, and actors in games or simulations. Some have even predicted a future in which agent technology is embedded in everyday items, allowing household objects to coordinate actions in order to better serve the home owner. The course will cover the underlying theory of agents, the common agent architectures, methods of cooperation, and the potential applications for agents. In order to gain a better understanding of the concepts, students will construct their own agents for solving different types of problems.
For details about course content, grading, assignments, and office hours, see the class syllabus.
In addition to handing out assignments in class, electronic copies will be made available here.
Unless specified otherwise, all readings are from our textbook, An Introduction to MultiAgent Systems by Michael Wooldridge. R&N refers to our recommended, supplemental text, AI: A Modern Approach by Russell and Norvig.
Reading | Due |
---|---|
Read Ch. 1-2 (pp. 1-45) | 9/1 |
Review Object-oriented design for agent simulation (Java documentation) Read Sect. 3.1 (pp. 49-55) optional: Read R&N Ch. 7-8 (pp. 234-313) | 9/5 |
Read Sect. 3.2-3.3 (pp. 55-61) Read GOLOG: A logic programming language for dynamic domains by Levesque et al. | 9/8 |
Read Sect. 4.1-4.2 (pp. 65-75) optional: Read R&N Ch. 10 (pp. 366-393) |
9/13 |
Read Sect. 4.3-4.4 (pp. 75-83) Read Plans and Resource-Bounded Practical Reasoning by Bratman, Israel, and Pollack. | 9/15 |
Read Sect. 5.1 (pp. 85-92) Read A Robust Layered Control System for a Mobile Robot by Rodney Brooks | 9/20 |
Read Sect. 5.2 (pp. 92-102) Read Unifying Control in a Layered Agent Architecture by Fischer, Muller, and Pischel | 9/22 |
Read Ch. 6 (pp. 107-128) Read An Introduction to the OWL Web Ontology Language by Jeff Heflin | 9/27 |
Read Ch. 7 (pp. 131-148) | 9/29 |
Read Sect. 8.1-8.3 (pp. 151-159) optional: Read The Contract Net Protocol by Reid G. Smith | 10/4 |
Read Sect. 8.4-8.6.2 (pp. 159-170) optional: Read Functionally Accurate, Cooperative Distributed Systems by Lesser and Corkill | 10/6 |
Read Sect. 8.6.3 - 8.7 (pp. 170-180) optional: Read MACE: A Flexible Testbed for Distributed AI Research by Gasser, Braganza, and Herman | 10/11 |
Read Towards Flexible Teamwork by Milind Tambe | 10/13 |
Read Ch. 11 (pp. 223-251) | 10/25 |
Read Ch. 12 (pp. 253-267) | 11/1 |
Read Ch. 14 (pp. 293-314) | 11/3 |
Read Ch. 15 (pp. 315-335) | 11/8 |
Read Sect. 17.1-17.2 (pp. 353-373) | 11/15 |
Read the paper for your assigned group:
|
11/17 |
Read the paper for your assigned group:
|
11/22 |
Read the paper for your assigned group:
|
11/29 |
Read the paper for your assigned group:
|
12/1 |
Read Ch. 9 (pp. 183-199) | 12/6 |
Read Ch. 10 (pp. 201-219) | 12/8 |