Dynamic MIS Revisited:
Incremental, Fault Tolerant and Fully Dynamic
Abstract
Given a dynamic graph , we aim to maintain a maximal independent set (MIS). This problem admits a deterministic solution in time [SOSA21], while randomized algorithms for oblivious adversary take [FOCS19] time. Recently, Bernstein et al. [SODA26] proved a conditional lower bound of amortized update time even for incremental MIS with adaptive adversary. In this paper, we establish similar deterministic bounds through the lens of incremental and fault tolerant algorithms for MIS, and show the following:
-
1.
Incremental: MIS can be maintained under edge insertions in amortized update time.
-
2.
Fault Tolerant: Using preprocessing time, the MIS can be reported after edge deletions in time, where is the number of vertices on which deleted edges are incident.
-
3.
Fully Dynamic: MIS can be maintained under fully dynamic edge updates (insertions and deletions) in amortized update time.
Our incremental result is thus polynomially optimal even on allowing randomization with an adaptive adversary. Our fully dynamic result matches the state-of-the-art [SOSA21], and uses our incremental and fault tolerant algorithms as a black box. Although our fully dynamic algorithm does not improve the existing bounds, it provides additional insights into the harder edge-insertion case. We believe these insights may potentially be useful for improving the bounds for fully dynamic MIS in the future to match the incremental MIS bounds.
Keywords and phrases:
Maximal Independent Set, MIS, Incremental, Fault Tolerant, Fully dynamicCopyright and License:
2012 ACM Subject Classification:
Theory of computation Dynamic graph algorithmsAcknowledgements:
We would like to thank the anonymous reviewers for pointing out the matching lower bound [SODA26] for incremental MIS with adaptive adversaries, strengthening our result.Editor:
Pierre FraigniaudSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
Given a graph with vertices and edges, a set forms an independent set if no two vertices in share an edge, i.e., . A maximal independent set is one that cannot be extended by including any other vertex while preserving independence. Although computing a maximum cardinality independent set is NP-hard [8], a simple greedy algorithm computes a maximal independent set (MIS) in time.
A graph is incremental if it gains edges over time, decremental if it loses edges, and fully dynamic if both insertions and deletions occur. In dynamic settings, one can trivially maintain a maximal independent set (MIS) in update time by recomputing it from scratch after each update. Recent work has focused on improving this update time. Censor-Hillel et al. [5] presented the first non-trivial algorithm requiring amortized update time, where is the maximum degree of a vertex in the graph. Assadi, Onak, Schieber, and Solomon [1] improved it to an time algorithm to maintain an MIS. Du and Zhang [7] improved this update time to 222 hides polylogarithmic factors in amortized, and independently Gupta and Khan [10] acheived , all using deterministic algorithms. Du and Zhang [7] also proposed a randomized algorithm with update time, which was later improved to and by Assadi et al. [2]. Finally, Chechik and Zhang [6] and Behnezhad et al. [3] independently achieved an update time using randomized methods. All known algorithms with update time are randomized assuming an oblivious adversary. Recently, Bernstein et al. [4] showed that even for randomized algorithms with an adaptive adversary, assuming the combinatorial BMM conjecture, there exists a lower bound of amortized update time for incremental MIS, which naturally extend to deterministic and fully dynamic variants.
In this paper, we focus on deterministic algorithms for dynamically maintaining MIS. Despite not improving the state-of-the-art fully dynamic algorithm, our aim is to present further insights into the problem by using an alternate approach, potentially paving a way for improving the theoretical bounds in the future. Our results are as follows:
As a first step, we present a deterministic algorithm for maintaining an MIS in an incremental graph, where only edge insertions occur. Our algorithm achieves an amortized update time, improving over the current state-of-the-art [10].
Theorem 1 (Incremental MIS).
Given a graph with vertices, its MIS can be maintained under the insertion of edges in amortized update time.
Remark 2.
We also show that the upper bound of the incremental algorithm is tight in Appendix A. In the light of recent hardness result [4], our algorithm is polynomially optimal.
Next, we design a fault-tolerant algorithm for maintaining an MIS. In this setting, the graph remains static, and we preprocess it to construct a data structure that can efficiently answer the following query:
FaultTolerant(): Compute an MIS of , where is a set of edge failures.
We present a deterministic fault-tolerant algorithm with the following guarantee:
Theorem 3 (Fault Tolerant MIS).
Given a graph with vertices, it can be preprocessed in time such that for any set of edges, the MIS of can be reported in time, where is the number of vertices incident to edges in .
Remark 4.
Since , a simpler bound for the algorithm may be . However, we report the bound using because can be , but the time is bounded by not . We further restrict it to so that it can be directly used in our result as a black box, simplifying its analysis.
Finally, we combine the incremental and fault-tolerant algorithms to get the following:
Theorem 5 (Fully Dynamic MIS).
Given a graph with vertices, its MIS can be maintained under fully dynamic edge updates in amortized update time, where is the current number of edges in .
Although our algorithm does not improve the state-of-the-art theoretical bound, the new approach may present new insights to potentially improve the state-of-the-art in the future.
2 Preliminaries
Given a graph having vertices and edges, which is connected . We represent the graph formed by deleting a set of edges from as . Also, we represent a subgraph of induced by the vertices in as which refers to where . We represent the degree of a vertex by , i.e., the number of neighbours of a vertex in . We also represent the maximum degree of a vertex in as . A set is independent if no two vertices in share an edge, i.e., . A maximal independent set is an independent set that cannot be extended by including any other vertex while preserving independence.
Fully dynamic algorithm with amortized update time
We now review the basic [5] algorithm for maintaining a maximal independent set . Some of its procedures and results would be used as a black box in our algorithm.
The algorithm maintains a for each vertex , which contains the number of neighbours of in . Assuming we start with the empty graph, we set for every and all the vertices are in . The algorithm maintains the following invariant
| (1) |
On insertion of an edge , Insert (see Algorithm 1) checks if at least one of or is not in , in which case it simply updates its if required. Else, if both are in , it removes one (say ) from , reducing the of the neighbours of . In case the count of any neighbour becomes , it is added to , and the of the neighbours of is increased. On deletion of an edge , Delete simply updates the of or if required. In case the becomes , the corresponding vertex is added to , increasing the of its neighbours.
By construction, whenever an edge is inserted or deleted, or a vertex enters or leaves its count is updated, and it is added to the according to Invariant 1. Thus, the correctness of the algorithm follows from the invariant.
We now analyze the running time of the algorithm. The analysis hinges on the fact that both in Insert and Delete, at most one vertex is removed from while multiple vertices can be potentially added to .
Let if , else 0 after the -th update step of the algorithm. We define . After initialization, for each as in an empty graph, all the vertices are in . Thus, . Now, if Delete is called at the -th update step. In the first step of this procedure, is removed from the graph. If (or ), this decreases the potential of (or ) by 1. In any case, the amortized cost of the first step is . Let us look at the main part of the algorithm when is added to . In this case, informs all its neighbors about its inclusion in , incurring a cost of . But its potential also decreases from to . Thus, the amortized cost of processing is . This implies that the amortized running time of Delete is .
Now, if Insert is called at the -th update step when an edge is added to . Addition of in the graph, may increase the potential of (or ) if (or if ) by . Thus, the amortized running time of the last step of Insert is . The main part of the algorithm is when is removed from and many of its neighbours enter . Let be a neighbor of that enters . As discussed in the procedure Delete, the amortized cost of this operation is . Now, when is removed from , the potential of increases to . Also, incurs work to update the count of its neighbours. Thus, the amortized time to process is . Thus, the amortized time of Insert is if is removed from and is otherwise, proving the following result.
Lemma 6.
For a given graph , having edges and vertices, the amortized update time of an algorithm is if vertex leaves the MIS , and otherwise.
Since in both Insert and Delete, at most one vertex (say ) leaves the MIS in each update, the amortized update time is bounded by . This proves the amortized update time of the algorithm.
3 Incremental MIS
We now consider the problem of maintaining an MIS in an incremental graph. We refer to a vertex as light if and heavy otherwise, where shall be computed later. Since the graph is incremental, all vertices start as light, and once a vertex becomes heavy, it remains heavy. Note that this distinction is required only for the analysis and not the algorithm. Similar to the algorithm, each vertex maintains the count of its neighbours in the as .
Now, our algorithm matches the insert procedure Insert exactly except for one crucial modification (see Algorithm 2). On insertion of an edge , if both the vertices are in , instead of arbitrarily removing a vertex from , we perform a degree biased removal, i.e., we remove the vertex having lower degree . Since the remaining procedure exactly matches Insert, it correctness also follows from the correctness of algorithm.
We now analyze the running time of our algorithm. Lemma 6 shows that the amortized update time of an update is if a vertex leaves . Moreover, in each update, at most one vertex can leave . Let the edge update inserts the edge , such that leave (if any). We analyze the total time taken by a vertex over two phases: when it is light () and when it becomes heavy (). If is light, then we remove it from in amortized time, since . If is heavy, then must also be heavy since was removed from only because . Let the number of times a heavy vertex leaves be . Since a heavy can leave only when is heavy, as there are heavy vertices in the final graph. Therefore, can be removed from at most times due to its heavy neighbors.
Combining both phases, we now compute the total amortized update time for insertions.
| = | + | |||
|---|---|---|---|---|
| + | ||||
| + |
Hence, the total amortized update time of our incremental algorithm is , giving amortized update time, resulting in the following lemma:
Lemma 7.
Maintaining the MIS in the incremental setting requires amortized update time, where is the maximum degree of a light vertex, and is the number of times a heavy vertex leaves .
Since , substituting gives us the following result.
Theorem 1 (Incremental MIS). [Restated, see original statement.]
Given a graph with vertices, its MIS can be maintained under the insertion of edges in amortized update time.
Remark 8.
We show that the upper bounds for the algorithm and our incremental algorithm are tight in Appendix A.
4 Fault Tolerant MIS
We now describe our fault tolerant algorithm. It follows from the simple delete procedure Delete of the algorithm with a careful analysis. Given that static graph , we preprocess it to build a data structure to answer the following query.
FaultTolerant(): Compute an MIS of , where is a set of edge failures.
Our fault tolerant algorithm preprocesses the graph to compute the maximal independent set of and for every . These can be computed in time using the static algorithm. The pseudocode for the query algorithm is shown in Algorithm 3.
Let the end vertices of the edges in be . The deletion of edges in can potentially reduce the for a vertex if the other end vertex is in . In case this count becomes zero, the vertex may be potentially added to . Let the set of such vertices be . Since the vertices in may not be independent, we cannot simply add all the vertices in to . Instead, we add the MIS ’ of the subgraph to . However, since we are dealing with the fault tolerant model, we do not modify the and directly. We instead make a copy of , which is modified, so that the changes need not be reversed after the query. Thus, our data structure can be directly used for the next query .
Let be the number of vertices on which the edges in are incident, hence . Now, can be computed in time, can be initialized in time and updated in time while processing each edge in . Thereafter, can be computed in time where hence . The MIS on can computed in time. We thus get the following result for fault tolerant MIS.
Theorem 3 (Fault Tolerant MIS). [Restated, see original statement.]
Given a graph with vertices, it can be preprocessed in time such that for any set of edges, the MIS of can be reported in time, where is the number of vertices incident to edges in .
5 Fully dynamic MIS without rebuilding
We now describe our fully dynamic algorithm for MIS requiring time which matches the state-of-the-art algorithm [10]. While the previous algorithm was based on algorithm [1] and the static algorithm, our algorithm is based on the incremental and fault tolerant algorithms described earlier.
At its core, our algorithm classifies a vertex as light if , and heavy otherwise (similar to [10]). All insertions are performed using the incremental algorithm, while the deletions are performed based on the incident vertices. In case at least one of the incident vertices is light, we use the delete procedure Delete from the basic algorithm. However, if both incident vertices are heavy, we collect the deleted edges in and use our fault tolerant algorithm to report the solution after every update. This essentially handles the harder case of edge insertion between two heavy vertices, as handling their deletion limits such insertions similar to the incremental algorithm. If such an edge (deleted and stored in ) is inserted back into the graph, it is simply removed from , and the fault tolerant algorithm updates accordingly (see pseudocode in Algorithm 4).
The main intuition behind the time complexity is to limit the number of times a heavy vertex leaves the MIS in the incremental algorithm. This is bounded by the number of edges inserted between and a heavy vertex. In the fully dynamic setting, we avoid repeated insertions of such edges using the fault tolerant algorithm to process their deletions temporarily without affecting the main algorithm. Thus, given and (as an edge to each of heavy vertex can be inserted exactly once), the edge insertions can be processed in amortized time (Lemma 7). Now, the edges collected in are incident on both heavy vertices, resulting in and , allowing the fault tolerant algorithm to be processed in time (Theorem 3). Thus, the edge deletions can be processed in amortized time requiring amortized if at least one incident vertex is light (Lemma 6, as no vertex leaves ) and for the fault tolerant algorithm. This results in the following fully dynamic algorithm.
Theorem 5 (Fully Dynamic MIS). [Restated, see original statement.]
Given a graph with vertices, its MIS can be maintained under fully dynamic edge updates in amortized update time, where is the current number of edges in .
Remark 9.
The algorithm distinguishes the vertices as heavy or light based on a degree threshold . However, the value of keeps changing in a fully dynamic graph. We thus initialize the threshold , where is the initial number of edges. We keep the same threshold while . In case passes this range, we rebuild the MIS with and . The total cost of the algorithm can be amortized among the updates after which exceeded the bounds, requiring amortized time.
Remark 10.
The fully dynamic setting can also potentially change the status of a vertex between light and heavy. In case a vertex converts from light to heavy, no update is required as newly deleted edges on will be added to . However, in case a vertex converts from heavy to light, all its edges in need to be deleted from the graph , requiring potentially amortized time per deletion. We thus relax the criteria, converting a light vertex to heavy if but converting it to light when . This allows to charge for the deletion of its edges to heavy vertices during the updates when resulting in amortized time per update.
Remark 11.
Though our proposed algorithm divides the vertices into light and heavy, similar to the state-of-the-art algorithm [10], its handling of heavy updates avoids rebuilding the MIS for heavy vertices using a simpler fault tolerant algorithm. Thus, our algorithm is expected to perform better in practice for edge updates between heavy vertices.
6 Conclusion
The dynamic MIS problem is one of the unique problems in which handling edge insertions is apparently harder than edge deletions. For most classical graph problems, such as connectivity, reachability, shortest paths, etc., handling edge deletions is harder than edge insertions. Hence, given a faster algorithm for incremental MIS requiring amortized update time, we are hopeful to achieve the same bound for the fully dynamic case. Further, given the lower bound of for incremental MIS, a polynomial improvement is not possible even for a randomized algorithm with an adaptive adversary.
In this paper, we highlighted an alternate way to handle insertions faster. We also presented a fully dynamic algorithm utilizing insights from the incremental and fault tolerant algorithm, although without improving the state-of-the-art. We believe that new insights may be drawn from our work, potentially resulting in a faster fully dynamic algorithm.
References
- [1] Sepehr Assadi, Krzysztof Onak, Baruch Schieber, and Shay Solomon. Fully dynamic maximal independent set with sublinear update time. In Proceedings of the 50th Annual ACM SIGACT Symposium on Theory of Computing, STOC 2018, Los Angeles, CA, USA, June 25-29, 2018, pages 815–826, 2018. doi:10.1145/3188745.3188922.
- [2] Sepehr Assadi, Krzysztof Onak, Baruch Schieber, and Shay Solomon. Fully dynamic maximal independent set with sublinear in n update time. In Timothy M. Chan, editor, Proceedings of the Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2019, San Diego, California, USA, January 6-9, 2019, pages 1919–1936. SIAM, 2019. doi:10.1137/1.9781611975482.116.
- [3] Soheil Behnezhad, Mahsa Derakhshan, MohammadTaghi Hajiaghayi, Cliff Stein, and Madhu Sudan. Fully dynamic maximal independent set with polylogarithmic update time. In David Zuckerman, editor, 60th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2019, Baltimore, Maryland, USA, November 9-12, 2019, pages 382–405. IEEE Computer Society, 2019. doi:10.1109/FOCS.2019.00032.
- [4] Aaron Bernstein, Sayan Bhattacharya, Nick Fischer, Peter Kiss, and Thatchaphol Saranurak. Separations between oblivious and adaptive adversaries for natural dynamic graph problems. In Kasper Green Larsen and Barna Saha, editors, Proceedings of the 2026 Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2026, Vancouver, BC, Canada, January 11-14, 2026, pages 5669–5687. SIAM, 2026.
- [5] Keren Censor-Hillel, Elad Haramaty, and Zohar Karnin. Optimal dynamic distributed mis. In Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing, PODC ’16, pages 217–226, 2016. doi:10.1145/2933057.2933083.
- [6] Shiri Chechik and Tianyi Zhang. Fully dynamic maximal independent set in expected poly-log update time. In David Zuckerman, editor, 60th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2019, Baltimore, Maryland, USA, November 9-12, 2019, pages 370–381. IEEE Computer Society, 2019. doi:10.1109/FOCS.2019.00031.
- [7] Yuhao Du and Hengjie Zhang. Improved algorithms for fully dynamic maximal independent set. arXiv preprint arXiv:1804.08908, 2018. arXiv:1804.08908.
- [8] Michael R. Garey and David S. Johnson. Computers and Intractability; A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York, NY, USA, 1990.
- [9] Manoj Gupta and Shahbaz Khan. Simple dynamic algorithms for maximal independent set and other problems. CoRR, abs/1804.01823, 2018. arXiv:1804.01823.
- [10] Manoj Gupta and Shahbaz Khan. Simple dynamic algorithms for maximal independent set, maximum flow and maximum matching. In Hung Viet Le and Valerie King, editors, 4th Symposium on Simplicity in Algorithms, SOSA 2021, Virtual Conference, January 11-12, 2021, pages 86–91. SIAM, 2021. doi:10.1137/1.9781611976496.10.
Appendix A Tightness of the Incremental Algorithm
We now present worst-case examples demonstrating the tightness of the analysis of algorithm and our incremental MIS algorithm. These essentially highlight the difference between arbitrary removal and degree biased removal of an end vertex on insertion of an edge between two vertices of the MIS.
A.1 Arbitrary removal
We start with an empty graph where all the vertices are in MIS. Let the vertices be divided into two sets and (refer to Figure 1), where has vertices and has the remaining vertices.
We shall divide the insertion of edges into phases, where in the phase we add an edge from each vertex of to . And we always chose the vertex of to be removed from MIS . At the end of the phase, all vertices of are out of and are connected to . The phase ends with the addition of an edge between and , which removes from and hence all vertices of are moved back to . Since each vertex is allowed only neighbours, and each phase adds a neighbour to each vertex in , we stop after phases.
Hence, after phases, we have added all the edges between and the first vertices in , and among the first adjacent vertices of . Overall we add edges, which equals to edges.
Using Lemma 6, the total edges processed during the phase is the sum of the degrees of vertices that were removed from , i.e., all the vertices in and . Now, in the phase the degree of each vertex in is , being connected to and the degree of is . Hence, the total work in phase is . Thus, the total work done over all phases is
Thus, we have the following bound for algorithm in incremental (and hence fully dynamic) setting.
Theorem 12.
For each value of and , there exists a sequence of edge insertions where the degree of each vertex is bounded by for which algorithm requires total time to maintain the MIS.
A.2 Degree biased removal
In this example, we consider our incremental MIS algorithm, which chooses the end vertex with the lower degree to be removed from when an edge is inserted between two vertices in . We essentially modify the previous example to make sure the vertices of necessarily fall when connected to the vertices in .
Let the vertices to be divided into two sets and as before, and an additional set of residual vertices to ensure that degrees of vertices in are sufficiently high (refer to Figure 2), where . We connect each vertex with some vertices in . Additionally, we have a vertex , connected to all the vertices in . We initialize the MIS with all vertices of , , and in .
Again, we divide the insertion of edges into phases, where in the phase we add an edge from each vertex of to . Since the maximum degree of a vertex in is , and the degree of each is , we always have the vertex of to be removed from MIS . At the end of the phase, all vertices of are out of and are connected to . The phase ends with the addition of , which removes from and hence all vertices of are moved back to .
Hence, after phases, we have added all the edges between and , between each vertex of and . The initial graph already had each vertex of connected to some neighbours in and connected to all neighbours of . Overall we add edges, which equals to edges.
Again, using Lemma 6, the total edges processed during the phase is the sum of the degrees of vertices that were removed from , i.e., all the vertices in and . Now, in the phase the degree of each vertex in is , being connected to and the degree of is . Hence, the total work done in phase is . Thus, the total work done over all phases is
Thus, we have the following bound for our incremental MIS algorithm.
Theorem 13.
For each value of , there exists a sequence of edge insertions for which our incremental algorithm requires total time to maintain the MIS.
Remark.
This example is similar to the previous example with the exception that in this case, the degree of vertices in should remain higher than the degree of a vertex in , i.e., at the end of all the phases. Hence, else the total edges in would be . Thus, the number of neighbours of in cannot be increased despite choosing any large value of . As evident from the previous example in the absence of such a restriction, the amortized time can be raised to , implying the significance of the degree biased removal in the incremental algorithm.
