Spring 2015

Professor: Aaron Roth

TAs: Shahin Jabbari and Ishaan Nerurkar

Title: Tuesday/Thursday 3:00-4:30

Room: Towne 309

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 you be as successful at betting on horse races as the best horse racing expert, without knowing anything about horse racing? 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, problem sets, a midterm, and a final exam.

Textbook: A recommended textbook is Algorithmic Game Theory, which is also available for free on the web here (username=agt1user, password=camb2agt).

Office Hours and Discussion: Office Hours: Tuesday 4:30-5:30 in Levine 603 (Aaron), Monday 3:00-4:00 and Thursday 4:30-5:30 in GRW 571 (Shahin), Friday 4:30-6:30 (Ishaan)

We will be using Piazza to discuss class material and answer questions. The Piazza page for NETS 412 is piazza.com/upenn/spring2015/nets412. Students are encouraged to ask questions about the material on Piazza so that everyone can benefit and contribute to their answers.

Topics Covered:

TAs: Shahin Jabbari and Ishaan Nerurkar

Title: Tuesday/Thursday 3:00-4:30

Room: Towne 309

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 you be as successful at betting on horse races as the best horse racing expert, without knowing anything about horse racing? 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, problem sets, a midterm, and a final exam.

Textbook: A recommended textbook is Algorithmic Game Theory, which is also available for free on the web here (username=agt1user, password=camb2agt).

Office Hours and Discussion: Office Hours: Tuesday 4:30-5:30 in Levine 603 (Aaron), Monday 3:00-4:00 and Thursday 4:30-5:30 in GRW 571 (Shahin), Friday 4:30-6:30 (Ishaan)

We will be using Piazza to discuss class material and answer questions. The Piazza page for NETS 412 is piazza.com/upenn/spring2015/nets412. Students are encouraged to ask questions about the material on Piazza 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.
- Introduction to Linear Programming and LP duality. Linear programs as zero sum games.
- 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
- More if time allows...

- Problem Set 1 -- Due in class or on Canvas January 27.
- Problem Set 2 -- Due in class or on Canvas February 17.
- Problem Set 3 -- Due in class or on Canvas March 3.
- Problem Set 4 -- Due in class or on Canvas April 7.
- Problem Set 5 -- Due in class or on Canvas April 28.

Lectures:

- Lecture 1: Class Overview
- Lecture 2: Basic Definitions
- Lecture 3: Congestion Games and Best Response Dynamics
- Lecture 4: Approximate and Exact computation of Equilibria in Congestion Games
- Lecture 5: When do best response dynamics converge in general?
- Lecture 6: The polynomial weights algorithm -- see also Chapter 4 of AGT.
- Lecture 7: MORE POLYNOMIAL WEIGHTS ALGORITHM!
- Lecture 8: Zero-sum games and Von Neumann's Min-Max theorem
- Lecture 9: Convergence of No-Regret Dynamics to Equilibrium in Zero Sum Separable Graphical Games -- See also this paper of Cai and Daskalakis, from which this lecture is drawn
- Lecture 10: Correlated Equilibria -- See also Chapter 4 of AGT
- Lecture 11: Achieving no Swap-Regret and computing Correlated Equilibria -- See also Chapter 4 of AGT
- Lecture 12: The Price of Stability and the Price of Anarchy
- Lecture 13: Truthful, Pareto Optimal Exchange Without Money (Top Trading Cycles)
- Lecture 14: Stable Matchings: Stability, optimality, and incentive compatibility
- Lecture 15: Market (Walrasian) equilibria in discrete allocation problems
- Lecture 16: Begin the VCG mechanism
- Lecture 17: Continue the VCG mechanism
- Lecture 18: Auctions in Single Parameter Domains
- Lecture 19: Approximation in Mechanism Design: A Truthful, Polynomial-time Knapsack Auction
- Lecture 20: Continue approximation in mechanism design
- Lecture 21: Profit Maximization in Digital Goods Auctions
- Lecture 22: Online Auctions

Related Courses:

- Balcan
- Daskalakis
- Feigenbaum
- Hartline
- Kalai
- Kearns
- Ligett
- Mansour
- Papadimitriou
- Parkes
- Roughgarden
- Tardos