Abstract. Our input is a graph G = (V, E) where each vertex ranks its neighbors in a strict order of preference. The problem is to compute a matching in G that captures the preferences of the vertices in a popular way. Matching M is more popular than matching M if the number of vertices that prefer M to M is more than those that prefer M to M . The unpopularity factor of M measures by what factor any matching can be more popular than M . We show that G always admits a matching whose unpopularity factor is O(log |V |) and such a matching can be computed in linear time. In our problem the optimal matching would be a least unpopularity factor matching -we show that computing such a matching is NP-hard. In fact, for any > 0, it is NP-hard to compute a matching whose unpopularity factor is at most 4/3 − of the optimal.
It was shown in REF that every roommates instance G = (V, E) admits a matching with unpopularity factor O(log |V |) and that it is NP-hard to compute a least unpopularity factor matching.