Dynamic Connectivity in Disk Graphs

Let \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$S \subseteq \mathbb {R}^2$$\end{document}S⊆R2 be a set of n sites in the plane, so that every site \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$s \in S$$\end{document}s∈S has an associated radius \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$r_s > 0$$\end{document}rs>0. Let \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {D}(S)$$\end{document}D(S) be the disk intersection graph defined by S, i.e., the graph with vertex set S and an edge between two distinct sites \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$s, t \in S$$\end{document}s,t∈S if and only if the disks with centers s, t and radii \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$r_s$$\end{document}rs, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$r_t$$\end{document}rt intersect. Our goal is to design data structures that maintain the connectivity structure of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {D}(S)$$\end{document}D(S) as sites are inserted and/or deleted in S. First, we consider unit disk graphs, i.e., we fix \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$r_s = 1$$\end{document}rs=1, for all sites \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$s \in S$$\end{document}s∈S. For this case, we describe a data structure that has \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(\log ^2 n)$$\end{document}O(log2n) amortized update time and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(\log n/\log \log n)$$\end{document}O(logn/loglogn) query time. Second, we look at disk graphs with bounded radius ratio \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Psi $$\end{document}Ψ, i.e., for all \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$s \in S$$\end{document}s∈S, we have \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$1 \le r_s \le \Psi $$\end{document}1≤rs≤Ψ, for a parameter \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Psi $$\end{document}Ψ that is known in advance. Here, we not only investigate the fully dynamic case, but also the incremental and the decremental scenario, where only insertions or only deletions of sites are allowed. In the fully dynamic case, we achieve amortized expected update time \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(\Psi \log ^{4} n)$$\end{document}O(Ψlog4n) and query time \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(\log n/\log \log n)$$\end{document}O(logn/loglogn). This improves the currently best update time by a factor of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Psi $$\end{document}Ψ. In the incremental case, we achieve logarithmic dependency on \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Psi $$\end{document}Ψ, with a data structure that has \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(\alpha (n))$$\end{document}O(α(n)) amortized query time and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(\log \Psi \log ^{4} n)$$\end{document}O(logΨlog4n) amortized expected update time, where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha (n)$$\end{document}α(n) denotes the inverse Ackermann function. For the decremental setting, we first develop an efficient decremental disk revealing data structure: given two sets R and B of disks in the plane, we can delete disks from B, and upon each deletion, we receive a list of all disks in R that no longer intersect the union of B. Using this data structure, we get decremental data structures with a query time of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(\log n/\log \log n)$$\end{document}O(logn/loglogn) that supports deletions in \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(n\log \Psi \log ^{4} n)$$\end{document}O(nlogΨlog4n) overall expected time for disk graphs with bounded radius ratio \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Psi $$\end{document}Ψ and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(n\log ^{5} n)$$\end{document}O(nlog5n) overall expected time for disk graphs with arbitrary radii, assuming that the deletion sequence is oblivious of the internal random choices of the data structures.


Introduction
Suppose we are given a simple, undirected graph G, and we would like to preprocess it so that we can determine efficiently if two vertices of G lie in the same connected component.
If G is fixed, we can simply perform a graph search in G (e.g., BFS or DFS) to label the vertices of each connected component with a unique identifier, allowing us to answer all queries in O(1) time with linear preprocessing time and space. When G changes over time, the problem becomes much harder. If the vertex set is fixed and edges can only be inserted, the problem reduces to disjoint set union. Then, there is a folklore optimal data structure.It achieves O(1) time for updates and O(α(n)) amortized time for queries, where α(n) is the inverse Ackermann function [5]. If the vertex set is fixed, but edges can be inserted and deleted, there is a data structure due to Holm et al. [8], with O(log n/ log log n) amortized query time and O(log 2 n) amortized update time. For planar graphs, Eppstein et al. [6] give a structure with O(log n) amortized time for queries and updates.
In this paper, we add a geometric twist and study the dynamic connectivity problem on different variants of disk intersection graphs. Let S ⊂ R 2 be a set of planar point sites, where each site s ∈ S has an associated radius r s > 0. The disk intersection graph (disk graph, for short) D(S) is the undirected graph with vertex set S that has an undirected edge between any two distinct sites s and t if and only if the Euclidean distance between s and t is at most r s + r t . Note that even though D(S) is fully described by the n sites and their associated radii, it might have Θ(n 2 ) edges. Thus, our goal is to find algorithms whose running time depends only on the number of sites and not on the number of edges. We consider three variants of disk graphs, characterized by the possible values for the radii. In the first variant, unit disk graphs, all radii are 1. In the second variant, bounded radius ratio, all radii must come from the interval [1, Ψ], where Ψ is a parameter known in advance that may depend on the number of sites n. In the third variant, general disk graphs, the radii can be arbitrary.
We assume that S is dynamic, i.e., sites can be inserted and deleted over time. At each update, the edges incident to the modified site appear or disappear in D(S). An update can change up to n − 1 edges in D(S), so simply storing D(S) in the data structure by Holm et al. could lead to potentially superlinear update times and might even be slower than recomputing the connectivity information from scratch.
For dynamic connectivity in general disk graphs, Chan et al. [4] give a data structure with amortized O(n 1/7+ε ) query time and O(n 20/21+ε ) update time. As far as we know, this is still the currently best fully dynamic connectivity structure for general disk graphs. However, Chan et al. present their data structure as a special case of a more general setting, so there is hope that the specific geometry of disk graphs may allow for better running times.
Indeed, several results show that for certain disk graphs, we can achieve polylogarithmic update and query times. For unit disk graphs, Chan et al. [4] observe that there is a data structure with O(log 6 n) update time and O(log n/ log log n) query time. 1 For bounded radius ratio, Kaplan et al. [9] show that there is a data structure with expected amortized update time O(Ψ 2 λ 6 (log n) log 7 n) and query time O(log n/ log log n). 2 Both results use the notion of a proxy graph, a sparse graph that models the connectivity of the original disk graph and that can be updated efficiently with suitable dynamic geometric data structures. The proxy graph can then be stored in the data structure by Holm et al., so the query procedure coincides with the one by Holm et al. The update operations involve a combination of updating the proxy graph with the help of the geometric data structures and of modifying the edges in the structure of Holm et al.
Our results. For unit disk graphs, we significantly improve over Chan et al. [4]: with a direct approach that uses a grid-based proxy graph and dynamic lower envelopes, we obtain O(log 2 n) amortized update and O(log n/ log log n) amortized query time (Theorem 3.2).
For bounded radius ratio, we give a data structure that improves the update time. Specifically, we achieve expected amortized update time O(Ψλ 6 (log n) log 7 n) and amortized query time O(log n/ log log n), where λ s (n) is the maximum length of a Davenport-Schinzel sequence of order s on n symbols [11]. Compared to the previous data structure of Kaplan et al., this improves the factor in the update time from Ψ 2 to Ψ.
We also provide partial results that push the dependency on Ψ from linear to logarithmic. For this, we consider the semi-dynamic setting, in which only insertions (incremental) or only deletions (decremental) are allowed. In the incremental setting, we use a dynamic additively weighted Voronoi diagram to obtain a data structure with O(α(n)) amortized query time and O(log Ψλ 6 (log n) log 7 n) expected amortized update time. Due to space reasons, this result is deferred to the full version. In the decremental setting, a main challenge is to identify those edges in D(S) that were incident to a freshly removed site and that change the connectivity in D(S). To address this, we first develop a data structure for a related dynamic geometric problem which might be of independent interest: suppose we have two sets R and B of disks in the plane, such that the disks in B can only be deleted, while the disks in R can be both inserted and deleted. We would like to maintain R and B in a data structure such that whenever we delete a disk b from B, we receive a list of all the disks in the current set R that intersect the disk b but no other disk from the remaining set B \ {b}. We say that these are the disks in R that are revealed by the deletion of b. We call this data structure a disk revealing structure (RDS). Due to space reasons, the details of the RDS are relegated to the full version. Its properties are summarized in the following theorem: Theorem 1.1. Let R and B be disjoint sets of disks in R 2 with |R|+|B| = n. We can preprocess R∪B into a structure that supports deletions from R∪B, while detecting all newly revealed disks of R after each deletion from b. Preprocessing needs O |B| log 5 nλ 6 (log n) + |R| log 3 n expected time and O(n log n) expected space. Deleting k disks from B and any number of disks from R needs O |R| log 4 n + k log 7 nλ 6 (log n) expected time, where λ s (n) is the maximum length of a Davenport-Schinzel sequence of order s.
The RDS plays a crucial part in developing decremental connectivity structures for disk graphs of bounded radius ratio and for general disk graphs. For both cases, we obtain data structures with O(log n/ log log n) amortized query time. The total expected time for processing k deletions is O((n log 5 n + k log 7 n)λ 6 (log n) + n log Ψ log 4 n) for bounded radius ratio (Theorem 5.6) and O((n log 6 n + k log 8 n)λ 6 (log n)) for the general case (full version).  Theorem 2.1 assumes that n is fixed, but we can easily support vertex insertions and deletions within the same amortized time bounds, with standard rebuilding. Thorup gave a variant of Theorem 2.1 that uses O(m) space, where m is the current number of edges [13].

45:4 Dynamic Connectivity in Disk Graphs
The hierarchical grid and quadtrees. Let G i be a grid with cell diameter 2 i and a corner at the origin. The hierarchical grid G is defined as G = ∞ i=0 G i . For any cell σ ∈ G, we denote by |σ| its diameter and by a(σ) its center. We say that grid G i has level i. We assume that we can find the coordinates of the cell of G containing a site on a given level in O(1) time. Furthermore, for a cell σ ∈ G i and odd k, we call the k × k subgrid of G i centered at σ the (k × k)-neighborhood of σ, and denote it by N k×k (σ); see Figure 1. Let C be a set of cells in G. The quadtree T for C is a rooted 4-nary tree whose nodes are cells from G. The root of C is the smallest cell ρ in G that contains all of C. If a cell σ with |σ| = 2 i , for i ≥ 1, properly contains at least one cell of C, then the four children of σ are the cells τ with |τ | = 2 i−1 and τ ⊆ σ. If a cell σ does not properly contain a cell of C, it does not have any children. Typically, we do not distinguish between a cell σ and its associated vertex. A quadtree T on a given set of n cells can be constructed in O(n log(|ρ|)) time, where ρ is the root of T .

Maximal bichromatic matchings.
We need a data structure that dynamically maintains a maximal bichromatic matching (MBM) between two sets of disks: let R ⊆ S and B ⊆ S be two disjoint non-empty sets of sites, and (R × B) ∩ D(S) the bipartite graph on R and B with all edges of D(S) with one vertex in R and one vertex in B. An MBM between R and B is a maximal set of vertex-disjoint edges in (R × B) ∩ D(S). We show how to maintain an MBM as sites are inserted or deleted in R and in B, in two ways. The first way uses a general structure by Kaplan et al. [9] and applies in all settings, see the full version for details. The second way applies only to unit disks that are separated by a vertical or horizontal lines. It relies on dynamic lower envelopes for pseudolines [1], see the full version for details.

Fully dynamic unit disk graphs
We first consider the case of unit disk graphs. As mentioned in the introduction, this problem was already addressed by Chan et al. [4]. They explained how to combine several known results into a data structure for connectivity queries in fully dynamic unit disk graphs with update time O(log 6 n) and query time O(log n/ log log n).
A visual representation of their approach can be found in Figure 2. In the core, they use a subtree of the Euclidean minimum spanning tree (EMST) of S as a proxy graph that accurately represents the connectivity of D(S). They store this proxy graph in a Holm et al. data structure. In order to update the EMST efficiently, they also maintain several instances of a dynamic bichromatic closest pair problem (DBCP). The combination of the running times for the separated data structures then yields the overall running time claimed above. To improve over this result, we replace the EMST by a simpler graph that still captures the connectivity of D(S). We also replace the DBCP structure by a suitable maximal bichromatic matching (MBM) structure that is based on dynamic lower envelopes (Lemma 2.3). These two changes significantly improve the amortized update time to O(log 2 n), without affecting the query time. The overall structure behind our method is shown in Figure 3.
We define a proxy graph H that represents the connectivity of D(S). The vertices of H are cells of the grid G 1 of diameter 2 (cf. Section 2). More precisely, we say that two cells σ, τ in G 1 are neighboring if σ ∈ N 5×5 (τ ). For S ⊂ R 2 , we define the graph H whose vertices are the non-empty cells σ ∈ G 1 , i.e., the cells with σ ∩ S = ∅. We say that a site s ∈ S is assigned to the cell σ ∈ G 1 that contains it, and we let S(σ) denote the sites that are assigned 45:6 Dynamic Connectivity in Disk Graphs to σ. Two cells σ, τ are connected by an edge in H if and only if there is an edge st ∈ D(S) with s ∈ S(σ) and t ∈ S(τ ). Then, H is sparse and represents the connectivity in D(S), as stated in the following lemma. Its simple proof can be found in the full version. We build a data structure H as in Theorem 2.1 for H. To query the connectivity between two sites s and t, we first identify the cells σ and τ in G 1 to which s and t are assigned. This requires O(1) time, because when inserting a site u, we can store the assigned cell for u in the satellite data of u. The query is then performed on H, using σ and τ as the query vertices. When a site s is inserted into or deleted in S, only the edges incident to the assigned cell σ are affected. By Lemma 3.1, there are only O(1) such edges. Thus, once the set E of these edges is determined, by Theorem 2.1, we can update H in time O(log 2 n).
It remains to find the edges E of H that change when we update S. For each pair σ, τ of neighboring cells in G 1 , we maintain a maximal bichromatic matching (MBM) M {σ,τ } for R = S(σ) and B = S(τ ), as in Lemma 2.3 (note that the special requirements of the lemma are met in our case). By construction, there is an edge between σ and τ in H if and only if M {σ,τ } is not empty. When inserting or deleting a site s from S, we proceed as follows: let σ ∈ G 1 be the cell associated to σ. We go through all cells τ ∈ N 5×5 (σ), and we update M {σ,τ } by inserting or deleting s from the relevant set. If M {σ,τ } becomes non-empty during an insertion or empty during a deletion, we add the edge στ to E and mark it for insertion or deletion, respectively. Putting everything together, we obtain the main result of this section: There is a dynamic connectivity structure for unit disk graphs such that an update takes amortized time O log 2 n and a connectivity query takes worst-case time O(log n/ log log n), where n is the maximum number of sites. The structure uses O(n) space.

Fully dynamic bounded radius ratio
We extend our structure from Theorem 3.2 to the case of bounded radius ratio Ψ. Now, the running times will depend polynomially on Ψ. The general approach is unchanged, but the varying sizes of the disks introduce new issues. First, we adapt Theorem 3.2 to disks of different sizes. Instead of just G 1 , we rely on a hierarchical grid with log Ψ + 1 levels. Each site s is assigned to a cell σ of such level that |σ| ≤ r s < 2|σ|. Since the disks have different sizes, we can no longer use Lemma 2.3 to maintain the maximal bichromatic matchings (MBMs) between neighboring non-empty grid cells. Instead, we use the more complex structure from Lemma 2.2. This increases the overhead for updating the MBM for each pair of neighboring cells. Furthermore, a disk can now intersect disks from Θ(Ψ 2 ) other cells, instead of the O(1)-bound from the unit disk case, see Figure 4. Thus, the degree of the proxy graph and the number of edges that need to be modified in a single update becomes much larger. This results in the following theorem, see the full version for details.
There is a dynamic connectivity structure for disk graphs of bounded radius ratio Ψ such that an update takes amortized expected time O(Ψ 2 λ 6 (log n) log 7 n) and a connectivity query takes worst-case time O(log n/ log log n), where n is the maximum number of sites at any time. The data structure requires O(Ψ 2 n log n) expected space.
To remedy this latter problem-at least partially-we describe in Section 4.1 how to refine the proxy graph so that fewer edges need to be modified in a single update operation. This will reduce the dependence on Ψ in the update time to linear. The query procedure becomes slightly more complicated, but the asymptotic running time remains unchanged. Note that the approach described above is similar to the method of Kaplan et al. [9,Theorem 9.11] that achieves the same time and space bounds. However, the details of our implementation are crucial for the adaptation in Section 4.1. Most significantly, our implementation uses a hierarchical grid instead of a single fine grid.

Improving the dependence on Ψ
To avoid an update time dependent on the potentially quadratic number of neighbors, we show how to reduce the degree of the proxy graph H from Θ(Ψ 2 ) to O(Ψ). The intuition is that to maintain the connected components of D(S), it suffices to focus on maximal disks that are not contained in any other disk in S. From this, it follows that we only need to consider edges between disks that intersect properly. When we want to perform a connectivity query between sites s and t, we must find appropriate maximal disks that contain s and t. Let D be a disk and σ ∈ G a cell. We say that σ is fully covered by D if and only if every possible assigned disk of σ is fully contained in D. We call σ maximal if and only if there is no larger cell τ ⊃ σ that is fully covered by D s .
Given a disk D, the maximal cells in the quadforest F that are fully covered by D are exactly those that are closest to the root in their quadtrees. Furthermore, the whole subtree of F that is rooted in a maximal fully covered cell consists of cells that are fully covered by D. The following lemma bounds the number of the different types of cells. See Figure 5. Now, we show that it is enough to focus on a subset of the edges in the proxy graph. More precisely, let H be the subgraph of H that is defined as follows: as in H, the vertices of H are all cells σ that have S(σ) = ∅. Two cells σ, τ with |σ| ≥ |τ | are adjacent in H if and only if there are s ∈ S(σ) and t ∈ S(τ ) such that D s and D t intersect and such that D s does not fully cover τ . Let σ be a cell in H. We define the proxy cell σ of σ as follows: if there is no disk in S that fully covers σ, then σ = σ. Otherwise, let σ ⊇ σ be the maximal cell that contains σ and is fully covered by a disk in S, and let D s , s ∈ S, be a disk of maximum radius that fully covers σ. Then, we set σ to be the cell with s ∈ S(σ ). If there are multiple such disks, the choice is arbitrary. Next, suppose that s and t are connected in D(S). We consider a path of (inclusion) maximal disks that connects s and t in D(S), and we show that it induces a path between σ and τ in H'. Let D s , D t with s ∈ S(σ ), t ∈ S(τ ) be the disks of maximum radius which caused σ , τ to be proxy cells of σ, τ . Now, there is a path π in D(S) between s and t that uses only maximal disks: indeed, along any path in D(S) between s and t , we can replace every disk by a maximal disk that contains it, and the resulting path π (possibly after removing duplicate disks) has the required property. See Figure 6. Consider the sequence π of cells in H that we obtain by replacing every site u in π by the cell σ u in H with u ∈ S(σ u ), and by removing any duplicate cells. We observe that π is actually a path in H , since the assigned cells for two intersecting maximal disks of S must be adjacent in H .  Now, our strategy is to maintain the proxy graph H instead of the graph H, again such that each potential edge of H is supported by an MBM structure. This will make the updates faster. However, when performing a query, we must be able to find the proxy cells for the query sites efficiently. This requires a further modification of the quadforest F. Proof sketch. (Full proof in the full version) We may assume that Ψ = O(n 3 ). We augment the quadforest F: in each cell σ in F, we store the set C σ of all sites s ∈ S such that σ is maximal fully covered by D s . C σ is organized as a max-heap, ordered by radius r s .
We describe how to insert a new site s. First, we insert s into the quadforest F. Then, we obtain the sets N 1 and N 2 for s using Lemma 4.2 and insert them into F. For each τ ∈ N 1 we insert s into the MBM for σ and τ and update H of Theorem 2.1 accordingly. For each τ ∈ N 2 , we insert s into the max-heap C τ . A deletion is handled analogously.
To perform a connectivity query between s and t, let σ and τ be the cells with s ∈ S(σ) and t ∈ S(τ ). We determine the proxy cell σ via obtaining the maximal cell σ ⊇ σ that contains σ and is fully covered by a disk from S. Let u be the site of maximum radius in the max-heap C σ and set σ = σ u . τ is obtained similarly. Afterwards, H is queried with σ and τ for the final result. By Lemma 4.3, this gives the correct answer. The overall running time for this query procedure is O(log n), where the bottleneck consists in ascending the quadtree.
The query time can be improved via maintaining every Θ(log log Ψ) levels shortcuts pointing upwards, each pointing to the next. To decide whether to take a shortcut, the respective cells have another max-heap containing all intermediate max-heaps.

Semi-dynamic bounded radius ratio
We turn to the semi-dynamic setting, and we show how to reduce the dependency on Ψ from linear to logarithmic. For both the incremental and the decremental scenario, we use the same proxy graph H to represent the connectivity in D(S). The proxy graph is described in Section 5.1. In Section 5.2 we then describe the data structures using H. For details on how to use the proxy graph in the incremental setting, refer to the full version of this paper.

The proxy graph
The vertex set of the proxy graph H contains one vertex for each site in S, plus one additional vertex per certain region A ∈ A in the plane, to be described below. Each region is defined based on a cell of a quadtree and associated with two site sets, S 1 (A) and S 2 (A). The first set S 1 (A) ⊆ S is defined such that all sites s ∈ S 1 (A) lie in A and have a radius r s comparable to the size of A, for a notion of "comparable" to be detailed below. A site s can lie in several sets S 1 (A). We will ensure that for each region A, the induced disk graph D(S 1 (A)) of the associated sites is a clique. The second set S 2 (A) ⊆ S contains a site s if it lies in the cell associated to the region A and if r s is "small". The sites in S 2 (A) are all sites with a suitable radius in the associated cell of A that have an edge in D(S) to at least one site in S 1 (A).
The proxy graph H is bipartite, with all edges going between the site-vertices and the region-vertices. The edges of H connect every region A to all sites in S 1 (A) ∪ S 2 (A). The connections between the sites in S 1 (A) and A constitute a sparse representation of the corresponding clique D (S 1 (A)). The edges connecting a site in S 2 (A) to A allow us to represent all edges in D(S) between S 2 (A) and S 1 (A) by two edges in H, and since D(S 1 (A)) is a clique, this sparse representation does not change the connectivity between the sites. We will see that the sites in S 2 (A) can be chosen such that every edge in D(S) is represented by two edges in H. Furthermore, we will ensure that the number of regions, and the total size of the associated sets S 1 (A) and S 2 (A) is small, giving a sparse proxy graph. Now, we describe the details of the regions in A. For each site s ∈ S we consider the cell σ s ∈ G with s ∈ σ s and |σ s | ≤ r s < 2|σ s | and its (15 × 15)-neighborhood N (s). We let N = {N (s) | s ∈ S} and construct the quadforest F for N . This quadforest F contains quadtrees that cover the lowest log Ψ + 1 levels of the hierarchical grid G, see the full version for details. The set A of region-vertices of H is a subset of the set A F that contains certain regions for every cell of F. There are three kinds of regions for a cell σ of F: the outer regions, the middle regions, and the inner region.
To describe these regions, we first define for d ∈ N a set C d of d cones with opening angle 2π/d, such that all cones in C d have their apex in the origin, have pairwise disjoint interiors, and cover the plane. For a cell σ ∈ F, we denote by C d (σ) a translated copy of C d whose apex has been moved to the center a(σ), of σ, as shown in Figure 7.
Let Γ(a, r 1 , r 2 ) be the annulus centered at a with inner radius r 1 and outer radius r 2 . To define the outer regions for a cell σ, we consider the set C d1 (σ), for some integer parameter d 1 to be determined below. For each C d1 we set the outer regions to be C ∩ Γ(a(σ), 5 2 |σ|, 9 2 |σ|) | C ∈ C d1 . Similarly to this, we define the middle regions as C ∩ Γ(a(σ), |σ|, 5 2 ) | C ∈ C d2 . Finally, the inner region for σ is the disk with center a(σ) and radius |σ|. See Figure 8 for an illustration of the regions for a cell σ. The set S1(A) is marked blue. The orange site in A is not in the set because its radius is too small. The orange site in A is not in S1(A ): even though its radius is in the correct range, it does not touch or intersect the inner boundary.

45:12 Dynamic Connectivity in Disk Graphs
A Figure 10 The red sites in σ are in S2(A). The radius of the orange site is in the correct range, but it does not intersect a site in S1(A) (marked blue).
We associate a set of sites S 1 (A) ⊆ S with each region A ∈ A F . The set S 1 (A) contains all sites t such that (i) t ∈ A; (ii) |σ| ≤ r t < 2|σ|; and (iii) a(σ)t ≤ r t + 5 2 |σ|. This means that the disk D t has size comparable to |σ|, a center in A. If t is in a middle or inner region, the third property is trivially true. If t is in an outer region it implies that t intersects the inner boundary of A.
We define A ⊆ A F as the set of regions where S 1 (A) = ∅. In the following, we will not strictly distinguish between a vertex from A and the corresponding region, provided it is clear from the context.
For each region A ∈ A, we define a set S 2 (A) as the set of all sites s such that (i) s ∈ σ; (ii) s is adjacent in D(S) to at least one site in S 1 (A); and (iii) r s < 2|σ|.
We add an edge sA in H between a site s and a region A if and only if s ∈ S 1 (A) ∪ S 2 (A). Note that the sets S 1 (A) and S 2 (A) are not necessarily disjoint, as for the center region defined by a cell σ, a site with |σ| ≤ r s < 2|σ| will be both in S 1 (A) and S 2 (A). However, this will adversely affect neither the preprocessing time nor the correctness. The following structural lemma will help us both to show that H accurately represents the connectivity as well as to bound the size of H and the preprocessing time in the decremental setting. Lemma 5.1. Let st be an edge in D(S) with r s ≤ r t , then 1. there is a cell σ ∈ N (t) with s ∈ σ such that σ defines a region A with t ∈ A; and 2. all cells that define a region A with t ∈ S 1 (A) are in N (t).
The proof for Lemma 5.1 can be found in the full version of the paper. Before we argue that H accurately represents the connectivity of D(S), we show that the associated sites of a region in A form a clique in D(S). If a site t lies in the outer region, we can show that the lines segments that are perpendicular to the boundary rays of the cones, go through t and are inside the cone are contained in D t . Then any other site t that has a larger distance to a(σ) than t either lies in the convex hull Figure 11 The disk D(t, 9 2 |σ|) is contained in N15×15(τ ).
defined by the perpendicular line segments, or D t contains a line segment that intersects the convex hull, see Figure 11.
Having Lemmas 5.1 and 5.2 at hand, we can now show that H accurately represents the connectivity of D(S).

Lemma 5.3. Two sites are connected in H if and only if they are connected in D(S).
Proof. Let s, t ∈ S. First, we show that if s and t are connected in H, they are also connected in D(S). The path between s and t in H alternates between vertices in S and vertices in A. Thus, it suffices to show that if two sites u and u' are connected with the same region A ∈ A, they are also connected in D(S). This follows directly from Lemma 5.2: if u and u both lie in S 1 (A), they are part of the same clique. Otherwise, S 2 (A) is non-empty, and there is at least one site in S 1 (A) which intersects the site in S 2 (A). Then u is connected to u via the clique induced by S 1 (A), and the claim follows. Now, we consider two sites connected in D(S), and we show that they are also connected in H. It suffices to show that if s, t are adjacent in D(S), they are connected in H. Assume without loss of generality that r s ≤ r t , and let σ be the cell in N (t) with s ∈ σ. The cell σ exists by the first property of Lemma 5.1, and it belongs to F, since σ lies in the first log Ψ + 1 levels of G and since σ s ⊆ σ. Thus, we get that t ∈ S 1 (A) for some A ∈ A F . As the regions with non-empty sets S 1 (A) are in A, by definition, the edge tA exists in H. Now we argue that s ∈ S 2 (A), and thus the edge As also exists in H. This follows by straightforward checking of the properties of a site in S 2 (A). We have s ∈ σ by the definition of σ, and, by assumption, r s ≤ r t < 2|σ|. Finally, as t is in S 1 (A) and as D s and D t intersect, there is at least one site in S 1 (A) that intersects D s . The claim follows.
After we have shown that H accurately represents the connectivity relation in D(S), we now show that the number of edge in H depends only on n and Ψ, and not on the number of edges in D(S) or the diameter of S. The proof of the following lemma can be found in the full version.  Figure 12 The structure of the decremental data structure.

The decremental data structure
The decremental data structure has several components: we store a quadforest containing the cells defining A and for every A ∈ A, we store the sets S 1 (A) and S 2 (A). For each region A ∈ A, we store a disk revealing structure (RDS) as in Theorem 1.1 with B = S 1 (A) and R = S 2 (A). Finally, we store the proxy graph H in a Holm et al. data structure H [8]. See Figure 12 for an illustration. As usual, the connectivity queries are answered using H. To delete a site s, we first remove from H all incident edges of s. Then, we go through all regions A with s ∈ S 1 (A). We remove s from S 1 (A) and the RDS of A, and we let U be the set of revealed sites from S 2 (A) reported by the RDS. We delete each such site u ∈ U from S 2 (A) and the corresponding RDS. Additionally, we delete the edges uA for u ∈ U from H for all u ∈ U that are not also in S 1 (A). Next, for each region A with s ∈ S 2 (A), we remove s from S 2 (A) and the associated RDS.
This gives us a time bound for the preprocessing time and the main theorem follows.
Lemma 5.5. Given a set S of n sites, we can construct the data structure described above in O n log 5 nλ 6 (log n) + n log Ψ log 3 n time.
Theorem 5.6. The data structure handles m site deletions in overall O n log 5 n + m log 7 n λ 6 (log n) + n log Ψ log 4 n time. Furthermore, it correctly answers connectivity queries in O(log n/ log log n) amortized time.

6
Semi-dynamic arbitrary radius ratio We extend the approach from Section 5 to obtain a decremental data structure with a running time that is independent of Ψ. The cost for dropping the dependence on Ψ is replacing the additive O n log Ψ log 4 n term in the running time of Theorem 5.6 with an additional O(log n) factor in the first term. The O n log Ψ log 4 n term in Theorem 5.6 arose from the total size of the sets S 2 (A), and thus from the height of the quadtrees in F. We can get rid of this dependency by using a compressed quadtree Q instead of F. The height and size of Q do not depend on the radius ratio of the diameter of S, but only on n.
Nonetheless, the height of Q could still be Θ(n), which is not favorable for our purposes. In order to reduce the number of edges in our proxy graph to O(n log n), we use a heavy path To simplify our arguments, we assume without loss of generality that S and its associated radii are scaled all associated radii are at least 1. This allows us to keep working with our hierarchical grid G, as defined in Section 2.  [2,7]. While the latter construction algorithm is stated for planar point sets it can be applied by considering a set of O(n) virtual sites, similar to a construction of Har-Peled [7], see Figure 13.
Heavy paths. Let T be a rooted ordered tree. An edge uv ∈ T is called heavy if v is the first child of u that maximizes the total number of nodes in the subtree rooted at v. Otherwise, the edge uv is light. By definition, every interior node in T has exactly one child that is connected by a heavy edge. A heavy path is a maximum path in T that consists only of heavy edges. The heavy path decomposition of T is the set of all the heavy paths in T . The following lemma summarizes a classic result on the properties of heavy path decompositions. Lemma 6.1 (Sleator and Tarjan [12]). Let T be a tree with n vertices. Then, the following properties hold: 1. Every leaf-root path in T contains O(log n) light edges; 2. every vertex of T lies on exactly one heavy path; and 3. the heavy path decomposition of T can be constructed in O(n) time.
The proxy graph. The general structure of the proxy graph is as in Section 5.1, and we will often refer back to it. We still have a bipartite graph with S on one side and a set of regions vertices on the other side. The regions will again be used to define sets S 1 (A) and S 2 (A) that will determine the edges. However, we will adapt the regions A and define them based certain subpaths of the compressed quadtree Q instead of single cells. Furthermore, we will relax the condition on the radii in the definition of the sets S 1 (A).
As usual, for a site s ∈ S, let σ s be the cell in G with s ∈ σ s and |σ s | ≤ r s < 2|σ s |. Let N (s) be the (15 × 15)-neighborhood of σ s . Let N = {N (s) | s ∈ S}, and let Q be the compressed quadtree for N . Now, let R be the heavy path decomposition of Q, as in Lemma 6.1. For each heavy path R ∈ R, we find a set P R of canonical paths such that every S o C G 2 0 2 2

Figure 14
Illustration of Lemma 6.2. On the left, we see the decomposition of R into R1, . . . R k . On the right, the vertices defining Pπ are depicted in green.
subpath of R can be written as the disjoint union of O(log n) canonical paths. To be precise, for each R ∈ R, we build a biased binary search tree T R with the cells of R in the leaves, sorted by increasing diameter. The weights in the biased binary search tree are chosen as described by Sleator and Tarjan [12]: for a node σ of R, let the weight w σ be the number of nodes in Q that are below σ (including σ), but not below another node of R below σ. Then, the depth of the leaf σ in T R is O(log(w R /w σ )), where w R is the total weight of all leaves in T R . We associate each vertex v in T R with the path induced by the cells in the subtree rooted at v, and we add this path to P R . Using this construction, we can write every path in Q that starts at the root as the disjoint union of O(log n) canonical path: Lemma 6.2. Let σ be a vertex of Q, and let π be the path from the root of Q to σ. There exists a set P π of canonical paths such that: (i) |P π | = O(log n); and (ii) π is the disjoint union of the canonical paths in P π .
Proof sketch. (Full proof in full version) By Lemma 6.1 there are O(log n) heavy paths R 1 , . . . , R k along π. The subpaths defined by the search paths to the smallest cell of a heavy path R i partition π. Furthermore, by summing over the weights of the leaves of the biased binary search tree, we get that the overall number of canonical paths for π is O(log n).
The vertex set of the proxy graph H again consists of S and a set of regions A. We define O(1) regions for each canonical path R in a similar way as in Section 5.1. Let σ be the smallest cell and τ the largest cell of R. The inner and middle regions of R are defined as in Section 5.1, using σ as the defining cell. For the outer regions of R, we extend the outer radius of the annulus: they are defined as the intersections of the cones in C d1 with the annulus of inner radius 5 2 |σ| and outer radius 5 2 |σ| + 2|τ |, again centered at a(σ). The set A now contains the regions defined in this way for all canonical paths.
Given a region A ∈ A for a canonical path R with smallest cell σ and largest cell τ , we can now define the sets S 1 (A) and S 2 (A). These definitions are similar to the analogous sets in Section 5.1. The set S 1 (A) contains all sites t such that (i) t ∈ A; (ii) |σ| ≤ r t ≤ 2|τ |; and (iii) a(σ)t ≤ r t + 5 2 |σ|. The definition for S 2 (A) is also similar to Section 5.1, using canonical paths instead of cells. Let s ∈ S be a site, and π s be the path in Q from the root to σ s . Let P s be the decomposition of π s into canonical paths as in Lemma 6.2. Let A be a region, defined by a canonical path P . Then, s ∈ S 2 (A) if (i) P ∈ P s ; and (ii) s is adjacent in D(S) to at least one site in S 1 (A). These are basically the conditions we had in Section 5.1. However, as the definition is restricted to those canonical paths in P πs , not all sites satisfying these conditions are considered. Using similar arguments as in Section 5.1, this suffices to make sure that the proxy graph represents the connectivity, while also ensuring that each site s lies in few sets S 2 (A).
The graph H is now again defined by connecting each region A ∈ A to all sites in s ∈ S 1 (A) ∪ S 2 (A). By similar considerations as in Section 5, we obtain a decremental data structure for disk graphs with arbitrary radii. The details can be found in the full version.