DeepAI
Log In Sign Up

Finding Maximal Sets of Laminar 3-Separators in Planar Graphs in Linear Time

10/17/2018
by   David Eppstein, et al.
0

We consider decomposing a 3-connected planar graph G using laminar separators of size three. We show how to find a maximal set of laminar 3-separators in such a graph in linear time. We also discuss how to find maximal laminar set of 3-separators from special families. For example we discuss non-trivial cuts, ie. cuts which split G into two components of size at least two. For any vertex v, we also show how to find a maximal set of 3-separators disjoint from v which are laminar and satisfy: every vertex in a separator X has two neighbours not in the unique component of G-X containing v. In all cases, we show how to construct a corresponding tree decomposition of adhesion three. Our new algorithms form an important component of recent methods for finding disjoint paths in nonplanar graphs.

READ FULL TEXT VIEW PDF

page 1

page 2

page 3

page 4

08/08/2018

Separators for Planar Graphs that are Almost Trees

We prove that a connected planar graph with n vertices and n+μ edges has...
12/11/2018

Finding Tutte paths in linear time

It is well-known that every 2-connected planar graph has a Tutte path, i...
03/19/2021

Tri-Partitions and Bases of an Ordered Complex

Generalizing the decomposition of a connected planar graph into a tree a...
08/31/2021

Graphs where Search Methods are Indistinguishable

Graph searching is one of the simplest and most widely used tools in gra...
02/26/2020

Linear-Time Variational Integrators in Maximal Coordinates

Most dynamic simulation tools parameterize the configuration of multi-bo...
07/12/2019

Planar Disjoint Paths in Linear Time

The Disjoint Paths problem asks whether a fixed number of pairs of termi...
04/21/2022

The average size of maximal matchings in graphs

We investigate the ratio I(G) of the average size of a maximal matching ...

1 Introduction

Beginning with the work of Wagner [16], decompositions of graphs by laminar sets of small cutsets have been an important tool in graph structure theory and (later) in graph algorithms. A subset  of the vertices of a graph forms a cutset if is disconnected. It is a trivial cutset if has only two components, one of which is a single vertex, and a nontrivial cutset otherwise. A family of cutsets is laminar if, for every two cutsets and in the family, there exists a component of such that . Such a family can be described by a tree in which the tree nodes are the cutsets and the pieces that they decompose the graph into, and the tree edges connect cutsets with adjacent pieces. Wagner showed, for instance, that every -minor-free graph can be decomposed by a laminar system of cutsets of size at most three into pieces that are either planar or the eight-vertex Wagner graph. Many similar decomposition theorems are now known; in particular, tree decompositions and treewidth are also defined by laminar cutsets.

In any graph, the cutsets of cardinality one (articulation vertices) are automatically laminar, and a block-cut tree describing their laminar tree structure can be constructed in linear time [9]. The cutsets of cardinality two are not necessarily laminar (for instance, in a cycle graph, every non-adjacent pair of vertices is a cutset) but they can be described by a tree structure, the SPQR tree, whose nodes represent 3-connected components of the graph [12, 4]. From this structure, it is easy to recover a maximal laminar family of 2-cutsets. Again, the SPQR tree and a corresponding maximal laminar family can be constructed in linear time [8]. And in maximal planar graphs, the cutsets of cardinality three (separating triangles) are automatically laminar, and all separating triangles can be found in linear time [3]. Each of these decompositions gives a natural way of partitioning a graph into pieces with greater connectivity and therefore a more constrained structure. Many algorithms for graphs and particularly for planar graphs use these decompositions to reduce the problem they solve to simpler cases.

However, this nice picture of canonical and automatically-laminar sets of partitions, constructed in linear time, breaks down for -connected planar graphs that are not maximal. In such graphs, there may exist a nonlinear number of -cutsets (also called separating triples or -separations) and not all -cutsets are laminar. For instance, the wheel graphs have quadratically many -cutsets, but only linearly many of these can form a laminar family. Therefore, it would not be efficient to list all -cutsets and then select a maximal laminar subset of them. Augmenting a -connected planar graph to be maximal, and listing all separating triangles in the augmented graph, may produce a laminar set of -cutsets that is not maximal in the original graph. Thus, the first unresolved case for finding laminar cutsets efficiently in planar graphs is the case when the graph is -connected but not maximal and we seek to decompose it according to its -cutsets. Such decompositions have been studied before, and applied as part of other algorithms for planar graphs and related graph classes, but with a focus on logarithmic space complexity or on applications of these decompositions rather than as here on the time efficiency for finding the decomposition [15, 14, 2, 7].

Figure 1: A -connected planar graph (yellow vertices and black edges) and a maximal laminar set of four -cutsets (the triples of vertices that the four red and blue curves pass through). There are five other ways of choosing a maximal laminar set of -cutsets in the same graph.

1.1 New reults

In this paper, we describe a linear time algorithm to find a maximal set of laminar -cutsets in a -connected planar graph (Figure 1). Our algorithm can also be used to find a maximal set of laminar constrained -cutsets, when we limit the cutsets to belong to one of several families including the following: (i) all 3-cuts, (ii) all non-trivial 3-cuts, and (iii) all -non-shiftable -cuts for some vertex  in such a graph. Here, we say that a cutset disjoint from is -non-shiftable for some vertex  if it is disjoint from and every vertex of has at least two neighbours that are not in the component of containing . (That is, these neighbours must either be in a different component or in itself.)

One of the main motivations of our work is that it forms an important subroutine in a recent linear-time algorithm of Kawarabayashi et al. for finding disjoint paths in graphs that are not necessarily planar [10]. The case of -non-shiftable -cuts is the one needed for this application.

1.2 Overview

The basic idea of our algorithm is to follow the following outline:

  • Form a derived planar graph (the barycentric subdivision, or incidence graph of vertices, edges, and faces in the unique planar embedding of the given graph) such that -cutsets in the original graph correspond uniquely to certain -cycles in the derived graph, which we call canonical cycles.

  • Apply a planar subgraph isomorphism algorithm [6] to find all the canonical cycles, and all the non-laminar pairs of canonical-cycles, in the derived graph. Construct from them a conflict graph in which the vertices are -cycles and the edges are non-laminar pairs.

  • Find and return a maximal independent set of vertices in the conflict graph.

Figure 2: A wheel graph has quadratically many -cutsets, formed by the hub and any two non-adjacent vertices of the outer cycle, and quartically many non-laminar pairs of -cutsets.

However, in its basic form, this algorithm does not take linear time. The issue is that some -connected planar graphs such as the wheels (Figure 2) may have as many as -cutsets and as many as non-laminar pairs of -cutsets, making the conflict graph too large. To get around this problem, we show that all of the non-linear complexity of the conflict graph can be attributed to certain disjoint wheel-like structures in the derived graph that we call frames. Using these structures gives us a refined algorithm outline that performs the following steps.

  • Construct the derived graph as before.

  • Apply a planar subgraph isomorphism algorithm to find all maximal frames in the derived graph.

  • Separately, for each frame, find a nearly-maximal laminar family of canonical cycles that cannot conflict with the cycles for any other frame.

  • Cut the derived graph along all of these -cycles into subproblems within which there are no frames, and within which all -cycles are laminar with the ones already chosen for the frames.

  • Construct the conflict graph for the union of the subproblems and find a maximum independent set in this conflict graph.

  • Return the union of the -cutsets found within each subproblem and the -cutsets found within each frame.

In the following sections we expand on these ideas.

2 The basic algorithm

In our description of our algorithm we will occasionally refer to the inside or the outside of a cycle in our embedded graph. In order for this language to make sense, we choose (arbitrarily for now) one face of a planar graph to be the “outer” face. With this choice, the outside of a cycle in the graph is the side that contains the outer face, and the inside is the side that does not contain the outer face. The vertices and edges of the cycle itself are neither inside nor outside. One cycle contains another one laminar to it if the contained cycle includes edges from the inside of the containing cycle.

2.1 From cutsets to cycles

We begin with some basic properties of -cutsets in -connected planar graphs.

Definition .

A -cutset in a -connected graph is a subset of three vertices whose deletion would disconnect the remaining graph. A cutset is trivial if it consists of the three neighbours of a degree-three vertex, and non-trivial otherwise.

Rather than seeking -vertex cuts in the given -connected planar graph directly, we will instead seek certain constrained -cycles in the barycentric subdivision (Figure 3). This is defined as follows.

Figure 3: A graph and its derived graph
Definition .

The barycentric subdivision of a -connected planar graph has a vertex for each vertex, edge, or face of the unique planar embedding of . It has an edge for each incident vertex-edge, vertex-face, or edge-face pair in .

The resulting graph is planar, with a planar embedding inherited from . Each face of is a triangle, and corresponds to a flag in , an incident triple of a vertex, edge, and face. Clearly, it can be constructed from in linear time.

Definition .

A canonical cycle is an induced -cycle in that alternates between vertices of and non-vertices of such that, whenever two vertices and of belong to the cycle and are adjacent in , the canonical cycle follows the path in . Additionally, we require that the six vertices of the induced cycle not be the six neighbours of a triangular face of .

An example of a 3-separation and the corresponding canonical cycle is depicted in Figure 4.

Figure 4: A separating triple in a graph (the three larger green vertices) and the corresponding canonical cycle in the derived graph (the heavy green cycle)
Lemma .

The -cutsets of a given -connected planar graph correspond one-for-one with the canonical cycles of . Each -cutset of forms three of the six vertices of a canonical cycle, and each canonical cycle is derived from a -cutset in this way.

Proof.

A triple of vertices can all belong to at most one canonical cycle, for if any two of the vertices are connected by an edge in then the cycle must pass through the vertex of corresponding to that edge, and if there is no such edge then there can be at most one face of containing both vertices by the assumption of -connectivity. So for each pair of vertices in the triple, there is only one two-edge path in that connects that pair and can be part of a canonical cycle.

Every -cutset corresponds to a canonical cycle. For, if is a -cutset, must have exactly two connected components: each component attaches to all three vertices of , else would not be -connected, and more than two components could be contracted to form a minor, contradicting the planarity of . Contracting each component of to a single vertex produces a drawing of (possibly with some additional edges connecting pairs of vertices in ) in which one can draw a simple closed curve that alternates between vertices of and faces of the drawing and that separates the two contracted components. The contraction process can then be reversed to produce a curve through the drawing of that again alternates between vertices of and faces of the drawing and that separates the two components of . If this is not already a canonical cycle, it can be made into one by replacing some of the faces by edges between pairs of vertices in .

The three vertices in of every canonical cycle cannot all be incident to one face of , by the following case analysis:

  • A -cycle through the three vertices and would not be induced.

  • A -cycle through the three vertices and any other face would not be canonical, because it should instead use the edge separating from .

  • A -cycle through the three vertices and no faces would form a triangle surrounding , and therefore would not be canonical.

Therefore, both inside and outside the canonical cycle there must exist a path with at least one interior vertex separating the face containing two of the canonical cycle vertices from the third vertex. The three vertices then separate the interior vertices of the paths inside the canonical cycle from those outside the canonical cycle, so every canonical cycle corresponds to a -cutset. ∎

2.2 Laminarity

We formalize the concept of laminar and non-laminar pairs of -cutsets and canonical cycles in the following definitions.

Definition .

Two abstract sets and , subsets of a universe , are laminar if , , or , and non-laminar if all three of the sets , , and are nonempty. Two -cutsets and of a -connected planar graph are non-laminar if separates two vertices of (that is, includes vertices in both of the components of ) or if separates two vertices of ; otherwise, they are laminar. Two canonical cycles and of are laminar if the sets of faces of interior to and to (viewed as subsets of the set of all faces of ) are laminar, and non-laminar if these two sets of faces are non-laminar.

By the following observation, we can find laminar cutsets by searching for laminar canonical cycles.

Observation .

Any two -cutsets of a -connected planar graph are laminar if and only if the corresponding two canonical cycles of are laminar.

2.3 Finding small subgraphs

Both in the basic version of our algorithm (in which we construct the conflict graph of canonical -cycles) and in the full version (which also involves finding wheel-like subgraphs and using them to partition the problem into simpler subproblems) we need to solve a form of the planar subgraph isomorphism problem. In this problem, we are given a small pattern graph and a larger text graph , and must list all subgraphs of that are isomorphic to . We apply a known linear-time solution for this problem:

Lemma (Eppstein [6]).

Let and be planar graphs, both of whose vertices have been assigned (not necessarily distinct) labels. Let (considered to be variable), and . Then there is a computable function such that it is possible to list all instances of as a labeled subgraph of , or as an induced labeled subgraph of , in time , where is the number of instances to be listed. The method extends to partially induced subgraphs in which some pairs of nonadjacent vertices in must correspond to nonadjacent vertices in , and other pairs are not so constrained.

The solution technique involves using groups of consecutive layers of a breadth-first search tree to cover by a collection of subgraphs of bounded treewidth, with total linear size, such that every subgraph of with diameter at most is entirely contained in one of these bounded-treewidth subgraphs. Then, standard dynamic programming methods within each bounded-treewidth subgraph may be used to find all copies of that belong to that subgraph and do not belong to earlier subgraphs in the collection. Since its original publication, this algorithm has been improved to have only single-exponential dependence on the parameter  [5], and it has been greatly generalized to the problem of testing any first-order property in classes of graphs with bounded expansion [13].

The same methods can be used in the same way to prove the following variation, in which the subgraphs that we list as output are part of larger patterns:

Lemma .

Let be a labeled planar graph with vertices, be a labeled planar graph with vertices, let be a subgraph of , and consider to be variable and to be constant. Then it is possible to list all placements of as a subgraph of that can be extended to placements of as a subgraph of , in time proportional to and to the number of placements of produced as output.

This allows us to find canonical cycles efficiently:

Lemma .

It is possible to list all canonical cycles in in time proportional to its size and number of canonical cycles.

Proof.

We will show that this can be solved using subsection 2.3. Each canonical cycle in will be the labeled planar graph of the lemma, with the three labels , , and being used to distinguish vertices of that correspond to vertices, edges, and faces of respectively. A canonical cycle is a -cycle whose labels alternate between and non- vertices; there are four patterns of labels according to how many and labels there are in the cycle. We will treat each of these four patterns as the subgraph in four instances of subsection 2.3, augmented to be part of a larger subgraph whose added vertices and edges prevent us from listing -cycles that are not canonical. If is any labeled -cycle that alternates between vertices labeled and non-, we augment to form as follows:

  • For each vertex of labeled , we add two vertices labeled , adjacent both to the vertex and its two neighbours in the cycle.

  • For each vertex of labeled , we add four vertices labeled , two of which are adjacent to it and its clockwise neighbour in the cycle, and the other two of which are adjacent to it and its counterclockwise neighbour.

The four possible expansions of a canonical cycle, formed in this way, are depicted in Figure 5. In any canonical cycle of , these vertices will necessarily exist (as the neighbouring edges or faces in to the faces or edges of the canonical cycle) and be distinct from each other: any coincidence between two added -vertices would mean that the -cycle is not induced or the boundary cycle of a triangular face, and any coincidence between two added -vertices would mean that the -cycle is not induced or goes through a face when it could go through an edge, none of which is allowed in a canonical cycle. Conversely, any -cycle in that can be extended to a subgraph matching one of these augmented graphs is necessarily canonical. Therefore, all canonical cycles can be found by combining four instances of subsection 2.3, one for each pair. ∎

Figure 5: The four possible expansions of a -labeled canonical cycle (larger vertices and thicker edges) into an augmented subgraph of , for the proof of subsection 2.3.

To find non-trivial or -non-shiftable cutsets, we will use the same method to find all canonical cycles, and then filter out the trivial or shiftable ones as an extra postprocessing step. (It would also be possible to describe larger patterns that could be used to find these cutsets directly, without the filtering, but this would require a more complicated case analysis and would not speed up our overall algorithm.)

In order to find non-laminar pairs of cycles, we need a variation of the same subgraph isomorphism technique that can find subgraphs whose embedding (as induced from the unique embedding of the given -connected planar graph) is of a given type. This is not a first-order graph property, but it can also be tested in the same time bounds, as an instance of the planar subdrawing equivalence problem defined by Dorn [5]. We state this result as the following lemma.

Lemma (Dorn [5]).

Let be a labeled plane graph with vertices, be a labeled plane graph with vertices, and consider to be variable and to be constant. Then it is possible to list all instances of as a labeled subgraph of , with the induced embedding of the subgraph matching the given embedding of , in an amount of time that is linear in  and in the number of copies of .

To use this to find non-laminar pairs, we consider all of the ways in which two of the subgraphs from Figure 5 can overlay each other to form a single embedded non-laminar pair, and apply subsection 2.3 to find all instances in of each of these patterns. We omit the (finite but messy) case analysis.

2.4 Constructing the conflict graph

Given a vertex-labeled graph (either the derived graph or one of its subgraphs) we define the conflict graph as follows.

Definition .

The conflict graph of a graph is another graph, with vertices in one-to-one correspondence with the canonical cycles in . Two vertices in are adjacent if and only if they correspond to a non-laminar pair of canonical cycles.

We can use planar subgraph isomorphism techniques to construct .

Lemma .

We can construct in time linear in the sum of the sizes of the input and output graphs.

Proof.

We use subsection 2.3 to find all canonical cycles of , and subsection 2.3 to find all embedded subgraphs in the form of two non-laminar canonical cycles. This produces an object for each vertex and edge of . An adjacency list representation of , matching each vertex to its incident edges and vice versa, can be constructed by labeling the vertices of by distinct integers from to  (where is the total number of vertices), labeling each canonical cycle by a cyclically reduced -tuple of these vertex labels, using radix sort to jointly sort the vertices and edges of (with two copies of each edge) by the labels of their canonical cycles, and finding incident pairs of vertices and edges of adjacent to each other in the sorted order. ∎

This gives us the main algorithm that we will apply to find maximal laminar sets of cycles, after decomposing the problem into subproblems within which can be proved to be linear.

Lemma .

Given a vertex-labeled graph , we can find a maximal laminar set of canonical cycles in in time linear in the sum of the sizes of and of . The same technique applies to any subset of the canonical cycles that can be identified by the subgraph isomorphism techniques of subsection 2.3 or subsection 2.3, and in particular to the canonical cycles corresponding to nontrivial or -non-shiftable -cutsets.

Proof.

We use subsection 2.4 to construct , and then apply a linear-time greedy algorithm that constructs a maximal independent set in by considering each vertex one by one (in an arbitrary order), including it in the independent set if and only if none of its neighbours has been already included. The times to construct and to perform the greedy maximal independent set algorithm are both linear in the sum of the sizes of the graphs. The canonical cycles in that correspond to the vertices of the maximal independent set form a maximal laminar set of cycles. In the cases of nontrivial or -non-shiftable -cutsets, we find a maximal independent set in an induced subgraph of that includes only the relevant types of cutsets, rather than the whole conflict graph. ∎

3 Sparsifying the conflict graph

In this section we describe how to decompose into subgraphs of two types: frames, wheel-like substructures containing many non-laminar pairs of canonical cycles, and subgraphs without frames, in which the conflict graph can be shown to be sparse. The decomposition will have the properties that all canonical cycles of can be found in one of these subgraphs, and that no two canonical cycles from different subgraphs can be non-laminar. Therefore, after decomposing the graph in this way, we will be able to find a maximal set of canonical cycles separately in each subgraph.

3.1 Allowable cycles

In performing this decomposition, it is convenient to consider, instead of the canonical cycles of , a different type of cycle, which we call allowable cycles. The allowable cycles will still correspond to -cutsets of , but the correspondence is not one-to-one: each non-trivial -cutset can be represented uniquely as an allowable cycle, but each allowable cycle can represent different -cutsets. In exchange for this ambiguity, the ways that allowable cycles can cross each other will be more restricted, making our case analysis simpler.

Definition .

In , we define an allowable cycle to be an induced -cycle that avoids the following forbidden configurations:

  1. paths of the form , where and are adjacent vertices of that both belong to the same face of , and

  2. paths of the form (where and are the two faces of that share edge ).

  3. cycles in which all six vertices have a common neighbour.

Figure 6: Illustration for subsection 3.1. An allowable cycle cannot pass through the two consecutive edges and of face , for to do so it would have to either be completed through (inner dashed blue curve), making it a non-induced cycle, or through an edge (outer dashed red curve), making its six vertices have the common neighbour .

Another forbidden configuration is not part of the definition, but follows automatically from it:

Lemma .

If is a face of , and is an allowable cycle containing , then the two neighbours of in cannot be edges that share a common vertex.

Proof.

Suppose that and are edges of , and that the faces on the other sides of these edges from  are and respectively; these features of are illustrated in Figure 6. In any allowable cycle passing through , the cycle must continue on both sides as , for continuing instead through the only other neighbours of and in (the vertices , , and ) would cause the cycle to be non-induced, as these vertices are all incident to . The sixth vertex of the cycle must be a feature of that is a common neighbour of faces and , and this can only be either the vertex or another edge . But neither of these choices completes an allowable cycle: using  would create a cycle that is not induced (because is incident to ; the inner blue cycle of the figure) while using would create a cycle in which all six vertices have the common neighbour  (the outer red cycle of the figure). ∎

We now describe a general method of converting allowable cycles into canonical cycles.

Definition .

If is an allowable cycle, we define a shift of to be the cycle formed by replacing each path in of the form (where is an edge of and and are the two incident faces) by one of the two paths of the form or (where and are the two endpoints of ), and then replacing each path in of the form where and are adjacent in by the path .

Observation .

Every allowable cycle has at most eight shifts: each shift is defined by the choice of which endpoint to use to replace one or more edges in the cycle, there are two choices per replaced edge, and the replaced edges are non-adjacent in the cycle so there are at most three replaced edges.

Shifts do not always produce canonical cycles, but the exceptions are highly constrained:

Lemma .

Every shift of an allowable cycle is either a canonical cycle or the set of six neighbours of a triangular face in .

Proof.

Because allowable cycles are induced cycles, every edge of that belongs to has as its two neighbours in either the two endpoints of or the two faces separated by ; in the latter case, is replaced by a vertex of in . Therefore, for every two consecutive vertices of , exactly one of the two corresponds to a vertex of , either because the two corresponding consecutive vertices of  already included a vertex of or because they were an incident edge-face pair in of which the edge was replaced in by a vertex. Therefore, alternates between vertices of and non-vertices, and the three vertices are all distinct by subsection 3.1.

Figure 7: Cases for subsection 3.1, showing a hypothetical allowable cycle (blue) and its shift (red). Left: cannot contain an incident pair of an edge and face , where is shifted from face , because then only one of the two endpoints and could be included in as the shift of edge in . Right: cannot contain an incident but non-consecutive pair of a vertex and face , because could only be included as the shift of an edge (else would be non-induced) and then would necessarily pass through the edges separating from the faces and on either side of , violating subsection 3.1.

Whenever two vertices and of in are adjacent, the vertex between them in must correspond to the edge in , because paths from to through a face are replaced by paths through this edge as part of the definition of the shift.

cannot include any incident pair of an edge and a face in . For, if both elements of the pair also belonged to , they would have caused it to be non-induced, violating the definition of an allowable cycle. If, on the other hand, includes an edge that was shifted from a face , and also includes a face incident to (Figure 7, left), then (as and share the edge ) to be an allowable cycle, would have to include the sequence . In this case one of or (without loss of generality ) would be included in as the shift of the edge , but the other vertex could not be included: it could not have been part of because then the incidence would cause to be non-induced, and it could not have been added to as the shift of another edge, different from , by subsection 3.1.

cannot include a non-consecutive but incident pair of a vertex and edge in , because for each vertex of in , the only non-consecutive non-vertex feature of in is the feature connecting the other two vertices, which we have already argued are distinct. It also cannot include a non-consecutive but incident pair of a vertex and face in , because then all three vertices of would be incident to . If were part of , then would be non-induced. Otherwise, if  was shifted from an edge in , and separates faces and , then must pass through the sequence (Figure 7, right). The other two vertices of in must be on edges that separate and from , and to be an allowable cycle must connect to and to through these edges; but this violates subsection 3.1. Thus, since none of the possible cases for a non-consecutive but incident pair can occur in , it must be the case that forms an induced cycle.

Thus, all the conditions from the definition of a canonical cycle, except the condition that  cannot be the set of six neighbours of a triangular face of , are met. ∎

We saw earlier that canonical cycles correspond one-for-one with separating triples. In particular, each separating triple can be represented by a canonical cycle. We now prove a corresponding result for allowable cycles.

Lemma .

Let be a separating triple of . Then there is an allowable cycle in such that , , and are vertices of a shift of .

Proof.

Draw a Jordan curve in the plane that passes through , , and , is otherwise disjoint from , and separates the two components of ; let , , and be the three faces crossed by this curve. Form a -cycle in by starting with the six objects in cyclic order , replacing , , or by the edge , , or if those edges belong to , and then replacing , , or by a shared edge between two of the faces , , or if both faces remain in the cycle and share an edge. Then, is necessarily a cycle in . It is an induced cycle, because the existence of any chord of the cycle would imply that , , and are co-facial and therefore non-separating. And the replacement of vertices or faces of by edges in , when possible, prevents any of the forbidden paths from occurring. Therefore, is an allowable cycle whose shift includes , , and . ∎

Note however that a separating triple may be represented by multiple different allowable cycles.

Lemma .

For any two vertices and in there can be at most one way to connect to by a two-edge path that is part of an allowable cycle.

Proof.

We consider the possible types of object in corresponding to vertices and :

  • If and both correspond to vertices of then these vertices can be connected either by a single face (in which case the vertex of corresponding to that face is the only possible middle vertex of the path) or by two faces that share an edge (in which case the vertex of corresponding to that edge is the only possible middle vertex of the path).

  • If and both correspond to edges of then those two edges can be non-incident edges of a common face (in which case the vertex of corresponding to that face is the only possible middle vertex of the path), they may be non-consecutive edges incident to the same vertex (which gives the only possible middle vertex of the path), or they may share both a vertex and a face. However, in this final case there is no allowable cycle that uses the shared face by subsection 3.1.

  • If and both correspond to faces of then these faces can share either a single vertex, or an edge and its two endpoints, and in either case there is only one choice for the middle vertex of the path.

  • If corresponds to a vertex of and corresponds to an edge of then the middle vertex of the path must correspond to a face of . There can only be one face incident to this vertex and disjoint edge without violating the assumption that is 3-connected.

  • If corresponds to a vertex of and corresponds to a face of then there can be no allowable cycle that uses a two-edge path from to , for all two-edge paths must pass through a middle vertex corresponding to an edge of and would not be induced paths.

  • If corresponds to an edge of and corresponds to a face of then the middle vertex of the path must correspond to a vertex of , incident to both the edge and the face. There can only be one such vertex, else and would be adjacent in and could not be two steps apart in an induced cycle.

3.2 Frames

Our analysis focuses on the following structure, which allows us to group sets of mutually non-laminar cycles into a single unit.

Definition .

For , a -frame is a structure of in which:

  • Both and are vertices of .

  • Each is an induced three-edge path from to .

  • Each two distinct paths and are internally vertex disjoint.

  • The paths are numbered in their cyclic ordering (or its reverse) around and in the given planar embedding.

  • None of the paths contain one of the or triples that are forbidden in an allowable cycle.

The poles of the frame are the vertices and .

The next two lemmas restrict the types of vertices in that can be poles of frames.

Figure 8: A planar graph with nine vertices and nine faces (left), and an allowable -frame in .
Lemma .

If is not , and is one pole of a frame in then cannot correspond to an edge of .

Proof.

Suppose for a contradiction that is the pole of a frame and corresponds to an edge of . Then the frame can have only four paths, one for each of the four neighbours of in , alternating between vertices and faces of . The opposite pole must also correspond to an edge of , because if corresponded to a face there would be no induced two-edge induced paths from the vertex neighbours of to it, and symmetrically if corresponded to a vertex there would be no two-edge induced paths from the face neighbours of to it. Symmetrically, the remaining four vertices of the four paths in the frame must be the four neighbours of .

Thus, in this configuration can only arise when we have two edges and with the property that the endpoints of each edge lie on the faces adjacent to the other edge. For to avoid having two endpoints of these two edges as a -cutset, it can only be , with and as antipodal edges. ∎

Lemma .

If is not , then for every frame in the two poles correspond to one face and one vertex of .

Proof.

By subsection 3.2, each pole must correspond to a face or a vertex of . It is not possible for both poles to correspond to vertices of , because does not contain any induced three-edge paths that start and end at vertices of . For the same reason it is not possible for both poles to correspond to faces of . Therefore, one pole must correspond to a face and the other to a vertex. ∎

3.3 Frames from non-laminar cycles

Frames capture the only ways in which allowable cycles can be non-laminar, as the next lemma shows.

Lemma .

If two allowable cycles cross in then their union is a -frame.

Proof.

If two allowable cycles are non-laminar then their intersection is a subgraph with at least two connected components. However, if the intersection contains two vertices that are one unit apart on one cycle, it contains the edge between them, because both cycles are induced. And if it contains two vertices that are two units apart on one cycle, then it contains the two-edge path connecting them, because (by subsection 3.1) there is only one way for an allowable cycle to connect these two vertices and the other cycle must connect them in the same way. Therefore, in order for the intersection to contain two or more separate components, there must be exactly two components, each consisting of a single vertex, antipodal to each other. These two antipodal vertices form the poles of a -frame. ∎

We can collect larger numbers of mutually crossing cycles into maximal frames, defined below.

Definition .

A -frame is maximal if there does not exist a -frame with the same two poles and a superset of the same paths.

When a frame is maximal, it encompasses all of the allowable paths between its poles:

Lemma .

If is a maximal frame with poles and , and is an allowable three-edge induced path from to , then must be one of the paths of .

Proof.

cannot be disjoint from all the paths, or else would not be maximal. And an allowable induced path from to is determined by any one of its interior vertices, so cannot have a non-trivial intersection with a path in unless it coincides with that path. Since it cannot be disjoint from all paths and it cannot have a partial intersection with any of the paths, it must be one of the paths. ∎

Because maximal frames cover all allowable paths, they also cover all of the allowable cycles through their two poles:

Lemma .

If is an allowable cycle in a graph that is not , and are vertices of , and is a maximal frame with poles and , then must be the union of two paths of .

Proof.

By subsection 3.2 and the fact that the paths of a frame are induced, for and to be poles of , they must be a non-incident vertex-face pair in , which necessarily have distance at least three from each other in . Therefore, they can only be in antipodal positions of , and must be formed by two induced paths of length three from to . By subsection 3.3, these paths must both belong to the given maximal frame. ∎

3.4 Big frames

When a frame has sufficiently many paths, it cannot be crossed by any other allowable cycles than the ones formed by its paths.

Definition .

A big frame is a frame in that has ten or more paths.

Lemma .

Let be a maximal big frame. Then every allowable cycle of is either formed by two paths of , or lies between two paths of without crossing them.

Proof.

Let be an allowable cycle that is not formed by two paths of . Then by subsection 3.3, can only intersect at the two interior vertices of each path. It cannot cross a single path of twice, because the edge between the two crossing points would cause it to be non-induced. But the only other way for it to cross any of the paths of would be for it to loop around the two poles crossing each path exactly once, an impossibility because has only six vertices and there would necessarily be ten or more crossing points. ∎

It is not necessarily the case that every pair of allowable paths in a frame forms an allowable cycle. But when two allowable paths are far enough apart from each other in the cyclic ordering of paths around the poles of a frame, they do form an allowable cycle.

Lemma .

Let be a big frame and let be a cycle formed by paths that are separated from each other in both directions in by at least four other paths. Then is an allowable cycle. Every shift of is a canonical cycle that includes both poles of .

Proof.

Because of the separating paths, cannot be induced nor can it be the neighbourhood of a single vertex in . The separating paths also prevent from having non-allowable triples of vertices at the poles of . When is shifted, vertices of that correspond to edges of (incident to the face pole) may shift to endpoints of those edges, belonging to adjacent paths of . However, even after this change, these endpoints will still be separated by two more of the four paths. Therefore, they cannot be adjacent to each other in and it will not be possible to shift the face pole of . The resulting cycle is separating in , again because of the two paths that remain, so it is canonical. ∎

3.5 When there are no big frames

Our eventual algorithm will subdivide into subgraphs, some of which are big frames and others of which do not contain any big frames. As we show now, having no big frames implies that there are few allowable cycles and few conflicting pairs of allowable cycles, so the conflict graph will have linear size.

Lemma .

Suppose that is an allowable cycle in , is a vertex of , and is a set of allowable cycles that all cross at . Then no two cycles in pass through the same two neighbours of in .

Proof.

All cycles in must contain the vertex antipodal to in , by subsection 3.3. And each cycle in is determined by and by the two neighbours of  that belong to the cycle, by subsection 3.1. Thus, there can be at most one cycle in for each pair of neighbours of . ∎

Lemma .

Suppose that is an allowable cycle in and is a set of allowable cycles that all cross . Then the union of and contains a -frame for .

Proof.

We may assume (with a factor of three loss in the size of ) that all cycles in cross at the same two antipodal points and . By subsection 3.5 these cycles must have different pairs of neighbours at , and therefore there must be neighbours among them, for otherwise there would not be enough pairs of neighbours to distinguish all the cycles in  from each other. By subsection 3.3 each neighbour is represented by one of the paths in a frame that is maximal among the frames contained in the union of and . ∎

It follows from subsection 3.5 that, in a subgraph of with no big frames, each allowable cycle crosses only a bounded number of others. We will use this to show that, for certain subgraphs of , there are a linear number of canonical cycles and pairs of non-laminar canonical cycles, but we need to restrict the subgraphs in order to relate canonical cycles to allowable cycles in them.

Definition .

An allowable subgraph is a subgraph of with the property that every canonical cycle in the subgraph is a shift of an allowable cycle that is also in the subgraph.

We use the well-known crossing lemma of Ajtai et al. [1, 11] to transform a constant bound on the number of crossings per cycle into a linear bound on the total number of cycles.

Lemma (the crossing lemma [1, 11]).

Let be a drawing in the plane of a simple graph (not a multigraph) with vertices and edges, with , with each intersection of two edges being either a shared endpoint of both edges or a proper crossing point. Then in the drawing, pairs of edges cross.

Lemma .

Let be a subgraph of containing vertices and not containing any -frame, where is variable but is an arbitrary fixed constant. Then contains allowable cycles.

Proof.

By subsection 3.5, each pair of vertices in can be the antipodal vertices of allowable cycles, for otherwise the cycles for some pair could be combined to form a large frame.

Consider choosing one allowable cycle through each antipodal pair, finding two representative points for the corresponding objects in a planar embedding of , and drawing one of the two paths between these antipodes in the chosen allowable cycle as a curve in . By perturbing these curves so that they do not coincide in when the corresponding paths have a nonempty intersection in , it is possible to draw this system of curves in such a way that two curves cross if and only if they come from allowable cycles that cross. The system of curves has vertices and a number of curves proportional to the number of allowable cycles, and forms a drawing of a simple graph with these numbers of vertices and edges.

If there is to be no -frame, then by subsection 3.5 each curve can be crossed only times. And for this to happen, by the crossing lemma there can be only curves. ∎

Corollary .

Let be an allowable subgraph of containing vertices and not containing any -frame, where is variable but is an arbitrary fixed constant. Then the conflict graph has vertices and edges.

3.6 Finding the frames

Lemma .

The maximal big frames of have total size that is linear in the size of and can be constructed from in time linear in the size of .

Proof.

The linear complexity of the set of maximal big frames follows from the fact that we can find a planar drawing of the graph that connects the pairs of poles of each maximal big frame, by routing the edge between each pair of poles along one of the paths of the frame: no two frames can have crossing edges, by the fact that any path of any big frame belongs to an allowable cycle (subsection 3.4) and this cycle cannot cross any other frame (subsection 3.4).

To construct the set of maximal big frames, we apply subsection 2.3 to find all paths that belong to a big frame. We number the vertices of , label the paths by the two numbers at their endpoints, and radix sort the paths by these two-number labels. The sorted order groups together paths that have the same two endpoints, and the union of all paths with the same two endpoints is a maximal big frame. ∎

4 Orienting the graph

As part of our algorithms, it will be helpful to have a data structure that can distinguish one side of a cycle from another, or tell which of two cycles contains the other. We will use this data structure for three purposes: to build a tree-decomposition from a set of laminar cycles, to choose cycles from frames in a way that allows each frame’s cycles to be chosen independently without conflict from other frames, and to determine whether a -cutset is -non-shiftable.

4.1 Counting inner faces

We first describe a simple data structure for counting the inner faces of a cycle.

Figure 9: Computing the number of faces inside a cycle as the signed sum of sizes of subtrees in a dual spanning tree. In this example, there are interior faces.
Lemma .

Let be an arbitrary embedded planar graph, with one of its faces chosen to be the outer face. Then in time linear in the size of we can construct a data structure such that, for any simple cycle in , we can determine which side of is inside and count the faces of inside in time .

Proof.

Let be an arbitrary spanning tree of the dual graph of , rooted at the dual vertex of and directed away from the root. Then we associate with each edge of two pieces of information: its orientation in (that is, which face of it is directed from and which it is directed to), and the number of dual vertices of in the subtree reached by that edge. These may be calculated by a straightforward bottom-up traversal of .

Then, to calculate the number of faces on one side of , we compute , where an edge contributes to the sum if its dual edge in points into the chosen side of , and if its dual edge in points out from the chosen side (Figure 9). If the chosen side is the inside of , this sum will be positive, and will count the faces inside . If the chosen side is the outside, it will be negative, and will count the faces inside . ∎

The same dual spanning tree can also be used to test containment of one cycle in another.

Lemma .

Let be an arbitrary embedded planar graph, with one of its faces chosen to be the outer face. Then in time linear in the size of we can construct a data structure such that, for any two simple cycles in , we can determine whether contains in time . If we already know that and are laminar, the time can be reduced to .

Proof.

We use the same spanning tree of the dual graph of used in subsection 4.1, together with a standard trick for testing ancestry in trees: We associate with each node of its index into the preorder and postorder traversals of the tree. A node in is an ancestor of another node if and only if has both a lower preorder number and a higher postorder number than .

To test whether cycle contains cycle , we determine which side of is its inside (using subsection 4.1) and then check, for each face adjacent to an edge of on its inside, whether that face is also contained in . If and are known to be laminar, this check can be reduced to a single one of the faces adjacent to an edge of , together with a symmetric check for whether a single face adjacent to an edge of is contained in .

To check whether a face of is contained in a cycle , we check whether each edge of lies on the path from to the root of . It is on this path if and only if the child endpoint of the edge is equal to or is an ancestor of . If the number of edges of

on this path is odd,

contains , and if this number is even then does not contain . ∎

4.2 Building a tree-decomposition

Lemma .

Let be an embedded -vertex-connected planar graph, and be a laminar set of canonical cycles in . Then in linear time we can construct a tree decomposition of adhesion three whose cuts (corresponding to the edges in the tree decomposition) are exactly the -cutsets of that correspond to cycles in .

Proof.

Choose an outer face for arbitrarily. We apply subsection 4.1 to count the faces within each cycle of in linear time. Next, we use a bucket sorting algorithm to sort by this number of faces, largest to smallest. We make six copies of each cycle in this sorted list, one for each edge in each cycle. We apply a stable bucket sorting algorithm, a second time, on the list of these copies, to sort them by their edge labels. The result of this second sorting algorithm can be partitioned into a collection of lists, one for each edge of , of the cycles that use that edge in sorted order by the number of faces they contain. By applying subsection 4.1 we may then split this sorted list into at most two sorted lists of cycles that all contain each other, sorted from outer to inner.

Next, we construct the -regular dual graph of and remove from it the edges that belong to cycles in . The connected components of this dual subgraph describe the pieces of formed by cutting the plane along all cycle edges.

Next, we find a “parent cycle” for each cycle in and for each connected component of the dual subgraph. The parent cycle of a cycle or component is the innermost cycle that contains or (other than itself). To find this parent cycle, we apply the following rules:

  • The parent cycle of the component of the dual subgraph containing the outer face is the outer face.

  • If a cycle in appears in one of the sorted lists of cycles that all contain each other, and is not the first cycle in that list, then its parent cycle is its predecessor in the list.

  • If a component has a boundary edge on one of its faces with a nonempty sorted list of cycles that all contain each other, and if the innermost cycle on this list contains , then the parent cycle of is this innermost cycle.

  • If an edge of has two sorted lists of cycles, then the outermost cycles of the two lists have the same parent cycle.

  • If An edge of has one sorted list of cycles, and is the face incident to this edge that is not contained in any of these cycles, then the component containing and the outermost cycle of the list have the same parent cycle.

By applying a connected component algorithm to the undirected graph of “same parent cycle” relations described above, we can determine the parent cycle for every face or component in linear time.

We form a tree decomposition with one bag for the interior of each cycle of , and one additional bag for the outside (the part of containing the chosen outer face). Each vertex of that belongs to a cycle of is assigned both to the bag for and the bag for the parent cycle of . A vertex may belong to multiple cycles, and be assigned in this way to multiple bags, but these bags will necessarily form a connected subtree rooted at the innermost cycle that contains but does not pass through the given vertex. Each vertex of that does not belong to a cycle of is assigned to one bag, the bag for the parent cycle of the component of the dual subgraph that contains all the faces incident to that vertex.

The nesting structure of the cycles ensures that the bags and their parent relation form a tree. Each edge in whose vertex in belongs to a cycle in has its endpoints associated with the bag of that cycle, and each edge in that does not participate in has its endpoints associated with the bag that contains its component of the dual graph of , so in either case both endpoints are together in at least one bag. Thus, the result is a valid tree-decomposition. The bag for a cycle and its parent share only three vertices in , the ones in , so the adhesion of the tree-decomposition is three and its cuts are the -cutsets coming from cycles in , as required. ∎

4.3 Rooting the frames

Figure 10: A configuration in a graph (left) and two maximal frames in (right) such that there is a non-laminar pair of canonical cycles shifted from an allowable cycle in each frame (red and blue dashed curves).

The allowable cycles from two different maximal big frames are always laminar. But if we choose an allowable cycle from two different maximal big frames, and shift these cycles to become canonical cycles, they may become non-laminar (Figure 10). We will use our data structure for determining the inside and outside of a cycle to help avoid this sort of conflict.

Again, let be (for now) an arbitrarily chosen outer face of . We define the root cycle of any frame to be the unique -cycle composed of two paths of the frame that are outermost with respect to all the other -cycles formed from other pairs of paths in the frame. Intuitively, the root cycle is composed of the two paths that are nearest , although this may not actually be true in terms of shortest path distance.

The following observation tells us that avoiding the root of each frame is sufficient to allow us to choose laminar sets of cycles independently for all frames, without having to worry whether the choice in one frame will affect what we do in a different frame.

Observation .

Let and both be distinct big maximal frames in . Choose an allowable cycle in each frame that is edge-disjoint from the root of its frame, and shift both cycles to produce canonical cycles. Then the two canonical cycles constructed in this way are necessarily laminar.

When a frame is rooted, we may use its root to distinguish the two directions in which each of the paths of the frame may be shifted. Given an allowable cycle formed by two paths and of the frame that are at least five steps apart from each other (so that by subsection 3.4 all their shifts are canonical), a shift may replace one of the paths, of the form vertex–face–edge–face (in the original graph ), by replacing the edge by one of its two endpoints (and then replacing vertex–face–vertex paths by vertex–edge–vertex paths when possible). Cycle separates these two endpoints, one of which is on the side of containing the root and the other of which is not. When we perform a shift that replaces an edge by an endpoint on the same side of as the root, we say that this shift is “towards the root” and when we replace an edge by an endpoint on the opposite side of from the root, we say that the shift is “away from the root”.

We also need a similar laminarity result to subsection 4.3 for cycles produced by shifting within a single frame. We must be more careful here: even if we shift a single allowable cycle from a frame in two different ways, the two resulting canonical cycles may be non-laminar. For instance, this will happen if both paths of the allowable cycle can be shifted in two ways, and we choose the two shifts to be the ones that shift one path towards the root and the other path away from the root. To prevent this non-laminarity, it suffices to constrain one path of the allowable cycle (or one shared path of two allowable cycles) to shift only in one of its two possible directions:

Observation .

Let , , and be three paths of the same big maximal frame in , with and not necessarily distinct from each other, but both at least five steps from in the cyclic order of paths of the frame. Form canonical cycles and by shifting and respectively, such that is shifted the same way in both and (but the shifts of the and may be arbitrary). Then and either coincide or are laminar.

4.4 Testing non-shiftability

Lemma .

For a given -connected planar graph and vertex , after linear time to build a data structure of linear size, we can test whether a given canonical cycle in corresponds to a -non-shiftable -cutset in constant time.

Proof.

We choose a face of incident to as the outer face, and build the data structure of subsection 4.1. Suppose that we wish to test whether a cycle is -non-shiftable. We can assume that does not contain , because otherwise the answer is immediate. For each vertex of that belongs to , we first examine its neighbours in to determine whether they are edges to other vertices of in . This check gives us zero, one, or two neighbours of that are not on the -side of . Next, we walk in around the triangles surrounding , starting from one of its two neighbours in and continuing into the interior side of , until either we find two edges of connecting to vertices interior to , or we reach the other neighbour of in without finding enough neighbours.

If any does not have enough neighbours, we return that is not -non-shiftable. If we find enough neighbours for all three vertices, we return that is -non-shiftable. The test takes constant time per cycle , because the walk for each vertex takes only a constant number of steps to terminate. ∎

5 The main results

We are ready to prove our main results, that maximal laminar sets of -cutsets of various types can be found in linear time.

5.1 Unrestricted -cutsets

Theorem 5.1.

Let be a -connected planar graph. Then in time linear in the number of vertices of , we can find a maximal laminar family of -cutsets in , and a tree-decomposition of adhesion three whose cutsets are the cutsets in the maximal laminar family.

Proof.

We perform the following steps.

  1. Find a planar embedding of , and construct from it.

  2. Choose an arbitrary face of to be the outer face, and initialize the face-counting data structure of subsection 4.1 and face-containment structure of subsection 4.1 on .

  3. Apply subsection 3.6 to find all maximal big frames in .

  4. For each maximal big frame , find a nearly-maximal laminar set of canonical cycles , as follows.

    1. Find the root cycle of frame by using the data structure of subsection 4.1.

    2. Let be a path of frame that is adjacent (in the cyclic order of the paths) to one of the two paths of the root cycle, but does not itself belong to the root cycle.

    3. Let be the set of allowable cycles , where is a path of frame that is at least five steps from in the cyclic order. For this choice of , it cannot be a path of the root cycle of . Each is allowable by subsection 3.4.

    4. For each allowable cycle , construct one or two canonical cycles , by shifting away from the root on path , and in either of the two possible shift directions on path . (The third vertex of on the cycle, at the point where all the paths of the frame meet, cannot be shifted.)

    5. Let be the set of all canonical cycles , constructed in this way.

    The sense in which is nearly-maximal is that the only possible canonical cycles that are not in but are laminar with , and are shifts of allowable cycles formed by two paths of , are in the two regions between and the paths three steps away. Within each of these regions, there are too few paths of to form a big frame.

  5. Let , the set of all canonical cycles found for all maximal big frames (removing any duplicate copies of cycles found in this way). By subsection 4.3 and subsection 4.3, is laminar.

  6. Cut along all edges in cycles of , producing a single disconnected graph , embedded onto a surface with boundary cycles of the graph along all of the cuts, and with the same set of faces as . To do so, form the dual graph of , remove from it the dual edges corresponding to edges in cycles of , and construct the connected components of the resulting dual subgraph. Within each connected component, add back the copies of the edges and vertices of surrounding each face of whose dual vertex belongs to the component. (Using different copies of these edges and vertices for each different component.) Because we cut along nearly-maximal laminar sets of cycles for all big frames, has no big frames.

  7. Apply subsection 2.4 to find a maximal laminar set of canonical cycles within . The -cutsets for cycles in will be our maximal laminar family.

  8. Apply subsection 4.2 to build and return a tree-decomposition for this set of -cutsets.

5.2 Nontrivial -cutsets

Recall that a -cutset is nontrivial when it does not consist of the three neighbours of a single vertex. The canonical cycles formed by paths five or more steps apart in a frame automatically produce nontrivial -cutsets, because the two or more remaining paths of the frame inside or outside the canonical cycle contain too many vertices of to correspond to a single vertex of . Therefore, the only step of the algorithm of Theorem 5.1 that needs to be modified, to produce laminar sets of nontrivial -cutsets, is Step 7, in which we use subsection 2.4 to find canonical cycles that are not associated with big frames.

Theorem 5.2.

Let be a -connected planar graph. Then in time linear in the number of vertices of , we can find a maximal laminar family of nontrivial -cutsets in , and a tree-decomposition of adhesion three whose cutsets are the cutsets in the maximal laminar family.

Proof.

We modify Step 7 of the algorithm of Theorem 5.1 so that, after constructing and before finding a maximal independent set in it, we check whether each vertex of represents a trivial or nontrivial -cutset, and we delete the vertices of that represent trivial cutsets before computing a maximal independent set in the remaining subgraph of . ∎

5.3 Non-shiftable -cutsets

To apply the same method to find a laminar set of -non-shiftable -cutsets, we need to avoid shiftable cutsets that come from the frames as well as the ones remaining after we cut the frame cycles. The following lemma shows that there will still remain enough -cutsets for us to perform the cutting procedure in almost the same way, without leaving any uncut big frames.

Lemma .

Let be any vertex of a -connected planar graph , and select as the outside face of any of the faces incident to . Let be a big frame of , and let be an allowable cycle formed by two paths of , at least five steps from each other in both directions around the frame, with neither path being part of the root cycle (relative to the choice of outer face). Let be a canonical cycle formed by shifting away from . Then is -non-shiftable.

Proof.

Let and be the two poles of , a vertex and face of respectively. If is adjacent to an edge in , then the other endpoint of the edge is on or inside the -cutset of , and if is instead adjacent to a face in , then one of its neighbours (in ) on the boundary of that face is on or inside the cutset. Because the paths forming are far enough apart, has two distinct neighbours on or inside the cutset, as is required for a non-shiftable cycle.

Now let be any other vertex in the -cutset of . Then has at least one neighbour that is on or inside the cutset, adjacent to it (in ) around the boundary of . If is adjacent in to , it has two such neighbours. The only remaining possibility is that allowable cycle connects to via another face of , distinct from . It is possible for faces and to share an edge, but if they do then must be the inner endpoint of the edge with respect to cycle and the choice of outer face, because of the way we chose to be the shift of away from . Therefore, the inner neighbour of on is distinct from the inner neighbour of on , and has two distinct neighbours on or inside the cutset.

We have shown that all vertices of the cutset of have two neighbours on or inside the cutset. Therefore, satisfies the definition of -non-shiftability. ∎

Theorem 5.3.

Let be a -connected planar graph, and let be any vertex of . Then in time linear in the number of vertices of , we can find a maximal laminar family of -non-shiftable -cutsets in , and a tree-decomposition of adhesion three whose cutsets are the cutsets in the maximal laminar family.

Proof.

We modify Step 2 of the algorithm of Theorem 5.1 so that it chooses a face of that is incident to  as the outer face. We modify Step 4 of the algorithm so that it tests each of the canonical cycles it generates for -non-shiftability using subsection 4.4 and keeps only the ones that pass this test. By subsection 5.3 there will still be enough remaining non-shiftable canonical cycles to cut the same set of frame paths as before.

Then, we modify Step 7 of the algorithm so that, after constructing and before finding a maximal independent set in it, we check whether each vertex of represents a -non-shiftable -cutset, and we delete the vertices of that represent shiftable cutsets before computing a maximal independent set in the remaining subgraph of . ∎

References