E6899 Autonomous Multi-Agent Systems

Department of Electrical Engineering, Columbia University

This is the course homepage for EECS E6899: Autonomous Multi-Agent Systems.

Basic information

  • Listing: EECS E6899: Topics in Information Processing - Autonomous Multi-Agent Systems

  • Lectures: Tuesdays and Thursdays, 2:40-3:55

  • Location: Pupin Lab, Room 214

  • Instructor: James Anderson (james.anderson@columbia.edu)

  • Office hours: Mudd 1322, Fridays 10-11:30am sign up sheet (or by appointment)

Course announcements

4/21/20: Project presentations will now be 7minute flash presentations. Details on Courseworks
4/20/20: Final report deadline extended to 11:59pm EST, 12 May
4/2/20: Presentation schedule updated
3/26/20: Presentation schedule updated
3/19/20: Presentation schedule updated
3/19/20: Midterm project report deadline extended to April 3rd
3/9/20: Class on Tuesday March 10th is cancelled. From Thursday, classes will be online. URL to follow...
2/26/20: Fixed typo in the "Graphs" slides - updated version is now on Courseworks
2/26/20: Presentation schedule locked (see below for speakers and papers)
2/25/20: Updated the reading list
1/28/20: Presentation signup sheet posted (see Quick links below)
1/24/20: Updated the reading list to include power and energy papers
1/21/20: Please take the background survey www.tinyurl.com/tb4kcq8
1/10/20: Draft reading list posted (see schedule section below)
1/9/20: Tentative schedule posted
12/16/19: Prof Goldfarb will be teaching EEOR E6616: Convex Optimization - it would be a great complement to this class
11/22/19: Course website created

Quick links

  • Office hours sign up: here

  • List of papers: here

  • Project guidelines: here

  • Survey: here

  • Presentation sign up: here


This graduate-level topics course will introduce students to the mathematical foundations of modeling, control, and analysis of networked dynamical systems (otherwise known as multi-agent systems). We will investigate how dynamical systems interact with each other over a network, and how such systems can be analyzed and controlled, in particular how the network structure affects achievable performance. One of the central aims of the course is to understand and prove fundamental properties about multi-agent systems. As such, our focus will be on simple (but informative) models that we can concisely reason and construct rigorous statements about.

Classes will be a mixture of instructor-led lectures, student presentations, and discussions. Assessment will be via paper presentations and a class project (more details below).


This schedule is subject to change. Note there is no class on March 17th & 19th.

The papers referenced can be found here. In some cases, two papers are listed, the first paper will provide the necessary background for the second paper (which is the paper being presented). Pdfs of the papers are also available on Courseworks. If you are presenting a paper and would prefer that we prepare for your presentation by reading a different paper, let me know and I'll update the details below.

  1. Core theory (classes taught by instructor)

    1. Welcome and overview: slides

    2. Linear time-invariant dynamical systems I

      1. Fundamental theorem for autonomous liner systems

      2. Reading DDV Ch. 7

    3. Linear time-invariant dynamical systems II

      1. Stability and controllability

      2. Reading DDV Ch. 23

    4. Convex optimization

    5. State feedback control

    6. Graphs

  2. Topic 1: Network science?

    1. 2/27/20: [1] Collective dynamics of “small-world” networks (James)

    2. 3/3/20: [5] Towards a theory of scale-free graphs: Definition, properties, and implications (Christine)

  3. Topic 2: Consensus

    1. 3/5/20: [7] Consensus and cooperation in networked multi-agent systems (Ananye)

    2. 3/10/20: [8] Class cancelled

    3. 3/12/20: [8] Coordination of groups of mobile autonomous agents using nearest neighbor rules (Huy)

  4. Break: No class 3/17 and 3/19

  5. Topic 4: Distributed control

    1. 3/24/20: Class cancelled

    2. 3/26/20: [40,43] Learning fairness in multi-agent systems (Axel)

    3. 3/31/20: [16] Controllability of multi-agent systems from a graph-theoretic perspective (Mehemet)

    4. 4/2/20: [41,42] On the controllability of nearest neighbor connections (Esher)

    5. 4/7/20: [33] (Peter)

    6. 4/9/20: [24] On the ill–posedness of certain vehicular platoon control problems (Heetika)

  6. Topic 5: Energy and Power Networks

    1. 4/14/20: [13] Fastest mixing Markov chain on a graph (Christos)

    2. 4/16/20: [31] A simple optimal power flow model with energy storage (Margaret)

    3. 4/21/20: [34] Optimal decentralized protocol for electric vehicle charging (Muxuan)

    4. 4/23/20: [37] Design and stability of load-side primary frequency control in power systems (Afam)

    5. 4/28/20: [25] Coherence in large-scale networks (Yu)

  7. Project presentations

    1. 4/30/20:

Course organization


There are no specific course prerequisites for this class beyond mathematical maturity. Students will be expected to read, understand, and present mathematical proofs. A strong working knowledge of linear algebra and calculus will be assumed. Previous classes in control (linear systems theory) and convex optimization would be helpful but are not necessary. Undergraduate students will require instructor's permission.

As a guide to determining whether you have the appropriate mathematical background, download the following documents:

The content of the linear algebra notes should be familiar to you. Some of the dynamical systems material may be new, but you should find this straightforward to follow. After the second class it will be taken for granted that this material is known and understood.

Class structure

During the first few weeks of class the instructor will cover the necessary background material on dynamical systems, graph theory, and optimization. For each of the core theoretical topics (listed above), the instructor will teach one class, following which there will be student-driven lectures based on paper presentations and class discussions. The remainder of the time will be spent on student-chosen applications that link to the previously studied theory.


Grading will be based on three components:

  • Class participation (10%)

  • Paper presentation (30%)

  • Course project (60%)

# Possible topics

  • Oscillator synchronization

    • Nonlinear dynamics

    • Kuramoto oscillators

  • Learning dynamic models from data (Sys ID)

    • Subspace identification

  • Provable safety

    • Barrier certificates

    • Density functionals

  • Cyber-physical systems

    • Control of power grids

    • Optimal power flow

    • Electric vehicle charging networks

    • student–selected topics…

  • Misc

    • Social networks

    • Crowd movement

    • Distributed optimization

    • Privacy

    • student–selected topics…