Space-Efficient Algorithms for Reachability in Geometric Graphs
SSpace-Efficient Algorithms for Reachability inGeometric Graphs (cid:63)
Sujoy Bhore and Rahul Jain Universit´e libre de Bruxelles (ULB), Bruxelles, Belgium [email protected] Fernuniversit¨at in Hagen, Germany [email protected]
Abstract.
The problem of graph
Reachability is to decide whetherthere is a path from one vertex to another in a given graph. In this pa-per, we study the
Reachability problem on three distinct graph fam-ilies – intersection graphs of Jordan regions, unit contact disk graphs(penny graphs), and chordal graphs. For each of these graph families,we present space-efficient algorithms for the
Reachability problem. Inorder to obtain these results, we use the vertex separator of these graphseffectively, and design space-efficient algorithms to find such separators.The constructions of the separators presented here can be of independentinterest.
Given a directed graph G = ( V, E ) and two of its vertices s and t , the problemof Reachability is to decide if there exists a path from one vertex s to anothervertex t in G . Formally, the objective is to check if there exists a sequence of ver-tices s = v , v , . . . , v k = t such that the edge ( v i − , v i ) is in E , for all 1 ≤ i ≤ k . Reachability is one of the fundamental problems in theoretical computer sci-ence. The
Reachability problem in directed and undirected graphs, is completefor the classes non-deterministic log-space ( NL ) and deterministic log-space ( L ),respectively; see [23, 25]. The famous open question L ? = NL essentially asks ifthere exists a deterministic log-space algorithm for Reachability or not. More-over,
Reachability can be solved in Θ ( n log n ) space and optimal time by usingstandard graph traversal algorithms such as DFS and BFS. Furthermore, it isknown that this problem can be solved in Θ (log n )-space and n Θ (log n ) time [29].Wigderson asked in his survey of reachability problems [30], that whether thereis an algorithm for Reachability that runs in O ( n − (cid:15) ) space (for any (cid:15) > Reacha-bility on general graphs can be solved in polynomial time and O ( n/ Θ ( √ log n ) )space. This result was followed by numerous works on various restricted graph (cid:63) Sujoy Bhore acknowledges support from the Fonds de la Recherche Scientifique-FNRS under Grant no MISU F 6001 1. a r X i v : . [ c s . CC ] J a n amilies. Asano and Doerr [3] presented an algorithm for grid graphs that uses O ( n / (cid:15) )-space. Then, Imai et al. [20] achieved the similar space bound forplanar graphs. Later, Asano et al. [4] improved the space bound to ˜ O ( n / )for planar graphs. Recently, this bound has been improved to O ( n / (cid:15) ) forgrid graphs [21]. Besides, Chakraborty et al. [9] studied Reachability forgraphs with higher genus and gave an ˜ O ( n / g / )-space bound algorithm, andan ˜ O ( n / ) space algorithm for H minor-free graphs.For layered planar graphs, Chakraborty and Tewari [10] showed that, thereis an O ( n (cid:15) )-space and polynomial algorithm. Gupta et al. [18] showed that givena pair { s, t } and an embedding of an O (log n ) genus graph, deciding the Reach-ability from s to t in G is in unambiguous logarithmic space ( UL ).Recently, Jain and Tewari [22] showed that given an n vertex directed graphof Treewidth w along with its tree decomposition, there exists an algorithmfor Rechability problem that runs polynomial time and O ( w log n ) space. Treewidth is a strong graph property that made many classical hard problemson graphs tractable [1]. Then, on the other hand, vertex separator is anotherfundamental graph theoretic notion that helps in designing divide and conquerbased algorithms. Informally, a vertex separator is a small set of vertices of thegraph, removal of which divides the graph into pieces whose size are at most afraction of the original graph. Lipton-Tarjan’s pioneering result [24] showed thatthere exists an O ( n / ) sized separator for a planar graph, which has been usedextensively to design algorithms for planar graphs.In the realm of space-efficient algorithms, the primary objective is to opti-mize the space-complexity of an algorithm while maintaining a polynomial-timebound. The goal is typically to design algorithms whose input resides in read-onlymemory and that use only a constant or sublinear amount of writable memoryto accomplish their task. The notion of vertex separator has been previouslyexploited in designing memory-constrained algorithms, specifically for Reach-ability problem. In particular, we point out to the work of Imai et al. [20]In [22], Jain and Tewari formalized the connection between
Vertex Separator and
Reachability problems, that has several consequences. For the sake ofcompleteness, we state their theorem below.
Theorem 1 (Theorem 2, [22]).
Let G be a class of graphs and w : N × N → N be a function such that for every graph G ∈ G with n vertices and m edges, Treewidth of G is at most w ( n, m ) . If there exist an O ( w ( n, m ) log n ) spaceand polynomial time algorithm, that given a graph G ∈ G and a set U of V ( G ) ,outputs a separator of U in G of size O ( w ( n, m )) , then there exists an algorithmto decide Reachability in G that uses O ( w ( n, m ) log n ) space and polynomialtime. In this paper, we study the
Reachability problem on directed geometricgraph families. Many important graph families can be described as intersectiongraphs of more restricted types of set families. More often than not, the geometricintersection graph families provide additional geometric structures that help togenerate efficient algorithms. Many problems that are NP -complete on general2raphs, become tractable on geometric intersection graphs [12, 19]. Indeed, suchadvantages have been exploited for space-efficient algorithms as well. We referto the survey on geometric algorithms with limited work-space [5]. We note thatmost of the geometric intersection graph families contain large cliques. Thereby,the Treewidth of such graph classes are very high, and that makes it hard to use
Treewidth for
Reachability on some of these graph families. In this work, weshow that for some geometric contact graphs
Treewidth turns out to be a ratheruseful notion in the context of
Rechability
In this work, we primarily exploit the
Vertex separator of these graphs ef-fectively. In general, we opt for
Vertex separator that has two properties - (1)the size of the separator is small (2) the separator partitions the graph in some-what
Balanced manner, such that each part contains more or less equal numberof vertices. Fox and Pach [14] established several geometric extensions of theLipton-Tarjan separator theorem. They showed that, any collection C of Jordancurves in the plane with a total of m intersections has a partition into threeparts C = S ∪ C ∪ C such that | S | = O ( √ m ), max {|C | , |C |} ≤ |C| , and noelement of C has a point in common with any element of C . Recently, Carmiet al. [7] improved the bound for unit disk graphs. They showed for any set of n unit disks in the plane there exists a line (cid:96) such that (cid:96) intersects at most O ( (cid:112) ( m + n ) log n ) disks and each of the halfplanes determined by (cid:96) contains atmost 2 n/ m is the number of intersecting pairsof disks.Motivated by this, we study the Reachability problem on three graphfamilies – intersection graphs of Jordan regions, unit contact disk graphs (pennygraphs), and chordal graphs. For each of them, we design space-efficient algo-rithms for
Reachability . Even though, chordal graphs seems to be an exceptionin the context of geometric graph families, we note that there exists work repre-senting chordal graphs as a subfamily of string graphs [11]. Moreover, it is knownthat chordal graphs can be characterized as intersection graphs of sub-trees of atree [16], and interval graphs are a subfamily of chordal graphs.
Preliminaries.
Throughout the text, we denote the set { , , . . . , n } as [ n ]. Fora graph G = ( V, E ) and a subset U ⊆ V , G [ U ] denotes the subgraph inducedon U . Given a graph G = ( V, E ) with vertex set V and edge set E , a weightfunction w : V → R ≥ is a non-negative function on V such that the sum ofthe weights is at most 1. For any subset S ⊂ V , the weight w ( S ) is defined tobe (cid:80) v ∈ S w ( v ). A separator in a graph G with respect to a weight function w is a subset S ⊂ V of vertices such that there is a partition V = S ∪ V ∪ V such that w ( V ) , w ( V ) ≤ / V and V . If theweight function is not specified, it is assumed that w ( v ) = | V | , for every vertex v . We refer to Arora and Barak [2], for a basic understanding of the model andterminologies for space-efficient algorithms. Our Contribution.
In this paper, we study the
Reachability problem onthree different graph families; i.e., intersection Graphs of Jordan Regions, UnitContact Disk Graphs (Penny Graphs) and Chordal Graphs. First, in Section 2,3e show that given a collection of Jordan regions, there exists a polynomial timealgorithm that computes a separator of size O ( m / ) using O ( m / log n ) space.Then, by combining this with Theorem 1, we note that Reachability on di-rected intersection graphs of Jordan regions can be solved in polynomial time and O ( m / log n ) space. Next, in Section 3, we present a space-efficient algorithmfor Reachability on penny graphs that uses O ( n / (cid:15) ) space and polynomialtime. Finally, in Section 4, we adopt the algorithm of [17] for Reachability onchordal graphs, to provide a space-efficient and polynomial time algorithm.
In this section, we study the
Reachability problem on intersection graphs ofJordan regions. Let C be a set such that each element C of C is a simply connectedcompact region in a plane bounded by closed Jordan curve. Let G ( C ) be anintersection graph on C , where two distinct elements C , C ∈ C are connectedby an edge if and only if their intersection is not empty. Additionally, each edgeof G ( C ) is a directed edge. A Jordan region A contains another Jordan region B if B lies completely in the interior of A . A crossing between a pair of Jordanregions is either an intersection between their boundaries or a containment oneinto other. In [14], Fox and Pach showed the existence of a O ( m / )-size separatoron a collection of Jordan regions, where m is the total number of intersections.We prove the following theorem about the separator. Note, vertex separator of an intersection graph does not rely on the direction of the edges. Hence, forthe ease of explanation, we drop the directions from the input graph G ( C ). Theorem 2.
Let C be a collection of Jordan regions, and let G ( C ) be an in-tersection graph on C . Let w be a weight function. There exists a polynomialtime algorithm that takes as an input the set C and outputs a separator of size O ( m / ) using O ( m / log n ) space. The existence of such a separator was already shown in [14] by Fox andPach. Here, our objective is to show that such a separator can be constructed ina space-efficient manner. We assume that the sum of the weights of these Jordanregions is one. Let H ( C ) be the set of heavy regions in C whose weight is morethan 1 /m / . Let L ( C ) be the set of regions in C that is involved with at least m / containments with other elements of C . Let I ( C ) = C \ ( H ( C ) ∪ L ( C ). Wedefine a planar graph G P ( C ). The vertex set of this graph is the union of twosubsets, i.e., A ( C ) ∪ B ( C ), where A ( C ) is the set of all crossing points that lieon the boundary of at least one element of I ( C ) and B ( C ) is the collection ofpoints not in A ( C ) such that the boundary of each C ∈ I ( C ) contains preciselythree points in B ( C ). There exists an edge between two vertices of G P ( C ) if andonly if they are consecutive points along the boundary of an element of I ( C ); seeFigure 1(a). We proceed with the following lemmas. Lemma 1.
There exists a log-space algorithm that takes as an input a set ofJordan regions C and outputs the graph G P ( C ) . roof. First of all, note that there exists a log-space subroutine that, on an in-put Jordan region C of C , determines if C is in L ( C ). To do this, the subroutineiterates over all Jordan regions in C and calculates the total number of contain-ment with which C is involved. The weight of each Jordan region comes with theinput. Hence, it is enough for us to determine if a Jordan region C of C belongsto the set I ( C ). In order to construct the planar graph, we essentially need toknow I ( C ). Thereby concluding the proof of the lemma. (cid:117)(cid:116) f i (a) e e e e e f i (b) e e e (c) v u Fig. 1. (a) An illustration of the planar embedding of the curves in C . The blackdisk points are the intersection points from set A ( C ), and the blue square points thethree extra points from set B ( C ). (b) A illustration of a face in the embedding and itscorresponding planar triangulation. (c) Traversal of the left-face of the edge e = ( u, v ). Next, we triangulate the planar graph G P ( C ), and denote by G T ( C ). In thefollowing lemma, we prove that G T ( C ) can be computed in log-space. Lemma 2.
There exists an algorithm that takes a planar graph in the input andreturns a triangulated planar graph in log-space.Proof.
Consider a planar graph G P . Note that, an edge e = ( u , v ) in G P ispart of two faces in the planar embedding of the graph. We call them the leftand the right face, respectively. We explain how to traverse the left face of e inlog-space. In order to do this, we start by traversing e to one of its endpoint(say v ) and take the edge clockwise next to e , that is incident on v . Let e isthe edge; see Figure 1. We continue the traversal along the edge e , which is theedge clockwise next to e from the endpoint v of e , and so on. In general, if wereach the vertex v i using the edge e i , we continue along the edge clockwise nextto e i from v i . Clearly, by following this procedure we can traverse the boundaryof the face. In order to prove this lemma, it is sufficient to show that, giventwo vertices u l and v l of the input planar graph G P , whether an edge e l canbe added between them in log-space, as part of the triangulation. We assumethat the vertices of the input graph are indexed by an integer from 1 to k , forsome k ∈ [ n ]. For each edge e that is incident with u , we first traverse the leftface of e and see if - (i) v is present in that face; (ii) either u or v is the lowest-indexed vertex of that face. There is a triangulated edge between u and v if and5nly if both these conditions are true for any such edge e ; see Figure 1(b). Thisconcludes the proof of the lemma. (cid:117)(cid:116) Let d ( C ) is the number of points on the boundary of C that belongs to thevertex set of G T ( C ). For a vertex v in G T ( C ), we define a new weight function weight ( v ) as follows: Case 1: v is part of two boundaries C and C of C , weight ( v ) = w ( C ) d ( C ) + w ( C ) d ( C ) . Case 2: v is in the boundary of only one element C of C , weight ( v ) = w ( C ) d ( C ) .Fox and Pach [14] used the idea to find a cycle-separator in this triangulatedgraph G T ( C ) and used it to construct a separator of the original geometricintersection graph. Instead, we will use the result of Imai et al. from [20] toobtain such a separator. Lemma 3 ( [20]).
Let G be a triangulated planar graph. There exists a poly-nomial time algorithm that uses O ( √ n log n ) space to output a separator of G ofsize O ( √ n ) . Now, consider the set of regions of C whose boundary contains at least oneof the points of the separator returned by the algorithm of Imai et al. on G T ( C ).We denote these regions by sep ( C ). In the following, we show that this set isindeed the required separator. Moreover, this set can be calculated within therequired space-time bounds. Lemma 4.
The set sep ( C ) is a separator of the intersection graph of C Proof.
First of all, note G T ( C ) is a triangulated planar graph. Let S be theseparator of this graph returned by the algorithm of Imai et al. [20]. For atriangulated graph, we observe that the separator returned by Imai et al. [20]is a cycle. Let V be the set of all elements of C that are either not in I ( C ), orwhose boundary contains a vertex of S . Let K and K be the set of vertices thatare inside and outside the cycle S , respectively. Let V i be the set of elements of I ( C ), such that all vertex of V ( G T ( C )) which are in its boundary belong to thecomponent K i . It is easy to see that V , V and V are pairwise disjoint sets andtheir union is C . If V has a weight of at least 1 /
3, then we see that it act as atrivial separator. Hence, for the rest of this proof we assume that the weight of V is less than 1 /
3. Thus, we can also see that the weight of V i is at most 2 /
3. Itonly remains to show that there is no edge between a vertex of V and a vertexof V .Let us assume, w.l.o.g., that the weight of V is greater than the weight of V , and hence greater than 1 /
3. In order show see that there is no edge betweena vertex of V and a vertex of V , let us assume to the contrary that there is onesuch edge. Since V and V are on two different sides of a closed Jordan curve,there exists an element v of V that contains in its interior all the elements of V . The number of elements in V is at least m / contradicting the fact that v belongs to I ( C ). (cid:117)(cid:116) Next, in the final lemma we argue about the space-complexity of the abovementioned procedure. 6 emma 5.
There exists a polynomial time algorithm that takes as an input C and outputs the set sep ( C ) in O ( m / log n ) space.Proof. We first see that on input C , the graph G T ( C ) contains O ( m ) vertices.We can output this graph in log-space (see Lemma 2). Then, using the planarseparator algorithm of Imai et al. [20], we can get a set of O ( m / ) vertices whichacts as the separator of this graph. This process can be done in O ( m / log n )space and polynomial time. Once we obtain this set, it is possible to construct sep ( C ) by using this set. (cid:117)(cid:116) This completes the proof of Theorem 2. Then, by combining Theorem 2 andTheorem 1 [22], we conclude the following.
Corollary 1.
There exists an algorithm that solves the
Reachability on di-rected intersection graph of Jordan regions in polynomial time and O ( m / log n ) space. In this section, we study the
Reachability problem on unit contact disk graphs(penny graphs). Penny graphs have also been called unit coin graphs [8]. Thevertices of a penny graph are unit circles in the plane, such that no two ofthose circles cross each other, and there is an edge between two vertices if andonly if the corresponding circles touches each other. Due to Carmi et al. [7], weknow that given a set of unit disks, there exists an axis-parallel line intersecting O ( √ m + n ) disks such that each half-plane separated by that line contains atmost 4 n/ balanced separator . We first de-scribe that how such a balanced separator can be obtained in a space-efficientmanner.Let G = ( D, E ) be a directed penny graph, where D = { d , . . . , d n } is a setof unit disks, and there is an edge e ∈ E between two disks d i and d j (for some i, j ∈ [ n ]) if d i and d j touch each other. Moreover, each edge in e ∈ E is a directededge. We assume that the disks are given in the sorted order based on the x -coordinates of their centers. Let R be a rectangular bounding box that containsthe disks in D . Our algorithm to solve the Reachability problem on pennygraphs consists of four steps – (1) find the balanced separators; (2) create theauxiliary graph; (3) obtain the pseudo-separator; (4) solve the
Reachability . Balanced Separators:
In this step, the direction of the edges of G are notrelevant. So, we simply consider the input at this step as a set of unit non-overlapping unit disks D . The main idea is to divide the rectangle R into smallerrectangles such that each smaller rectangle contains at most n − (cid:15) unit disks, andthe number of unit disks intersecting the boundary of any rectangle is at most n / (cid:15)/ . Let l , l , l , l be the line segments of the bounding rectangle R . Inwhat follows, we describe our sweeping procedure. We discuss primarily in termsof vertical sweeping, and the the horizontal sweeping is done similarly.7onsider a vertical sweep line (cid:96) . We start with the leftmost disk and sweepuntil we find a balanced separator that is intersecting O ( √ m + n ) many diskssuch that each half-plane separated by that line contains at most 4 n/ (cid:96) (cid:48) ) sweeping from top to bottom.From Theorem 2 in [7], we know that there exists an axis-parallel balancedseparator. Therefore, we shall obtain a balanced separator by doing this proce-dure.When we process a disk, we see it as an event , that is when the sweep line (cid:96) encounters a new disk or leaves an old disk. There are precisely 2 n numberof events . At each event k (for some k ∈ [ n ]), either the sweep line intersects anew disk d i or leaves a disk d j , for some i, j ∈ [ n ]. Note that, it is possible totest by using log n space, whether a disk d i intersects the line (cid:96) . We maintain acounter c (cid:96) corresponding to the sweep line (cid:96) . At each event k (for some k ∈ [ n ]),we determine the number of disks that intersect (cid:96) , by checking each disk thatwhether it is intersecting with (cid:96) or not. Then, when the next event happens,we increase the value of the counter by 1 if it intersects a new disk, or decreaseby 1 otherwise. By using this procedure, we can find a separator line (cid:96) , that isa balanced separator. It is also clear that we can determine such a separatorby using log n space. Now, once we find such a separator we only store the x -coordinate of the line (cid:96) on R . Note that, it is possible to find the actual set ofdisks that form such a separator on the fly.Let b(cid:96) be the balanced separator found after performing the above proce-dure. b(cid:96) divides the rectangle R into two smaller rectangles, where each rect-angle contains at most 4 n/ n − (cid:15) many disks. This process iscontinued until there is no rectangle with more than n − (cid:15) many disks. Let b(cid:96) j bebalanced separator obtained at the j -th step (for some j ∈ [ n ]), after perform-ing the above procedure. We store the endpoints of b(cid:96) j on the correspondingbounding rectangle. See Figure 2 for an illustration.We calculate the number of separators required to reach the terminationpoint. From [7], we know that one √ m + n size separator would gurantee thaton each side there are at most n disks. Since penny graphs is a subset of planargraphs, the total number of edges is at most O ( n ). Now, at each step, we haveobtained a balanced separator whenever it has satisfied the criteria. We need O ( n (cid:15) ) many separators to have at most O ( n − (cid:15) ) disks in each cell. To storethese separators, we need to dedicate O ( n (cid:15) log n ) space.The initial graph G is divided into n (cid:15) × n (cid:15) rectangles obtained from the aboveprocedure. Let Z be the set of all rectangles. Note that the number of verticesinside any particular rectangle R of Z is of size O ( n − (cid:15) ). The idea is to reducethe size of the graph by dropping the disks that are completely contained insidesome rectangle and not touched or intersected by its boundary line. Though itreduces the size of the vertex set, we need to ensure that the Reachability information is fully preserved. For that, we proceed to the next step and buildan auxiliary graph. 8 (cid:96) b(cid:96) b(cid:96) b(cid:96) b(cid:96) b(cid:96) b(cid:96) Fig. 2.
An illustration of the rectangular subdivision by using the balanced separators.The blue disks are the ones intersected by the balanced separator lines, and the reddisks are contained inside the rectangles.
Auxiliary Graph:
For a rectangle R , let G R be the graph defined as follows.The vertex set of G R is the set of all disks which intersect at least one of theboundaries of R . We add an edge from a vertex u to a vertex v in G R iff thereis a directed path from u to v which contains only the disks present inside therectangle R . Let v is an arbitrary disk and let { v , . . . , v k } be the sets of disksintersecting the boundary of R in the anti-clockwise order. We first place thedisk centers of the boundary while preserving - (1) the order of them on theboundary; (2) each vertex v i is on the same side of the boundary as it wasbefore (see Figure 3(b)). The edges of G R are drawn in the following manner.If there is an edge between two vertices that are on different sides, then wegive a straight line edge. Otherwise, we join them by a directed circular arc.Moreover, we ensure that there is a crossing between two edges ( v i , v k ) and( v l , v j ) in the drawing if and only if there is an ordering on the boundary whichis one of the followings - 1. { v i ≺ v l ≺ v k ≺ v j } , 2. { v j ≺ v l ≺ v k ≺ v i } , 3. { v l ≺ v i ≺ v j ≺ v k } , 4. { v l ≺ v i ≺ v j ≺ v k } . Clearly, there exists such a drawingas their arc edges can be drawn arbitrarily close to the boundary lines.Now, by combining the graphs defined for each rectangle, we define the aux-iliary graph Aux (cid:15) ( G ) (for 0 < (cid:15) < Aux (cid:15) ( G ) is (cid:83) R ∈Z V ( G R )and the edge set is (cid:83) R ∈Z E ( G R ). Notice that Aux (cid:15) ( G ) might have parallel edgessince there exists paths between vertices in two adjacent rectangles, and in thatcase we keep both of these edges in their respective rectangles. The total numberof vertices in each cell is O ( n − (cid:15) ) hence the total number of vertices in Aux (cid:15) ( G )is O ( n / (cid:15)/ ). We point out that we do not store Aux (cid:15) ( G ) explicitly, becausethat would require too much space. Instead, we would deal with each cell recur-sively, whenever the subroutine queries for an edge in that cell of Aux (cid:15) ( G ). Nowwe prove the following property about the auxiliary graph. Lemma 6.
Let G be a penny graph and e = ( v i , v j ) and e (cid:48) = ( v k , v l ) be twoedges in Aux (cid:15) ( G ) . If e and e (cid:48) cross each other, then Aux (cid:15) ( G ) also contains theedges ( v i , v l ) and ( v k , v j ) . v v v v v v v v v v v v v v v v v v v v v v v (b)(a) Fig. 3.
An illustration of the representation of the graph G R , (a) the blue disks arethe vertices of G R intersecting the boundary of the rectangle (b) drawing of G R . Proof.
Consider two edges e = ( v i , v j ) and e (cid:48) = ( v k , v l ) be two edges in Aux (cid:15) ( G ).From the definition, these edges corresponding to the directed paths in the inputgraph G . From the construction, we know that the ordering of the end verticesare one of the following - { v i ≺ v l ≺ v k ≺ v j } , { v j ≺ v l ≺ v k ≺ v i } , { v l ≺ v i ≺ v j ≺ v k } , { v l ≺ v i ≺ v j ≺ v k } . Now, we know that the corresponding directedpaths is fully embedded inside the grid cell. If two directed path intersects inthe Auxiliary graph (based on our definition) of an input penny graph, thatis embedded inside a rectangle, then they must have one common vertex; seeFigure 4. Otherwise, it will not admit a planar embedding. Hence, there mustbe directed path from v i to v l , and v k to v j . Thereby proving the lemma. (cid:117)(cid:116) v l v i v k v j Fig. 4.
An illustration of two directed paths inside a grid cell.
Pseudo-Separator:
An essential property of a separator is that, for any twovertices u and v , a path between them must contain a vertex from the separatorif u and v lie in two different components with respect to the separator. Imaiet al. [20] used a separator construction to devise a space-efficient algorithm forplanar graphs. Penny graphs is a special class of planar graphs. Therefore, theresult of Imai et al. translates on penny graphs, however with space-complexity O ( n / log n ). 10e would also use a separator construction for Aux (cid:15) ( G ). But, note that Aux (cid:15) ( G ) is not a planar graph anymore. Therefore, we would use a special kind ofseparator that we call a pseudo-separator . This type of separator was previouslyused for grid-graphs by Jain and Tewari [21]. Note that, all grid-graphs are alsorealisable as unit disk graphs, however, unit disk graphs contains extra graphstructures, e.g., arbitrary size cliques, stars, etc. The general idea of our approachis the following. Consider a vertex induced subgraph H of Aux (cid:15) ( G ). We choosea maximal subset of edges such that H is a planar graph, therefore admits aplanar embedding. Next, we triangulate this chosen sub-graph. We show thatuntil this point each operation can be performed in log-space. Then, we use thealgorithm of Imai et al. [20] to obtain a separator of the triangulated graph. Inwhat follows, we describe these procedures in detail.We first pick a maximal planar graph, denoted by H ( Aux (cid:15) ( G )), of Aux (cid:15) ( G ).The vertex set of H ( Aux (cid:15) ( G )) is same as the vertex set of Aux (cid:15) ( G ). Now, foreach rectangle, we index the vertices in ascending order anti-clockwise. For eachrectangle R , an edge e l = ( u l , v l ) of G R is added to H ( Aux (cid:15) ( G )) if there is noedge e k = ( u k , v k ) such that the ordering of the vertices is one of the following– { u k ≺ u l ≺ v k ≺ v l } ; { v k ≺ u l ≺ u k ≺ v l } ; { u k ≺ v l ≺ v k ≺ u l } ; { u k ≺ v l ≺ v k ≺ u l } . In the following claim, we prove that, H ( Aux (cid:15) ( G )) indeed a maximalplanar graph of Aux (cid:15) ( G ). Lemma 7. H ( Aux (cid:15) ( G )) is a maximal planar graph of Aux (cid:15) ( G ) .Proof. First, note that H ( Aux (cid:15) ( G )) is a planar graph that comes from the con-struction. This is because for each rectangle R we have selected edges from G R such that no two edges intersect each other. In order to show that this is max-imal, we prove by contradiction. Assume that there exists an edge e l = ( u l , v l )in Aux (cid:15) ( G ) that is not chosen in H ( Aux (cid:15) ( G )), and this edge does not intersectany edge in H ( Aux (cid:15) ( G )). Let R ∗ be the rectangle that contains e k . We pick theedge e b = ( u b , v b ) with largest width whose exactly one of the endpoints lie inbetween u l , v l in the total ordering of the boundary vertices (see Figure 5). Fromthe definition of H ( Aux (cid:15) ( G )), we know that there must be an edge.Now, if this edge is a directed edge from u b to v b , and such an edge is notchosen in H ( Aux (cid:15) ( G )) because there is another edge e g = ( u g , v g ) such that u g lying between u b and u l . Then, by applying Lemma 6 we can argue that thereis an edge between u g to v b with larger width (i.e., for any two vertices u and v ,the number of vertices encountered in the anti-clockwise order to reach from u to v ). This contradicts the fact that the edge ( u b , v b ) has the largest width amongthose which intersects ( u l , v l ). See Figure 5 for a detailed explanation. Moreover,based on the direction of the edges there are other uniform cases which we donot explicitly discuss here. (cid:117)(cid:116) Next, we triangulate H ( Aux (cid:15) ( G )) by adding the boundary edges first. Then,for each rectangle, we consider a face of H ( Aux (cid:15) ( G )), and add the edges tocomplete the triangulation by a similar procedure described in Lemma 2 fromSection 2. Moreover, the direction of the edges is arbitrary. The triangulated11 l v l e b e g u b v b v g u g e l Fig. 5.
An illustration of the proof of Lemma 7 graph is denoted by ˆ H ( Aux (cid:15) ( G )). Note that this procedure can be done in log-space (See Lemma 2). Next, we will use a Lemma from [20] that is stated below. Lemma 8 ( [20]).
For each β > , there exists a polynomial time algorithmand ˜ O ( h / β/ ) space algorithm that takes a h -vertex planar graph P as inputand and outputs a set of vertices S , such that | S | is O ( h / β/ ) and removal of S disconnects the graph into components of size O ( h − β ) . Next, we construct the pseudo-separator S H ( Aux (cid:15) ( G )) by using the followingsteps. First, by Lemma 8 we find a set S of vertices in ˆ H ( Aux (cid:15) ( G )) that dividesit into components of size O ( n − β ). Each vertex and each edge of S is added tothe vertex set and the edge set of S H ( Aux (cid:15) ( G )), respectively. However, there is asmall caveat to use Lemma 8 on ˆ H ( Aux (cid:15) ( G )). In order to triangulate the graph,we have added edges that were not part of the auxiliary graph. Therefore, foreach edge e k = ( u k , v k ) of the triangulation that is present in some rectangle R ,we consider a set of at most four edges of Aux (cid:15) ( G ) that form a shield around e k . Two edges that are starting from u k ending at two vertices v p , v (cid:48) p , where v p and v (cid:48) p are the closest point to the left and closest point to the right of u k ,respectively, in the total ordering of the boundary vertices. Additionally, twoedges that are starting from v k ending at two vertices u q , u (cid:48) q , where u q and u (cid:48) q are the closest point to the right and the closest point to the left of v k ,respectively, in the total ordering of boundary vertices. See Figure 6(a) for adetailed understanding. Later, we argue that if these edges do not exist, andthe corresponding triangulation edge is intersected by the cycle separator thenthere must be other edges chosen in the maximal planar graph intersecting thattriangulation edge, and hence would give us a contradiction.In order to prove that S H ( Aux (cid:15) ( G )) is indeed a pseudo-separator, we needa property of triangulated graphs from [22]. We know that a simple cycle in aplanar embedding of a planar graph divides the plane into two parts. We callthem two sides of the cycle. 12 emma 9 ( [22]). Let G be a triangulated planar graph and S be a subset ofits vertices. For every pair of vertex u, v which belong to different components of G \ S , there exists a cycle in G [ S ] , such that u and v belong to different sides ofthis cycle. Next, we prove the lemma about pseudo-separator.
Lemma 10 (Pseudo-Separator Lemma).
Let G be a penny graph and H ( Aux (cid:15) ( G )) be a vertex induced subgraph of Aux (cid:15) ( G ) . The graph S H ( Aux (cid:15) ( G )) is a h − β -pseudo-separator of H ( Aux (cid:15) ( G )) . v (cid:48) p v p v k u k u (cid:48) q u q (a) e k (b) u ve k e (cid:48) o e o e b e g Fig. 6.
An illustration of the pseudo-separator. The red edge is an edge of the trian-gulation and part of the red cycle separator. The yellow edges are chosen to form theshield (a) when the proper shield exists (b) otherwise.
Proof.
Let S be a set of vertices chosen from ˆ H ( Aux (cid:15) ( G )) by using Lemma 8.The claim is that if two vertices u and v belongs to two different componentin ˆ H ( Aux (cid:15) ( G )) \ S then a path between u and v in G either takes a vertex of S H ( Aux (cid:15) ( G )) or crosses an edge of S H ( Aux (cid:15) ( G )). Note that, due to Lemma 9,we know that u and v are on two different sides of a cycle of S . Thus, any edgedrawn in the plane connecting u and v (not necessarily a straight line edge)would necessarily cross the cycle of S . If the path crosses non-triangulation edgeor an edge which is shielded properly (see Figure 6(a)), we are done as the pathwould intersect an edge of S H ( Aux (cid:15) ( G )). The other situation is when such apath intersects a triangulation edge. We prove by contradiction that this cannot happen. Assume, that it does (see Figure 6(b)). Let e r be the triangulationedge intersected by the edge e b of the path from u to v . Now, since e b notchosen in the maximal planar graph, means there exist other edges chosen inthe H ( Aux (cid:15) ( G )). Let e o and e (cid:48) o be two such edges with maximum width oneither side of the triangulated edge (see the orange edges in Figure 6(b)). ByLemma 6 there exists an edge e g from the tail of e o to the head of e (cid:48) o (the greenpath in Figure 6(b)). Since this edge e g also cross the triangulation edge e r , it isnot present in the maximal planar graph. Any edge that is present in maximalplanar graph and crosses e g contradicts the fact that e o and e (cid:48) o are of maximum13idth. There are other cases when either of e o or e (cid:48) o is not present, but theycan be handled similarly. We do not explicitly mention them here due to spaceconstraint. (cid:117)(cid:116) The Algorithm.
Let H be a vertex induced subgraph of an auxiliary graph.Here, we first explain how to solve Reachability in H . Initially, the graph H is the whole auxiliary graph, and we wish to find the Reachability betweenthe given two vertices s and t of H .By using Lemma 10 we find a pseudo-separator S of the graph H . W.l.o.g.,assume that s and t are both in S . The pseudo-separator divides the graphinto components (say, C , C , . . . , C k ). We maintain a set of vertices M that wecall marked vertex set. We use an array of size at most | S | to mark a set ofvertices M of the pseudo-separator. Additionally, for each edge of the pseudo-separator we have at most one associated vertex, and they form the set M .Then, M = M ∪ M is called a marked vertex set.Throughout the algorithm, we maintain that if a vertex is marked, then thereis a path from s to that vertex in the auxiliary graph. Initially, only the vertex s is marked. We then perform | H | iterations. In each iteration, we update theset of marked vertices as follows: Step 1.
For every vertex of S , we mark it if there is a path from an alreadymarked vertex to it such that the internal vertices of that path all belong to onlyone component C i . We check this by recursively running our algorithm on thevertex induced subgraph of C i . Step 2.
For each edge e of S , the algorithm sets the associated marked vertexto u if the following three conditions are satisfied: (a) There exists an edge f = ( u, v ) which crosses e . (b) There exists a path from a marked vertex to u such that the internal vertices of that path all belong to only one component C i . We check this by recursively running our algorithm on the vertex inducedsubgraph of C i . (c) f is the closest such edge to u .Finally, we output ’YES’ if and only if t is marked at the end of these it-erations. In what follows, we describe the correctness and the space-complexityanalysis of the algorithm. Correctness.
Let P be a path from s to t in H . Suppose P passes throughthe components C σ , C σ , . . . , C σ l in this order. By the definition of a pseudo-separator, the path can go from one component, say C σ i to the next component C σ i +1 in the following ways only: Case 1:
The path exits C σ i and enters C σ i +1 through a vertex w of the pseudo-separator. Case 2:
The path exits C σ i and enters C σ i +1 through through an edge f = ( u, v )whose tail is in C σ i and head is in C σ i +1 . This edge will cross an edge e = ( x, y )of the pseudo-separator.We see that after the i -th iteration, our algorithm would traverse the fragmentof the path in the component C σ i and either mark in Case 1 its endpoint or in
Case 2 a vertex u (cid:48) such that the edge ( u (cid:48) , v ) exist. Thus, t would be marked14fter l iterations if and only if there is a path from s to t in H . Since l can be atmost | H | , these many iterations would suffice.From the above discussion, we know how to solve Reachability on theauxiliary graph with the desired space-bound. Now, to solve the problem on theinput graph, we find the rectangular subdivision of the input graph. Then, weform the auxiliary graph by solving each rectangle recursively. Next, we solve the
Reachability problem on the auxiliary graph by following the above procedure.We have shown earlier that the reachability information of the input graph isfully preserved in the auxiliary graph. Hence, it is possible to report the solutionof the input directed penny graph from the solution on the auxiliary graph.
Space-Complexity:
The space complexity of our algorithm is dominated bythe space required to store the marked vertices. Since there can be only H / (cid:15)/ such vertices, we need O ( H / (cid:15)/ log n ) space. It is easy to see that for every (cid:15) (cid:48) >
0, there exists an (cid:15) > O ( | H | / (cid:15)/ log n ) = O ( | H | / (cid:15) (cid:48) ) Notethat, for the input auxiliary graph H , our algorithm recurses on vertex inducedsubgraphs whose size is O ( | H | − (cid:15) ). Hence, the depth of recursion is bounded bya constant. This would increase the space required by at most a constant factor.Since the number of vertices in the initial auxiliary graph was itself O ( n / (cid:15)/ ),we get the desired space bound. Theorem 3.
For every (cid:15) > , there exists a polynomial time algorithm thatcan solve Reachability in an n vertex directed penny graph, using O ( n / (cid:15) ) space. In this section, we study the
Reachibility problem on chordal graphs, anddesign space-efficient algorithm. We adopt the algorithm of Gilbert et al. [17]for
Vertex Separator and analyze to obtain the desired space-bound. In [22], itwas noted that
Reachibility on chordal graphs can be solved in space-efficientmanner, however, without any formal explanation. Here, we provide a detailedanalysis of this claim.A graph is said to be chordal if every cycle of length at least four has a chord ,which is an edge joining two vertices that are not adjacent on the cycle. Let G = ( V, E ) be a chordal graph. We refer the reader to the works of Dirac [13],Fulkerson and Gross [15], and Rose, Tarjan, and Lueker [26–28] for the basictheory on chordal graphs. For the sake of completeness, We will state someof the known results that are relevant to us. In the literature, Chordal graphsare also known as triangulated graphs, monotone transitive graphs, rigid circuitgraphs, perfect elimination graphs . Finding separator.
Gilbert et al. [17] presented O ( mn )-time algorithm forfinding Vertex Separator on chordal graphs. Furthermore, a better algorithm oftime complexity O ( m ) is also shown. We design a space-efficient algorithm for15ertex separator that uses O ( m / log n ) space and polynomial time. We adoptthe O ( mn )-time algorithm from [17], and analyze to provide the desired space-bound. In order to do that, we allow time complexity that is much larger than O ( mn ), but, remains polynomial in n . We proceed with the following lemma. Asimilar property is somewhat implicitly used by [17]. Lemma 11.
Let G be a chordal graph and let C be a clique. Let A be the largestcomponent in G \ C . Then, either of the following two statements is true: – There exists a vertex v in C which is not adjacent to any vertex in A . – There exists a vertex u in A which is adjacent to every vertex in C . We need several definitions and structural properties of the Chordal graphsin order to prove this Lemma. However, some of the properties are well-knownresults for chordal graphs. We proceed with the following definitions.
Definition 1.
Let G be a graph and v be a vertex of G . The deficiency of v , de-noted by D ( v ) is defined as follows: D ( v ) = {{ u , u } | { u , v } ∈ E ( G ) , { u , v } ∈ E ( G ) and { u , u } / ∈ E ( G ) } Definition 2.
Let G be a graph and v be a vertex of G . We define the graph G v as follows: G v = ( V ( G ) \ { v } , E ( G [ V ( G ) \ { v } ]) ∪ D ( v )) . We say that the graph G v is formed by eliminating v from G . Definition 3.
When a sequence of vertices is eliminated from a graph, the edgesin the deficiencies that are added are called fill-in edges. A simplicial vertex ofa graph is a vertex that has a deficiency of . We state the following known facts about the chordal graphs. The followingLemmas are due to [13, 15, 26–28]. For the sake of completion, we state themhere in the form that we will be using and provide their proofs.
Lemma 12.
Let G be a chordal graph and a and b be two vertices in V ( G ) . Let S be a set of vertices of G such that: 1) a and b are in different components ofthe graph G \ S ; 2) there exists no proper subset S (cid:48) ⊆ S such that vertices a, b are in different components of the graph G \ S (cid:48) . If these conditions hold, thenthe set S forms a clique in G .Proof. Let C a and C b be the components in G \ S containing a and b , respectively.Note that, each vertex s ∈ S is adjacent to some vertices in C a , and some verticesin C b . Consider two vertices x, y ∈ S . Let P a be the shortest path between x and y in G [ C a ∪ { x, y } ]. Similarly, let P b be the shortest path between x and y in G [ C b ∪ { x, y } ]. The paths P a and P b together forms a cycle. Hence, theremust be an edge between x and y , since it is the only chord that is possible.This argument holds for any pair of vertices in S . This completes the proof. (cid:117)(cid:116) Lemma 13.
Let G be a chordal graphs and let C be any clique of G . Then,either G is a complete graph or there is a vertex v ∈ G \ C that is simplical. roof. We prove this by induction on | G | . The base case | G | = 1 is trivial. Letus assume that the Lemma holds for all G such that | G | ≤ k , for some k ∈ [ n ].Now, G be a graph such that | G | = k + 1. If G is not a complete graph then, let a, b be two vertices of G , that are not adjacent. Due to Lemma 12, there existsa set S that separates a and b . Let C a , C b , be the corresponding components G containing a and b , respectively. Note that, the vertices in C \ S should bein one component. W.l.o.g., assume that they belong to C a . Consider the graph G b = G [ S ∪ C b ]. We have | G b | ≤ k . Hence, by induction, either G b is a cliqueor there is a vertex u / ∈ S , that is simplical in G b . In either of the cases, thereexists a vertex u / ∈ S that is simplical in G b , since G b must contain at least onevertex not in S . Note, u is a simplical vertex in G , since u is not adjacent to avertex in any component other than C b . This completes the proof. (cid:117)(cid:116) Corollary 2.
Let G be a chordal graph and C be a clique. Let A be the largestcomponent in G \ C . If B is a non-empty subset of A , then B contains a vertexwhose neighbours in G [ B ∪ C ] forms a clique. Lemma 14 ( [17]).
Let a , a , . . . , a k be an elimination ordering for a graph G . Let v and w be nonadjacent vertices of G . Then { v, w } is a fill-in edge ifand only if there is a path from v to w consisting of vertices that are eliminatedearlier than both v and w . Now, we have the ingredients to prove the main Lemma 11.
Proof.
Let G be a chordal graph, and let C be a clique. Let A be the largestcomponent in G \ C . Let us assume that each vertex v ∈ C is adjacent to atleast one vertex in A . We will show that under this assumption, there exists avertex u in A that is adjacent to each vertex in C , thereby proving the Lemma.It is known that a vertex induced subgraph of a chordal graph is also achordal graph. Hence, the subgraph G := G [ A ∪ C ] is a chordal graph. Due toLemma 13, we know that there is a vertex u ∈ G \ C , that is simplicial, whoseneighbours form a clique. Let G := G [( A ∪ C ) \ { u } ]. Similarly, let u be avertex in G \ C that is simplicial. In general, let u i be a vertex in G i \ C whoseneigbhours forms a clique, where G i is defined as G [( A ∪ C ) \ { u , u , . . . , u i − } ].Let k be an integer such that G k +1 = G [ C ]. We claim that u k is adjacent toevery vertex of C .Consider a vertex x in C . Since A is connected and by our assumption, x isadjacent to a vertex of A , there is a path from x to u k in G [ A ∪ C ] that uses onlyvertices of A . Lemma 14 says that if { x, u k } is not an edge of G [ A ∪ C ], then itis a fill-in edge. But a perfect elimination ordering has no fill-in, so x is adjacentto u k in G [ A ∪ C ]. Thus u k is adjacent to every vertex of C . This completes theproof. (cid:117)(cid:116) Given the above lemma, the algorithm for finding a separator in a chordalgraph is rather straightforward; as also observed by [17]. The algorithm is de-scribed in the following Procedure 1.The correctness of the algorithm directly comes from Lemma 11. In whatfollows, we show that this algorithm uses O ( m / log n )-space.17 nput: A chordal graph G Output:
A separator S of G of size √ m S ← ∅ ; while there exists a component A of G \ S that has weight more than n/ do while there exists a vertex x of S that is adjacent to no vertex of A do S ← S \ { x } ; end v ← a vertex of A adjacent to every vertex of S ; S ← S ∪ { v } ; end Return S ; Algorithm 1:
Vertex Separator in Chordal Graphs
Space-Complexity:
To see that the above algorithm can be implemented in O ( m / log n )-space and polynomial time, we first recall that the set S (separa-tor) always forms a clique in the graph. Since the size of a clique is upper-boundedby m / , it will require at-most O ( m / log n ) space to store the clique.Now, in order to implement the algorithm, we need to calculate the weightsof each of the connected component of G \ S . However, we cannot afford tostore these components explicitly, since the number of vertices present in thesecomponents could be large. Instead, we identify a component with the lowest-index vertex present in it. We call the lowest-index vertex a marker of thecomponent. In order to check that whether a vertex v is a marker , we runReingold’s undirected Reachability algorithm to see if it is not connectedwith any vertex u in G \ S such that the index of u is lower than v . Also,to know the size of the connected component for a marker vertex v , we useReingold’s algorithm [25] to count the number of vertices that are connected toit. Therefore it is possible to count the weight of any component of G \ S in thedesired space-bound. We conclude the following theorem. Theorem 4.
Given a chordal graph G = ( V, E ) , there exists an algorithm thatcomputes a √ m separator in polynomial time by using O ( m / log n ) -space. Moreover, from Theorem 4 and Theorem 1, we have the following corollary.
Corollary 3.
There exists an algorithm that solves the
Reachability problemfor chordal graphs by using O ( m / log n ) -space and polynomial time. Acknowledgements
The authors would like to thank Paz Carmi and Martin N¨ollenburg for interestingdiscussions during the early stages of the research.
References
1. Arnborg, S., Proskurowski, A.: Linear time algorithms for np-hard problems re-stricted to partial k-trees. Discrete applied mathematics (1), 11–24 (1989) . Arora, S., Barak, B.: Computational complexity: a modern approach. CambridgeUniversity Press (2009)3. Asano, T., Doerr, B.: Memory-constrained algorithms for shortest path problem.In: CCCG (2011)4. Asano, T., Kirkpatrick, D., Nakagawa, K., Watanabe, O.: ˜ O ( √ n )-space andpolynomial-time algorithm for planar directed graph reachability. In: Interna-tional Symposium on Mathematical Foundations of Computer Science. pp. 45–56.Springer (2014)5. Banyassady, B., Korman, M., Mulzer, W.: Geometric algorithms with limitedworkspace: A survey. CoRR abs/1806.05868 (2018), http://arxiv.org/abs/1806.05868
6. Barnes, G., Buss, J.F., Ruzzo, W.L., Schieber, B.: A sublinear space, polynomialtime algorithm for directed st connectivity. SIAM Journal on Computing (5),1273–1282 (1998)7. Carmi, P., Chiu, M., Katz, M.J., Korman, M., Okamoto, Y., van Renssen, A.,Roeloffzen, M., Shiitada, T., Smorodinsky, S.: Balanced line separators of unitdisk graphs. Comput. Geom. (2020)8. Cerioli, M.R., Faria, L., Ferreira, T.O., Protti, F.: A note on maximum indepen-dent sets and minimum clique partitions in unit disk graphs and penny graphs:complexity and approximation. RAIRO-Theoretical Informatics and Applications (3), 331–346 (2011)9. Chakraborty, D., Pavan, A., Tewari, R., Vinodchandran, N.V., Yang, L.F.: Newtime-space upperbounds for directed reachability in high-genus and h-minor-freegraphs. In: Raman, V., Suresh, S.P. (eds.) 34th International Conference on Foun-dation of Software Technology and Theoretical Computer Science, FSTTCS 2014,December 15-17, 2014, New Delhi, India. LIPIcs, vol. 29, pp. 585–595. SchlossDagstuhl - Leibniz-Zentrum f¨ur Informatik (2014)10. Chakraborty, D., Tewari, R.: An o ( n (cid:15) ) space and polynomial time algorithm forreachability in directed layered planar graphs. ACM Trans. Comput. Theory (4),19:1–19:11 (2018)11. Chaplick, S., Jel´ınek, V., Kratochv´ıl, J., Vyskoˇcil, T.: Bend-bounded path intersec-tion graphs: Sausages, noodles, and waffles on a grill. In: International Workshopon Graph-Theoretic Concepts in Computer Science. pp. 274–285. Springer (2012)12. Clark, B.N., Colbourn, C.J., Johnson, D.S.: Unit disk graphs. In: Annals of DiscreteMathematics, vol. 48, pp. 165–177. Elsevier (1991)13. Dirac, G.A.: On rigid circuit graphs. In: Abhandlungen aus dem MathematischenSeminar der Universit¨at Hamburg. vol. 25, pp. 71–76. Springer (1961)14. Fox, J., Pach, J.: Separator theorems and tur´an-type results for planar intersectiongraphs. Advances in Mathematics (3), 1070–1080 (2008)15. Fulkerson, D., Gross, O.: Incidence matrices and interval graphs. Pacific journal ofmathematics (3), 835–855 (1965)16. Gavril, F.: The intersection graphs of subtrees in trees are exactly the chordalgraphs. Journal of Combinatorial Theory, Series B (1), 47–56 (1974)17. Gilbert, J.R., Rose, D.J., Edenbrandt, A.: A separator theorem for chordal graphs.SIAM Journal on Algebraic Discrete Methods (3), 306–313 (1984)18. Gupta, C., Sharma, V.R., Tewari, R.: Reachability in o (log n) genus graphs isin unambiguous logspace. In: 36th International Symposium on Theoretical As-pects of Computer Science (STACS 2019). Schloss Dagstuhl-Leibniz-Zentrum fuerInformatik (2019)
9. Imai, H., Asano, T.: Finding the connected components and a maximum cliqueof an intersection graph of rectangles in the plane. Journal of Algorithms (4),310–323 (1983)20. Imai, T., Nakagawa, K., Pavan, A., Vinodchandran, N.V., Watanabe, O.: An o ( n / + (cid:80) )-space and polynomial-time algorithm for directed planar reachability.In: Proceedings of the 28th Conference on Computational Complexity, CCC 2013,K.lo Alto, California, USA, 5-7 June, 2013. pp. 277–286. IEEE Computer Society(2013)21. Jain, R., Tewari, R.: An o ( n (1 / (cid:15) ) space and polynomial algorithm for grid graphreachability. In: Chattopadhyay, A., Gastin, P. (eds.) 39th IARCS Annual Confer-ence on Foundations of Software Technology and Theoretical Computer Science,FSTTCS 2019, December 11-13, 2019, Bombay, India. LIPIcs, vol. 150, pp. 19:1–19:14. Schloss Dagstuhl - Leibniz-Zentrum f¨ur Informatik (2019)22. Jain, R., Tewari, R.: Reachability in high treewidth graphs. In: Lu, P., Zhang,G. (eds.) 30th International Symposium on Algorithms and Computation, ISAAC2019, December 8-11, 2019, Shanghai University of Finance and Economics, Shang-hai, China. LIPIcs, vol. 149, pp. 12:1–12:14. Schloss Dagstuhl - Leibniz-Zentrumf¨ur Informatik (2019)23. Lewis, H.R., Papadimitriou, C.H.: Symmetric space-bounded computation. Theo-retical Computer Science (2), 161–187 (1982)24. Lipton, R.J., Tarjan, R.E.: Application of a planar separator theorem. In: 18th An-nual Symposium on Foundations of Computer Science, Providence, Rhode Island,USA, 31 October - 1 November 1977. pp. 162–170. IEEE Computer Society (1977)25. Reingold, O.: Undirected connectivity in log-space. Journal of the ACM (JACM) (4), 1–24 (2008)26. Rose, D.J.: Triangulated graphs and the elimination process. Journal of Mathe-matical Analysis and Applications (3), 597–609 (1970)27. Rose, D.J.: A graph-theoretic study of the numerical solution of sparse positivedefinite systems of linear equations. In: Graph theory and computing, pp. 183–217. Elsevier (1972)28. Rose, D.J., Tarjan, R.E., Lueker, G.S.: Algorithmic aspects of vertex eliminationon graphs. SIAM Journal on computing (2), 266–283 (1976)29. Savitch, W.J.: Relationships between nondeterministic and deterministic tape com-plexities. Journal of computer and system sciences (2), 177–192 (1970)30. Wigderson, A.: The complexity of graph connectivity. In: International Symposiumon Mathematical Foundations of Computer Science. pp. 112–132. Springer (1992)(2), 177–192 (1970)30. Wigderson, A.: The complexity of graph connectivity. In: International Symposiumon Mathematical Foundations of Computer Science. pp. 112–132. Springer (1992)