Game Theory, Data Science and AI

A course that will explore foundations and applied topics at the intersection of game theory, data science and artificial intelligence. The first part of the course will focus on computational approaches to solving complex games, with applications in developing successful algorithmic agents and explore recent successes in the games such as Go and Poker. The lectures will provide the foundations of the methods that underlie these computational game theory methods (rooted in the theory of learning in games) and the assignments will explore implementation of simple variants. The second part of the course will explore the interplay between data science and mechanism design. We will overview topics such as optimizing auctions and mechanisms from data and explore applications in optimizing online auction markets. We will also overview methodologies for learning structural parameters in games and econometrics in games and how these can be used to analyze data that stem from strategic interactions, such as auction data. The third part of the course will explore topics that relate to deploying machine learning and data science pipelines in the presence of strategic behavior. Topics will include A/B testing in markets, with applications to A/B testing on digital platforms such as Uber, Amazon and other matching platforms.

Course Info

Program Title Management Science and Engineering, Stanford
Course Title MS&E 233. Game Theory, Data Science and AI
Course Start-End April 1st - June 5th, 2024
Class Timings Tue-Thu 3.00-4.20
Class Location Shriram 104

Course Instructors

Vasilis Syrgkanis Assistant Professor, MS&E
Keertana Veeramony Chidambaram CA, MS&E PhD student
Gordon Martinez-Piedra CA, EE MS student

Office Hours

Vasilis Syrgkanis Friday 11.00am - 12.00pm Huang 252
Keertana Veeramony Chidambaram Mon, Wed 1.45pm - 2.45pm Huang Basement
Gordon Martinez-Piedra Tuesday 12.45pm - 2.45pm Huang Basement (Hybrid)

Textbooks

Tim Roughgarden Free Online
Christian Kroer Free Online
Noam Nisan, Tim Roughgarden, Eva Tardos, Vijay Vazirani Free Online
Shai Shalev-Shwartz Free Online

Prerequisites

There are no formal pre-requisites for the class. The course will assume undergraduate level knowledge of probability, statistics, linear algebra, calculus (derivatives, integrals, partial derivatives). A basic background in optimization (convex and linear optimization) will be assumed (e.g. first-order conditions, linear programming formalism). The course will also assume knowledge of basic Python programming (we will offer however one python tutorial session at the beginning of class). Some familiarity with game theoretic concepts will be helpful but not required.

Course Format

The course will consist of lectures and homework assignments. Lectures will be held in person and will not be recorded. The lectures will cover the foundations at the intersection of Game Theory, Data Science and AI. They will also provide an overview of applications of these foundations. Reading material for each lecture will vary and will either be in the form of lecture notes or book chapters or presentation slides. Grading will be based on the weekly homework assignments. There will be a total of 7-8 homeworks, rolled out roughly on a weekly basis, that will involve primarily coding exercises and potentially some mathematical derivations.

Grading

  • Homework 100%
  • Bonus: extra 10% of your homework points for class participation (participation in at least 90% of in class polls)

Course webpages

Course Operations and Expectations

Problem sets

There will be a total of 7 or 8 problem sets. Problem sets must be submitted online through Gradescope gradescope.

Depending on their length, the total number of points in each set might vary. Each part of each problem will be graded as follows:

  • You will receive zero points if you do not “substantially” attempt to solve the question.
  • If you substantially attempt it, but there are either substantial methodological errors or major conceptual misunderstandings of the material, you will receive 2 points.
  • If you attempt it and there are no substantial methodological errors or major conceptual misunderstandings of the material, you will receive 3 points.

We expect students who make a reasonable effort, even if not perfect, will receive 3 points. Receiving 2 points is intended to be a sign of significant comprehension issues and should only happen in cases where you haven’t been able to keep up with the material. Since you can get full credit without having been perfect, you should make sure to read the solutions to aid your comprehension of the material.

We encourage discussion of assignments with other classmates, but everybody must turn in their own written solutions in their own words. If you do a substantial subset of the work on your problem set with others, you must document on each assignment the other students that you worked with. You may work in pairs on coding portions of the assignments, but again, please make sure to clarify in your submission who you collaborated with; if you turn in the same code as someone else, without noting the collaboration, it will be considered an Honor Code violation. (See also the section on the Honor Code below.)

Computation

Many of the problem sets will require you to be comfortable carrying out computations on data. Note that the “official” course language will be python: this is what we use for our problem sets, in our lectures and discussion sections, and the language we support in office hours. We will provide template code for each assignment in python. The template code will have been tested on Google colab and this is the recommended mode of running your code.

As noted above, you are welcome to work in pairs on any computational component in the class.

Generative AI

You are allowed to use the default code auto-completion within the Google colab environment. You are not allowed to use other GenAI tools when preparing the homework.

Late day policy

To accommodate unforeseen challenges that may arise during the quarter, you have three late days for the problem sets. Each late day allows you to turn in an assignment up to 24 hours late. (Any fraction of a late day counts as one late day.) You may use multiple late days on the same problem set. Work submitted beyond the allowed late days will not receive credit.

Please note that we have provided the late day policy to help provide flexibility to you in managing your course load during the quarter. If circumstances arise that require further accommodations, we encourage you to contact your academic advisor as well as the Office of Accessible Education (see below) to help make appropriate arrangements. Out of fairness to all students, in the absence of an OAE Academic Accommodation Letter, we will generally be unable to provide accommodations beyond the late day policy above.

Access and accommodations

Stanford and our class are committed to providing equal educational opportunities for disabled students. Disabled students are a valued and essential part of the Stanford community. We welcome you to MS&E 233.

If you experience disability, please register with the Office of Accessible Education (OAE). Professional staff will evaluate your needs, support appropriate and reasonable accommodations, and prepare an Academic Accommodation Letter for faculty. To get started, or to re-initiate services, please visit oae.stanford.edu.

If you already have an Academic Accommodation Letter from OAE, we invite you to share your letter with us. Academic Accommodation Letters should be shared at the earliest possible opportunity so we may partner with you and OAE to identify any barriers to access and inclusion that might be encountered in your experience of this course.

Honor code

Your work on problem sets and the project is governed by the Stanford Honor Code. Any violations of the Honor Code will be referred to the Office of Community Standards for adjudication.

Submitting on Gradescope

As noted above, problem sets and project submissions are submitted and graded through Gradescope. To ensure this process is smooth, there are a few things to keep in mind:

  • You are required to tag your answers correctly. The graders will ignore any part of your solution that is not tagged. Note that this means you also have to correctly tag your code. Allow enough time prior to submission to ensure you are able to tag correctly.
  • In order to grade code you submitted, we need to be able to copy your code. Make sure this is possible (e.g., do not upload screenshot images of your code). We will deduct points if we cannot check your code.
  • If you believe we have made a mistake grading your work, you should submit a regrade request through Gradescope. This sends your request directly to the grader on that particular question. You must submit your regrade request within 14 days of the grades of that particular problem set or project part being published.

Course communications: Ed Discussion

As noted above, we will use Ed Discussion to manage course announcements and a discussion forum. Ed Discussion will be available through Canvas.

Please use Ed Discussion for all course-related communication with us. We will aim to respond to questions in a 24-48 hour period, except of course for those of an urgent nature (e.g., typos on problem sets or lecture notes, clarifying course logistics, etc.). We encourage students to respond to each other, particularly during this “waiting period” before course staff answers! Among other things this waiting period means you should not wait until the last day before a problem set is due to message us; we may not be able to respond in time.

Office hours

You are encouraged to attend office hours to ask questions of a technical nature. Office hours will be held in-person. Our goal is to foster an inclusive environment for additional learning support during office hours.

If you are having difficulty, we urge you to seek help from the TAs or the instructor as soon as possible. The material builds on itself and a solid understanding of the foundations is necessary for the rest of the course. Remember, the teaching team is here to serve as a resource for any questions you may have.

Inclusion

It is our intent that students from a diverse set of backgrounds and with a wide range of perspectives be well served by this course; that students’ learning needs are being addressed both in and out of class; and that the diversity that students bring to this class becomes a resource, strength, and benefit to all of us. We try to present materials and lead discussions that are respectful of the diversity in our student population. Your suggestions are encouraged and appreciated; please let us know of ways to improve the effectiveness of the course for you personally or for other students or student groups.

Unfortunately, incidents of bias, discrimination, or intolerance do occur, whether intentional or unintentional. They can contribute to creating an unwelcoming environment for individuals and groups in the classroom. Please speak out if such an event occurs and we will do our best to handle it accordingly. You can reach out to the teaching team directly or bring the concerns to the University’s Diversity and Access Office and Acts of Intolerance to Student Affairs.