Table of Contents

Chapter 1

Introduction: Some Representative Problems

This chapter consists of 6 different problems, namely Stable Matching, Interval Scheduling, Weighted Interval Scheduling, Bipartite Matching, Independent Set and Competitive Facility Location. There is a detailed explanation about Stable Matching, with its history, examples, design of its algorithm, its analysis, extensions and proofs. For the rest, the chapter provides information on how these problems are to be dealt with.

Stable Matching

David Gale and Lloyd Shapley, two mathematical economists designed the Stable Matching Problem in 1962, to design a self-enforcing matching algorithm to match elements of Set X with elements of Set Y depending on their preferences and limits. The book gives an example of one such Stable Matching Problem: a set of men to be matched with a set of equal number of women to get married to.

Algorithm

Analysis

Interval Scheduling

The goal of this problem is to maximize the number of requests for a resource which can be used by a single person at a time. For this, we say a set of requests are compatible if no two requested intervals do not overlap. Out of all these compatible sets, we choose the one with the maximum size. This is an example of “Greedy Algorithm”.

Weighted Interval Scheduling

This is almost the same as Interval Scheduling, except that each task has a weight, or a value assigned to it. For example, if task 1 has a higher weight over all other tasks, task 1 has to be included in the optimal solution. For this, we use a technique called “Dynamic Programming”.

Bipartite Matching

In the Stable Matching problem, if any m does not want to marry at least one of w, Bipartite Matching problem occurs. This problem can be solved by a method known as “Augmentation”. An example of this is “Network Flow Problems”.

Independent Set

It is a more general way of defining a Stable Matching or a Bipartite Matching problems. For example, this problem helps you solve your problem of inviting a group of friends for a party such that there is no tension between any of them in the party because of any one of them not getting along with any of the rest. This problem has no known efficient algorithm and the only way to solve this problem is by brute force and trying out each subsets. This is an example of an “NP-complete” problem.

Competitive Facility Location

This problem is like a game played by two franchises trying to maximize their output by selecting different locations available, turn by turn, with rules that each of them cannot be too close to each other. This is an example of “PSPACE-complete problems”, which is believed to be strictly harder than “NP-complete problems”.

Questions and Comments

Definitely did give me an idea of what we would be dealing in this class. Sounds fun. Though I have a question, why would there be the same pairs in each execution of the Stable Matching Algorithm on a set of data?

Aside from that, I thought the chapter was smooth and was understandable. Class discussions helped too.