CSE 431. Intelligent Agents, Fall 2016

Professor Jeff Heflin
TTh 10:45am-noon, Christmas-Saucon 203

Course News

Course Description

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.

Homeworks and Projects

In addition to handing out assignments in class, electronic copies will be made available here.

Reading Assignments

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.

ReadingDue
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 Tambe10/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

Additonal Class materials

Syllabus
Contains information on course content, grading, assignments, and office hours
Java FAQ
A basic FAQ on programming in Java.
Object-oriented design for agent simulation
Java docs for a possible agent design.
Slides
Any supplemental slides used in class can be found here.