CS378: Autonomous Multiagent Systems -- Fall 2002

CS378: Autonomous Multiagent Systems -- Fall 2002

Instructor: Peter Stone
Department of Computer Sciences

Tuesday, Thursday 2-3:15pm
ENS 145

Please complete the midterm course evaluation survey.

Instructor Contact Information

office hours: Tuesday, Thursday 12:45pm-1:45pm, and by appointment
office: TAY 4.122
phone: 471-9796
fax: 471-8885
email: pstone@cs.utexas.edu

Teaching Assistant

Vinay Sampath Kumar
office hours: Monday 2:00pm-3:30pm, Friday 9:00am-10:30am
office: PAI 5.36 C
email: vinay@cs.utexas.edu


Some background in artificial intelligence is recommended. Good programming skills, preferably in C and C++.
If you're not familiar with Unix, I recommend attending one of the 1-hour sessions "Introduction to Unix in the CS Department," which will be taught by Dan Machold (machold@cs). It will be offered in Taylor 2.106 at the following times:

  • Wednesday, September 4, 3-4pm
  • Friday, September 6, 4-5pm
  • Monday, September 9, 3-4pm
  • Syllabus and Text

    A printable version of the syllabus is available here (postscript). In case of discrepancy, go by the on-line version (this page) as it will be updated more frequently.
    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.
    The course text is not yet available in the Co-op. Until it becomes available, replacement readings will be assigned.


    Reading, written, and programming assignments will be updated on the assignments page.
    You can go directly to the final project page.

    Mailing List

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


    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. It is a programming-intensive course. There will be on-going, incremental programming assignments leading to a final project, and ultimately a competition tournament in the RoboCup soccer simulator. Students will have the option of working in groups 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. 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 participating in moderating one discussion.

    Philosophy and Goal

    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 will be difficult and time-consuming. But it should also be rewarding and a lot of fun. It 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. 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 noon on Tuesday. Responses received between then and noon 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. 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: 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 may propose to work with one other student on the final project (more will be expected from 2-person teams), 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%):
    A revision of the project proposal should take into account both types of comments given on the draft. Expect it to require significant rewriting, as opposed to just editing of the proposal. It will be graded primarily on written expression and coherence of argument. Feedback will be given on content.

    Final programming project (competition) and report (30%):
    In most cases, the culminating assignment for the course will be a full-fledged robotic 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.

    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.

    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. Students caught cheating will automatically fail the course. If in doubt, look at the departmental guidelines and/or ask.

    Schedule (tentative)

    Week Dates Topic
    1 8/29 Introduction
    2 9/3,5 Autonomous agents
        programming assignment 1 due Thursday
    3 9/10,12 Agent architectures
        programming assignment 2 due Thursday
    4 9/17,19 Multiagent systems
    5 9/24,26 Agent communication
        programming assignment 3 due Thursday
    6 10/1,3 Teamwork
    7 10/8,10 RoboCup case studies
        programming assignment 4 due Thursday
    8 10/15,17 Swarms and self-organization
        project proposal due Thursday
    9 10/22,24 Applications: cooperative information gathering and industrial settings
    10 10/29,31 Distributed rational decision making
    11 11/5,7 Distributed rational decision making
    12 11/12,14 Negotiation and auctions
        project progress report due Thursday
    13 11/19,21 Agent modeling
    14 11/26 Multiagent learning
    15 12/3,5 Entertainment Agents
        final project team due Tuesday and report due Thursday
    Final 12/17 (10am-noon) final tournament (no exam, nothing due)

    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.


    Here are some of the slides presented in class.

  • 8/29 (powerpoint)
  • 9/3 (postscript)
  • 9/5 (postscript), some more
  • 9/10 (postscript)
  • 9/12 (postscript), Pengo
  • 9/17 (postscript)
  • 9/19 (postscript)
  • 9/24 (postscript), some more (from the course textbook), still more
  • 9/26 (postscript), some more
  • 10/1 (postscript)
  • 10/3 (postscript), some more
  • 10/8 (postscript), some more (from Tom Mitchell's book Machine Learning)
  • 10/10 (postscript), some more (from Tom Mitchell's book Machine Learning)
  • 10/15 (postscript), some more (from Tom Mitchell's book Machine Learning)
  • 10/17 (postscript)
  • 10/22 (postscript)
  • 10/24 (postscript), some more (from Allgower at Stuttgart)
  • 10/29 (postscript), some more (from the course textbook)
  • 10/31 (postscript)
  • 11/5 (postscript)
  • 11/7 (postscript) Condorcet voting example
  • 11/12 (postscript)
  • 11/14 (postscript)
  • 11/19 (postscript)
  • 11/21 (postscript), some more
  • 11/26 (postscript), some more
  • 12/3 (powerpoint), the Two Towers link
  • 12/5 (postscript)
  • 12/17 - the tournament! (postscript)
  • Relevant Links

  • This course is based on a previous instantiation of this course 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.

  • [Back to Department Homepage]

    Page maintained by Peter Stone
    Questions? Send me mail