CS378: Autonomous Multiagent Systems -- Spring 2004

CS378: Autonomous Multiagent Systems -- Spring 2004

Instructor: Peter Stone
Department of Computer Sciences

Tuesday, Thursday 12:30-1:45pm
CBA 4.344

Jump to the assignments page.
Jump to the resources page.

Please complete the midterm course evaluation survey.

Instructor Contact Information

office hours: Thursdays 3:30-4:30 and by appointment
office: TAY 4.122
phone: 471-9796
fax: 471-8885
email: pstone@cs.utexas.edu

Teaching Assistant

Mazda Ahmadi
office hours:
   Mondays 2 to 3:30
   Thursdays 10:30 to 12
office: PAI 5.36
email: mazda@cs.utexas.edu


Good programming skills, preferably in C and/or C++. Some background in artificial intelligence is recommended but not essential.

Syllabus and Text

This page serves as the syllabus for this course.
The course textbook is An Introduction to Multiagent Systems, by Michael Wooldridge.
Selected readings from this text will be assigned, along with relevant research papers.


Reading, written, and programming assignments will be updated on the assignments page. A tentative schedule for the entire semester is posted. But the readings and exercises may change up until the Tuesday before they are due (1 week in advance).
You can go directly to the final project page. To see your grades go to eGradebook.

Mailing List

Please subscribe to the class mailing list. The listname is "cs378-pstone-spr04".
Once you have subscribed to the list, you can send mail to the class at cs378-pstone-spr04@lists.cc.utexas.edu.
Important class information may be sent to this list. It is the student's responsibility to be subscribed.

Philosophy and Goal

The foremost goal of this course is to expose the student to the full range of activities required of a real-life computer science researcher. It turns out that computer scientists rarely read textbooks, sit silently in lectures, work on programming assignments with correct and complete answers, or take exams. Rather, they

Most upper-division CS students have determined that they enjoy taking CS classes (or at least that they're relatively good at it). However, this determination may not be indicative of a propensity for computer science research. This course presents an opportunity for students to help decide whether they would enjoy going on to graduate school and an eventual career as a computer science researcher. In particular, students will be required to read published research papers, write brief reactions to them, participate in class discussions, moderate a class discussion, propose and execute a solution to a challenging open-ended problem, and write about their work. They will be given an opportunity to collaborate with one other student on the final project.

The content of the course will be related to autonomous agents. In order to succeed, students will need to attain a mastery of the subject. However evaluation will be based primarily on the above activities. There will be no exams.

Content Overview

There is no generally accepted definition of artificial intelligence "agents." But practitioners know them when they see them. In loose terms, agents are programs that (i) sense their environment, (ii) make decisions about how to act based on these sensations, and (iii) then execute these actions. Autonomous agents do all three of these steps on their own, i.e. without a human in the loop. Multiagent systems are collections of multiple agents that interact with one another.

This course provides a broad introduction to autonomous agents with an emphasis on multiagent systems. Topics include

There will be incremental programming assignments leading to a final project, and ultimately a tournament competition in the RoboCup soccer simulator. Students will be encouraged to work in pairs on the final project.

The course also has a significant writing component. Brief written answers to questions based on the reading will be assigned weekly. There will be a project proposal halfway through the semester with an opportunity for revisions in the form of a progress report. The grade for the final project will be based largely on the written report due at the end of the semester.

Participation in the class discussions will also form a significant part of the grade. Class meetings will consist of discussions based on assigned readings. Each student will be responsible for moderating one discussion.

Content Objective

With respect to content, the goal of this course is to give the student an appreciation for the broad research topics currently being pursued in the field of autonomous agents and multiagent systems. By the end of the course, the student should be able to

The course is designed to include key activities engaged in by researchers, including generation of ideas and programs, critical oral discussion of ideas, and written evaluation and presentation of ideas.

The course is designed to present a solid entry point to the field of artificial intelligence. For those students with interest, it could possibly lead to subsequent research opportunities.

Course Requirements

Written responses to readings-based questions (15%):
Weekly readings will be posted on the class website on Tuesday to be due the following Tuesday. Associated with most readings will be questions that should be answered with concise, well-thought-out, coherent written responses by email to the instructor and the TA. The email should be in plain ascii text in the body of the email (not as an attachment). Please use the subject line "class readings for [due date]". In some cases, no specific questions will be posted. In those cases, the responses should be free form.Credit will be based on evidence that you have done the readings carefully. Acceptable responses include (but are not limited to):
  • Insightful questions;
  • Clarification questions about ambiguities;
  • Comments about the relation of the reading to previous readings;
  • Critiques;
  • Thoughts on what you would like to learn about in more detail;
  • Possible extensions or related studies;
  • Thoughts on the paper's importance; and
  • Summaries of the most important things you learned.
  • These responses will be graded on a 10-point scale and graded mostly on written expression and coherence of argument (most questions will not have a ``right'' answer). Answers will be due by midnight on Monday (the night before class). Responses received between then and 11a.m. on Tuesday will be deducted 1 point (for a maximum score of 9). Responses received between then and 11a.m. on Thursday will be deducted 2 points (for a maximum score of 8). Responses received after that will be deducted 4 points (for a maximum score of 6).

    These deadlines are designed both to encourage you to do the readings before class and also to allow us to incorporate some of your responses into the class discussions.

    Class participation (20%):
    As a discussion-oriented course, it is important that you be in class and actively participate in the discussions (note that attendance is generally a prerequisite for participation). Students will be expected to come to class with at least one question or comment pertaining to the week's readings. In addition, every student will be asked to moderate one discussion based on the readings for that week. Your goal for the discussion will be to have it last as long as possible. Good ways to do that are:
    • Make a controversial statement and prepare to defend it; or
    • Pose an interesting question and prepare to take either side (in case everyone in the class takes one side or the other).
    Candidate discussion topics will be due at 9am the day before they are to be presented (i.e. Monday or Wednesday). You will then discuss and revise them with the instructor and/or TA.

    Initial programming assignments (15%):
    A series of 4 incremental programming assignments will be assigned during the first half of the semester. Their purpose is to familiarize you with the software you will be using in the final project and to give you direct experience with some of the concepts covered in the readings.

    Project proposal draft (5%):
    Midway through the semester, you will propose a topic for your final project. The proposal will be in written form and should be roughly 5 double-spaced pages. You are expected to propose to work with one other student on the final project, but each student must turn in an independently-written proposal and final report. The draft will be evaluated primarily on written expression and coherence of argument. Feedback will be given both on writing and content.

    Project progress report (15%):
    The progress report is mainly a revision of the proposal. It should take into account both types of comments given on the proposal. Expect it to require significant rewriting, as opposed to just editing of the proposal. In addition, it should include an update on progress to date. It will be graded primarily on written expression and coherence of argument. Feedback will be given on content.

    Final programming project (competition) and written report (30%):
    In most cases, the culminating assignment for the course will be a full-fledged robot soccer team for entry in a class tournament. Other options will be possible if agreed upon at proposal time. The grade for the final project will be based upon the final product (program) and the written report, which should detail what was done and relate it to the class readings. The grade will not be tied to performance in the tournament. At the final tournament, students will describe their final projects orally.

    Extension Policy

    If you turn in your assignment late, expect points to be deducted. No exceptions will be made for the written responses to readings-based questions (subject to the ``notice about missed work due to religious holy days'' below). For other assignments, extensions will be considered on a case-by-case basis, but in most cases they will not be granted.

    For the penalties on responses to the readings see above (under course requirements). For other assignments, by default, 5 points (out of 100) will be deducted for lateness, plus an additional 1 point for every 24-hour period beyond 2 that the assignment is late. For example, an assignment due at 2pm on Tuesday will have 5 points deducted if it is turned in late but before 2pm on Thursday. It will have 6 points deducted if it is turned in by 2pm Friday, etc.

    The greater the advance notice of a need for an extension, the greater the likelihood of leniency.

    Academic Dishonesty Policy

    You are encouraged to discuss assignments with classmates. But all written work must be your own. And programming assignments must be your own except for 2-person teams on the final project. All work ideas, quotes, and code fragments that originate from elsewhere must be cited according to standard academic practice. Students caught cheating will automatically fail the course. If in doubt, look at the departmental guidelines and/or ask.

    Notice about students with disabilities

    The University of Texas at Austin provides upon request appropriate academic accommodations for qualified students with disabilities. To determine if you qualify, please contact the Dean of Students at 471-6529; 471-4641 TTY. If they certify your needs, I will work with you to make appropriate arrangements.

    Notice about missed work due to religious holy days

    A student who misses an examination, work assignment, or other project due to the observance of a religious holy day will be given an opportunity to complete the work missed within a reasonable time after the absence, provided that he or she has properly notified the instructor. It is the policy of the University of Texas at Austin that the student must notify the instructor at least fourteen days prior to the classes scheduled on dates he or she will be absent to observe a religious holy day. For religious holy days that fall within the first two weeks of the semester, the notice should be given on the first day of the semester. The student will not be penalized for these excused absences, but the instructor may appropriately respond if the student fails to complete satisfactorily the missed assignment or examination within a reasonable time after the excused absence.

    Schedule (tentative)

    Week Dates Topic
    1 1/20,22 Introduction
        programming assignment 1 due Thursday
    2 1/27,29 Autonomous agents
        programming assignment 2 due Thursday
    3 2/3,5 Agent architectures
        programming assignment 3 due Thursday
    4 2/10,12 Multiagent systems
    5 2/17,19 Agent communication
        programming assignment 4 due Thursday
    6 2/24,26 Teamwork
    7 3/2,4 RoboCup case studies
        project proposal draft due Thursday
    8 3/9,11 Swarms and self-organization
    * 3/16,18 SPRING BREAK
    9 3/23,25 Applications
    10 3/30,4/1 Game theory
    11 4/6,8 Distributed rational decision making
        project progress report due Thursday
    12 4/13,15 Auctions
    13 4/20,22 Agent modeling
    14 4/27,29 Multiagent learning
    15 5/4,6 Entertainment Agents
        final project due Tuesday, report due Thursday
    Final 5/13 at 10:30am final tournament (oral project report)


    Slides from the classes as well as other resources are posted on the class resources page.

    Relevant Links

  • This course is based on two previous instantiations of the course: one taught here during the fall of 2002 and one taught at NYU during the fall of 2001. If you look there, you can get a sense of the assignments and slides to come.
  • If you would like an overview of artificial intelligence prior to the course, I recommend Artificial Intelligence: A Modern Approach by Stuart Russell and Peter Norvig.
  • RoboCup, the robot soccer world cup.
  • The RoboCup Soccer Server System used as the simulator for the programming assignments in this course. Download the manual from here.
  • A Concise Introduction to Multiagent Systems and Distributed AI by Nikos Vlassis. It was written for a course similar to this one.

  • [Back to Department Homepage]

    Page maintained by Peter Stone
    Questions? Send me mail