Spring 2022

Professor: Aaron Roth

TAs: Natalie Collina, Charles Cunningham, Georgy Noarov, Kevin Zhou

Title: Tuesday/Thursday 3:30-5:00pm

Room: FAGN 216

Overview: In this course, we will take an algorithmic perspective on problems in game theory. We will consider questions such as: how should an auction for scarce goods be structured if the seller wishes to maximize his revenue? How badly will traffic be snarled if drivers each selfishly try to minimize their commute time, compared to if a benevolent dictator directed traffic? How can couples be paired so that no two couples wish to swap partners in hindsight? How can we find kidney-exchange cycles to incentivize people to participate in the exchange, without using money? How can we incentivize weather men not to lie to us about*WIND* and *RAIN*?
How can we set prices so that all goods get sold, and everyone gets their favorite good?

Prerequisites: This will be a mathematically rigorous theory course for advanced undergraduates. Students should have taken, or be taking concurrently a course in algorithms (such as CIS 320), be mathematically mature, and be familiar with big-O notation. Prior coursework in game theory is helpful, but not necessary. Everything will be presented from first principles.

Goals and Grading: The goal of this course is to give students a rigorous introduction to game theory from a computer science perspective, and to prepare students to think about economic and algorithmic interactions from the perspective of incentives. Grading will be based on participation (5%), problem sets (45%), a midterm (25%), and a final exam (25%).

Textbook: There is no required textbook. Several recommended books are Twenty Lectures on Algorithmic Game Theory, Algorithmic Game Theory, and The Ethical Algorithm (Chapter 3).

Office Hours and Discussion: Office Hours: See Piazza

We will be using Slack to discuss class material, answer questions, and make announcements. Registered students should have received an invite to the slack workspace; if you should have one and don't, email the professor. Students are encouraged to ask questions about the material on Slack so that everyone can benefit and contribute to their answers.

Topics Covered:

TAs: Natalie Collina, Charles Cunningham, Georgy Noarov, Kevin Zhou

Title: Tuesday/Thursday 3:30-5:00pm

Room: FAGN 216

Overview: In this course, we will take an algorithmic perspective on problems in game theory. We will consider questions such as: how should an auction for scarce goods be structured if the seller wishes to maximize his revenue? How badly will traffic be snarled if drivers each selfishly try to minimize their commute time, compared to if a benevolent dictator directed traffic? How can couples be paired so that no two couples wish to swap partners in hindsight? How can we find kidney-exchange cycles to incentivize people to participate in the exchange, without using money? How can we incentivize weather men not to lie to us about

Prerequisites: This will be a mathematically rigorous theory course for advanced undergraduates. Students should have taken, or be taking concurrently a course in algorithms (such as CIS 320), be mathematically mature, and be familiar with big-O notation. Prior coursework in game theory is helpful, but not necessary. Everything will be presented from first principles.

Goals and Grading: The goal of this course is to give students a rigorous introduction to game theory from a computer science perspective, and to prepare students to think about economic and algorithmic interactions from the perspective of incentives. Grading will be based on participation (5%), problem sets (45%), a midterm (25%), and a final exam (25%).

Textbook: There is no required textbook. Several recommended books are Twenty Lectures on Algorithmic Game Theory, Algorithmic Game Theory, and The Ethical Algorithm (Chapter 3).

Office Hours and Discussion: Office Hours: See Piazza

We will be using Slack to discuss class material, answer questions, and make announcements. Registered students should have received an invite to the slack workspace; if you should have one and don't, email the professor. Students are encouraged to ask questions about the material on Slack so that everyone can benefit and contribute to their answers.

Topics Covered:

- Part 1: Game Theory and Game Dynamics
- Quick introduction to game theory: Zero sum and general sum games, Minmax strategies, Nash equilibrium, correlated equilibrium.
- Game Dynamics: Weighted Majority Algorithm
- Game Dynamics: Bandit Algorithms
- Game Dynamics: converging to Nash equilibrium in zero sum games; Game dynamics converging to correlated equilibrium in general sum games
- Game Dynamics: Best Response Dynamics and Potential Games.
- Price of anarchy and price of stability: Definition, routing games, hoteling games
- More if time allows...
- Part 2: Assignment Problems and Mechanism Design
- Stable Matchings and the Deferred Acceptance Algorithm
- Market Equilibrium and Gross Substitute Preferences
- Auction basics: First price auctions, second price auctions, truthfulness
- Maximizing welfare: The VCG Mechanism
- Auctions and Approximation Algorithms
- Combinatorial Auctions
- Online Auctions
- Maximizing revenue: Prior Free Mechanism Design
- Online auctions for digital goods
- Proper Scoring Rules and Prediction Markets
- More if time allows...

Problem sets will be turned in and graded via GradeScope. The course entry code is: NX4ZZN.

- Problem Set 1. Due before class on Tuesday January 31.
- Problem Set 2. Due before class on Tuesday February 14.
- Problem Set 3. Due before class on Tuesday February 28.
- Problem Set 4. Due before class on Tuesday March 28.
- Problem Set 5. Due before class on Tuesday April 11.
- Problem Set 6. Due before class on Tuesday April 25.

Lectures:

- Lecture 1: Course Overview and Basics.
- Lecture 2: Basic Definitions, iterated elimination of dominated strategies, Nash equilibrium
- Lecture 3: Introduce Congestion Games and Best Response Dynamics
- Lecture 4: Characterizing When Best Response Dynamics Converges
- Lecture 5: Learning in Games 1: Begin Polynomial Weights
- Lecture 6: Learning in Games 2: Finish Polynomial Weights
- Lecture 7: Zero Sum Games and the Minimax Theorem
- Lecture 8: Convergence of Polynomial Weights to Equilibrium in Separable Zero Sum Games.
- Lecture 9: Correlated Equilibrium
- Lecture 10: Learning with No Swap Regret and Convergence to Correlated Equilibrium
- Lecture 11: The Price of Anarchy and Stability
- Lecture 12: Begin Mechanism Design --- Top Trading Cycles and Pareto Optimal Exchange
- Lecture 13: Stable Matchings
- Lecture 14: Market (Walrasian) Equilibrium
- Lecture 15: Auctions 1: the VCG Mechanism
- Lecture 16: Auctions 2: Single Parameter Domains
- Lecture 17: Auctions 3: Dealing with Computational Hardness (Knapsack Auctions)
- Lecture 18: Auctions 4: Revenue Maximization (With a Prior)
- Lecture 19: Selling goods with posted prices: Prophets and Profits
- Lecture 20: Revenue Maximization Without Knowing a Distribution: Random Sampling Auctions
- Lecture 21: Prior Free Revenue Maximization in Sequential Auctions
- Lecture 22: Dynamic Pricing to Maximize Revenue (and Bandit Learning)
- Lecture 23: Mechanism Design via Differential Privacy
- Lecture 24: Machine Learning by Reduction to Game Theory: Sequential Calibration
- Lecture 25: Machine Learning by Reduction to Game Theory 2: Boosting