Access provided by Autonomous University of Puebla. Download reference work entry PDF
Keywords and Synonyms
Fully dynamic edge connectivity; Fully dynamic vertex connectivity
Problem Definition
The problem is concerned with efficiently maintaining information about edge and vertex connectivity in a dynamically changing graph. Before defining formally the problems, a few preliminary definitions follow.
Given an undirected graph \( { G=(V,E) } \), and an integer \( { k\geq 2 } \), a pair of vertices \( { \langle u,v\rangle } \) is said to be k‑edge‐connected if the removal of any \( { (k-1) } \) edges in G leaves u and v connected. It is not difficult to see that this is an equivalence relationship: the vertices of a graph G are partitioned by this relationship into equivalence classes called k‑edge‐connected components. G is said to be k‑edge‐connected if the removal of any \( { (k-1) } \) edges leaves G connected. As a result of these definitions, G is k‑edge‐connected if and only if any two vertices of G are k‑edge‐connected. An edge set \( { E^{\prime}\subseteq E } \) is an edge-cut for vertices x and y if the removal of all the edges in \( { E^{\prime} } \) disconnects G into two graphs, one containing x and the other containing y. An edge set \( { E^{\prime}\subseteq E } \) is an edge-cut for G if the removal of all the edges in \( { E^{\prime} } \) disconnects G into two graphs. An edge-cut \( { E^{\prime} } \) for G (for x and y, respectively) is minimal if removing any edge from \( { E^{\prime} } \) reconnects G (for x and y, respectively). The cardinality of an edge-cut \( { E^{\prime} } \), denoted by \( { |E^{\prime}| } \), is given by the number of edges in \( { E^{\prime} } \). An edge-cut \( { E^{\prime} } \) for G (for x and y, respectively) is said to be a minimum cardinality edge-cut or in short a connectivity edge-cut if there is no other edge-cut \( { E^{\prime\prime} } \) for G (for x and y respectively) such that \( { |E^{\prime\prime}|<|E^{\prime}| } \). Connectivity edge-cuts are of course minimal edge-cuts. Note that G is k‑edge‐connected if and only if a connectivity edge-cut for G contains at least k edges, and vertices x and y are k‑edge‐connected if and only if a connectivity edge-cut for x and y contains at least k edges. A connectivity edge-cut of cardinality 1 is called a bridge.
The following theorem due to Ford and Fulkerson, and Elias, Feinstein and Shannon (see [7]) gives another characterization of k‑edge connectivity.
Theorem 1 (Ford and Fulkerson, Elias, Feinstein and Shannon)
Given a graph G and two vertices x and y in G, x and y are k‑edge‐connected if and only if there are at least k edge-disjoint paths between x and y.
In a similar fashion, a vertex set \( { V^{\prime}\subseteq V-\{x,y\} } \) is said to be a vertex-cut for vertices x and y if the removal of all the vertices in \( { V^{\prime} } \) disconnects x and y. \( { V^{\prime}\subset V } \) is a vertex-cut for vertices G if the removal of all the vertices in \( { V^{\prime} } \) disconnects G.
The cardinality of a vertex-cut \( { V^{\prime} } \), denoted by \( { |V^{\prime}| } \), is given by the number of vertices in \( { V^{\prime} } \). A vertex-cut \( { V^{\prime} } \) for x and y is said to be a minimum cardinality vertex-cut or in short a connectivity vertex-cut if there is no other vertex-cut \( { V^{\prime\prime} } \) for x and y such that \( { |V^{\prime\prime}|<|V^{\prime}| } \). Then x and y are k‑vertex‐connected if and only if a connectivity vertex-cut for x and y contains at least k vertices. A graph G is said to be k‑vertex‐connected if all its pairs of vertices are k‑vertex‐connected. A connectivity vertex-cut of cardinality 1 is called an articulation point, while a connectivity vertex-cut of cardinality 2 is called a separation pair. Note that for vertex connectivity it is no longer true that the removal of a connectivity vertex-cut splits G into two sets of vertices.
The following theorem due to Menger (see [7]) gives another characterization of k‑vertex connectivity.
Theorem (Menger) 2
Given a graph G and two vertices x and y in G, x and y are k‑vertex‐connected if and only if there are at least k vertex‐disjoint paths between x and y.
A dynamic graph algorithm maintains a given property \( { {\cal P} } \) on a graph subject to dynamic changes, such as edge insertions, edge deletions and edge weight updates. A dynamic graph algorithm should process queries on property \( { {\cal P} } \) quickly, and perform update operations faster than recomputing from scratch, as carried out by the fastest static algorithm. An algorithm is fully dynamic if it can handle both edge insertions and edge deletions. A partially dynamic algorithm can handle either edge insertions or edge deletions, but not both: it is incremental if it supports insertions only, and decremental if it supports deletions only.
In the fully dynamic k‑edge connectivity problem one wishes to maintain an undirected graph \( { G = (V, E) } \) under an intermixed sequence of the following operations:
-
k‑EdgeConnected(u, v): Return true if vertices u and v are in the same k‑edge‐connected component. Return false otherwise.
-
Insert(x, y): Insert a new edge between the two vertices x and y.
-
Delete(x, y): Delete the edge between the two vertices x and y.
In the fully dynamic k‑vertex connectivity problem one wishes to maintain an undirected graph \( { G = (V, E) } \) under an intermixed sequence of the following operations:
-
k‑VertexConnected(u, v): Return true if vertices u and v are k‑vertex‐connected. Return false otherwise.
-
Insert(x, y): Insert a new edge between the two vertices x and y.
-
Delete(x, y): Delete the edge between the two vertices x and y.
Key Results
To the best knowledge of the author, the most efficient fully dynamic algorithms for k‑edge and k‑vertex connectivity were proposed in [3,12]. Their running times are characterized by the following theorems.
Theorem 3
The fully dynamic k‑edge connectivity problem can be solved in:
-
1.
\( { O(\log ^{4} n) } \) time per update and \( { O(\log^3 n) } \) time per query, for \( { k=2 } \)
-
2.
\( { O(n^{2/3}) } \) time per update and query, for \( { k=3 } \)
-
3.
\( { O(n\alpha (n)) } \) time per update and query, for \( { k=4 } \)
-
4.
\( { O(n\log n) } \) time per update and query, for \( { k\geq 5\:. } \)
Theorem 4
The fully dynamic k‑vertex connectivity problem can be solved in:
-
1.
\( { O(\log ^{4} n) } \) time per update and \( { O(\log^3 n) } \) time per query, for \( { k=2 } \)
-
2.
O(n) time per update and query, for \( { k=3 } \)
-
3.
\( { O(n\alpha (n)) } \) time per update and query, for \( { k=4\:. } \)
Applications
Vertex and edge connectivity problems arise often in issues related to network reliability and survivability. In computer networks, the vertex connectivity of the underlying graph is related to the smallest number of nodes that might fail before disconnecting the whole network. Similarly, the edge connectivity is related to the smallest number of links that might fail before disconnecting the entire network. Analogously, if two nodes are k‑vertex‐connected then they can remain connected even after the failure of up to \( { (k-1) } \) other nodes, and if they are k‑edge‐connected then they can survive the failure of up to \( { (k-1) } \) links. It is important to investigate the dynamic versions of those problems in contexts where the networks are dynamically evolving, say, when links may go up and down because of failures and repairs.
Open Problems
The work of Eppstein et al. [3] and Holm et al. [12] raises some intriguing questions. First, while efficient dynamic algorithms for k‑edge connectivity are known for general k, no efficient fully dynamic k‑vertex connectivity is known for \( { k\geq 5 } \). To the best of the author's knowledge, in this case even no static algorithm is known. Second, fully dynamic 2-edge and 2‑vertex connectivity can be solved in polylogarithmic time per update, while the best known update bounds for higher edge and vertex connectivity are polynomial: Can this gap be reduced, i. e., can one design polylogarithnmic algorithms for fully dynamic 3-edge and 3‑vertex connectivity?
Recommended Reading
Dinitz, E.A.: Maintaining the 4-edge‐connected components of a graph on-line. In: Proc. 2nd Israel Symp. Theory of Computing and Systems, 1993, pp. 88–99
Dinitz, E.A., Karzanov A.V., Lomonosov M.V.: On the structure of the system of minimal edge cuts in a graph. In: Fridman, A.A. (ed) Studies in Discrete Optimization, pp. 290–306. Nauka, Moscow (1990). In Russian
Eppstein, D., Galil Z., Italiano G.F., Nissenzweig A.: Sparsification – a technique for speeding up dynamic graph algorithms. J. Assoc. Comput. Mach. 44(5), 669–696 (1997)
Frederickson, G.N.: Ambivalent data structures for dynamic 2-edge‐connectivity and k smallest spanning trees. SIAM J. Comput. 26(2), 484–538 (1997)
Galil, Z., Italiano, G. F.: Fully dynamic algorithms for 2-edge‐connectivity. SIAM J. Comput. 21, 1047–1069 (1992)
Galil, Z., Italiano, G.F.: Maintaining the 3-edge‐connected components of a graph on-line. SIAM J. Comput. 22, 11–28 (1993)
Harary, F.: Graph Theory. Addison‐Wesley, Reading (1969)
Henzinger, M.R.: Fully dynamic biconnectivity in graphs. Algorithmica 13(6), 503–538 (1995)
Henzinger, M.R.: Improved data structures for fully dynamic biconnectivity. SIAM J. Comput. 29(6), 1761–1815 (2000)
Henzinger, M., King V.: Fully dynamic biconnectivity and transitive closure. In: Proc. 36th IEEE Symposium on Foundations of Computer Science (FOCS'95), 1995, pp. 664–672
Henzinger, M.R., King, V.: Randomized fully dynamic graph algorithms with polylogarithmic time per operation. J. ACM 46(4), 502–516 (1999)
Holm, J., de Lichtenberg, K., Thorup, M.: Poly‐logarithmic deterministic fully-dynamic algorithms for connectivity, minimum spanning tree, 2-edge, and biconnectivity. J. ACM 48, 723–760 (2001)
Karzanov, A.V., Timofeev, E. A.: Efficient algorithm for finding all minimal edge cuts of a nonoriented graph. Cybernetics 22, 156–162 (1986)
La Poutré, J.A.: Maintenance of triconnected components of graphs. In: Proc. 19th Int. Colloquium on Automata, Languages and Programming. Lecture Notes in Computer Science, vol. 623, pp. 354–365. Springer, Berlin (1992)
La Poutré, J.A.: Maintenance of 2- and 3-edge‐connected components of graphs II. SIAM J. Comput. 29(5), 1521–1549 (2000)
La Poutré, J.A., van Leeuwen, J., Overmars, M.H.: Maintenance of 2- and 3‑connected components of graphs, part I: 2- and 3-edge‐connected components. Discret. Math. 114, 329–359 (1993)
La Poutré, J.A., Westbrook, J.: Dynamic two‐connectivity with backtracking. In: Proc. 5th ACM-SIAM Symp. Discrete Algorithms, 1994, pp. 204–212
Westbrook, J., Tarjan, R.E.: Maintaining bridge‐connected and biconnected components on-line. Algorithmica 7, 433–464 (1992)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag
About this entry
Cite this entry
Italiano, G. (2008). Fully Dynamic Higher Connectivity. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-30162-4_154
Download citation
DOI: https://doi.org/10.1007/978-0-387-30162-4_154
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-30770-1
Online ISBN: 978-0-387-30162-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering