Maximal Independent Set
#
Problem Specification#
Input, an undirected graph.
#
Output, a set of vertices such that no two vertices in are neighbors and all vertices in have a neighbor in .
#
Algorithm ImplementationsThe maximal independent set problem is to compute a subset of vertices such that no two vertices in are neighbors, and all vertices in have a neighbor in . Maximal independent set (MIS) and maximal matching (MM) are easily solved in linear work sequentially using greedy algorithms.
In GBBS, we implement the rootset-based algorithm for MIS from Blelloch et al.[1] which runs in work and depth w.h.p. (using the improved depth analysis of Fischer and Noever [2]). More details about our algorithm implementation can be found in [3].
The code for our implemenation is available here.
#
Cost BoundsThe algorithm runs in work and depth w.h.p.
#
Compiling and RunningThe benchmark can be compiled by running:
It can then be run on a test input graph in the uncompressed format as follows:
It can then be run on a test input graph in the compressed format as follows:
#
References[1] Guy Blelloch, Jeremy Fineman, and Julian Shun
Greedy Sequential Maximal Independent Set and Matching are Parallel on Average
Proceedings of the ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 308-317, 2012.
[2] Manuella Fischer and Andreas Noever
Tight Analysis of Parallel Randomized Greedy MIS
Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (SODA), pp.2152-2160, 2018
[3] Laxman Dhulipala, Guy Blelloch, and Julian Shun
Theoretically Efficient Parallel Graph Algorithms Can Be Fast and Scalable
Proceedings of the ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 393-404, 2018.