This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Treewidth Bounds for Planar Graphs Using Three-Sided Brambles

Karen L. Collins
Dept. of Mathematics & Computer Sci.
Wesleyan University
Middletown CT 06459
kcollins@wesleyan.edu 
   Brett C. Smith
Dept. of Mathematics
Yale University
New Haven CT 06520
brett.c.smith@yale.edu
Abstract

Square grids play a pivotal role in Robertson and Seymour’s work on graph minors as planar obstructions to small treewidth. We introduce a three-sided bramble in a plane graph called a net, which generalizes the standard bramble of crosses in a square grid. We then characterize any minimal cover of a net as a tree drawn in the plane.

We use nets in an O(n3)O(n^{3}) time algorithm that computes both upper and lower bounds on the bramble number (hence treewidth) of any planar graph. Let GG be a planar graph, BN(G)BN(G) be its bramble number and λ(G)\lambda(G) be the largest order of any net in a subgraph of GG. Our algorithm outputs a constant, KBKB, so that λ(G)/4KBBN(G)4KB4λ(G)\lambda(G)/4\leq KB\leq BN(G)\leq 4KB\leq 4\lambda(G).

Let s(G)s(G) be the size of a side of the largest square grid minor of GG. Smith (2015) has shown that λ(G)s(G)\lambda(G)\geq s(G). Our upper bound improves that of Grigoriev (2011) when λ(G)(5/4)s(G)\lambda(G)\leq(5/4)s(G). We correct a lower bound of Bodlaender, Grigoriev and Koster (2008) to s(G)/5s(G)/5 (instead of s(G)/4s(G)/4) and thus the lower bound of λ(G)/4\lambda(G)/4 on our approximation is an improvement.


Keywords    Treewidth \cdot Bramble \cdot Tree decomposition \cdot Planar graph \cdot Grid minor \cdot Net

1 Introduction

The treewidth of a graph is a fundamental idea in Robertson and Seymour’s pioneering work on graph minors. For any graph GG, let TW(G)TW(G) be the treewidth of GG (see [10]). The base case in the proof of the Graph Minor Theorem [12] relies on square grids for two reasons: (1) the n×nn\times n square grid has treewidth nn, so the family of square grids has unbounded treewidth, and (2) each square grid is planar and hence has genus zero. Robertson and Seymour use their well-known Grid-Minor Theorem (also called the Excluded Grid Theorem) to start an induction on the genus of a graph.

We replace squares with triangles in this role. In a graph, every 4-cycle contains a 3-cycle as a minor. In this sense, searching for a triangle is more general than searching for a square.

We proceed by addressing the dual problem to treewidth, finding a graph’s bramble number. Let BN(G)BN(G) be the bramble number of a graph GG. Seymour and Thomas first introduced brambles (originally called screens) in [13] to get lower bounds on the treewidth of a graph.

Theorem 1.1 (Seymour and Thomas).

For any graph GG,

TW(G)=BN(G)1.TW(G)=BN(G)-1.

Bellenbaum and Diestel have a short proof of this result in [1]. See also Reed [9] for more on brambles. Bodlaender [3] surveys various equivalent notions to treewidth.

Our method for bounding treewidth will be to define a special class of brambles called nets. Nets were introduced in Smith’s thesis [14], where they were used to construct two families of planar graphs, each containing a minor minimal obstruction to any treewidth. Nets are three-sided brambles in plane graphs. A formal definition of nets appears in Section 3.

Nets can be thought of as a generalization of a natural bramble in a square grid called the bramble of crosses, described in [2]. Each cross contains vertices from one row and one column in the grid. Smith [14] defines nn-triangular grids for n3n\geq 3 (see figure 2), and considers brambles whose elements meet all three sides of the triangle (rather than four sides, as in the bramble of crosses in the square grid). In particular, he proves that this bramble in the nn-triangular grid has order nn. Thus, triangular grids are a natural three-sided analogue to square grids. In this context, a bramble of crosses becomes a bramble of trees, each with a unique root and three branches. This three-sided bramble in a triangular grid provides a canonical example of a net in a plane graph.

It is important to note that the nn-triangular grid does not contain an n×nn\times n square grid. The largest square grid minor has side-length less than or equal to (n+1)/2(n+1)/\sqrt{2} because, by counting vertices, there are ()   2n+1\left({}^{n+1}_{\;\;\;2}\right) vertices in an nn-triangular grid and m2m^{2} vertices in an m×mm\times m square grid. Thus, the bramble number of a triangular grid is larger than the bramble number of any of its square grid minors. These examples motivate us to improve lower bounds on treewidth for planar graphs found using square grids by finding high order three-sided nets.

We define λ(G)\lambda(G) to be the largest order of any net in a subgraph of GG. Let s(G)s(G) be the size of the side of the largest square grid minor in GG. Smith [14] has shown that s(G)λ(G)s(G)\leq\lambda(G), and in particular when GG is an s×ss\times s square grid, then λ(G)=s\lambda(G)=s. Chekuri and Chuzhoy (2016) show that there is a polynomial relationship between the treewidth and square grid minor size of a graph [5]. Since λ(G)s(G)\lambda(G)\geq s(G), their results demonstrate a polynomial relationship between the treewidth and the net order of a graph.

Smith [14] has a polynomial time algorithm to compute the minimum cover of a net, giving a lower bound for BN(G)BN(G). In Section 4, we present a faster such algorithm. Given a net of a planar graph, GG, we construct an O(n2)O(n^{2}) time algorithm, Net-Alg, whose output is a minimum cover. We characterize a cover as a tree drawn in the plane which may go through the faces, edges or vertices of GG. Net-Alg proceeds by the shortest path algorithm from Henzinger, et al. [8] and inspiration from Dreyfus [6] to find a Steiner tree that meets all three sides of the net.

We use nets to replace square grids in the work of Bodlaender, Grigoriev and Koster [4]. They construct a rooted-search-tree algorithm to find lower bounds on the treewidth of a graph. In particular, their algorithm finds a square grid minor of size LB2LB_{2}. The claim is that LB2s(G)/4LB_{2}\geq s(G)/4; however as we will show in Section 6, the proof shows that LB2s(G)/5LB_{2}\geq s(G)/5 only. Grigoriev [7] writes a new algorithm, using ideas from [4], to construct a tree decomposition of a graph and thus gets an upper bound on treewidth. We adapt ideas from both [4] and [7] in our rooted-search tree algorithm, BT-Alg. Our algorithm uses nets to achieve both lower and upper bounds on bramble number, as seen in the following theorem.

Theorem 5.7. Let GG be a planar graph. Then BT-Alg computes KBKB in O(|G|3)O(|G|^{3}) time, and

λ(G)4KBBN(G)4KB4λ(G).\frac{\lambda(G)}{4}\leq KB\leq BN(G)\leq 4KB\leq 4\lambda(G).

The proof appears in Section 5. Theorem 5.7 improves the upper bound of 5s(G)65s(G)-6 from [7] whenever λ5s(G)/4\lambda\leq 5s(G)/4. Since λ(G)s(G)\lambda(G)\geq s(G), with the correction in Section 6, our lower bound is better than [4].

The outline of the paper is as follows. In Section 2 we do some preliminaries. In Section 3 we define nets and give an alternative characterization of a cover of net. In Section 4 we construct Net-Alg. In Section 5 we construct BT-Alg and prove Theorem 5.7. In Section 6 we correct the lower bound in Bodlaender et al. We make some concluding remarks in Section 7.

2 Preliminaries

In this paper, every graph will be simple; for a graph GG, we let V(G)V(G) denote its vertex set and E(G)E(G) denote its edge set. For each vertex, uV(G)u\in V(G), we let NG(u)N_{G}(u) denote its neighborhood, the set of vertices adjacent to uu in GG. For any subset of vertices, UV(G)U\subseteq V(G), let G[U]G[U] denote the subgraph of GG induced by UU. If G[U]G[U] is connected, then we say the vertex set, UU, is connected in GG. We denote the induced subgraph, G[V(G)\U]G[V(G)\backslash U], by GUG-U. We will refer to the power set of vertices in GG as 𝒫(V(G))\mathcal{P}(V(G)). If TT is a tree and s,tV(T)s,t\in V(T), then let sTtsTt denote the unique path from ss to tt in TT. Similarly, if W=(u0,,un)W=(u_{0},...,u_{n}) is a walk in a graph, then for any 0ijn0\leq i\leq j\leq n, let uiWuju_{i}Wu_{j} denote the subwalk from uiu_{i} to uju_{j} in WW. If WW is a closed walk, let (ujWun,u1Wui)(u_{j}Wu_{n},u_{1}Wu_{i}) denote the concatenated walk, (uj,uj+1,,un,u1,u2,,ui)(u_{j},u_{j+1},...,u_{n},u_{1},u_{2},...,u_{i}).

Definition 2.1.

Let GG be a graph, let TT be a tree and let β:V(T)𝒫(V(G))\beta:V(T)\rightarrow\mathcal{P}(V(G)). The pair (T,β)(T,\beta) is a tree decomposition of GG if and only if

  1. 1.

    if uV(G)u\in V(G), then there is some tV(T)t\in V(T) so that uβ(t)u\in\beta(t),

  2. 2.

    if uvE(T)uv\in E(T), then there is some tV(T)t\in V(T) such that u,vβ(t)u,v\in\beta(t), AND

  3. 3.

    if t1,t2,t3V(T)t_{1},t_{2},t_{3}\in V(T) and t2V(t1Tt3)t_{2}\in V(t_{1}Tt_{3}), then β(t1)β(t3)β(t2)\beta(t_{1})\cap\beta(t_{3})\subseteq\beta(t_{2}).

The width of a tree decomposition is defined as width(T,β):=max{|β(t)|:tV(T)}1\text{width}(T,\beta):=\max\{|\beta(t)|:t\in V(T)\}-1 and the treewidth of a graph GG is

TW(G):=min{width(T,β):(T,β)is a tree decomposition ofG}.TW(G):=\min\{\text{width}(T,\beta):(T,\beta)\ \text{is a tree decomposition of}\ G\}.

Using ideas from Reed in [9], we present an equivalent definition for a tree decomposition by looking at the inverse mapping:

β1:V(G)\displaystyle\beta^{-1}:V(G) 𝒫(V(T))\displaystyle\rightarrow\mathcal{P}(V(T))
u\displaystyle u {tV(T):uβ(t)}.\displaystyle\mapsto\{t\in V(T):u\in\beta(t)\}.
Lemma 2.2.

Let GG be a graph, TT a tree and β:V(T)𝒫(V(G))\beta:V(T)\rightarrow\mathcal{P}(V(G)). Then (T,β)(T,\beta) is a tree decomposition of GG just in case both

  1. 1.

    if uV(G)u\in V(G), then β1(u)\beta^{-1}(u) is nonempty and connected in TT, AND

  2. 2.

    if uvE(G)uv\in E(G), then β1(u)β1(v)\beta^{-1}(u)\cap\beta^{-1}(v)\neq\varnothing.

The proof of lemma 2.2 follows directly from the definition of a tree decomposition. Now we will give the precise definition of a bramble.

Definition 2.3.

Let GG be a graph. For two subsets of vertices, A,BV(G)A,B\subseteq V(G), we say that AA and BB touch if either

  1. 1.

    ABA\cap B\neq\varnothing, OR

  2. 2.

    there is some uvE(G)uv\in E(G) such that uAu\in A and vBv\in B.

A finite collection, ={BiV(G)}i[n]\mathcal{B}=\{B_{i}\subseteq V(G)\}_{i\in[n]}, of connected, mutually touching vertex sets is called a bramble in GG. A set, CV(G)C\subseteq V(G) covers \mathcal{B} if CC nontrivially intersects each vertex set in the bramble. The order of a bramble \mathcal{B} is defined as order():=min{|C|:C covers }\text{order}(\mathcal{B}):=\min\{|C|:C\text{ covers }\mathcal{B}\}, and the bramble number of a graph, GG, is

BN(G):=max{order(): is a bramble in G}.BN(G):=\max\{\text{order}(\mathcal{B}):\mathcal{B}\text{ is a bramble in }G\}.

For a simple example of a bramble in a graph, we can take the collection of vertices (as singleton sets) from a clique. The order of this bramble is the number of vertices in the clique. In particular, the bramble number of any graph is bounded below by its clique number. However, this example does not take advantage of the ability to have intersection among sets. Allowing sets in a bramble to intersect gives a much more robust class of obstructions to low treewidth.

When talking about graph embeddings, we follow the conventions of West [15]. In particular, we refer to a graph embedded in the plane as a plane graph, and for a plane graph, GG, a face, FF, of GG is a maximal region in the plane such that for any two points in FF, there is a curve avoiding GG connecting those points. For computational reasons, we point out that in any plane graph, if vv is the number of vertices, ee is the number of edges and ff is the number of faces, then e3v6e\leq 3v-6 and f2v4f\leq 2v-4. Therefore, any computation that iterates on vertices, edges and faces of a graph still runs in O(v)O(v)-time. With this in mind, for any planar graph we let |G|=|V(G)||G|=|V(G)|.

3 Introducing nets and characterizing net covers

We are ready to define a natural family of three-sided brambles that occur in plane graphs, generalizing the bramble of crosses in a square grid graph described in the introduction.

Definition 3.1.

Let GG be a connected plane graph and let W=(u0,u1,,un)W=(u_{0},u_{1},...,u_{n}) be a closed walk peripheral to the unbounded face of GG, so u0=unu_{0}=u_{n}. For any choice of jj and kk so that 0jkn0\leq j\leq k\leq n, we call the triple, =(W,j,k)\mathcal{F}=(W,j,k), a 3-frame of GG.

A 3-frame decomposes WW into three subwalks with overlapping endpoints.

Definition 3.2.

Given a 3-frame, =(W,j,k)\mathcal{F}=(W,j,k), the three subwalks, u0Wuju_{0}Wu_{j}, ujWuku_{j}Wu_{k} and ukWunu_{k}Wu_{n}, are called the sides of \mathcal{F}.

Throughout the rest of the paper we refer to the vertex sets of the sides of the 3-frame by colors:

blue={u0,,uj};red={uj,,uk};yellow={uk,,un}blue=\{u_{0},...,u_{j}\};\ \ \ red=\{u_{j},...,u_{k}\};\ \ \ yellow=\{u_{k},...,u_{n}\}
Definition 3.3.

Given a 3-frame, \mathcal{F}, we call XV(G)X\subseteq V(G) an \mathcal{F}-vine if XX is connected and contains at least one vertex in each side of \mathcal{F}.

That is, an \mathcal{F}-vine has at least one blueblue, one redred and one yellowyellow vertex.

Definition 3.4.

Given a 3-frame, \mathcal{F}, we define the \mathcal{F}-net of GG as the collection of all \mathcal{F}-vines. We denote the \mathcal{F}-net of GG by 𝐍(G,)\mathbf{N}(G,\mathcal{F}).

ddccbbaaee
Figure 1: A net with sides {a,b}\{a,b\}, {b,c}\{b,c\} and {c,d,a}\{c,d,a\}

The graph in Figure 1 is given a frame with sides {a,b}\{a,b\}, {b,c}\{b,c\} and {c,d,a}\{c,d,a\}. This frame defines a net whose elements are connected subsets of vertices, each of which intersects all three sides. The minimal elements of this net are {a,b}\{a,b\}, {b,c}\{b,c\}, {a,c,d}\{a,c,d\} and {b,d,e}\{b,d,e\}. Figure 2 shows a 3-frame of a 6-triangular grid.

Note that the vertex sets blueblue, redred and yellowyellow are not disjoint, sharing at least one vertex between pairs. In the case where WW is a cycle, each pair of colors intersect on exactly one vertex, but both WW and our choice of jj and kk may cause more intersection between the sides.

u0u_{0}u10u_{10}u5u_{5}
Figure 2: A 3-frame, (W,5,10)(W,5,10), in a 6-triangular grid.
Lemma 3.5.

Let GG be a connected plane graph with a 3-frame \mathcal{F}. If X1,X2𝐍(G,)X_{1},X_{2}\in\mathbf{N}(G,\mathcal{F}), then X1X2X_{1}\cap X_{2}\neq\varnothing.

Proof.

For the sake of contradiction, suppose there are X1,X2𝐍(G,)X_{1},X_{2}\in\mathbf{N}(G,\mathcal{F}) such that X1X2=X_{1}\cap X_{2}=\varnothing. Define a plane graph obtained from GG as follows. First, add three new vertices, xbx_{b}, xrx_{r} and xyx_{y}, to the unbounded face of GG so that xbx_{b} is adjacent to each vertex in blueblue, xrx_{r} is adjacent to each vertex in redred and xyx_{y} is adjacent to each vertex in yellowyellow. Moreover, draw these edges so that xbx_{b}, xrx_{r} and xyx_{y} remain peripheral to the unbounded face of the graph. Then add another vertex x0x_{0} to the unbounded face and draw edges from x0x_{0} to xbx_{b}, xrx_{r} and xyx_{y} in such a way that preserves our proper embedding. The vertex sets {xb}\{x_{b}\}, {xr}\{x_{r}\} {xy}\{x_{y}\}, {x0}\{x_{0}\}, X1X_{1} and X2X_{2} induce a minor isomorphic to K3,3K_{3,3}. We have a proper planar embedding of this graph, contradicting Wagner’s theorem. Therefore, X1X2X_{1}\cap X_{2}\neq\varnothing. ∎

The proof of the lemma demonstrates how the definition of a net takes advantage of the topology of the plane to guarantee intersection between any two vines. We will continue to use properties of our embedding to understand the order of these brambles.

In order to understand what a minimum size cover of a net looks like, we consider what would topologically prevent a vine touching all three sides of the 3-frame. As we saw in the proof of lemma 3.5, any two vines have non-trivial intersection. That is, each vine in a net is itself a cover of the bramble.

On the other hand, a sparse plane graph may not take full advantage of the space to find vines with few vertices. See Figure 3. For example, consider a cycle on 15 vertices, C15=(c0,c1,,c15)C_{15}=(c_{0},c_{1},...,c_{15}). We could evenly divide the cycle into a 3-frame: (C15,5,10)(C_{15},5,10), and any (C15,5,10)(C_{15},5,10)-vine would use at least five vertices. However, a set of two vertices, {c5,c10}\{c_{5},c_{10}\}, covers the (C15,5,10)(C_{15},5,10)-net. We can use the embedding to understand why this set covers the bramble by adding an edge between c5c_{5} and c10c_{10}. This additional edge would make {c5,c10}\{c_{5},c_{10}\} a (C15,5,10)(C_{15},5,10)-vine, and any embedding of C15C_{15} would afford us the space to make such an edge.

To account for these latent vines, we need to pay attention to what connections are possible through faces of the embedding. We now define a new plane graph obtained from a plane graph that inherits connectivity from the bounded faces in our embedding.

c0c_{0}c10c_{10}c5c_{5}
Figure 3: {c5,c10}\{c_{5},c_{10}\} covers the net framed by (C15,5,10)(C_{15},5,10).

.

Definition 3.6.

Let GG be a connected plane graph. For each bounded face, fF(G)f\in F(G):

  1. 1.

    Create a vertex vfv_{f} inside the face, ff.

  2. 2.

    Add an edge between vfv_{f} and each vertex peripheral to ff.

We call the resulting plane graph the face graph of GG, denoted G^\widehat{G}.

Since each edge of GG is contained in at most two faces of GG, a greedy search on edges would find all faces in O(|G|)O(|G|) time. Notice that \mathcal{F} is also a 3-frame of G^\widehat{G}, so 𝐍(G,)𝐍(G^,)\mathbf{N}(G,\mathcal{F})\subseteq\mathbf{N}({\widehat{G}},\mathcal{F}). The face graph is something like a combination of a plane graph with its dual and will give us a useful property concerning the connectedness of the graph.

The following definition is inspired by a similar definition used by Robertson and Seymour in [11].

Definition 3.7.

Let GG be a connected plane graph and let W=(u0,u1,,un)W=(u_{0},u_{1},...,u_{n}) be a closed walk peripheral to GG. For any quadruple, 0abcdn0\leq a\leq b\leq c\leq d\leq n, we say (ua,uc)(u_{a},u_{c}) and (ub,ud)(u_{b},u_{d}) cross in WW.

The Jordan Curve Theorem implies for any two paths in a connected plane graph, if the endpoints of one cross the endpoints of another in the peripheral walk, then the two paths share a common vertex. We use this fact in the following useful characterization of separating sets in face graphs.

Lemma 3.8.

Let GG be a connected plane graph, let WW be a closed walk peripheral to the unbounded face of GG and let XV(G)X\subseteq V(G). For any two vertices u,vW\Xu,v\in W\backslash X, there is a (u,v)(u,v)-path in G^X\widehat{G}-X if and only if there is no path in G[X]G[X] whose endpoints cross (u,v)(u,v) in WW.

Proof.

We prove the forward direction by assuming there is some (u,v)(u,v)-path, say PP, in G^X\widehat{G}-X. If there was some (x,y)(x,y)-path in G[X]G[X] so that (u,v)(u,v) and (x,y)(x,y) cross in WW, then it would necessarily share a vertex with PP. This is impossible since V(P)V(P) is disjoint with XX.

For the reverse implication, restrict our embeddings of GG and G^\widehat{G} to the surface obtained by throwing out the unbounded face of GG (which is also the unbounded face of G^\widehat{G}). If there is no path in G[X]G[X] whose endpoints cross (u,v)(u,v) in WW, then uu and vv are contained in a single face of G[X]G[X]. By the definition of a face, there is some polygonal (u,v)(u,v)-curve, say γ\gamma, contained in that face. As we follow along this curve from uu to vv, we obtain a finite multi-sequence, MM, of vertices, edges and faces of GG that intersect γ\gamma. This multi-sequence starts with the vertex, uu, and is followed either by a face or an edge of GG. In fact, any consecutive pair in MM has of one of six forms: (vertex, face), (vertex, edge), (edge, face), (edge, vertex), (face, edge) or (face, vertex). We will use MM to find a (u,v)(u,v)-walk in G^X\widehat{G}-X.

Obtain a multi-sequence, MM^{\prime}, of vertices from G^X\widehat{G}-X as follows. For each face, ff, of GG in MM, replace ff with vfV(G^)v_{f}\in V(\widehat{G}). Clearly, vfXv_{f}\notin X since XV(G)X\subseteq V(G). For each edge, ee, of GG in MM, since ee is not an edge of G[X]G[X], at least one of its endpoints is in V(G)\XV(G)\backslash X. Therefore, we can replace ee with one of its endpoints, vev_{e}, that is not in XX (choosing at random if both endpoints are not in XX).

In search of a (u,v)(u,v)-walk, we consider the six possible types of consecutive pairs of vertices in MM^{\prime}. In fact, since the edge relation is symmetric, it is enough to consider just the following three types:

Type 1: (vertex, face). If γ\gamma transitions from a vertex, wV(GX)w\in V(G-X), to a face, ff, of GG, then ww must be on the boundary of ff. By the definition of G^\widehat{G}, we know that wvfE(G^)wv_{f}\in E(\widehat{G}).

Type 2: (vertex, edge). If γ\gamma transitions from a vertex, wV(GX)w\in V(G-X), to an edge, ee, of GG, then ww must be an endpoint of ee. Thus, either w=vew=v_{e} or wveE(GX)wv_{e}\in E(G-X).

Type 3: (edge, face). If γ\gamma transitions from an edge, ee, of GG to a face, ff, of GG, then ee is on the boundary of ff and so are both of its endpoints. Thus, vevfE(G^X)v_{e}v_{f}\in E(\widehat{G}-X).

From the case analysis, we see that MM^{\prime} must contain a (u,v)(u,v)-walk in G^X\widehat{G}-X as a subsequence. Therefore, there is a (u,v)(u,v)-path in G^X\widehat{G}-X. ∎

We are ready to give an alternative characterization for a vertex set covering a net in a plane graph.

Theorem 3.9.

Let GG be a connected plane graph with a 3-frame \mathcal{F} and let CV(G)C\subseteq V(G). Then CC covers 𝐍(G,)\mathbf{N}(G,\mathcal{F}) if and only if there is some Y𝐍(G^,)Y\in\mathbf{N}(\widehat{G},\mathcal{F}) such that YV(G)CY\cap V(G)\subseteq C.

Proof.

For the backward implication, let Y𝐍(G^,)Y\in\mathbf{N}(\widehat{G},\mathcal{F}). Consider any X𝐍(G,)X\in\mathbf{N}(G,\mathcal{F}). Since GG is a subgraph of G^\widehat{G}, we know that X𝐍(G^,)X\in\mathbf{N}(\widehat{G},\mathcal{F}), and lemma 3.5 implies that XYX\cap Y\neq\varnothing. Because XV(G)X\subseteq V(G), we have X(YV(G))X\cap(Y\cap V(G))\neq\varnothing. And since XX was chosen arbitrarily from 𝐍(G,)\mathbf{N}(G,\mathcal{F}), we can conclude that YV(G)Y\cap V(G) covers 𝐍(G,)\mathbf{N}(G,\mathcal{F}).

For the reverse implication, suppose CC covers 𝐍(G,)\mathbf{N}(G,\mathcal{F}). Define W=(u0,u1,,un)W=(u_{0},u_{1},...,u_{n}) and 0jkn0\leq j\leq k\leq n so that =(W,j,k)\mathcal{F}=(W,j,k). Let aa be the maximum index in {0,,j}\{0,...,j\} such that there is a path, say PaP_{a}, from some vertex in ukWunu_{k}Wu_{n} to uau_{a} in GCG-C. Let bb be the maximum index in {j,,k}\{j,...,k\} such that there is a path, say PbP_{b}, from some vertex in u0Wuju_{0}Wu_{j} to ubu_{b} in GCG-C, and let cc be the maximum index in {k,,n}\{k,...,n\} such that there is a path, say PcP_{c}, from a vertex in ujWuku_{j}Wu_{k} to ucu_{c} in GCG-C. Since CC covers 𝐍(G,)\mathbf{N}(G,\mathcal{F}), we see that a<ja<j, b<kb<k and c<nc<n, and ua+1,ub+1,uc+1Cu_{a+1},u_{b+1},u_{c+1}\in C.

We claim that by our choice of aa and bb, there is no path in GCG-C whose endpoints cross (ua+1,ub+1)(u_{a+1},u_{b+1}). For the sake of contradiction, suppose such a path, say QQ, does exist. Let us,utV(G)Cu_{s},u_{t}\in V(G)-C be the endpoints of QQ, where a+1<s<b+1a+1<s<b+1 and b+1<tnb+1<t\leq n or 0<t<a+10<t<a+1. We consider the two possibilities for ss. For example, see Figure 4.

u0u_{0}uju_{j}uku_{k}ubu_{b}ub+1u_{b+1}uau_{a}ua+1u_{a+1}usu_{s}
u0u_{0}uju_{j}uku_{k}ubu_{b}ub+1u_{b+1}uau_{a}ua+1u_{a+1}usu_{s}
Figure 4: All possible ways the endpoints of a path in GCG-C might cross (ua+1,ub+1)(u_{a+1},u_{b+1}).

Case 1: Suppose a+1<sja+1<s\leq j. If b+1<tkb+1<t\leq k, then QQ is a path from u0Wuju_{0}Wu_{j} to utu_{t} and we contradict the maximality of bb. If k<tnk<t\leq n, then QQ is a path from ukWunu_{k}Wu_{n} to usu_{s} and we contradict the maximality of aa. Finally, if 0<t<a+10<t<a+1, then the endpoints of PaP_{a} cross the endpoints of QQ in WW, so PaP_{a} and QQ are subpaths of the same component of GCG-C. This component has a path from a vertex in ukWunu_{k}Wu_{n} to usu_{s}, contradicting the maximality of aa. Therefore, Case 1 leads to a contradiction.

Case 2: Suppose j<s<b+1j<s<b+1. If b+1<tkb+1<t\leq k, then the endpoints of PbP_{b} cross the endpoints of QQ in WW. Hence, PbP_{b} and QQ are subpaths of the same component of GCG-C, and this component has a path from a vertex in u0Wuju_{0}Wu_{j} to utu_{t}, contradicting the maximality of bb. If k<tnk<t\leq n, then the endpoints of PbP_{b} cross the endpoints of QQ in WW, so PbP_{b} and QQ are subpaths of the same component of GCG-C. But this component must contain vertices in all three sides of \mathcal{F}, so it contains an \mathcal{F}-vine. This contradicts the fact that CC covers 𝐍(G,)\mathbf{N}(G,\mathcal{F}). Finally, if 0<t<a+10<t<a+1, then the endpoints of PaP_{a} cross the endpoints of QQ in WW, so PaP_{a} and QQ are subpaths of the same component of GCG-C. But this component must contain vertices in all three sides of \mathcal{F}, so it contains an \mathcal{F}-vine. This contradicts the fact that CC covers 𝐍(G,)\mathbf{N}(G,\mathcal{F}). Therefore, case 2 leads to a contradiction.

Let X=V(G)CX=V(G)-C. We have seen there is no path in G[X]G[X] whose endpoints cross (ua+1,ub+1)(u_{a+1},u_{b+1}). Lemma 3.8 implies there is a (ua+1,ub+1)(u_{a+1},u_{b+1})-path in G^X\widehat{G}-X. The same argument shows there is a (ub+1,uc+1)(u_{b+1},u_{c+1})-path in G^X\widehat{G}-X. Therefore, V(G^)\XV(\widehat{G})\backslash X contains an \mathcal{F}-vine, say YY, in G^\widehat{G}. By the definition of XX, YV(G)CY\cap V(G)\subseteq C, which completes the proof. ∎

Corollary.

Let GG be a connected plane graph with at 3-frame \mathcal{F}. Then

order(𝐍(G,))=min{|YV(G)|:Y𝐍(G^,)}.\emph{\text{order}}(\mathbf{N}(G,\mathcal{F}))=\min\{|Y\cap V(G)|:Y\in\mathbf{N}(\widehat{G},\mathcal{F})\}.

Using the topology of a planar embedding, the problem of finding a cover of a net is equivalent to finding a connected subgraph of the face graph that intersects all three sides of the 3-frame. In the next section, we algorithmically minimize such a cover using shortest paths.

4 Net-Alg: a minimum size cover of a net

Let GG be a connected plane graph with a 3-frame \mathcal{F}. In order to develop an algorithm that finds a minimum order cover of a net, define the indicator function 𝟏G\mathbf{1}_{G} on V(G^)V(\widehat{G}) such that

𝟏G(v)={1,vV(G)0,vV(G^)\V(G).\mathbf{1}_{G}(v)=\left\{\begin{array}[]{ l l }1,&v\in V(G)\\ 0,&v\in V(\widehat{G})\backslash V(G).\end{array}\right.

Let GG_{\leftrightarrow} denote a directed graph obtained from GG by replacing each edge with two directed edges of opposite orientation. Any directed path in GG_{\leftrightarrow} will then correspond to an undirected path of GG and vice versa. Moreover, two directed paths are vertex-disjoint in GG_{\leftrightarrow} just in case the corresponding paths in GG are vertex-disjoint.

From 𝟏G\mathbf{1}_{G}, we obtain a weight function, 𝟏G\mathbf{1}_{G\leftrightarrow}, on the edges of G^\widehat{G}_{\leftrightarrow}, where each edge weight is given by the weight of its terminal vertex under 𝟏G\mathbf{1}_{G}. We determine the weight of a directed path in G^\widehat{G}_{\leftrightarrow} to be the sum of its edge weights. Then 𝟏G\mathbf{1}_{G\leftrightarrow} gives us the following distance function on G^\widehat{G}_{\leftrightarrow}.

δ:V(G^)×V(G^)\displaystyle\delta_{\leftrightarrow}:V(\widehat{G}_{\leftrightarrow})\times V(\widehat{G}_{\leftrightarrow}) {0,1,2,}\displaystyle\rightarrow\{0,1,2,...\}
(u,v)\displaystyle(u,v) min{eE(P)𝟏G(e):Pis a (u,v)-path inG^}\displaystyle\mapsto\min\left\{\sum_{e\in E(P)}\mathbf{1}_{G\leftrightarrow}(e):P\ \text{is a $(u,v)$-path in}\ \widehat{G}_{\leftrightarrow}\right\}

We use this distance function to define a specific structure possessed by any “minimum weight” \mathcal{F}-vine in G^\widehat{G}. This structure is essentially the three vertex case of the Steiner tree characterization given by Dreyfus and Wagner in [6].

Lemma 4.1.

Let GG be a connected plane graph with a 3-frame \mathcal{F}. Suppose Y𝐍(G^,)Y\in\mathbf{N}(\widehat{G},\mathcal{F}) such that |YV(G)||Y\cap V(G)| is minimum. Then G^[Y]\widehat{G}_{\leftrightarrow}[Y] contains a rooted tree TT_{\leftrightarrow}, where TT_{\leftrightarrow} is the union of three internally disjoint shortest paths (with distance given by δ\delta_{\leftrightarrow}), each starting at the root and terminating in one of the three sides of \mathcal{F}.

Proof.

By definition, G^[Y]\widehat{G}[Y] contains a path with one endpoint in the blueblue side of \mathcal{F} and the other in the redred side. Let PP be such a path with |V(P)V(G)||V(P)\cap V(G)| minimum, and let ubu_{b} and uru_{r} be the endpoints of PP in blueblue and redred, respectively. By definition, YY also contains at least one vertex in the yellowyellow side of \mathcal{F}. Let uyYu_{y}\in Y be in yellowyellow. Since G^[Y]\widehat{G}[Y] is connected, there is a path in G^[Y]\widehat{G}[Y] starting in PP and terminating at uyu_{y}. Let QQ be such a path minimizing |V(Q)V(G)||V(Q)\cap V(G)| that is internally disjoint from PP, and let v0v_{0} be the endpoint of QQ in PP. Then G^[Y]\widehat{G}_{\leftrightarrow}[Y] contains three directed subpaths, v0Pubv_{0}Pu_{b}, v0Purv_{0}Pu_{r} and QQ. By definition, these paths are internally disjoint. Moreover, the minimality of |YV(G)||Y\cap V(G)| implies there is no shorter path from v0v_{0} to any side of the 3-frame, otherwise we could use it to replace the current path to that side. ∎

With this structural characterization in hand, we can search for a minimum size cover of a net using the single-source shortest path algorithm for planar graphs by Henzinger et al. [8]

Algorithm 4.2 (Net-Alg).

Input A connected plane graph, GG, and a 3-frame of GG,
(W=(u0,u1,,un),j,k)(W=(u_{0},u_{1},...,u_{n}),j,k).

Idea: Using the characterization in lemma 4.1, we search through each vertex in the face graph, finding shortest paths from a “root” vertex to each of the three sides of our net. By minimizing the sum of the distances given by these paths, we obtain a (W,j,k)(W,j,k)-vine in G^\widehat{G} using the fewest possible vertices from GG.

Initialization: Construct the directed plane graph, G^\widehat{G}_{\leftrightarrow}. Let |V(G^)|=s|V(\widehat{G}_{\leftrightarrow})|=s, and give any order to the vertices, V(G^)={v1,,vs}V(\widehat{G}_{\leftrightarrow})=\{v_{1},...,v_{s}\}. Set bestcover=sbestcover=s and center=0center=0.

Iteration:

  1. 1.

    For each i=1,2,,si=1,2,...,s:

    1. (a)

      Run Henzinger et al.’s single-source shortest path algorithm [8] on G^\widehat{G}_{\leftrightarrow} with source viv_{i}, obtaining a weighted distance, δ(vi,u)\delta_{\leftrightarrow}(v_{i},u), for each uV(G^)u\in V(\widehat{G}_{\leftrightarrow}).

    2. (b)

      Set

      b(i)\displaystyle b(i) =min{δ(vi,u):uV(u0Wuj)}\displaystyle=\min\{\delta_{\leftrightarrow}(v_{i},u):u\in V(u_{0}Wu_{j})\}
      r(i)\displaystyle r(i) =min{δ(vi,u):uV(ujWuk)}\displaystyle=\min\{\delta_{\leftrightarrow}(v_{i},u):u\in V(u_{j}Wu_{k})\}
      y(i)\displaystyle y(i) =min{δ(vi,u):uV(ukWun)}\displaystyle=\min\{\delta_{\leftrightarrow}(v_{i},u):u\in V(u_{k}Wu_{n})\}
    3. (c)

      Set d(i)=b(i)+r(i)+y(i)+𝟏G(vi)d(i)=b(i)+r(i)+y(i)+\mathbf{1}_{G}(v_{i}).

    4. (d)

      Set center={center if bestcoverd(i)i if bestcover>d(i)center=\left\{\begin{array}[]{ll}center&\text{ if }bestcover\leq d(i)\\ i&\text{ if }bestcover>d(i)\end{array}\right.

    5. (e)

      Set bestcover=min{bestcover,d(i)}bestcover=\min\{bestcover,\ d(i)\}.

  2. 2.

    Run the single-source shortest path algorithm from [8] on G^\widehat{G}_{\leftrightarrow} with source, centercenter, to find PbP_{b}, PrP_{r} and PyP_{y}, shortest length paths for from centercenter to V(u0Wuj)V(u_{0}Wu_{j}), V(ujWuk)V(u_{j}Wu_{k}) and V(ukWun)V(u_{k}Wu_{n}), respectively. Stop.

Output: Define the vertex set Y:=V(Pb)V(Pr)V(Py)Y:=V(P_{b})\cup V(P_{r})\cup V(P_{y}).

Theorem 4.3.

Given a connected plane graph GG with at 3-frame \mathcal{F}, Net-Alg runs in O(|G|2)O(|G|^{2}) time and outputs YV(G^)Y\subseteq V(\widehat{G}), where

|YV(G)|=order(𝐍(G,)).|Y\cap V(G)|=\emph{\text{order}}(\mathbf{N}(G,\mathcal{F})).
Proof.

By construction, YY is an \mathcal{F}-vine and lemma 4.1 implies |YV(G)||Y\cap V(G)| is minimum among all such vines. Then theorem 3.9 implies that YV(G)Y\cap V(G) is a minimum size cover of the \mathcal{F}-net in GG.

In the initialization of the algorithm, we can construct G^\widehat{G} in O(|G|)O(|G|) time. From this graph, we can obtain G^\widehat{G}_{\leftrightarrow} in O(|G|)O(|G|) time since the number of edges in any planar graph contains at most 3(|G|2)3(|G|-2) edges. In step 1 of the iteration, Henzinger’s algorithm runs in O(|G|)O(|G|) time. We run this algorithm for each vertex in G^\widehat{G}, so step 1 completes in O(|G|2)O(|G|^{2}) time. Step 2 runs in O(|G|)O(|G|) time. Therefore, the running time of Net-Alg is O(|G|2)O(|G|^{2}). ∎

Now that we have an algorithm for finding a minimum net cover in a particular framed plane graph, we will use it to search a graph (and subgraphs) for large order nets.

5 BT-Alg: upper and lower treewidth bounds

We are interested not only in the order of a net in a particular framing of a plane graph, but more importantly in what nets are possible in subgraphs of that graph. Any net is hightly sensitive to the walk peripheral to the unbounded face of the embedding — if this walk is something simple like a 3-cycle, it severely limits the complexity of the net. However, higher order nets may be lurking in the interior of this embedding.

Definition 5.1.

For any plane graph, GG, let λ(G)\lambda(G) denote the maximum order of any net in a subgraph of GG.

Lemma 5.2.

Let GG be a connected plane graph, let W=(u0,,un)W=(u_{0},...,u_{n}) be a closed walk peripheral to the unbounded face of GG, let =(W,j,k)\mathcal{F}=(W,j,k) be a 3-frame of GG, and let YV(G^)Y\subseteq V(\widehat{G}) be an \mathcal{F}-vine obtained by Net-Alg. Suppose GG^{\prime} is a connected component of G(YV(G))G-(Y\cap V(G)). If ua,ub{u0,,un}V(G)u_{a},u_{b}\in\{u_{0},...,u_{n}\}\cap V(G^{\prime}) with aba\leq b, then either uaWubu_{a}Wu_{b} or (ubWun,u1Wua)(u_{b}Wu_{n},u_{1}Wu_{a}) is a walk in GG^{\prime}.

Proof.

We prove the statement by contradiction. Suppose there are integers ss and tt so that usV(uaWub)u_{s}\in V(u_{a}Wu_{b}), utV(ubWun,u1Wua)u_{t}\in V(u_{b}Wu_{n},u_{1}Wu_{a}) and us,utYu_{s},u_{t}\in Y. G^[Y]\widehat{G}[Y] is connected by definition, so there must be a (us,ut)(u_{s},u_{t})-path in G^[Y]\widehat{G}[Y]. Since (us,ut)(u_{s},u_{t}) and (ua,ub)(u_{a},u_{b}) cross in WW, any (ua,ub)(u_{a},u_{b})-path in GG^{\prime} must contain a vertex in YY. This contradicts the hypothesis that uau_{a} and ubu_{b} are contained in the same connected component of G(YV(G))G-(Y\cap V(G)). ∎

Lemma 5.2 implies that for any connected component GG^{\prime} of G(YV(G))G-(Y\cap V(G)), a closed walk peripheral to GG^{\prime} can be decomposed into two internally disjoint subwalks overlapping on their endpoints. One of these subwalks is a subwalk of WW and the other has no interior vertices in WW; that is, the interior vertices of this subwalk are uncolored in GG.

We are ready to present an algorithm for finding a high order net in a subgraph of GG. Our algorithm is inspired by Bodlaender, Grigoriev and Koster’s algorithm for finding a large square grid as a minor of a planar graph [4]. See Figure 5 for an example of its output.

Algorithm 5.3 (BT-Alg).

Input: A connected planar graph, G0G_{0}.

Initialization: Use Hopcroft and Tarjan’s algorithm [Hopcroft1974] to obtain a planar embedding of G0G_{0}, then define a 3-frame 0\mathcal{F}_{0} of G0G_{0}. Set bestlow=1bestlow=-1.

Idea: We create a rooted tree search by associating our framed graph with a root node. We then remove a minimum order cover of the net to separate the graph into component subgraphs, each associated with a child of the root node, and we describe a consistent way in which to define a new frame on each component. We keep track of the current greatest order of any net found in this process with bestlowbestlow.

Iteration: Input the plane graph, GiG_{i}, and a 3-frame, i\mathcal{F}_{i}. Note that ii is a tuple. If |Gi|<bestlow|G_{i}|<bestlow, then let Ci=V(Gi)C_{i}=V(G_{i}) and proceed to the next ordered node in a breadth-first search. If no nodes remain unsearched, then stop. Otherwise, |Gi|bestlow|G_{i}|\geq bestlow. Then do:

  1. 1.

    Run Net-Alg for GiG_{i} to find a minimum sized cover, CiV(G)C_{i}\subseteq V(G), of 𝐍(Gi,i)\mathbf{N}(G_{i},\mathcal{F}_{i}). Set bestlow=max{bestlow,|Ci|}bestlow=\max\{bestlow,|C_{i}|\}.

  2. 2.

    Let G(i,1),G(i,2),,G(i,m)G_{(i,1)},G_{(i,2)},\ldots,G_{(i,m)} be the components of GiCiG_{i}-C_{i}.

  3. 3.

    For each q[m]q\in[m], we choose a 3-frame that is consistent with the colors on the 3-frame of GiG_{i} as follows. We define a 3-frame (i,q)\mathcal{F}_{(i,q)} of G(i,q)G_{(i,q)} as follows. Every vertex that had a color in GiG_{i} retains its color in (i,q)\mathcal{F}_{(i,q)}. Lemma 5.2 implies the colored vertices in (i,q)\mathcal{F}_{(i,q)} form a subwalk of WiW_{i} containing at most two colors on its vertices; let e1e_{1} and e2e_{2} be the endpoints of this subwalk. Note that WiW_{i} may be a single vertex (in which case e1=e2e_{1}=e_{2}) or it may be the empty walk (in which case we will let e1=e2e_{1}=e_{2} be an arbitrary vertex peripheral to the unbounded face of G(i,q)G_{(i,q)}). Let S(i,q)S_{(i,q)} be the (e1,e2)(e_{1},e_{2})-subwalk peripheral to G(i,q)G_{(i,q)} whose interior vertices are not colored in i\mathcal{F}_{i}.

    1. (a)

      If exactly one color is missing in G(i,q)G_{(i,q)}: Assign every vertex of S(i,q)S_{(i,q)} with the missing color.

    2. (b)

      If exactly two colors are missing in G(i,q)G_{(i,q)}: Choose (arbitrarily) one of the missing colors and assign every vertex of S(i,q)S_{(i,q)} with that color. Then choose one of e1e_{1} or e2e_{2} and assign to it the other missing color in addition.

    3. (c)

      If all three colors are missing in G(i,q)G_{(i,q)}: Choose (arbitrarily) one of the missing colors and assign every vertex in S(i,q)S_{(i,q)} with that color. Then choose any vertex from S(i,q)S_{(i,q)} and assign it both of the two remaining colors in addition.

    In each case, the three colors determine a 3-frame (i,q)\mathcal{F}_{(i,q)} of G(i,q)G_{(i,q)}.

  4. 4.

    Recurse on child nodes (i,1),(i,2),,(i,m)(i,1),(i,2),\ldots,(i,m) in a breadth-first search.

Output: KB=bestlowKB=bestlow.

G0G_{0}G(0,1)G_{(0,1)}G(0,2)G_{(0,2)}G(0,1,1)G_{(0,1,1)}G(0,1,2)G_{(0,1,2)}
Figure 5: An example of BT-Alg resulting in KB=5KB=5.

We were careful in how we defined the 3-frames for child nodes of the search tree so that the net covers obtained at each step of the algorithm have the following nice property as separating sets in GG.

Lemma 5.4.

Any subgraph associated to a node in the rooted search tree obtained in BT-Alg is incident with at most three cover sets found in a previous iteration of step 1.

Proof.

Let ii be a node in the rooted search tree obtained by BT-Alg. If uV(Gi)u\in V(G_{i}) is adjacent to some cover set, say CiC_{i^{\prime}}, associated to a previous node ii^{\prime} in the search tree, then CiC_{i^{\prime}} separated uu from at least one color of i\mathcal{F}_{i^{\prime}} in GiG_{i^{\prime}}, and uu was assigned one of those missing colors, say blueblue. No later iteration between ii and ii^{\prime} can separate a connected component containing GiG_{i} from the blueblue vertices. That is, CiC_{i^{\prime}} is the unique cover set incident with GiG_{i} and separating V(Gi)V(G_{i}) from the blueblue side of the frame. Since there are only three colors in a 3-frame, there can only be three such cover sets incident with GiG_{i}. ∎

Theorem 5.5.

For any connected planar graph GG, the constant KBKB output by BT-Alg satisfies λ(G)/4KBλ(G)\lambda(G)/4\leq KB\leq\lambda(G).

Proof.

Since BT-Alg finds a net of order KBKB in a subgraph of GG, we know that KBλ(G)KB\leq\lambda(G). Let 𝐌\mathbf{M} be a net of order λ(G)\lambda(G) in some subgraph of GG. Lemma 3.5 implies that every vine in 𝐌\mathbf{M} covers 𝐌\mathbf{M}, so each vine contains at least λ(G)\lambda(G) vertices. Consider a node ii in our search tree such that V(Gi)V(G_{i}) contains a vine, say Y𝐌Y\in\mathbf{M}, and no child of GiG_{i} contains a vine in 𝐌\mathbf{M}. Such a node must exist in our search tree since the graph associated to each leaf has fewer than λ(G)\lambda(G) vertices.

By lemma 5.4, GiG_{i} is incident with at most three net covers obtained in BT-Alg. Thus, every vine in 𝐌\mathbf{M} which is not contained in GiG_{i} intersects at least one of these three net covers nontrivially. Furthermore, every vine in 𝐌\mathbf{M} that is contained in GiG_{i} must intersect CiC_{i}. Now we can cover 𝐌\mathbf{M} with four covers obtained in the algorithm, at most three incident with GiG_{i} plus CiC_{i}. By construction, each of these covers has size at most KBKB, so λ(G)=order(𝐌)4KB\lambda(G)=\text{order}(\mathbf{M})\leq 4KB. ∎

Inspired by [7], we use BT-Alg to construct a tree decomposition of a planar graph. This will give an upper bound on treewidth.

Theorem 5.6.

For any connected planar graph GG, the constant KBKB output by BT-Alg satisfies TW(G)4KB1TW(G)\leq 4KB-1.

Proof.

We define a tree decomposition of GG as follows. Let TT be the tree constructed in the rooted tree search in BT-Alg. For each node iV(T)i\in V(T), define

β(i)=Ci{uV(G)\V(Gi):NG(u)V(Gi)}.\beta(i)=\ C_{i}\cup\{u\in V(G)\backslash V(G_{i}):N_{G}(u)\cap V(G_{i})\neq\varnothing\}.

That is, each vertex set β(i)\beta(i) contains the net cover, CiC_{i}, plus all vertices outside of GiG_{i} which have a neighbor in GiG_{i}. We need to confirm that (T,β)(T,\beta) possesses the three properties of a tree decomposition.

(1): In the algorithm, for each uV(G)u\in V(G), there is some iV(T)i\in V(T) such that uCiu\in C_{i}, so uβ(i)u\in\beta(i).

(2): Suppose uvE(G)uv\in E(G), uCiu\in C_{i} and vCiv\in C_{i^{\prime}}. If i=ii=i^{\prime} or both iii\not=i^{\prime} and vV(G)\V(Gi)v\in V(G)\backslash V(G_{i}), then u,vβ(i)u,v\in\beta(i). Otherwise vV(Gi)\Civ\in V(G_{i})\backslash C_{i}, implying GiG_{i^{\prime}} is a subgraph of some connected component of GiCiG_{i}-C_{i}. By definition u,vβ(i)u,v\in\beta(i^{\prime}).

(3): The third property is equivalent to showing that for any uV(G)u\in V(G), β1(u)\beta^{-1}(u) is connected. For any uV(G)u\in V(G),

β1(u)={iV(T):uCi or (uV(Gi)andvNG(u)V(Gi))}.\beta^{-1}(u)=\{i\in V(T):u\in C_{i}\text{ or }(u\notin V(G_{i})\ \text{and}\ \exists v\in N_{G}(u)\cap V(G_{i}))\}.

If uCju\in C_{j}, then T[β1(u)]T[\beta^{-1}(u)] will be a subtree of TT rooted at jj.

We have shown that (T,β)(T,\beta) is a tree decomposition of GG. For any iV(T)i\in V(T), lemma 5.4 implies β(i)\beta(i) intersects at most four net covers defined in the algorithm. Therefore, |β(i)|4KB|\beta(i)|\leq 4KB. That is, the width of (T,β)(T,\beta) is at most 4KB14KB-1. ∎

Combining Theorems 5.5 and 5.6, we get the following result on lower and upper bounds on the treewidth of a planar graph:

Theorem 5.7.

Let GG be a planar graph. Then BT-Alg computes KBKB in O(|G|3)O(|G|^{3}) time, and

λ(G)4KBBN(G)4KB4λ(G).\frac{\lambda(G)}{4}\leq KB\leq BN(G)\leq 4KB\leq 4\lambda(G).
Proof.

We run BT-Alg on each connected component of GG. Hopcroft and Tarjan’s algorithm generates a planar embedding in O(|G|)O(|G|) time. In the iteration, Net-Alg runs in O(|G|2)O(|G|^{2}) time. Moreover, the nodes in the search tree are in bijection with disjoint, nonempty cut-sets from GG, so this iteration runs at most |G||G| times. Therefore, the rooted tree search completes in O(|G|3)O(|G|^{3}) time. The upper and lower bounds on bramble number follow directly from theorem 5.6 and theorem 5.5, respectively. ∎

6 Correcting a lower bound with square grids

In this section, we explain the difficulties with [4], in particular, the proof of Theorem 3.2([4]) and the algorithm 𝒜2\mathcal{A}_{2}([4]). Algorithm 𝒜2\mathcal{A}_{2}([4]) defines four sides to a plane graph and it determines a tree of north-south or east-west cuts, and it inspired us to write BT-Alg. Theorem 3.2([4]) finds lower bound LB2LB_{2} using Algorithm 𝒜2\mathcal{A}_{2}([4]). It inspired us to prove Theorem 5.5. In the examples below, we follow their notation, using 𝒩\mathcal{N}, \mathcal{E}, 𝒮\mathcal{S}, 𝒲\mathcal{W} as the dummy vertices adjacent to the paths NorthNorth, EastEast, SouthSouth, WestWest.

C1C_{1}C2C_{2}C3C_{3}C4C_{4}C5C_{5}C6C_{6}𝒩\mathcal{N}𝒮\mathcal{S}𝒲\mathcal{W}\mathcal{E}
Figure 6: After six iterations of 𝒜2\mathcal{A}_{2}([4]), the only component subgraph is incident with all six cuts.

The first step of 𝒜2\mathcal{A}_{2}([4]) assigns roughly equal numbers of vertices to each of NorthNorth, EastEast, SouthSouth and WestWest. We note that throughout the algorithmic procedure, it is impossible to maintain four paths of roughly the same length. For instance, if a cut dramatically increases the number of peripheral vertices, then it is possible that one side will contain much less than one-quarter of the vertices in the new periphery. Thus, we cannot assume that the paths will be of approximately equal length or that this constitutes an assignment of vertices to the new periphery.

The problem with 𝒜2\mathcal{A}_{2}([4]) is that it is not specific in its assignment of new peripheral vertices to NorthNorth, EastEast, SouthSouth or WestWest at each iteration. When making the periphery assignments, there are choices that will not yield the desired result in the proof of Theorem 3.2([4]). Figure 6 describes such a situation. Our example is a 6×66\times 6 grid with 𝒩\mathcal{N}, \mathcal{E}, 𝒮\mathcal{S}, 𝒲\mathcal{W} each adjacent to a side of the grid. We choose C1C_{1} to be the leftmost column that separates \mathcal{E} and 𝒲\mathcal{W}. The rule we use to assign vertices to the periphery is that we extend SouthSouth to meet NorthNorth, and WestWest is atomic. Then CiC_{i}, 2i62\leq i\leq 6, is the singleton vertex in WestWest. This yields a connected component that is adjacent to six separations, where the expected number was four.

𝒩\mathcal{N}𝒮\mathcal{S}𝒲\mathcal{W}\mathcal{E}C1C_{1}C2C_{2}C3C_{3}C4C_{4}C5C_{5}
Figure 7: After four iterations of 𝒜2\mathcal{A}_{2}([4]), there is only one component subgraph. The two subgraphs associated to the child nodes are defined by five cuts in the algorithm.

Next we consider 𝒜2\mathcal{A}_{2}([4]) assuming that the assignment of vertices to the periphery occurs as in BT-Alg. We will show that there is an error in the proof of Theorem 3.2([4]) and that the proof shows only LB2s(G)/5LB_{2}\geq s(G)/5, where s(G)s(G) is the size of largest square grid minor of GG. In the proof the authors construct a rooted-search-tree where each node ii is associated to a subgraph GiG_{i} of GG. Each GiG_{i} is determined by at most two 𝒩𝒮\mathcal{N}-\mathcal{S} vertex cuts and at most two 𝒲\mathcal{E}-\mathcal{W} vertex cuts, hence at most four vertex cuts. The children of GiG_{i} are the connected components of GiCiG_{i}-C_{i}, where CiC_{i} is an additional vertex cut, either 𝒩𝒮\mathcal{N}-\mathcal{S} or 𝒲\mathcal{E}-\mathcal{W}. The authors assume that at most four vertex cuts are enough to separate all child nodes of GiG_{i}. They use this claim in the very last sentence of the proof of Theorem 3.2([4]), to show some one of these cuts must have size at least s(G)/4s(G)/4.

However, it may take five vertex cuts to determine, simultaneously, all subgraphs associated to child nodes of ii. Although each of these children are determined by at most four cuts, to simultaneously separate all of them, we must include the four that separate GiG_{i} and the cut that divides GiG_{i} into its children. Figure 7 is an example of when five cuts are needed. If we implement algorithm 𝒜2\mathcal{A}_{2}([4]) on the 5×55\times 5 grid, then 𝒜2\mathcal{A}_{2}([4]) could produce the sequence of five cut sets pictured, C1C_{1}, C2C_{2}, C3C_{3}, C4C_{4} and C5C_{5}. After four iterations of the algorithm, there is only one component subgraph associated to a single node in the rooted-search-tree. Then removing C5C_{5} produces two component subgraphs, each of which is adjacent to only four cuts in the algorithm. However, all five cuts need to be removed from the original grid in order to obtain both component subgraphs.

Thus, the bound proved in Theorem 3.2([4]) shows LB2s(G)/5LB_{2}\geq s(G)/5, not s(G)/4s(G)/4.

7 Concluding remarks

We have shown that nets are a natural generalization of high order brambles found in square grids. Moreover, using only three sides in their definition makes nets a more natural candidate for a high order obstruction to treewidth than the four-sided square grid minors. In practice, because a square grid minor has more structure than a net, it is harder to find. Thus we expect our algorithm to perform better than 𝒜2\mathcal{A}_{2}([4]). It would be interesting to experimentally test BT-Alg for running time and efficiency on small graphs to see if this holds.

In the experimental results in [4] LB2LB_{2} is usually at least half of BN(G)BN(G), so typically LB2LB_{2} is much larger than the theoretical lower bound. We expect that in practice, KBKB will be much greater than λ(G)/4\lambda(G)/4. We expect only very specific constructions to achieve this theoretical lower bound.

References

  • [1] Patrick Bellenbaum and Reinhard Diestel. Two short proofs concerning tree-decompositions. Combin. Probab. Comput., 11(6):541–547, 2002.
  • [2] E. Birmelé, J. A. Bondy, and B. A. Reed. Brambles, prisms and grids. In Graph theory in Paris, Trends Math., pages 37–44. Birkhäuser, Basel, 2007.
  • [3] Hans L. Bodlaender. A partial kk-arboretum of graphs with bounded treewidth. Theoret. Comput. Sci., 209(1-2):1–45, 1998.
  • [4] Hans L. Bodlaender, Alexander Grigoriev, and Arie M. C. A. Koster. Treewidth lower bounds with brambles. Algorithmica, 51(1):81–98, 2008.
  • [5] Chandra Chekuri and Julia Chuzhoy. Polynomial bounds for the gird-minor theorem. J. ACM, 63(5):Art. 40, 65, 2016.
  • [6] S. E. Dreyfus and R. A. Wagner. The Steiner problem in graphs. Networks, 1:195–207, 1971/72.
  • [7] Alexander Grigoriev. Tree-width and large grid minors in planar graphs. Discrete Math. Theor. Comput. Sci., 13(1):13–20, 2011.
  • [8] Monika R. Henzinger, Philip Klein, Satish Rao, and Sairam Subramanian. Faster shortest-path algorithms for planar graphs. J. Comput. System Sci., 55(1, part 1):3–23, 1997. 26th Annual ACM Symposium on the Theory of Computing (STOC ’94) (Montreal, PQ, 1994).
  • [9] B. A. Reed. Tree width and tangles: a new connectivity measure and some applications. In Surveys in combinatorics, 1997 (London), volume 241 of London Math. Soc. Lecture Note Ser., pages 87–162. Cambridge Univ. Press, Cambridge, 1997.
  • [10] Neil Robertson and P. D. Seymour. Graph minors. II. Algorithmic aspects of tree-width. J. Algorithms, 7(3):309–322, 1986.
  • [11] Neil Robertson and P. D. Seymour. Graph minors. VI. Disjoint paths across a disc. J. Combin. Theory Ser. B, 41(1):115–138, 1986.
  • [12] Neil Robertson and P. D. Seymour. Graph minors. XX. Wagner’s conjecture. J. Combin. Theory Ser. B, 92(2):325–357, 2004.
  • [13] P. D. Seymour and Robin Thomas. Graph searching and a min-max theorem for tree-width. J. Combin. Theory Ser. B, 58(1):22–33, 1993.
  • [14] Brett C. Smith. On Minimality of Planar Graphs with Respect to Treewidth. PhD thesis, Wesleyan University, 45 Wyllys Ave, Middletown, CT 06459, May 2015.
  • [15] Douglas B. West. Introduction to graph theory. Prentice Hall, Inc., Upper Saddle River, NJ, 1996.