Overview
The independent set problem is a fundamental graph problem with a wide range of applications. Given a graph \(G = (V, E)\), a set of vertices \(M \subset V\) is independent if no two vertices in \(M\) are adjacent in \(G\). A maximal independent set (MIS) is an independent set that is not a proper subset of any other independent set. A maximum independent set (Max-IS) is a maximum cardinality independent set. While Max-IS is one of Karp’s 21 classic NP-complete problems, computing a MIS can easily be done by a simple greedy algorithm in \(O(|E|)\) time. The MIS problem has been studied in the context of several other prominent problems, e.g., graph coloring, maximum matching, and vertex cover. On the other hand, Max-IS serves as a natural model for many real-life optimization problems, including map labeling, computer vision, information retrieval, and scheduling.
This is the open source project DynaMIS—a dynamic maximum independent solver developed at the Institute of Logic and Computation, TU Wien, Vienna, Austria. So far our framework contains a deterministic algorithm for maintaining a MIS (and thus a \(4\)-approximate Max-IS) of a dynamic set of uniform rectangles with amortized sub-logarithmic update time. This breaks the natural barrier of \(\Omega(\Delta)\) update time, where \(\Delta\) is the maximum degree in the graph. We also provide a series of deterministic dynamic approximation schemes for maintaining a Max-IS. The algorithm GRID maintains a \(4\)-approximate Max-IS with \(O(1)\) update time. Its derived algorithm GRID-K establishes the trade-off between approximation quality \(2(1+\frac{1}{k})\) and update time \(O(k^2\log n)\). Our framework also includes an algorithm that maintains unit interval graphs. With this algorithm, a \(2\)-approximate Max-IS for dynamic sets of unit-height rectangles with \(O(\omega \log n)\) update time can be maintained, where \(\omega\) is the maximum size of an independent set of the rectangles stabbed by any horizontal line.
Licence
This project is under MIT licence.
Reference
If you want to know more about our implemented algorithms, please refer to our papers:
Algorithmic Study of Fully Dynamic Independent Sets for Map Labeling
Sujoy Bhore, Guangping Li, Martin Nöllenburg
Algorithms (ESA’20) (Fabrizio Grandoni, Peter Sanders, eds.), volume 173 of LIPIcs, pages 19:1–19:24, 2020, Schloss Dagstuhl – Leibniz-Zentrum für Informatik.
[bibtex] [pdf] [doi]
Algorithmic Study of Fully Dynamic Independent Sets for Map Labeling
Sujoy Bhore, Guangping Li, Martin Nöllenburg
ACM J. Experimental Algorithmics, volume 27, pages 1.8:1–1.8:36, 2022.
[bibtex] [doi]
Please acknowledge our work if you publish your result using our algorithms or code.
Download
Source code and benchmark instances (available in this github repository)
Benchmark data generator for point features (available in this github repository)
Support
Please write us an Email if you have questions.
We are glad to get any comments and error reports.
A random instance generator is available upon request.
Acknowledgments
DynaMIS is part of the project “Human-Centered Algorithm Engineering: Graph and Map Visualization” supported by the Austrian Science Fund (FWF) under Grant P31119.