CSCE 782: Multiagent systems

A hands-on approach

Instructor: José M. Vidal

Office: SWGN 3A51
Office Hours: Check my Calendar, or email me for appointment.
Registration: Here
Time: Mondays and Wednesdays 4:00-5:15pm
Room: Swearingen Room 2A19
Textbook: Introduction to Multiagent Systems by Mike Wooldridge.

Item Percentage
Tests (2) 25% each, for a 50% total.
Final Project 20%
Problem Sets 30%

We will adhere USC's statement on academic responsibility. This means that expulsion procedures will be initiated for anyone caught either giving or receiving help in a problem set or test. I will be grading everything myself since this class does not have a TA. Please, try to help out by properly commenting your code.

Problem Sets: All problem sets are to be done individually and will likely involve the use of netlogo to solve a multiagent problem. All problem sets will be graded based on the quality of the writeup up: the quality of the writing, the originality of the ideas use, the simplicity of the code, and the performance of the system.

Tests: There will be two tests. The tests are closed-book. They cover the material discussed in class.

Final Project: The final project is the Robocup tournament. You will be graded based on your performance in the tournament and on the quality of your writeup. Neither of these alone is enough to warrant a good grade; you must do both.

Overview: This class will provide a solid foundation in the field of multiagent systems design and engineering. We study all the major MAS design techinques, agent architectures, and communication languages. We take a hands-on approach by designing and building robocup soccer teams and playing them against each other.

The class, therefore, has two components: theoretical and implementation. The theoretical component includes the lectures, readings from the textbook and papers, and several problem sets. The implementation component includes the programming assignments and final project.

Prerequisites: This class involves a lot of Java programming. It is also and advanced graduate class. You need to be fluent in all the basic data structures and algorithms, object-oriented programming, and the Java language in particular. You also need to have taken an introductory AI class and possess some mathematical sophistication.

Deliverables: Students who pass this class are able to design and implemented complex software solutions for distributed, real-time, noisy problems that require the coordination of independent units. The students have in-depth knowledge of the most common agent architectures, agent communication languages, coordination protocols and the Java language. They also have basic knowledge of game theory and economic theory as they apply to the design of incentive-compatible protocols. Finally, they are capable of working as part of a software team and develop significant projects under a tight deadline.

A funny comic strip.

Jose M. Vidal
Last modified: Sat Aug 2 14:34:53 EDT 2003