Clique-Based Separators for Geometric Intersection Graphs

Let $F$ be a set of $n$ objects in the plane and let $G(F)$ be its intersection graph. A balanced clique-based separator of $G(F)$ is a set $S$ consisting of cliques whose removal partitions $G(F)$ into components of size at most $\delta n$, for some fixed constant $\delta<1$. The weight of a clique-based separator is defined as $\sum_{C\in S}\log (|C|+1)$. Recently De Berg et al. (SICOMP 2020) proved that if $S$ consists of convex fat objects, then $G(F)$ admits a balanced clique-based separator of weight $O(\sqrt{n})$. We extend this result in several directions, obtaining the following results. Map graphs admit a balanced clique-based separator of weight $O(\sqrt{n})$, which is tight in the worst case. Intersection graphs of pseudo-disks admit a balanced clique-based separator of weight $O(n^{2/3}\log n)$. If the pseudo-disks are polygonal and of total complexity $O(n)$ then the weight of the separator improves to $O(\sqrt{n}\log n)$. Intersection graphs of geodesic disks inside a simple polygon admit a balanced clique-based separator of weight $O(n^{2/3}\log n)$. Visibility-restricted unit-disk graphs in a polygonal domain with $r$ reflex vertices admit a balanced clique-based separator of weight $O(\sqrt{n}+r\log(n/r))$, which is tight in the worst case. These results immediately imply sub-exponential algorithms for MAXIMUM INDEPENDENT SET (and, hence, VERTEX COVER), for FEEDBACK VERTEX SET, and for $q$-COLORING for constant $q$ in these graph classes.


Introduction
The famous Planar Separator Theorem states that any planar graph G = (V, E) with n nodes2 admits a subset S ⊂ V of size O( √ n) nodes whose removal decomposes G into connected components of size at most 2n/3.The subset S is called a balanced 3 separator of G.The theorem was first proved in 1979 by Lipton and Tarjan [21], and it has been instrumental for many classic np-hard problems on such graphs.This running time is optimal, assuming the Exponential-Time Hypothesis (ETH).The result generalizes to convex fat objects in R d , where the bound on the weight of the clique-based separator becomes O(n 1−1/d ).
The goal of our paper is to investigate whether similar results are possible for non-fat objects in the plane.Note that not all intersection graphs admit clique-based separators of small weight.String graphs, for instance, can have arbitrarily large complete bipartite graphs as induced subgraphs, in which case any balanced clique-based separator has weight Ω(n).
The first type of intersection graphs we consider are map graphs, which are a natural generalization of planar graphs.The other types are generalizations of disk graphs.One way to generalize disk graphs is to consider fat objects instead of disks, as done by De Berg et al. [11].We will study three other generalizations, involving non-fat objects: pseudo-disks, geodesic disks, and visibility-restricted unit disks.Next we define the graph classes we consider more precisely; see Fig. 1 for an example of each graph class.
In the following, we use G × (F ) to denote the intersection graph induced by a set F of objects.For convenience, we do not distinguish between the objects and the corresponding nodes, so we use F to denote the set of objects as well as the set of nodes in G × (F ).We assume that the objects in F are connected, bounded, and closed.
Map graphs.Let M be a planar subdivision and F be its set of faces.The graph with node set F that has an arc between every pair of neighboring faces is called the dual graph of M, and it is planar.Here two faces are neighbors if their boundaries have an edge of the subdivision in common.A map graph [8] is defined similarly, except now two faces are neighbors even if their boundaries meet in a single point.Alternatively, we can define a map graph as the intersection graph of a set F of interior-disjoint regions in the plane.
Figure 1 A map graph, a pseudo-disk graph, a geodesic-disk graph, and a visibility restricted unit-disk graph.For the latter class, the grey disks in the picture have radius 1  2 .
Since arbitrarily many faces can share a vertex on their boundary, map graphs can contain arbitrarily large cliques.If at most k faces meet at each subdivision vertex, the graph is called a k-map graph.Chen [7] proved that any k-map graph has a (normal, not clique-based) separator of size O( √ kn), which is also implied by Lee's recent result on string graphs [20].
Pseudo-disk graphs.A set F of objects is a set of pseudo-disks if for any f, f ′ ∈ F the boundaries ∂f and ∂f ′ intersect at most twice.Pseudo-disks were introduced in the context of motion planning by Kedem et al. [17], who proved that the union complexity of n pseudodisks is O(n).Since then they have been studied extensively.We consider two types of pseudo-disks: polygonal pseudo-disks with O(n) vertices in total, and arbitrary pseudo-disks.
Geodesic-disk graphs and visibility-restricted unit-disk graphs.As mentioned, unit-disk graphs are popular models for wireless communication networks.We consider two natural generalizations of unit-disk graphs, which can be thought of as communication networks in a polygonal environment that may obstruct communication.
Geodesic-disk graphs in a simple polygon P are intersection graphs of geodesic disks inside P .(The geodesic disk with center q ∈ P and radius r is the set of all points in P at geodesic distance at most r from q, where the geodesic distance between two points is the length of the shortest path between them inside P .) In visibility-restricted unit-disk graphs the nodes correspond to a set Q of n points inside a polygon P , which may have holes, and two points p, q ∈ Q are connected by an arc iff |pq| ⩽ 1 and p and q see each other (meaning that pq ⊂ P ). 4 A more general, directed version of such graphs was studied by Ben-Moshe et al. [2] under the name range-restricted visibility graph.They presented an output-sensitive algorithm to compute the graph.
Our results: clique-based separator theorems.So far, clique-based separators were studied for fat objects: De Berg et al. [11] consider convex or similarly-sized fat objects, Kisfaludi-Bak et al. [19] study how the fatness of axis-aligned fat boxes impacts the separator weight, and Kisfaludi-Bak [18] studies balls in hyperbolic space.The O( √ n) bound on the separator weight is tight even for unit-disk graphs.Indeed, a √ n × √ n grid graph can be realized as a unit-disk graph, and any separator of such a grid graph must contain Ω( √ n) nodes.Since the maximum clique size in a grid graph is two, any separator must contain Ω( √ n) cliques.All graph classes we consider can realize a √ n × √ n grid graph, so Ω( √ n) is a lower bound on the weight of the clique-based separators we consider.We obtain the following results.
In Section 2 we show that any map graph has a clique-based separator of weight O( √ n).This gives the first ETH-tight algorithms for Maximum Independent Set (and, hence, Vertex Cover), Feedback Vertex Set, and Coloring in map graphs; see below.
In Section 3 we show that any intersection graph of pseudo-disks has a clique-based separator of weight O(n 2/3 log n).If the pseudo-disks are polygonal and of total complexity O(n) then the weight of the separator improves to O( √ n log n).In Section 4 we consider intersection graphs of geodesic disks inside a simple polygon.At first sight, geodesic disks seem not much harder to deal with than fat objects: they can have skinny parts only in narrow corridors and then packing arguments may still be feasible.Unfortunately another obstacle prevents us from applying a packing argument: geodesic distances in a simply connected polygon induce a metric space whose doubling dimension depends on the number of reflex vertices of the polygon.Nevertheless, by showing that geodesic disks inside a simple polygon behave as pseudo-disks, we are able to obtain a clique-based separator of weight O(n 2/3 log n), independent of the number of reflex vertices.
In Section 5 we study visibility-restricted unit-disk graphs.We give an Ω(min(n, r log(n/r))+ √ n) lower bound for the separator weight, showing that a clique-based separator whose weight depends only on n, the number of points defining the visibility graph, is not possible.We then show how to construct a clique-based separator of weight O(min(n, r log(n/r)) + √ n).All separators can be computed in polynomial time.For map graphs and for the pseudodisk intersection graphs, we assume the objects have total complexity O(n).If the objects have curved edges, we assume that basic operations (such as computing the intersection points of two such curves) take O(1) time.

Applications.
In Section 6 we apply our separator theorems to obtain subexponential algorithms for Maximum Independent Set, Feedback Vertex Set, and q-Coloring for constant q in the graph classes discussed above.The crucial property of these problems that makes our separator applicable, is that the possible ways in which a solution can "interact" with a clique of size k is polynomial in k.We use known techniques (mostly from De Berg et al. [11]) to solve the three problems on any graph class that has small clique-based separators.
All our graph classes are subsumed by string graphs.Bonnet and Rzazewski [4] showed that string graphs have 2 O(n 2/3 log n) algorithms for Maximum Independent Set and 3-Coloring, and a 2 n 2/3 log O(1) n algorithm for Feedback Vertex Set, and that string graphs do not have subexponential algorithms for q-Coloring with q ⩾ 4 under ETH.One can also obtain subexponential algorithms in some of our classes from results of Fomin et al. [14,7] or Marx and Philipczuk [22].The running times we obtain match or slightly improve the results that can be obtained from these existing results.It should be kept in mind, however, that the existing results are for more general graph classes.An exception are our results on map graphs, which were explicitly studied before and where we improve the running time for Maximum Independent Set and Feedback Vertex Set n) .(But, admittedly, the existing results apply in the parameterized setting while ours don't.)In any case, the main advantage of our approach is that it allows us to solve Maximum Independent Set, Feedback Vertex Set and q-Coloring on each of the mentioned graph classes in a uniform manner.
Figure 2 (i) A witness graph for the map graph induced by the grey regions.Points in P are blue, points in Q are red.(ii) The gadget used to replace a witness point.The edges of Tq are black, the cycles connecting nodes at the same level are grey and thick, the edges to triangulate the 4-cycle are grey and thin.(iii) The green paths show an example of how the separator can intersect a gadget.(Note that the tree "wraps around", as in part (ii) of the figure; see also one of the green paths.)The objects added to the clique Cq correspond to the leaves indicated by the blue rectangles.

Map graphs
Recall that a map graph is the intersection graph of a set F of interior-disjoint objects in the plane.We construct a clique-based separator for G × (F ) in four steps.First, we construct a bipartite plane witness graph H 1 with node set P ∪ Q, where the nodes in P correspond to the objects in F and the nodes in Q (with their incident arcs) model the adjacencies in G × (F ).Next, we replace each node q ∈ Q by a certain gadget whose "leaves" are the neighbors of q, and we triangulate the resulting graph.We then apply the Planar Separator Theorem to obtain a separator for the resulting graph H 2 .Finally, we turn the separator for H 2 into a clique-based separator for G × (F ).Next we explain these steps in detail.
Step 1: Creating a witness graph.To construct a witness graph for G × (F ) we use the method of Chen et al. [8]: take a point p f in the interior of each object f ∈ F , and take a witness point q ∈ ∂f ∩ ∂f ′ for each pair of touching objects f, f ′ ∈ F and add arcs from q to the points p f and p f ′ .Let P = {p f : f ∈ F } and let Q be the set of all witness points added.We denote the resulting bipartite graph with node set P ∪ Q by H 1 ; see Figure 2(i) for an example.Observe that points where many objects meet can serve as witness points for many neighboring pairs in G × (F ).Step 2: Replacing witness points by gadgets and triangulating.We would like to construct a separator for H 1 using the Planar Separator Theorem, and convert it to a clique-based separator for G × (F ).For every witness point q ∈ Q in the separator for H 1 , the conversion would add a clique C q to the clique-based separator, namely, the clique corresponding to all objects f ∈ F such that p f is adjacent to q.However, the node q adds 1 to the separator size, but the clique C q adds log(|C q | + 1) to the weight of the clique-based separator.To deal with this we modify H 1 , as follows.
Consider a node q ∈ Q.Let N (q) ⊆ P denote the set of neighbors of q.For all nodes q ∈ Q with |N (q)| ⩾ 3, we replace the star induced by {q} ∪ N (q) by a gadget G q , which is illustrated in Figure 2(ii) and defined as follows.
First, we create a tree T q with root q and whose leaves are the nodes in N (q), as follows.Define the level ℓ(v) of a node v in T q to be the distance of v to the root; thus the root has level 0, its children have level 1, and so on.All leaves in T q are at the same level, denoted ℓ max .The root has degree 3, nodes at level ℓ with 1 ⩽ ℓ < ℓ max − 1 have degree 2, and nodes at level ℓ max − 1 have degree 2 or 1.For each ℓ < ℓ max we connect the nodes at level ℓ into a cycle.After doing so, all faces in the gadget (except the outer face) are triangles or 4-cycles.We finish the construction by adding a diagonal in each 4-cycle.Define the height of a node v as height(v) := ℓ max − ℓ(v).The following observation follows from the construction.
▶ Observation 1.Let v be a node at height h > 0 in the gadget G q .
(i) The subtree of T q rooted at v, denoted T q (v), has at most 3 • 2 h−1 leaves.
(ii) The distance from v to any leaf in T q is at least h.To unify the exposition, it will be convenient to also create a gadget for the case where q has only two neighbors in H 1 , say p f and p f ′ .We then define T q to consist of the arcs (q, p f ) and (q, p f ′ ).Note that Observation 1 holds for this gadget as well.
By replacing each witness point q ∈ Q with a gadget G q as above, we obtain a (still planar) graph.We triangulate this graph to obtain a maximal planar graph H 2 .
Step 3: Constructing a separator for H 2 .We now want to apply the Planar Separator Theorem to H 2 .Our final goal is to obtain a balanced clique-based separator for G × (F ).Hence, we want the separator for H 2 to be balanced with respect to P .We will also need the separator for H 2 to be connected.Both properties are guaranteed by the following version of the Planar Separator Theorem, which was proved by Djidjev and Venkatesan [13].
Planar Separator Theorem.Let G = (V, E) be a maximal planar graph with n nodes.Let each node v ∈ V have a non-negative cost, denoted cost(v), with v∈V cost(v) = 1.Then V can be partitioned in O(n) time into three sets A, B, S such that (i) S is a simple cycle of size O( √ n), (ii) G has no arcs between a node in A and a node in B, and (iii) v∈A cost(v) ⩽ 2/3 and v∈B cost(v) ⩽ 2/3.
When applying the Planar Separator Theorem to H 2 , we set cost(p) := 1/n for all nodes p f ∈ P and cost(v) := 0 for all other nodes.We denote the resulting separator for H 2 by S(H 2 ) and the node sets inside and outside the separator by A(H 2 ) and B(H 2 ), respectively.
Step 4: Turning the separator for H 2 into a clique-based separator for G × (F ).We convert S(H 2 ) into a clique-based separator S for G × (F ) as follows.
For each node p f ∈ S(H 2 ) ∩ P we put the (singleton) clique {f } into S.
For each gadget G q we proceed as follows.Let V q be the set of all nodes v ∈ T q that are in S(H 2 ), and define C q := {f ∈ F : p f is a leaf of T q (v) that has an ancestor in V q }; see Figure 2(iii).Observe that C q is a clique in G × (F ).We add5 C q to S.
The clique-based separator S induces a partition of F \ C∈S C into two parts A and B, with |A|, |B| ⩽ 2n/3, in a natural way, namely as The following lemma ensures that S is a valid separator.
▶ Lemma 2. There are no arcs in G × (F ) between a node in A and a node in B.
Proof.Suppose for a contradiction that there are objects f ∈ A and f ′ ∈ B such that (f, f ′ ) is an arc in G × (F ).Let q ∈ Q be a witness point for the arc (f, f ′ ); thus (p f , q) and (p f ′ , q) are arcs in H 1 .Consider the gadget G q and the tree T q .Let π denote the path from p f to p f ′ in T q .Note that none of the nodes on π can be in S(H 2 ), otherwise V q contains an ancestor of p f or of p f ′ , and (at least) one of the nodes p f , p f ′ is in a clique that was added to S. But then the nodes p f , p f ′ are still connected in H 2 after the removal of S(H 2 ).Hence, we have It remains to prove that S has the desired weight.

▶ Lemma 3. The total weight of the separator S satisfies
Proof.Since S(H 2 ) contains O( √ n) nodes, it suffices to bound the total weight of the cliques added for the gadgets G q .Consider a gadget G q .Recall that V q is the set of all nodes v ∈ T q that are in S(H 2 ).We claim that log(|C q | + 1) = O(|V q |), which implies that It remains to prove the claim.Since S(H 2 ) is a simple cycle, its intersection with G q consists of one or more paths.Each path π enters and exits G q at a node in N (q).Let D π denote the set of all descendants of the nodes in π.We will prove that log(|D π | + 1) = O(|π|), where |π| denotes the number of nodes of π.This implies the claim since log To prove that log(|D π | + 1) = O(|π|), let h max be the maximum height of any node in π. ◀ By putting everything together we obtain the following theorem.

Pseudo-disk graphs
Our clique-based separator construction for a set F of pseudo-disks uses so-called planar supports, defined as follows.Let H be a hypergraph with node set Q and hyperedge set H. A graph G sup is a planar support [29] for H if G sup is a planar graph with node set Q such that for any hyperedge h ∈ H the subgraph of G sup induced by the nodes in h is connected.
In our application we let the node set Q correspond to a set of points stabbing all pairwise intersections between the pseudo-disks, that is, for each intersecting pair f, f ′ ∈ F there will be a point q ∈ Q that lies in f ∩ f ′ .The goal is to keep the size of Q small, by capturing all intersecting pairs with few points.The hyperedges are defined by the regions in F , that is, for every f ∈ F there is a hyperedge Proof.Let S(G sup ) be a separator for G sup of size O( |Q|), which exists by the Planar Separator Theorem, and let A(G sup ) and B(G sup ) be the corresponding separated parts.To ensure an appropriately balanced separator we use the cost-balanced version of the Planar Separator Theorem, as stated in the previous section.For each object f ∈ F we give one point q f ∈ Q ∩ f a cost of 1/n and all other points cost 0. We call q f the representative of f .(We assume for simplicity that each f ∈ F intersects at least one other object f ′ ∈ F , so we can always find a representative.Objects f ∈ F not intersecting any other object are singletons in G × (F ) and can be ignored.)For a point q ∈ Q, define C q to be the clique in G × (F ) consisting of all objects f ∈ F that contain q.Our clique-based separator S for G × (F ) is now defined as S := {C q : q ∈ S(G sup )}, and the two separated parts are defined as: Clearly, the size of S is O( |Q|) and its weight is O( |Q| log n).Moreover, |A|, |B| ⩽ 2n/3 because S(G * ) is balanced with respect to the node costs.
We claim there are no arcs in G × (F ) between a node in A and a node in B. Suppose for a contradiction that there are intersecting objects f, f ′ such that f ∈ A and f ′ ∈ B. By definition of Q there is a point q ∈ Q that lies in f ∩ f ′ .By the planar-support property, the hyperedge h f induces a connected subgraph of G sup , so there is a path π that connects q to the representative q f and such that all nodes of π are points in f ∩ Q.No node on the path π can be in S(G sup ), otherwise f is in a clique that was added to S. Similarly, there is a path π ′ connecting q f ′ to q such that no point on π ′ is in S(G sup ).But then there is a path from q f to q f ′ in G sup after the removal of S(G sup ).Hence, q f and q f ′ are in the same part of the partition, which contradicts that f and f ′ are in different parts.
We conclude that S is a clique-based separator with the desired properties.◀ ▶ Remark 6.The witness set Q in the previous section stabs all pairwise intersections of objects in the map graph, and so P ∪ Q stabs all pairwise intersections as well.P ∩ Q has planar support, so we can get a separator for map graphs using Lemma 5. Its weight would be O( √ n log n), however, while in the previous section we managed to get O( √ n) weight.
Polygonal pseudo-disks.We now apply Lemma 5 to obtain a clique-based separator for a set F of polygonal pseudo-disks.To this end, let Q be the set of vertices of the pseudo-disks in F .Observe that whenever two pseudo-disks intersect, one must have a vertex inside the other.Indeed, either one pseudo-disk is entirely inside the other, or an edge e of f intersects an edge e ′ of f ′ .In the latter case, one of the two edges ends inside the other pseudo-disk, otherwise there are three intersections between the boundaries.Furthermore, pseudo-disks have the non-piercing property: f \ f ′ is connected for any two pseudo-disks f, f ′ .Raman and Ray [29] proved 6 that the hypergraph H Q (F ) of a set of non-piercing regions has a planar support for any set Q, so in particular for the set Q just defined.We can thus apply Lemma 5 to compute a clique-based separator for G × (F ).The time to compute the separator is dominated by the computation of the planar support, which takes O(n 3 ) time [29].Arbitrary pseudo-disks.To construct a clique-based separator using Lemma 5 we need a small point set Q that stabs all pairwise intersections.Unfortunately, for general pseudo-disks a linear-size set Q that stabs all intersections need not exist: there is a collection of n disks such that stabbing all pairwise intersections requires Ω(n 4/3 ) points.(Such a collection can be derived from a construction with n lines and n points with Ω(n 4/3 ) incidences [26].)Hence, we need some more work before we can apply Lemma 5.
Our separator result for arbitrary pseudo-disks works in a more general setting, namely for sets from a family F with linear union complexity.(We say that F has union complexity U (n) if, for any n ⩾ 1 and any subset F ⊂ F of size n, the union complexity of F is U (n).) Recall that the union complexity of a family of pseudo-disks is O(n) [17].The next theorem states that such sets admit a clique-based separator of sublinear weight.Note that the bound only depends on the number of objects, not on their complexity.
▶ Theorem 8. Let F be a set of n objects from a family F of union complexity U (n), where U (n) ⩾ n.Then G × (F ) has a clique-based separator of size O((U (n)) 2/3 ) and weight O((U (n)) 2/3 log n).In particular, if F is a set of pseudo-disks then G × (F ) has a clique-based separator of size O(n 2/3 ) and weight O(n 2/3 log n).The separator can be computed in O(n 3 ) time, assuming the total complexity of the objects is O(n).
Proof.We construct the separator S in two steps.
The first step proceeds as follows.For a point p in the plane, let C p denote the set of objects from the (current) set F containing p.As long as there is a point p such that |C p | > n 1/3 , we remove C p from F and put C p into S; here n refers to the size of the initial set F .Thus the first step adds O(n 2/3 ) cliques to S with total weight O(n 2/3 log n).This step can easily be implemented in O(n 3 ) time.
In the second step we have a set F * ⊆ F of n * objects with ply k, where n * ⩽ n and k ⩽ n 1/3 .Let A(F * ) denote the arrangement induced by F * .Since F * has ply k, the Clarkson-Shor technique [9] implies that the complexity of the arrangement [12].Take a point q in each face of the arrangement, and let Q be the resulting set of O(k 2 • U (n * /k)) points.The set Q stabs all pairwise intersections and the dual graph G * of the arrangement A(F * ) is a planar support for the hypergraph H Q (F ).Hence, by Lemma 5 there is a clique-based separator . By adding S * to the set S of cliques generated in the first step, we obtain a clique-based separator with the desired properties.◀

Geodesic disks inside a simple polygon
Let P be a simple polygon.We denote the shortest path (or: geodesic) in P between two points p, q ∈ P by π(p, q); note that π(p, q) is unique since P is simple.The geodesic distance between p and q is defined to be ∥π(p, q)∥, where ∥π∥ denotes the Euclidean length of a path π.For a given point q ∈ P and radius r > 0, we call the region D(q, r) := {p ∈ P : ∥π(p, q)∥ ⩽ r} a geodesic disk.Let D = {D 1 , . . ., D n } be a set of geodesic disks in P .To construct a clique-based separator for G × (D) we will show that D behaves as a set of pseudo-disks so we can apply the result of the previous section.
The structure of a geodesic disk.The boundary ∂D(q, r) of a geodesic disk D(q, r) consists of circular arcs lying in the interior of P (centered at q or at a reflex vertex of P ) and parts of the edges of P .We split ∂D(q, r) into boundary pieces at the points where the circular arcs meet ∂P .This generates two sets of boundary pieces: a set containing the pieces that consist of circular arcs, and a set Γ(D) containing the pieces that consist of parts of edges of P .An example can be seen in Fig. 3.
A region R ⊆ P is geodesically convex if for any points p, q ∈ R we have π(p, q) ⊆ R. Pollack et al. [28] showed that geodesic disks inside a simple polygon are geodesically convex.An immediate consequence is that the intersection of two geodesic disks is connected.
Geodesic disks behave as pseudo-disks.Geodesic disks in a simple polygon are not proper pseudo-disks.For example, if D 1 and D 2 are the blue and pink pseudo-disk in the third image in Fig. 1, then D 1 \ D 2 has two components, which is not allowed for pseudo-disks.Nevertheless, we will show that D behaves as a set of pseudo-disks in the sense that a small perturbation turns them into pseudo-disks, while keeping the intersection graph the same.
As a first step in the perturbation, we increase the radius of each geodesic disk D i ∈ D by some small ε i .We pick these ε i such that the intersection graph G × (D) stays the same while all degeneracies disappear.In particular, the boundary pieces of different geodesic disks have different lengths after this perturbation, and no two geodesic disks touch.With a slight abuse of notation, we still denote the resulting set of geodesic disks by D.
The second step in the perturbation moves each γ ∈ ∪ n i=1 Γ(D i ) into the interior of the polygon over some distance ε γ , which is smaller than any of the perturbation distances chosen in the first step.More formally, for each γ ∈ Γ(D i ) we remove all points from D i that are at distance less than ε γ from γ; see Fig. 3(ii).To ensure this gives a set of pseudo-disks we choose the perturbation distances ε γ according to the reverse order of the Euclidean lengths of the pieces.That is, if ∥γ∥ > ∥γ ′ ∥ then we pick ε γ < ε γ ′ .The crucial property of this scheme is that whenever γ i ⊂ γ j then γ i is moved more than γ j .
We denote the perturbed version of D i by D * i and define D * := {D * i : D i ∈ D}.The perturbed versions have the following important property: Proof.The only case of interest is when there exist γ i ∈ Γ(D i ) and γ j ∈ Γ(D j ) such that γ i ∩ γ j ̸ = ∅.Suppose now there is a connected component of D * i \ D * j which does not contain such a point.Since D * i ⊂ D i and D * j ⊂ D j , this connected component must have been introduced due to the perturbation (in other words its intersection with all connected components of D i \ D j must be empty).This means that this connected component must be the region contained between γ * i and γ * j and which was previously contained in D i ∩ D j .It is enough to only examine the case when γ i is bigger than γ j as otherwise this component only contains points of D * j .There are two cases: γ j ⊂ γ i , or γ j ̸ ⊂ γ i .In both cases note that there will exist an endpoint p of γ * j that lies inside 4 for an illustration of the case γ j ⊂ γ i .Consider the dashed path starting at q that stays at distance ε from ∂P going towards p. Due to the definition of our perturbation this path will stay inside D * Proof.Consider the set D * resulting from the perturbation described above.Suppose for a contradiction that there exist two objects D * 1 , D ) has two or more components.For i = 1, 2, let q i and r i denote the center and radius of D i .Without loss of generality assume that r 1 ⩽ r 2 .Let x and y be points in different components of D * 1 \ D * 2 ; see Fig. 3 (iii).By Lemma 9 we can pick x and y such that x, y ∈ D 1 \ D 2 .By concatenating the geodesics π(x, q 1 ) and π(q 1 , y) we obtain a curve that splits D * 2 into at least two parts-this is independent of where q 1 lies, or whether π(x, q 1 ) and π(q 1 , y) partially overlap.(Note that these geodesics lie in D 1 but not necessarily in D * 1 .However, they cannot "go around" a component of D * 2 \ D * 1 , because D 1 cannot fully contain such a component by Lemma 9. Hence, π(x, q 1 ) ∪ π(q 1 , y) must indeed go through D * 2 .)Not all components of D * 2 \ D * 1 can belong to the same part, otherwise x and y would not be in different components of 1 that lies in a different part than q 2 , the center of D 2 .Again by Lemma 9 we can pick z such that z ∈ D 2 \ D 1 .Then the geodesic π(q 2 , z) must cross π(x, q 1 ) ∪ π(q 1 , y), say at a point w ∈ π(q 1 , y).Since z ̸ ∈ D 1 and y ̸ ∈ D 2 we must have ∥π(q 1 , w) ∪ π(w, z)∥ + ∥π(q 2 , w) ∪ π(w, y)∥ > r 1 + r 2 .But this gives a contradiction because y ∈ D 1 and z ∈ D 2 implies ∥π(q 1 , w) ∪ π(w, y)∥ + ∥π(q 2 , w) ∪ π(w, z)∥ ⩽ r 1 + r 2 .
It remains to show that G × (D) = G × (D * ).As mentioned earlier, the increase of the radii in the first step of the perturbation is chosen sufficiently small so that no new intersections are introduced.The second step shrinks the geodesic disks, so no new intersections are introduced in that step either.Finally, the fact that the perturbations in the second step are smaller than in the first step guarantees that no intersections are removed.◀ Theorem 10 allows us to apply Theorem 8.When doing so, we actually do not need to perturb the geodesic disks.We only use the perturbation to argue that the number of faces in the arrangement defined by n geodesic disks of ply k is O(nk).Computing the geodesic disks (and then computing the separator) can be done in polynomial time in n and the number of vertices of P .We obtain the following result.

Visibility-restricted unit-disk graphs inside a polygon
Let P be a simple polygon, possibly with holes, and let Q be a set of n points inside P .We define G × vis,P (Q) to be the visibility-restricted unit-disk graph of Q.The nodes in G × vis,P (Q) correspond to the points in Q and there is an edge between two points p, q ∈ Q iff |pq| ⩽ 1 and p and q see each other.A vertex of P is reflex if its angle within the polygon is more than 180 degrees; note that for a vertex of a hole we look at the angle within P , not within the hole.Our separator construction will make use of the notion of a centerpoint of P which we introduce below.

Centerpoint of a simple polygon
This is a natural extension of the notion of the centerpoint for a set Q of n points in the plane, which is a point p (not necessarily from Q) such that any line through p divides the plane in two half-planes each containing at most 2n/3 of the points from Q. Recall that a chord in P is a line segment s ⊂ P that connects two points on the boundary of P .Since we consider P to be a closed set, a chord may pass through one or more reflex vertices of P .We say that a chord is maximal if it cannot be extended without exiting the polygon.We define a half-polygon of P to be a sub-polygon of P that is bounded by a (not necessarily maximal) chord s and a portion γ ⊂ ∂P of the boundary of P such that s ∩ γ = {z 1 , z 2 }, where z 1 , z 2 are the endpoints of s.Note that any chord splits P into two or more half-polygons.
▶ Definition 12 (Centerpoint in a Simple Polygon).Let P be a simple polygon and Q be a set of n points in P .A centerpoint for Q in P is a point p ∈ P such that any maximal chord through p splits P into half-polygons that each contain at most 2n/3 points from Q in their interior.
▶ Theorem 13.For any simple polygon P and point set Q ⊂ P , a centerpoint for Q in P exists.

Proof.
To prove the theorem we can follow the standard proof [23] of the existence of a centerpoint in the plane almost verbatim.Thus, consider the family H of all half-polygons of P whose interior contains more than 2n/3 points of Q.Any three of these half-polygons must intersect, because the complement of each of them contains less than n/3 points from Q.
Recall that Helly's Theorem states that if we have a family of convex sets in the plane such that any three of them intersect, then they all intersect in a common point.While our half-polygons are not convex, the same result is true here, as follows from Molnar's Theorem [5] which states that if a family of simply connected compact sets in the plane is such that any two members have a connected intersection and any three members have a non-empty intersection, then the intersection of the family is non-empty.Our family H satisfies these conditions and hence H ̸ = ∅.
We claim that any point c in the common intersection of the half-polygons in H is a centerpoint for Q in P .To see this take a chord s through c and let H 1 , H 2 , . . .be the half-polygons into which s splits P .Suppose for contradiction that some H i contains more than 2n/3 points of Q.Let s i ⊆ s be the part of s bounding H i .Then, if we slightly shrink H i by moving s i infinitesimally, we obtain a half-polygon H ′ i that contains more than 2n/3 vertices, contradicting the definition of c. ◀ Our main result is the following:   The lower bound.Recall that even for non-visibility restricted unit-disk graphs, Ω( √ n) is a lower bound on the worst-case size of the separator.Hence, to prove the lower bound of Theorem 14 it suffices to give an example where the size and weight are Ω(min(n, r)) and Ω(min(n, r log(n/r))), respectively.This example is given in Fig. 5(i).
The upper bound.We first describe our construction for polygons without holes.Our separator construction has two steps.In the first step we put all points that can see a reflex vertex within distance √ 2 into the separator.We will argue that we can do this in such a way that we put O(1) cliques per reflex vertex into the separator.In the second step we handle the remaining points.We take a centerpoint c inside P and then define √ n chords through c.For each chord s i we put the points within distance 1/2 into the separator, suitably grouped into cliques.We will argue that the total weight of the cliques, over all chords s i is O(n).Hence, there is a chord whose cliques have total weight O( √ n).Adding the weight of the cliques we added in Step 1 then gives us the desired separator.

Step 1: Handling points that see a nearby reflex vertex
Let V ref be the set of reflex vertices of P , and let Q 1 ⊆ Q be the set of points that can see a reflex vertex within distance

Step 2: Handling points that do not see a nearby reflex vertex
Our separator S consists of the cliques in S 1 plus a set S 2 of cliques that are found as follows.Let Q 2 := Q \ Q 1 be the set of points that do not see a reflex vertex within distance √ 2. Let c be a centerpoint for Q 2 inside P , that is, a point such that any chord through c splits P into two half-polygons containing at most 2|Q 2 |/3 points from Q.Such a point exists by Theorem 13.Let G be a √ n × √ n grid centered at c, where we assume for simplicity that √ n is integer.For each of the √ n points g i in the rightmost column of the grid (even if g i ̸ ∈ P ), we define a maximal chord s i by taking the line ℓ i through c and g i and then taking the component of ℓ i ∩ P that contains c; see Fig. 6(i).We assume for simplicity that the chords s i doe not pass through reflex vertices; this can be ensured by slightly rotating the grid, if necessary.
For each chord s i , we define Q 2 (s i ) be the set of points q ∈ Q 2 such that there is a point z ∈ s i that sees q with |qz| ⩽ 1/2.Note that G × vis,P (Q) cannot have an arc between a point p ∈ Q 2 \ Q 2 (s i ) above s i and a point q ∈ Q 2 \ Q 2 (s i ) below s i ; otherwise p and/or q see a point on z within distance 1/2, and so at least one of p, q is in Q 2 (s i ).Since s i is a chord through the centerpoint c, this means that s i induces a balanced separator.
It remains to argue that at least one of the chords s i induces a separator whose weight is small enough.We will do this by creating a set S(s i ) of cliques for each chord s i , and prove that the total weight of these cliques, over all chords s i , is O(n).Since there are √ n chords, one of them has the desired weight.
Step 2.1: Points outside the grid.We simply put all points from Q 2 (s i ) that lie outside the grid G-that is, the points that do not lie inside a grid cell-into S(s i ), as singletons.
▶ Observation 16.Let q be a point that does not lie in any of the cells of the grid G. Then q lies within distance 1/2 of at most two chords s i .
Observation 16 implies that the total number of singleton cliques of points outside grid cells, summed over all chords S(s i ), is O(n).
Step 2.2: Points inside the grid.Next, consider a cell T of the grid G. Suppose a point q ∈ Q 2 (s i ) sees a point z ∈ T ∩ s i such that |qz| ⩽ 1/2.Then q must lie inside one of the at most nine grid cells surrounding and including T .Consider such a cell T ′ .▶ Lemma 17.The points from Q 2 (s i ) ∩ T ′ that can see a point on s i ∩ T within distance 1/2 can be partitioned into O(1) cliques.
Proof.We will show that we can split these points into at most four cliques.To this end we split T ′ in four equal-sized subcells; see Fig. 7. Clearly each subcell has a diameter Illustration for the proof of Lemma 17.
It suffices now to show that if two points p, q in the same subcell do not see each other, then they see a reflex vertex within distance √ 2; hence they are in Q 1 and not in Q 2 (s i ) ∩ T ′ .Let z 1 and z 2 be points on s i ∩ T that see p, q, respectively, with |pz 1 | ⩽ 1/2 and |qz 2 | ⩽ 1/2.The quadrilateral formed by the points p, q, z 1 , z 2 must always lie within a square of side length 1.This square is shown in green in Fig. 7, for three different cases depending on the relative position of T ′ and T .In this quadrilateral, the side pq has to be crossed by the ∂P , since we assumed p and q do not see each other.Moreover, ∂P cannot cross s i or the segments pz 1 , qz 2 .Thus at least one reflex vertex of ∂P lies within the quadrilateral.It's then clear that both p, q will be able to see a reflex vertex within the quadrilateral (possibly not the same); since all points lie within a square of side length 1, the result follows.Note that in Fig. 7 (iii) we have made the edges pz 1 , qz 2 cross each other to showcase that the proof still goes through in this case.◀ We thus create O(1) cliques for each cell T ′ that is one of the at most nine cells surrounding a cell T crossed by s i , and put them into S(s i ).This adds at most O(log(n T ′ + 1)) weight to S(s i ), where n T ′ := |Q 2 ∩ T ′ |.Since there are n cells in total, this immediately gives a total weight of O(n log n) over all sets S(s i ).Next we show that the the total weight of the cliques is actually O(n).In what follows we denote by weight(S(s i )) the total weight of the cliques corresponding to chord s i .
▶ Lemma 18.The total weight of the cliques corresponding to the chords s i is O(n), that is: Proof.Let T (s i ) denote the cells crossed by a chord s i , and let N [T ] denote the at most nine cells surrounding a cell T , including T itself.By the arguments above, the total weight of all separators is.
Let K 1 be the set of cells in the central column of the grid, that is, the column containing the centerpoint c.For 2 ⩽ j ⩽ m, where m := ⌈ √ n/2⌉, let K j be the cells in the pair of columns at distance j − 1 from K 1 .For example, K 2 are the cells in the columns immediately to the left and right of K 1 .Then we can make the following observations.The set K j contains 4j − 2 = O(j) cells that are crossed by at least one chord s j .
Cells in K j are crossed by O( √ n/j) chords.Now define K * j to be the set of cells T ′ in K j such that one of the nine cells surrounding T ′ is crossed by at least one chord.Note that each T ′ ∈ K * j is in N [T ] for at most nine cells T , which are all in K j−1 ∪ K j ∪ K j+1 .(Here we define K −1 = K m+1 = ∅.)It then follows from the above observations that Hence, we can rewrite (1) as Now we are ready to compute the total weight of the separator.Note that Now define n j to be the total number of points in the cells in K * j .The AM-GM inequality gives us: Combining this with the previous we conclude that the total weight over all separators is bounded by We have that: Recall that m = ⌈ √ n/2⌉, which implies that n/m ⩽ 2m.Furthermore, Stirling's approximation tells us that log(m!) = m log m − m + O(log m).Since m j=1 n j ⩽ n and using the AM-GM inequality we derive Combing this with Equations ( 3) and ( 4) we conclude that the total weight of the sets S(s) is O(n), as claimed.◀ We conclude that there will be a chord s i whose cliques have total weight O( √ n).Then our desired separator is the set S = S 1 ∪ S(s i ).
T i Figure 8 A line ℓi which crosses a cell T that has three holes, colored in red.The blue piece of ℓi is the entrance piece, while the two green pieces are the non-entrance pieces.Note that each green piece can be uniquely associated to the pair of entrance-exit points of the hole preceding it.Marked with a cross are two possible choices of reflex vertices that are then associated with the green pieces.

Extension to polygons with holes
We now show how to extend the previous approach so that it also works for a polygon P with holes.The key ideas remain the same.
As previously, the first step is to put the points that see a reflex vertex within distance √ 2 into the separator.This can again be done using the geodesic Voronoi diagram of the reflex vertices.Recall that a vertex of a hole is defined to be reflex if its angle within P (not: within the hole) is more than 180 degrees.
In the second step we again construct √ n potential separators.When P has holes, a chord may not split P into two half-polygons.Hence, instead of taking chords though a centerpoint for Q 2 in P , we proceed slightly differently.We take a regular centerpoint for Q 2 , and for each point g i in the rightmost column of the grid G we take the full line ℓ i through c and p i .Note that ℓ i ∩ P can consist of many chords.Together, these chords split P into several parts; the parts above ℓ i contain at most 2|Q 2 |/3 points, and the parts below ℓ i contain at most 2|Q 2 |/3 points as well.Hence, the resulting separators will be balanced.
Points in Q 2 that lie outside the grid G can be handled as before.They are added as a singleton to O(1) lines ℓ i , so they contribute weight O(n) in total.
We now proceed to describe how to split points in Q 2 within the grid into cliques.For each line ℓ i and each grid cell T we define an entrance piece to be the first piece of ℓ i ∩ T ∩ P .The remaining pieces will be referred to as non-entrance pieces (see Fig. 8).Entrance pieces can be handled exactly as in the case without holes: we look at all the points in the nine cells surrounding and including T which see this piece within a distance 1/2 and split them in a constant number of cliques.Then the total sum of the weights of these cliques for all the lines will be O(n) as before.Thus we can select a line ℓ i such that the weight of the cliques we add for their for the entrance pieces is O( √ n).It remains now to handle the non-entrance pieces.Let ℓ i be the line we selected.We will show that ℓ i has O(r) non-entrance pieces and that for each of them we only need to add O(1) cliques.For the first part, observe that if a line ℓ i intersects a hole 2k times then the hole must have at least k reflex vertices of P .These 2k points of intersection can be split into k pairs of entrance-exit points.Now note that a non-entrance piece can be uniquely associated with a unique pair of entrance-exit points.Therefore we have associated each non-entrance piece with a unique reflex vertex of P and as a result the number of these pieces is indeed O(r).The second part is handled as before by adding a constant number of cliques from the nine cells that surround the cell that contains each non-entrance piece.Therefore the cliques that correspond to these pieces add a total weight of O(r log n r ).
To summarize, after having found a separator such that the total weight of the entrance pieces is O( √ n) we can add the cliques for the non-entrance pieces to obtain a separator of weight O(r log n r + √ n).Together with the cliques from S 1 this gives the final separator.This finishes the proof of Theorem 14.

Applications
In this section, we show how one can use clique-based separators to get subexponential algorithms for several classic graph problems, namely Maximum Independent Set, Feedback Vertex Set, and q-Coloring for constant q.The algorithms are very generic: they only use the fact that the clique-based separators exist and can be computed in polynomial time, so they can immediately be combined with any of our separator theorems.
There are subexponential algorithms for Maximum Independent Set, Feedback Vertex Set, and 3-Coloring in the class of string graphs.In particular, Bonnet and Rzazewski [4] obtain a running time of 2 O(n 2/3 log n) for Maximum Independent Set and 3-Coloring, and 2 O(n 2/3 log O(1) n) for Feedback Vertex Set.They also show that there is no subexponential algorithm for q-Coloring in string graphs in case of q ⩾ 4. All graph classes studied in this paper are a subclass of string graphs, therefore the algorithmic results of Bonnet and Rzazewski carry over.In the case of map graphs, one can derive 2 O( √ n log n) algorithms for Maximum Independent Set and Feedback Vertex Set by using the trivial bound k ⩽ n in the subexponential parameterized algorithms of Fomin et al. [14].Moreover, the separator theorem of Matoušek [7] can be used to directly get a 2 O( √ n) algorithm for q-Coloring for fixed constant q.Finally, for polygons of total complexity O(n), one can use the parameterized algorithm of Marx and Philipczuk [22] to derive a 2 O( √ n log n) algorithm for Maximum Independent Set.
Using our separator theorems, we get subexponential algorithms for the three problems mentioned above in the various graph classes under consideration.The running times we obtain match or slightly improve the results that can be obtained by applying the existing results mentioned above.It should be kept in mind, of course, that the existing results are for more general graph classes.An exception are our results on map graphs, which were explicitly studied before and where we improve the running time for Maximum Independent Set and Feedback Vertex Set from 2 O( √ n log n) to 2 O( √ n) .(Admittedly, the existing results apply in the parameterized setting while ours don't.)In any case, the main advantage of our approach is that it allows us to solve Maximum Independent Set, Feedback Vertex Set and q-Coloring on each of the mentioned graph classes in a uniform manner.Specifically, our result are as follows.
In map graphs that are given by a linear-sized representation we obtain 2 O( √ n) algorithms for all three problems.In pseudodisk graphs and in intersection graphs of objects with linear union complexity, we get 2 O(n 2/3 log n) algorithms for Maximum Independent Set and Feedback Vertex Set, and a 2 O(n 2/3 ) algorithm for q-Coloring with constant q.In intersection graphs of polygonal pseudodisks of total complexity O(n), the obtained running times are 2 O( √ n log n) for Maximum Independent Set and Feedback Vertex Set, and 2 O( √ n) for q-Coloring with constant q.For intersection graphs of geodesic disks in a simple polygon, our separators yield the same running times as for pseudodisks: 2 O(n 2/3 log n) algorithms for Maximum Independent Set and Feedback Vertex Set, and a 2 O(n 2/3 ) algorithm for q-Coloring with constant q.
We also get subexponential algorithms for each of our problems in visibility-restricted unit-disk graphs in polygons with r reflex vertices (assuming the total number of vertices is polynomial in n).The running time is 2 f (n,r) , where f (n, r) = O(min(n, r log(n/r)) + √ n).
The algorithms.Recall that the Maximum Independent Set problem is to find a maximumsize subset of pairwise non-adjacent nodes in a given graph G.The Feedback Vertex Set problem asks to find a minimum-size subset of nodes whose deletion makes G cycle-free.Here it will be more convenient to work with the complement of the solution, which corresponds to the Maximum Induced Forest problem: find a maximum-size subset of nodes that induce a forest in G. Finally, in the q-Coloring problem, the goal is to decide if G has a proper q-coloring (that is, a coloring of the nodes using q colors such that adjacent nodes have different colors).For q-Coloring, we can immediately reject any instance that contains a clique of size at least q + 1, as such a clique has no proper q-coloring.Therefore the weight of each clique is at most log(q + 1) = O( 1), and we only need to deal with instances of maximum clique size q.Consequently, if we have a clique-based separator S with s cliques in the graph, then the weight of the separator is at most s • log(q + 1) = O(s).
We can simplify the presentation by abstracting away the geometry.In what follows, we fix a graph class G, and we assume that for any n-node graph G ∈ G we can compute a balanced clique-based separator S of G in polynomial time of size s G (n) and weight w G (n).Note that our separator computations rely on having a geometric representation of the input graph G.We will prove the following theorem.
▶ Theorem 19.Let G be a class of geometric intersection graphs, and suppose that G has a clique-based separator theorem of weight w G (n) and size s G (n) = n c for some constant 0 < c < 1. Suppose moreover that these separators can be computed in polynomial time.Then for an n-node graph G ∈ G given by its geometric representation, one can solve: ) and q-Coloring for fixed constant q in 2 O(s G (n)) time.

Proof. (1)
We use the same algorithm as De Berg et al. [11], which we recall here.Let X be a maximum independent set.Notice that any clique C can contain at most one node from X. Therefore, the number of ways that a given set X can intersect a clique-based separator S is at most We can use a simple divide-and-conquer strategy to find the set X. We compute a separator S, and for all independent sets X S in C∈S C, we will find the largest independent set that X S is a part of.To this end we consider the graph G that is, the graph G where we remove the nodes of the separator as well as those nodes that neighbor a node in X S .We compute a maximum independent set on each side of the separator, restricting ourselves to G X S , in a recursive fashion.The correctness follows from the fact that the set X * S := X ∩ ( C∈S C) will be considered by the algorithm, and then the remainder of X on each side of the separator will form maximum independent sets within that side.
Since the number of sets X S to enumerate is at most 2 weight(S) ⩽ 2 w G (n) , we get the following recursion for the running time: where β < 1 is the balance factor of the separator theorem.Solving this recursion yields that T (n) = 2 O(w G (n)) , as required.
(2) We solve the complement problem, Maximum Induced Forest.Observe that an induced forest can have at most two nodes in each clique, therefore an induced forest with node set X can intersect a clique-based separator S in at most many ways.However, unlike with Maximum Independent Set, the solutions on the two sides of the separator are not completely independent: we must ensure that their union is a forest, and does not induce any cycles.Let B be a set of nodes in G, called boundary nodes, and let π be a partition of B. We say that a forest X realizes π if B ⊆ X and x, y ∈ B are in the same connected component of G[X] if and only if they are in the same partition class of π.
A separator can contain up to O(|S|) nodes of the solution forest, which will become boundary nodes in A ∪ S and B ∪ S with some specific partitions.Formally, we need to solve the following problem: given a graph G, a boundary node set B and a partition π, find the maximum induced forest of G that realizes π on B. In order to keep the running time small, we need to ensure that this boundary set stays small compared to the size of the instance in the recursion tree.We observe that all of our separators can be extended to achieve balance with respect to any node set W ⊂ V (G).Using such separators, we can ensure that the number of boundary nodes for an instance of size n during the recursion is at most O(s G (n)) by for example taking separators that are balanced with respect to all nodes and the boundary set B alternatingly.See [10] for a different way to keep the boundary set small.As B has |B| O(|B|) = 2 O(|B| log |B|) = 2 O(s G (n) log n) partitions, the running time recursion is T (n) = 2 2w G (n)+O(s G (n) log n) (T (β ′ n) + poly(n)), where β ′ < 1 is a constant that depends only on the separator balance factor β and the size function s G .This gives a running time of The running time can be further reduced by using the rank-based approach of Bodlaender et al. [3].Here instead of trying all partitions, one only needs to keep track of a so-called representative set of 2 O(|B|) weighted partitions, and update these representative sets bottomup in the recursion tree.We can implement this technique similarly to earlier implementations.See [11] for an example with maximum induced forest and [10] for using the technique in a separator-based divide-and-conquer algorithm) without a tree-decomposition.The resulting algorithm has the following running time recursion: Solving the recursion gives the desired running time of T (n) = 2 O(w G (n)) .
(3) We start by checking if there is a clique of size at least q + 1.This can be done by brute force in O(n q+1 ) = poly(n) time.If such a clique is found then we can reject.Otherwise, we use a divide-and-conquer strategy: for all proper q-colorings of the separator node set S = C∈S C, we solve the problem recursively for the node sets S 1 = S ∪ A and S 2 = S ∪ B, where A and B are the two sides of the separator.Note that in order to make this work, we in fact solve a slightly extended problem, where some arbitrary subset of nodes are already colored, and the task is to extend this coloring to a proper q-coloring.
As cliques have size at most q = O(1), a separator consisting of s G (n) cliques has O(s G (n)) nodes, and its nodes can be colored in at most q O(s G (n)) = 2 O(s G (n)) many ways.The running time obeys the recurrence where β ′ < 1 is a constant such that max(|A|, |B|) + |S| < β ′ n is guaranteed by the separator for n large enough.The recursion solves to T (n) = 2 O(s G (n)) .◀

Concluding Remarks
We showed how clique-based separators with sub-linear weight can be constructed for various classes of intersection graphs which involve non-fat objects.The main advantage of our approach is that we can solve different problems in the graph classes we study in a uniform manner.There are several natural questions that are left open.Some are listed below.
Improving the bound for geodesic disks and adding holes.Our bound on geodesic disks is directly derived by our result on pseudo-disks.However, geodesic disks are much less general than pseudo-disks (and "closer" to regular disks).Hence, one would expect that the optimal weight is closer to O( √ n).If we allow our polygon to have holes, then our approach for geodesic disks no longer works.Indeed, it is easy to see that even after applying our perturbation scheme, the resulting objects can intersect each other more than two times.Improving the bound for pseudo-disks.Regarding pseudo-disks, an interesting result [27] states that in every finite family of pseudo-disks in the plane one can find a "small" one, in the sense that it is intersected by only a constant number of disjoint pseudo-disks.This property is also shared by, for instance, convex fat objects.Does this mean that the two graph classes are related in some natural way?If yes, could this connection be exploited to construct separators with better bounds?

▶ Lemma 5 .
denote the resulting hypergraph.Let F be a set of n objects in the plane, let Q be a set of points stabbing all pairwise intersections in F , and let H Q (F ) denote the hypergraph as defined above.If H Q (F ) has a planar support G sup then G × (F ) has a clique-based separator of size O( |Q|) and weight O( |Q| log n).

Theorem 7 .
Let F be a set of n polygonal pseudo-disks in the plane with O(n) vertices in total.Then the intersection graph G × (F ) has a clique-based balanced separator of size O( √ n) and weight O( √ n log n), which can be found in O(n 3 ) time.

▶ Corollary 11 .
Let D be a set of n geodesic disks inside a simple polygon with m vertices.Then G × (D) has a clique-based separator of size O(n 2/3 ) and weight O(n 2/3 log n), which can be computed in time polynomial in n and m.

Theorem 14 .
Let Q be a set of n points inside a polygon (possibly with holes) with r reflex vertices.Then G × vis,P (Q) admits a clique-based separator of size O(min(n, r) + √ n) and weight O(min(n, r log(n/r) + √ n)).The bounds on the size and weight of the separator are tight in the worst case, even for simple polygons. u

Figure 5
Figure 5 (i) Each cluster Ai sees any of the clusters Bj completely and all distances are at most 1, so a separator that splits G × vis,P Ai ∪ Bj into two or more components must fully contain Ai or Bj.Since the clusters Ai (and similarly Bj) do not see each other, such a separator has size at least r/2 and weight at least ((r/2) log(n/r)).(ii) Splitting R * (u) into two convex parts.

√ 2 .▶ Lemma 15 .
Consider the geodesic Voronoi diagram of V ref within P .Let R(u) be the Voronoi region of vertex u ∈ V ref and define R * (u) := R(u) ∩ D(u, √2).Note that all points in R(u) can see u and that all points in Q 1 are in R * (u) for some vertex u ∈ V ref .The following lemma is illustrated in Fig.5(ii).Let e be an edge incident to u.If we extend e until it hits ∂R* (u) then R * (u) is split into two convex parts.Proof.It suffices to argue that the angle of R(u) corresponding to u is the only reflex angle within R(u).Then the result will follow from the fact that D(u, √ 2) is convex.Clearly the shortest path connecting any point p ∈ R(u) to u is the segment pu.This implies that ∂R(u) consists of straight line segments that are parts of perpendicular bisectors of the segments connecting u to other reflex vertices of P .Any two such consecutive edges then cannot form a reflex angle within R(u).◀Since R * (u) has diameter O(1), Lemma 15 implies that Q 1 ∩ R * (u) can be partitioned into O(1) cliques.We collect all these cliques into a set S 1 .Since there are r reflex vertices, S 1 consists of O(r) cliques whose total weight is O(r log(n/r)).

Figure 6
Figure 6 (i) The grid G defining the chords si.(ii) The points in the top-left cell do not see each other, but they see a reflex vertex and so they are not in Q2(si).The points in the top-right cell can be partitioned into O(1) cliques.