COL8184, Spring Semester 2026

Algorithms for Fair Representation

How to allocate parliamentary seats, select the best movie, and make matches without traveling to heaven.

Instructor: Rohit Vaish ()

Teaching Assistant: Payas Khurana ()


Course Information

What this course is about

This course is about fair allocation of resources---a problem as old as humanity itself. We will focus on three classical problems: apportionment, which deals with fair allocation of parliamentary seats among states; committee selection, which involves choosing a set of alternatives that are broadly acceptable to the electorate, and stable matching, which aims to match two sets of agents in a way that prevents the assignments from unraveling.

The course will take us on a fascinating journey through the history of these problems, demonstrating how concepts from theoretical computer science, economics, and mathematics apply together to address real-world challenges. Along the way, we will enrich our technical toolbox by learning new algorithmic techniques and exploring fixed-point theorems.

Who is this course aimed at

Students interested in theoretical computer science and algorithms, as well as their applications in economics and game theory, should find this course relevant.

Prerequisites

This is a theoretical course that requires mathematical maturity, particularly the ability to understand and write formal mathematical proofs, as well as a background in algorithm design and analysis. The relevant prerequisites at IIT Delhi are COL202/MTL180 (Discrete Mathematical Structures) and COL351/MTL342 (Analysis and Design of Algorithms). There is no requirement for any background in economics. If you have any questions about the prerequisites, please contact Rohit before the start of the course.

Reference texts


Admin

Lecture timings and venue

Monday and Thursday 2-3:30 PM, Venue: LH 614.
Announcements will be made on the Microsoft Teams channel.

Office hour

Thursday 4-5 PM at Bharti 428

Evaluation policy

The evaluation will be based on three assignments (10% each), in-class quizzes (30%), and a research project (40%). Depending on the class size, it may be possible to do the assignments and/or projects in groups. For quizzes, the three worst scores will be dropped.

For the project, you will be expected to read a paper (or a set of closely related papers); a suggestive list is here. The deliverables will include a presentation and a report. There will also be a mid-term project update meeting.

Your final presentation and report should clearly convey the problem studied by the paper(s), the status of prior work, the main contribution of the paper(s) and why you think it is novel and interesting, as well as directions for future research. There will be a significant weightage for new observations and insights, so you are strongly encouraged to present those as well.

Audit policy

Audits are not allowed.

How to register

Raise a "General Request" on eAdmin and email Rohit with information about your prior coursework and relevant research experience.

and "Bias" in Apportionment
Date Topic References
Part I: Apportionment
Lecture 1
Jan 05 (Mon)
The Apportionment Problem
Introduction to the course and basics of the apportionment problem.
  • Slides
  • Interactive website on apportionment methods
  • MAA articles on apportionment methods
  • Additional reading: [BY] Chapters 1-3, [S] Chapter 9
Lecture 2
Jan 08 (Thurs)
Apportionment Methods and Paradoxes
The methods of Hamilton, Jefferson, Adams, and Webster, and the Alabama paradox.
Lecture 3
Jan 12 (Mon)
Apportionment Paradoxes (Contd.) and Axioms
The New State and Population paradoxes, and House and Population Monotonicity.
  • Slides
  • Slides by Dominik Peters
  • Additional reading: [BY] Chapter 5, [S] Chapter 9

Jan 15 (Thurs)
No lecture
Lecture 4
Jan 19 (Mon)
Divisor Methods
  • Slides
  • Additional reading: [BY] Chapters 7, 8, and 10
Lecture 5
Jan 22 (Thurs)
An Optimization View of Apportionment + Project Meetings
Lecture 6
Jan 29 (Thurs)
Balinski-Young Impossibility Result
  • Slides
  • Additional reading: [BY] Chapter 10 and Appendix A(4), [S] Chapter 12

Feb 01 (Sun)
Assignment 1 (Bharti 501, 9 AM to 1 PM)
Lecture 7
Feb 02 (Mon)
Assignment 1 Discussion
Lecture 8
Feb 05 (Thurs)
Circumventing Balinski-Young Impossibility

Feb 09 (Mon)
Project Meetings
Lecture 9
Feb 12 (Thurs)
Axioms for Randomized Apportionment
Lecture 10
Feb 16 (Mon)
Bizarre Correlations in Grimmett's Outcomes
Lecture 11
Feb 19 (Thurs)
The Careful Sliding Method
Lecture 12
Mar 09 (Mon)
Randomized Apportionment via Network Flows
Lecture 13
Mar 12 (Thurs)
Mid-Term Project Presentations

Mar 14 (Sat)
Thursday timetable
No lecture


Mar 16 (Mon)
No lecture

Mar 19 (Thurs)
No lecture
Tentatively
Mar 22 (Sun)
Assignment 2 (LH318, 9 AM to 1 PM)
Part II: Stable Matching
Lecture 14
Mar 23 (Mon)
The Stable Matching Problem
Introduction to the course and basics of the stable matching problem.
Lecture 15
Mar 30 (Mon)
Structure of Stable Matchings
The lattice of stable matchings, and the story of consensus and conflict.
Lecture 16
Apr 02 (Thurs)
Fairness in Stable Matching Problem
Using linear programming to find a median stable matching.
Lecture 17
Apr 06 (Mon)
Many-To-One Stable Matchings
Reduction to canonical one-to-one problem, Rural hospitals theorem, and manipulation via capacity modification.
Part III: Committee Selection
Lecture 18
Apr 09 (Thurs)
Condorcet Dimension I
Tentatively
Apr 12 (Sun)
Assignment 3 (LH318, 9 AM to 1 PM)
Lecture 19
Apr 13 (Mon)
Condorcet Dimension II
  • Slides (TBA)
Lecture 20
Apr 16 (Thurs)
Condorcet Dimension III
  • Slides (TBA)
Lecture 21
Apr 20 (Mon)
Final Project Presentations I
Lecture 22
Apr 23 (Thurs)
Final Project Presentations II
Project Suggestions
Apportionment
Committee Selection
Stable Matching