CSE 431. Intelligent Agents, Fall 2009

Professor Jeff Heflin
TTh 1:10-2:25pm, Maginnes 102

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.

Read Ch. 1-2 (pp. 1-45)8/27
Review Object-oriented design for agent simulation (Java documentation)
Read Sect. 3.1 (pp. 47-54)
Read Sect. 3.2-3.3 (pp. 54-62)9/3
Read GOLOG: A logic programming language for dynamic domains by Levesque et al.
Read Ch. 4 (pp. 65-86)9/10
Read Plans and Resource-Bounded Practical Reasoning by Bratman, Israel, and Pollack.
Note: Figure 1 is missing, a copy can be found here.
Read Sect. 5.1-5.2 (pp. 89-97)
Read A Robust Layered Control System for a Mobile Robot by Rodney Brooks
Read Sect. 5.3 (pp. 97-103)
Read Unifying Control in a Layered Agent Architecture by Fischer, Muller, and Pischel
Read Sect. 6.1-6.4 (pp. 105-114)
Read Sect. 6.5-6.7 (pp. 114-126)9/24
Read Sect. 9.1-9.2 (pp. 189-197)9/29
Read Sect. 9.3-9.6.2 (pp. 197-210)10/1
Read Sect. 9.6.3 - 9.7 (pp. 210-222)10/8
Read Towards Flexible Teamwork by Milind Tambe10/13
Read Sect. 7.1-7.2 (pp. 129-137)10/15
Read Sect. 7.3-7.4 (pp. 137-160)10/20
Read Sect. 8.1-8.2 (pp. 163-180)10/22
Read Reinforcement Learning: An Introduction - Chapter 1 by Richard Sutton and Andrew Barto
Read Markov Games as a Framework for Multi-Agent Reinforcement Learning by Michael Littman
Read "Learning Winning Policies in Team-Based First-Person Shooter Games" by Lee-Urban, Smith, and Munoz-Avila (login in to Blackboard and look under Assignments to find a copy of this paper)10/29
Read Sect. 8.3-8.4 (pp. 180-187)
Read An Introduction to the OWL Web Ontology Language by Jeff Heflin
Read Sect. 12.1-12.7 (pp. 267-288)11/5
Read The First International Trading Agent Competition: Autonomous Bidding Agents by Peter Stone and Amy Greenwald
Review the TAC classic game as described on the TAC Website
Read Mertacor: A Successful Autonomous Trading Agent by P. Toulis, D. Kehagias, and P. Mitkas
Read RoxyBot-06: An (SAA)2 TAC Travel Agent by Seong Jae Lee, Amy Greenwald, and Victor Naroditskiy
Read The CMUnited-98 Champion Simulator Team by Stone, Veloso and Riley11/24
Read A Scaleable Comparison-Shopping Agent for the World-Wide Web by Doorenbos et al.
Read Agent Communication in Ubiquitous Computing: The Ubismart Approach by Jurriaan van Diggelen et al.
Read A Plug-in Architecture for Generating Collaborative Agent Responses by Rich et al.
Read Distributed Agent-Based Air Traffic Flow Management by Kagna Tumer and Adrian Agogino

Additonal Class materials

Contains information on course content, grading, assignments, and office hours
Java FAQ
A basic FAQ on programming in Java.
Any supplemental slides used in class can be found here.