Abstract. An instance of a strongly stable matching problem (SSMP) is an undirected bipartite graphG=(A∪B,E), with an adjacency list of each vertex being a linearly ordered list of ties, which are subsets of vertices equally good for a given vertex. Ties are disjoint and may contain one vertex. A matching M is a set of vertex-disjoint edges. An edge (x,y) ∈ E∖M is a blocking edge for M if x is either unmatched or strictly prefers y to its current partner in M, and y is either unmatched or strictly prefers x to its current partner in M or is indifferent between them. A matching is strongly stable if there is no blocking edge with respect to it. We present an algorithm for the generation of all strongly stable matchings, thus solving an open problem already stated in the book by Gusfield and Irving. It has previously been shown that strongly stable matchings form a distributive lattice and although the number of strongly stable matchings can be exponential in the number of vertices, we show that there exists a partial order with O(m) elements representing all strongly stable matchings, where m denotes the number of edges in the graph. We give two algorithms that construct two such representations: one in O(n m^2) time and the other in O(n m) time, where n denotes the number of vertices in the graph. Note that the construction of the second representation has the same time complexity as that of computing a single strongly stable matching.

The talk is based on our recent SODA 2016 paper, Characterisation of Strongly Stable Matchings by Pratik Ghosal, Adam Kunysz and Katarzyna Paluch.