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

11institutetext: Theoretical Computer Science, University Osnabrück, Germany
11email: markus.chimani@uni-osnabrueck.de
22institutetext: Faculty of Informatics, Masaryk University Brno, Czech Republic
22email: hlineny@fi.muni.cz
September 4, 2025

A Tighter Insertion-based Approximation
of the Crossing Numberthanks: A preliminary version of this research appeared in ICALP 2011 [8].

Markus Chimani 11    Petr Hliněný P. Hliněný has been supported by the Czech Science Foundation project 14-03501S.22
Abstract

Let GG be a planar graph and FF a set of additional edges not yet in GG. The multiple edge insertion problem (MEI) asks for a drawing of G+FG+F with the minimum number of pairwise edge crossings, such that the subdrawing of GG is plane. Finding an exact solution to MEI is NP-hard for general FF. We present the first polynomial time algorithm for MEI that achieves an additive approximation guarantee – depending only on the size of FF and the maximum degree of GG, in the case of connected GG. Our algorithm seems to be the first directly implementable one in that realm, too, next to the single edge insertion.

It is also known that an (even approximate) solution to the MEI problem would approximate the crossing number of the FF-almost-planar graph G+FG+F, while computing the crossing number of G+FG+F exactly is NP-hard already when |F|=1|F|=1. Hence our algorithm induces new, improved approximation bounds for the crossing number problem of FF-almost-planar graphs, achieving constant-factor approximation for the large class of such graphs of bounded degrees and bounded size of FF.

1 Introduction

The crossing number cr(G)\mathrm{cr}(G) of a graph GG is the minimum number of pairwise edge crossings in a drawing of GG in the plane. Finding the cossing number of a graph is one of the most prominent combinatorial optimization problems in graph theory and is NP-hard already in very restricted cases, e.g., even when considering a planar graph with one added edge [4]. It has been vividly investigated for over 60 years, but there is still surprisingly little known about it; see [25] for an extensive bibliography. While the approximability status of the crossing number problem is still unknown, several approximation algorithms arose for special graph classes.

For the crossing number of general graphs with bounded degree, there is an algorithm [1] that approximates not directly the crossing number, but the quantity n+cr(G)n+\mathrm{cr}(G); its currently best incarnation does so within a factor of O(log2n)O(\log^{2}n) [13]. In terms of pure cr(G)\mathrm{cr}(G)-approximation this hence resembles a ratio of O(nlog2n)O(n\log^{2}n). The first sublinear approximation factor of O~(n0.9)\tilde{O}(n^{0.9}) was recently given via a highly involved (and unfortunately not directly practical) algorithm [10].

The known constant factor approximations restrict themselves to graphs following one of two paradigms (see also Section 4): they either assume that the graph is embeddable in some higher surface [14, 21, 19], or they are based on the idea that only a small set of graph elements has to be removed from GG to make it planar: removing and re-inserting them can give strong approximation bounds [20, 3, 9]. In this paper, we follow the latter idea and first concentrate on the following tightly related problem:

Definition 1.1 (Multiple edge insertion, MEI)

Let GG be a planar graph and FF a set of edges (vertex pairs, in fact) not in E(G)E(G). We denote by G+FG+F the graph obtained by adding FF to the edge set of GG. The multiple edge insertion problem MEI(G,F)\mathrm{MEI}(G,F) is to find

  1. i)

    a plane embedding G0G_{0} of GG, and

  2. ii)

    a drawing GFG_{F} of the graph G+FG+F such that the restriction of GFG_{F} to GG is the plane embedding G0G_{0},

such that the number of pairwise edge crossings in GFG_{F} is minimized over all plane embeddings G0G_{0} of GG and all drawings GFG_{F} as in (ii).

Let ins(G0,F)\mathrm{ins}(G_{0},F) denote the minimum number of edge crossings of GFG_{F} as in (ii) and let ins(G,F)\mathrm{ins}(G,F), the solution size of the MEI(G,F)\mathrm{MEI}(G,F) problem, denote this minimum of ins(G0,F)\mathrm{ins}(G_{0},F) over all plane embeddings G0G_{0} of GG. \diamond

We refer to Section 2 for formal definitions of a drawing and edge crossings. Observe that, in a solution to MEI, each crossing hence involves at least one edge of FF. This can be a severe restriction, as shown by the examples of MEI(G,F)\mathrm{MEI}(G,F) instances with solution sizes much larger than cr(G+F)\mathrm{cr}(G+F) given, e.g., in [18, 20].

For general k=|F|k=|F|, the MEI problem is known to be NP-hard [26], based on a reduction from fixed linear crossing number (see Appendix); for fixed k>1k>1 the problem complexity is open. The main difficulty of the MEI problem, roughly, comes from possible existence of (up to exponentially many) inequivalent embeddings of GG.

The case k=1k=1 of MEI is known as the (single) edge insertion problem and can be solved optimally in linear time [18], as we will briefly summarize in Section 2.5. Let ee be the edge to insert, and denote the resulting number of crossings by ins(G,e)\mathrm{ins}(G,e). Let Δ(G)\Delta(G) denote the maximum degree in GG. It was shown [20, 3] that ins(G,e)\mathrm{ins}(G,e) approximates the crossing number cr(G+e)\mathrm{cr}(G+e)—i.e., of the graph containing this edge ee—within a multiplicative factor of 12Δ(G)\lfloor\frac{1}{2}\Delta(G)\rfloor achieved in [3], and this bound is tight. Recall also that computing cr(G+e)\mathrm{cr}(G+e) exactly is NP-hard [4].

Another special case of the MEI problem is when one adds a new vertex together with its incident edges; this is also polynomially solvable [7] and approximates the crossing number of the resulting apex graph [9]. A slight variant of this vertex insertion (or star insertion) problem, is the multiple adjacent edge insertion, were the inserted edges have a common incident vertex that need not be new. The algorithm in [7] also solves this latter variant. However, these are the only types of insertion problems that are currently known to be in P.

Nevertheless, it has been proven in [9] (see Section 4) that a solution (even an approximate one) to MEI(G,F)\mathrm{MEI}(G,F) would directly imply an approximation algorithm for cr(G+F)\mathrm{cr}(G+F) with planar GG. Independently, Chuzhoy et al. [11] have shown the first algorithm efficiently computing an approximate solution to the crossing number problem on G+FG+F with the help of a multiple edge insertion solution. Precisely, they have achieved a solution with the number of crossings

(1) craprx(G+F)O(Δ(G)3|F|cr(G+F)+Δ(G)3|F|2)\displaystyle\mathrm{cr}^{\mathrm{aprx}}(G+F)\>\leq\>O\big{(}\Delta(G)^{3}\cdot|F|\cdot\mathrm{cr}(G+F)+\Delta(G)^{3}\cdot|F|^{2}\big{)}

(without giving explicit constants). Though not mentioned explicitly in [11], it seems that their results also give an approximation solution to MEI(G,F)\mathrm{MEI}(G,F) with the same ratio, at least in the case of 33-connected G+FG+F. However, the algorithm [11] is unfortunately not directly applicable in practice.

In this paper, we pay our main attention to the MEI problem. In contrast to a multiplicative factor as in (1), we provide an efficient algorithm approximating a solution of MEI(G,F)\mathrm{MEI}(G,F) with an additive approximation guarantee (3). Then we employ the aforementioned generic result of [9] to derive a corresponding approximation of the crossing number (this up to a multiplicative factor). On the one hand, our approach is algorithmically and implementationally simpler, virtually only building on top of well-studied and experimentally evaluated sub-algorithms. On the other hand, it gives stronger approximations also for the crossing number, cf. (5) as compared to (1), as well as better runtime bounds.

We are going to show:

Theorem 1.2

Given a connected planar graph GG and an edge set FF, FE(G)=F\cap E(G)=\emptyset. Let k:=|F|k:=|F| and Δ:=Δ(G)\Delta:=\Delta(G). Algorithm 3.3 described below finds, in O(k|V(G)|+k2)O(k\cdot|V(G)|+k^{2}) time, a solution to the MEI(G,F)\mathrm{MEI}(G,F) problem with insaprx(G,F)\mathrm{ins}^{\mathrm{aprx}}(G,F) crossings such that

(2) insaprx(G,F)\displaystyle\mathrm{ins}^{\mathrm{aprx}}(G,F) =ins(G,F)+O(Δklogk+k2), or more precisely\displaystyle=\mathrm{ins}(G,F)+O(\Delta\,k\log k+k^{2})\mbox{, or more precisely}
(3) insaprx(G,F)\displaystyle\mathrm{ins}^{\mathrm{aprx}}(G,F) ins(G,F)+2klog2k12Δ+12(k2k).\displaystyle\leq\mathrm{ins}(G,F)+2k\,\lfloor\log_{2}k\rfloor\cdot\left\lfloor\mbox{$\frac{1}{2}$}\Delta\right\rfloor+\mbox{$\frac{1}{2}$}\big{(}k^{2}-k\big{)}.

Consequently, this gives an approximate solution to the crossing number problem

(4) craprx(G+F)\displaystyle\mathrm{cr}^{\mathrm{aprx}}(G+F) =O(Δk)cr(G+F)+O(Δklogk+k2), or more precisely\displaystyle=O(\Delta k)\cdot\mathrm{cr}(G+F)+O(\Delta\,k\log k+k^{2})\mbox{, or more precisely}
(5) craprx(G+F)\displaystyle\mathrm{cr}^{\mathrm{aprx}}(G+F) 12Δ2kcr(G+F)+2klog2k12Δ+12(k2k).\displaystyle\leq\lfloor\mbox{$\frac{1}{2}$}\Delta\rfloor\!\cdot 2k\!\cdot\mathrm{cr}(G+F)+2k\,\lfloor\log_{2}k\rfloor\cdot\left\lfloor\mbox{$\frac{1}{2}$}\Delta\right\rfloor+\mbox{$\frac{1}{2}$}\big{(}k^{2}-k\big{)}.

Notice the constant-factor approximation ratio when the degree of GG and the size of FF are bounded. We remark that the assumption of connectivity of GG is necessary in the context of Theorem 1.2. For disconnected GG, the approximation guarantee for insaprx(G,F)\mathrm{ins}^{\mathrm{aprx}}(G,F) would be the same as for craprx(G+F)\mathrm{cr}^{\mathrm{aprx}}(G+F) in (5).

Concerning practical usability, our Algorithm 3.3, in fact, seems to be the first directly implementable and practically useful algorithm in this area, next to the single edge insertion. In [6], an implementation of this algorithm is compared to the strongest known heuristics in practice, and offers the arguably best balance between running time (being faster than most heuristics) and solution quality (second only to a very long running heuristic).

2 Decompositions and Embedding Preferences

We use the standard terminology of graph theory. By default, we use the term graph to refer to a loopless multigraph. This means that we allow parallel edges (but no loops), and when speaking about a cycle in a graph, we include also the case of a 22-cycle formed by a pair of parallel edges. If there is no danger of confusion between parallel edges, we denote an edge with the ends uu and vv chiefly by uvuv.

We pay particular attention to graph connectivity. A cut vertex in a connected graph GG is a vertex uu such that GuG-u is disconnected. A graph GG is biconnected if GG has at least 33 vertices and no cut vertex, and GG is triconnected if GG has at least 44 vertices and no vertex-cut of size 2\leq 2. A block in a graph GG is a maximal subgraph HGH\subseteq G such that HH contains no cut vertex (of HH). In other words, a block HH is a maximal biconnected subgraph of GG, or HH has at most 22 vertices, which are not contained in any common larger block.

A drawing of a graph G=(V,E)G=(V,E) is a mapping of the vertices VV to distinct points on a surface Σ\Sigma, and of the edges EE to simple curves on Σ\Sigma, connecting their respective end points but not containing any other vertex point. Unless explicitly specified, we will always assume Σ\Sigma to be the plane (or, equivalently, the sphere). A crossing is a common point of two distinct edge curves, other than their common end point. Then, a drawing is plane if there are no crossings. A graph is planar, if and only if it allows a plane drawing.

The crossing number problem asks for a drawing of a given graph GG with the least possible number cr(G)\mathrm{cr}(G) of pairwise edge crossings (while there exists other definitions of a crossing number such as the pair or odd crossing numbers, those are not the subject of our paper). By saying “pairwise edge crossings” we would like to emphasize that we count a crossing point xx separately for every pair of edges meeting in xx (e.g., if kk edges meet in xx, then this accounts for (k2){k\choose 2} crossings). It is well established that the search for an optimal solution to the above crossing number problem can be restricted to so called good drawings: any pair of edges crosses at most once, adjacent edges do not cross, and there is no point on Σ\Sigma that is a crossing of three or more edges.

A plane embedding G0G_{0} of a connected graph GG is GG augmented with the cyclic orders of the edges around their incident vertices, such that there is a plane drawing of GG respecting these orders. Embeddings hence form equivalence classes over all plane drawings of GG on the sphere. Choosing any of the thereby induced faces—the regions on the sphere enclosed by edge curves—as the (infinite, unbounded) outer face gives an actual drawing in the plane. However, it is technically easier to keep the “freedom of choice” of the outer face, and hence to work with plane drawings and embeddings on the sphere (unless we explicitly specify otherwise). Observe that, when inverting all the cyclic orders of an embedding, we mirror the embedding, and consequently the corresponding drawings. In regard of Definition 1.1, if GFG_{F} is a drawing of the graph G+FG+F such that the restriction of GFG_{F} to GG gives a plane embedding G0G_{0}, then we chiefly refer to GFG_{F} as to G0+FG_{0}+F.

Given a plane embedding G0G_{0} of GG, we define its dual G0G_{0}^{*} as the embedded graph that has a (dual) vertex for each face in G0G_{0}; dual vertices are joined by a (dual) edge for each (primal) edge shared by their respective (primal) faces. The cyclic order of the (dual) edges around any common incident (dual) vertex vv^{*}, is induced by the cyclic order of the (primal) edges around the (primal) face corresponding to vv^{*}. We may refer to a path in G0G_{0}^{*} as to a dual path in G0G_{0}.

2.1 Insertion problems and decomposition trees

When dealing with insertion problems, we always consider a connected planar graph GG with a set FF of additional kk edges (with the ends in V(G)V(G)) not present in E(G)E(G). Note that, since we allow multigraphs, an edge from FF may be parallel to an existing edge of GG.

Insertion algorithms typically work in two phases: first, they choose an embedding G0G_{0} of GG; then they fix G0G_{0} and draw the edges FF within it. In this context, we also use the following terminology.

Definition 2.1 (Insertion path)

Consider a connected planar graph GG and v1,v2V(G)v_{1},v_{2}\in V(G). Let G0G_{0} be a plane embedding of GG. An insertion path of {v1,v2}\{v_{1},v_{2}\} is a shortest dual path in G0G_{0} from a face incident to v1v_{1} to a face incident to v2v_{2}. \diamond

Claim

Let G0G_{0} be a plane embedding of a graph and v1,v2V(G0)v_{1},v_{2}\in V(G_{0}). A new edge v1v2v_{1}v_{2} can be drawn in G0G_{0} with at most kk crossings if, and only if, there is an insertion path of {v1,v2}\{v_{1},v_{2}\} in G0G_{0} of length at most kk. ∎

Our approach to edge insertion will use suitable tree-structured decompositions of the given planar graph, according to its connectivity. The concept of these decompositions is also illustrated with an example in Figure 1.

Definition 2.2 (BC-tree)

Let GG be a connected graph. The BC-tree =(G){\mathcal{B}}={\mathcal{B}}(G) of GG is a tree that satisfies the following properties:

  1. i)

    {\mathcal{B}} has two different node types: B- and C-nodes.

  2. ii)

    For every cut vertex in GG{\mathcal{B}} contains a unique corresponding C-node.

  3. iii)

    For every block in GG{\mathcal{B}} contains a unique corresponding B-node.

  4. iv)

    No two B-, and no two C-nodes are adjacent. A B-node is adjacent to a C-node iff the corresponding block contains the corresponding cut vertex. \diamond

To further decompose the blocks, we consider SPQR-trees for each non-trivial B-node (i.e., whose block contains more than two vertices). This decomposition was first defined in [12], based on prior work of [2, 24]. Even though more complicated than the BC-tree, it requires also only linear size and can be constructed in linear time [22, 16]. We are mainly interested in the property that an SPQR-tree can be used to efficiently represent and enumerate all (potentially exponentially many) plane embeddings of its underlying graph. For conciseness, we call our tree SPR-tree, as we do not require nodes of type Q.

Definition 2.3 (SPR-tree, cf. [5])

Let HH be a biconnected graph with at least three vertices. The SPR-tree 𝒯{\mathcal{T}} of HH is the (unique) smallest tree satisfying the following properties:

  1. i)

    Each node ν\nu in 𝒯{\mathcal{T}} holds a specific (small) graph Sν=(Vν,Eν)S_{\nu}=(V_{\nu},E_{\nu}) where VνV(H)V_{\nu}\subseteq V(H), called a skeleton. Each edge ff of EνE_{\nu} is either a real edge fE(H)f\in E(H), or a virtual edge f=uvE(H)f=uv\not\in E(H) (while still, u,vV(H)u,v\in V(H)).

  2. ii)

    𝒯{\mathcal{T}} has three different node types with the following skeleton structures:

    • S:

      the skeleton SνS_{\nu} is a cycle (of length 22 or more)—it represents a serial component;

    • P:

      the skeleton SνS_{\nu} consists of two vertices and at least three multiple edges between them—it represents a parallel component;

    • R:

      the skeleton SνS_{\nu} is a simple triconnected graph on at least four vertices—it is “rigid”.

  3. iii)

    For every edge νμ\nu\mu in 𝒯{\mathcal{T}} we have |VνVμ|=2|V_{\nu}\cap V_{\mu}|=2. These two common vertices, say x,yx,y, form a vertex 22-cut (a split pair) in HH. Skeleton SνS_{\nu} contains a specific virtual edge eμE(Sν)e_{\mu}\in E(S_{\nu}) that represents the node μ\mu and, symmetrically, some specific eνE(Sμ)e_{\nu}\in E(S_{\mu}) represents ν\nu; both eν,eμe_{\nu},e_{\mu} have the ends x,yx,y. These two virtual edges may refer to one another as twins.

  4. iv)

    The original graph HH can be obtained by recursively applying the following operation of merging: For an edge νμE(𝒯)\nu\mu\in E({\mathcal{T}}), let eμe_{\mu}, eνe_{\nu} be the twin pair of virtual edges as in (iii connecting the same x,yx,y. A merged graph (SνSμ){eμ,eν}(S_{\nu}\cup S_{\mu})-\{e_{\mu},e_{\nu}\} is obtained by gluing the two skeletons together at x,yx,y and removing eμ,eνe_{\mu},e_{\nu}. \diamond

We remark that SPQR-trees have also been used in the aforementioned [11], though with a different approach. We use a slightly modified version of the SPR-tree, which “inserts” a degenerate S-node between each pair of P- or R-nodes:

Definition 2.4 (sSPR-tree)

Let HH be a biconnected graph with at least three vertices. A serialized SPR-tree (sSPR for short) 𝒯=𝒯(H){\mathcal{T}}={\mathcal{T}}(H) of HH is the unique smallest tree satisfying the properties (i)–(iv) of SPR-trees and additionally the following;

  1. v)

    every edge in 𝒯{\mathcal{T}} has precisely one end being an S-node. \diamond

In traditional SPR-trees, S-node skeletons will always contain at least three edges, due to their minimality. Because of property (v), sSPR-trees may, however, now also contain S-nodes representing 2-cycles. In fact, it is trivial to obtain an sSPR-tree from an SPR-tree by subdividing any edge that it not incident to an S-node with such a 2-cycle S-node. We observe that the sSPR-tree retains essentially all properties of SPR-trees, in particular it also has only linear size, can be computed in linear time, and all the previously known insertion algorithms (most importantly the single edge insertion algorithm [18]) can be performed using the sSPR-tree without any modifications.

Given graph:

Refer to caption

BC-tree:

Refer to caption

Con-tree:

Refer to caption

Decomposition graph:

Refer to caption

SPR-tree & skeletons

of largest block:

Refer to caption

sSPR-tree & skeletons

of largest block:

Refer to caption
Figure 1: Example for the various decompositions.

We are particularly interested in the amalgamated version of the above decompositions, chiefly denoted by con-tree:

Definition 2.5 (Con-tree)

Given a connected, planar graph GG, let the con-tree 𝒞=𝒞(G){\mathcal{C}}={\mathcal{C}}(G) be formed of the BC-tree (G){\mathcal{B}}(G) that holds sSPR-trees 𝒯(H){\mathcal{T}}(H) for all non-trivial blocks HH of GG. For technical reasons, if HH is a trivial 22-vertex block, we set 𝒯(H){\mathcal{T}}(H) to be the tree formed by a single dummy node, called a D-node, whose skeleton is HH.111In a simple graph, a trivial block is always a bridge in GG. In multigraphs, HH may also be a set of parallel edges between a vertex pair x,yx,y, whose removal would disconnect x,yx,y. In the latter case, it is trivial that the precise order of the edges is irrelevant, and we could represent HH via a single edge eHe_{H} and its multiplicity |E(H)||E(H)| instead. Also, let the skeleton SνS_{\nu} of a C-node ν\nu simply be the corresponding cut vertex. \diamond

Clearly, the linear-sized con-tree 𝒞(G){\mathcal{C}}(G) can be obtained from GG in linear time.

Furthermore, we will sometimes treat this two-level con-tree as follows:

Definition 2.6 (Flattening a con-tree, decomposition graph)

In the setting of Definition 2.5, let a decomposition graph 𝒟(G){\mathcal{D}}(G) of GG be constructed from the union of all the sSPR trees 𝒯(H){\mathcal{T}}(H) over the blocks HH of GG and of all the C-nodes of (G){\mathcal{B}}(G), as follows:

  1. i)

    Observe that for each block HH in GG holding a cut vertex xx of GG, there is one or possibly multiple nodes of 𝒯(H){\mathcal{T}}(H) whose skeletons contain xx, and not all of them are P-nodes. Call these nodes of 𝒯(H){\mathcal{T}}(H) whose skeletons contain xx the mates of xx from 𝒯(H){\mathcal{T}}(H).

  2. ii)

    In 𝒟(G){\mathcal{D}}(G), for every C-node μ\mu holding a cut vertex xx of GG and for every block HH of GG containing xx, make μ\mu adjacent to all the mates of xx from 𝒯(H){\mathcal{T}}(H) that are not P-nodes. \diamond

This “flat” view of a decomposition graph will later be implicitly used, for instance, when defining a con-path (Definition 2.8). The intentional exclusion of P-nodes in (ii) is of technical nature and will be justified later in Claim 2.2.

To summarize, a con-tree (as well as the related decomposition graph) provides us with a natural and easy way to encode all embeddings of a given planar graph. An S-node skeleton has a unique embedding. For an R-node, we can choose between the unique embedding of its skeleton and the mirror image. For a P-node, we can choose an arbitrary cyclic permutation of the skeleton edges. For a C-node, a precise description of the choice is more tricky, but it roughly means we can choose which face of each block (assuming the blocks are already embedded) holds which other block. On the other hand, given a particular plane embedding of a graph GG, it is trivial to deduce the embeddings of all the skeletons within the con-tree 𝒞(G){\mathcal{C}}(G)—we shall formalize this observation in Definition 2.9 and Claim 2.4.

2.2 Con-chains and con-paths

In this paper we refer to the optimal single-edge insertion algorithm by Gutwenger et al. [18]. Consider (cf. Definition 1.1 for k=1k=1) a connected planar graph GG and let v1,v2v_{1},v_{2} be the vertices we want to connect by a new edge. In a nutshell (see Section 2.5 for details), the algorithm of [18] shows that an optimal plane embedding (of GG) for inserting v1v2v_{1}v_{2} into GG depends only on the con-tree nodes “between” some node containing v1v_{1} and one containing v2v_{2}. In this regard, we bring the following specialized definitions.

Definition 2.7 (Con-chain)

Consider a connected planar graph GG, and its con-tree 𝒞(G){\mathcal{C}}(G). Let v1,v2V(G)v_{1},v_{2}\in V(G). The con-chain 𝒬v1v2{\mathcal{Q}}_{v_{1}v_{2}} of the pair {v1,v2}\{v_{1},v_{2}\} in 𝒞(G){\mathcal{C}}(G) can be uniquely defined as consisting of the following:

  1. (i)

    the unique shortest path QQ in (G){\mathcal{B}}(G) between a B-node β1\beta_{1} whose block contains v1v_{1} and a B-node β2\beta_{2} whose block contains v2v_{2};

  2. (ii)

    for each B-node β\beta along QQ, two border vertices w1β,w2βw_{1}^{\beta},w_{2}^{\beta}: for i=1,2i=1,2, if β=βi\beta=\beta_{i} let wiβ=viw_{i}^{\beta}=v_{i}; otherwise let wiβw_{i}^{\beta} be the cut vertex in GG corresponding to the (unique) C-node neighbor of β\beta closest to βi\beta_{i};222Note that w2β=w1βw_{2}^{\beta}=w_{1}^{\beta^{\prime}} if β,β\beta,\beta^{\prime} are consecutive B-nodes on QQ in this order. and

  3. (iii)

    again for each β\beta on QQ, the node sequence QβQ_{\beta} of the unique shortest path in 𝒯(Hβ){\mathcal{T}}(H_{\beta}) connecting nodes of 𝒯(Hβ){\mathcal{T}}(H_{\beta}) whose skeletons contain the border vertices w1βw_{1}^{\beta} and w2βw_{2}^{\beta} in this order.

In iii, uniqueness of the path generally follows from the fact that 𝒯(Hβ){\mathcal{T}}(H_{\beta}) is a tree. For the possible degenerate case that QβQ_{\beta} consists of a single node (whose skeleton holds both w1β,w2βw_{1}^{\beta},w_{2}^{\beta}) but is not unique, we choose the “first” such node, according to some arbitrary but fixed order of the decomposition nodes. (In fact, this special case is showcased in Figure 1.) \diamond

Definition 2.8 (Con-path)

In the setting of Definition 2.7, a con-path 𝒫v1,v2:=𝒫(𝒬v1,v2){\mathcal{P}}_{v_{1},v_{2}}:={\mathcal{P}}({\mathcal{Q}}_{v_{1},v_{2}}) of {v1,v2}\{v_{1},v_{2}\} in 𝒞(G){\mathcal{C}}(G) is the sequence of decomposition nodes (of type S, P, R, C, and D) resulting from QQ (which contains B- and C-nodes), by replacing each B-node β\beta by its corresponding sequence QβQ_{\beta}. \diamond

Obviously, no con-path may start or end with a C-node. Moreover:

Claim

A con-chain piece QβQ_{\beta} (cf. Def. 2.7(iii)) can neither start nor end with a P-node. Therefore, a P-node can occur in a con-path only between two S-nodes, and never at the end nor adjacent to a C-node. ∎

The term con-path is justified by the fact that this node sequence is a path in the decomposition graph 𝒟(G){\mathcal{D}}(G) from Definition 2.6. We may consider a con-path implicitly oriented, when suitable.

Even though a decomposition graph 𝒟(G){\mathcal{D}}(G) is not a tree, our con-paths in 𝒟(G){\mathcal{D}}(G) “behave” similarly as paths do in a tree:

Claim

Consider two con-paths 𝒫1{\mathcal{P}}_{1}, 𝒫2{\mathcal{P}}_{2} of pairs {v1,w1}\{v_{1},w_{1}\} and {v2,w2}\{v_{2},w_{2}\} in the decomposition graph 𝒟(G){\mathcal{D}}(G) of a graph GG. Then 𝒫1𝒫2{\mathcal{P}}_{1}\cap{\mathcal{P}}_{2}, if non-empty, forms a consecutive subsequence in each of 𝒫1,𝒫2{\mathcal{P}}_{1},{\mathcal{P}}_{2}.

Proof

In this proof we view 𝒫1,𝒫2{\mathcal{P}}_{1},{\mathcal{P}}_{2} as paths in the graph 𝒟(G){\mathcal{D}}(G). Assuming a contradiction, there exist distinct subpaths 𝒫i𝒫i{\mathcal{P}}_{i}^{\prime}\subseteq{\mathcal{P}}_{i}, i=1,2i=1,2, such that 𝒫1,𝒫2{\mathcal{P}}_{1}^{\prime},{\mathcal{P}}_{2}^{\prime} share common ends α,βV(𝒟)\alpha,\beta\in V({\mathcal{D}}) but are internally disjoint otherwise. Since C-nodes are cut nodes in 𝒟(G){\mathcal{D}}(G) by Definition 2.6, 𝒫1𝒫2{\mathcal{P}}_{1}^{\prime}\cup{\mathcal{P}}_{2}^{\prime} contains no C-nodes except possibly α\alpha and/or β\beta. If neither of α,β\alpha,\beta is a C-node, then 𝒫1,𝒫2{\mathcal{P}}_{1}^{\prime},{\mathcal{P}}_{2}^{\prime} are contained in the same sSPR-tree of 𝒞(G){\mathcal{C}}(G) and so 𝒫1=𝒫2{\mathcal{P}}_{1}^{\prime}={\mathcal{P}}_{2}^{\prime}, a contradiction. Similarly, if both α,β\alpha,\beta are C-nodes then by uniqueness claimed in Definition 2.7.iii, it is 𝒫1=𝒫2{\mathcal{P}}_{1}^{\prime}={\mathcal{P}}_{2}^{\prime}.

It remains to consider that, up to symmetry, α\alpha is a C-node and β\beta belongs to an sSPR-tree 𝒯(H){\mathcal{T}}(H) where HGH\subseteq G is a block incident with aV(G)a\in V(G), the cut vertex of α\alpha. Let αi\alpha_{i} be the neighbor of α\alpha on 𝒫i{\mathcal{P}}_{i}^{\prime}, i=1,2i=1,2. Then β\beta lies on the unique α1\alpha_{1}-α2\alpha_{2} path in 𝒯(H){\mathcal{T}}(H), and since both the skeletons Sα1,Sα2S_{\alpha_{1}},S_{\alpha_{2}} contain aa, it is aV(Sβ)a\in V(S_{\beta}). Unless β\beta is a P-node, 𝒫1=𝒫2{\mathcal{P}}_{1}^{\prime}={\mathcal{P}}_{2}^{\prime} is thus formed by a single edge αβ\alpha\beta. In the case of β\beta being a P-node, cf. Claim 2.2, β\beta is not an end of either 𝒫1,𝒫2{\mathcal{P}}_{1},{\mathcal{P}}_{2}. Therefore, if βiV(𝒫i)V(𝒫i)\beta_{i}\in V({\mathcal{P}}_{i})\setminus V({\mathcal{P}}_{i}^{\prime}) is the (other) neighbor of β\beta on 𝒫i{\mathcal{P}}_{i}, i=1,2i=1,2, we have aV(Sβi)a\in V(S_{\beta_{i}}) and by minimality in Definition 2.7.iii it is βV(𝒫i)\beta\not\in V({\mathcal{P}}_{i}), a contradiction again. ∎

2.3 Towards “embedding preferences”

On a high level, the starting point of our algorithm is to solve the single edge insertion problem for each edge {v1,v2}F\{v_{1},v_{2}\}\in F into GG independently. In this way we obtain so called embedding preferences (Definition 2.11) for each node ν𝒫v1,v2\nu\in{\mathcal{P}}_{v_{1},v_{2}}. Equipped with all these preferences for all edges of FF, we have to decide on an embedding G0G_{0} of GG which, essentially, “honors” as many of these preferences as possible. It should be understood that the preferences for distinct edges of FF may naturally conflict with one another. We will ensure that we pick an embedding G0G_{0} which guarantees that any {v1,v2}F\{v_{1},v_{2}\}\in F can be inserted into G0G_{0} (as a new edge v1v2v_{1}v_{2}) without “too many” additional crossings, compared to its individual optimum ins(G,v1v2)\mathrm{ins}(G,v_{1}v_{2}).

The exact scheme for our embedding preferences is a critical part of the proof of our algorithm, and in order to explain our complete definitions (Section 2.4), it seems worthwhile to discuss the situation and drawbacks of possible alternatives beforehand. We start with a summary of the algorithm [18] to optimally insert a single edge. Our description is very informal since we never use the details of this algorithm in our paper, but the summary will help us to explain the (somehow unexpected) deep technical problems connected with our extension to multiple edges.

Single edge insertion algorithm [18].

We can interpret the algorithmic steps of [18] for ins(G,v1v2)\mathrm{ins}(G,v_{1}v_{2}) as what we call simple embedding preferences. In our terminology of Definition 2.7, the insertion algorithm for the edge v1v2v_{1}v_{2} first considers individually each B-node β\beta of 𝒬v1,v2{\mathcal{Q}}_{v_{1},v_{2}}. Let Qβ=(ν1,ν2,,νr)Q_{\beta}=(\nu_{1},\nu_{2},\ldots,\nu_{r}) be ordered such that ν1\nu_{1} contains w1βw_{1}^{\beta} and νr\nu_{r} contains w2βw_{2}^{\beta}. For νiQβ\nu_{i}\in Q_{\beta}, one independently computes an embedding and a local insertion path as follows.

The source (target) of the local insertion path is either the vertex w1βw_{1}^{\beta} (w2βw_{2}^{\beta}), if i=1i=1 (i=ri=r), or otherwise eνi1e_{\nu_{i-1}} (eνi+1e_{\nu_{i+1}}) in SνiS_{\nu_{i}} —the virtual edge(s) corresponding to the predecessor and the successor of νi\nu_{i}, respectively. The insertion path is computed in the dual of the skeleton SνiS_{\nu_{i}}: For S-nodes, the path is simply one of the two faces, and no crossings arise. Similarly, no crossings arise for P-nodes; one chooses a skeleton embedding in which the source and the target lie on a common face. This face then constitutes the insertion path. In case of an R-node, the embedding of SνiS_{\nu_{i}} is fixed and one chooses any shortest path in its dual as the insertion path. Crossins may, unavoidably, arise in this case.

In each of the cases, if the source or the target is a virtual edge, one also notes whether the insertion path attaches to it from the left or the right side (left/right with respect to an arbitrarily fixed but consistent direction of all the virtual edges). This solution and note together constitute the simple embedding preference for each node of QβQ_{\beta} in the con-tree of GG.

All the simple embedding preferences along QβQ_{\beta} can be simultaneously satisfied, by stepwise “gluing together” the individual subembeddings along twin pairs of virtual edges: this is trivial when the local insertion paths of adjacent nodes attach to the twin pair from different sides, and one flips the next skeleton embedding before gluing in the other case. For other nodes without preferences, one picks any embedding, as the insertion solution is independent of this decision.

Having embedded the blocks of GG, it is now easy to deal with C-nodes. For any C-node γ\gamma of 𝒬v1,v2{\mathcal{Q}}_{v_{1},v_{2}} (corresponding to a cut vertex xV(G)x\in V(G)), let H,HGH,H^{\prime}\subseteq G be the incident blocks. The corresponding “loose ends” of the previously computed insertion paths in HH and HH^{\prime} attach to xx from certain faces φ,φ\varphi,\varphi^{\prime} of embedded H,HH,H^{\prime}, respectively. In an embedding of the union HHH\cup H^{\prime} one identifies φ\varphi with φ\varphi^{\prime}, such that the insertion paths are joined together without additional crossings. All remaining blocks can be joined arbitrarily as the insertion solution is independent of these decisions.

Properties of good preference schemes.

In our case of multiple edges, the above description has inherent problems, some rather obvious, some more subtle. First, simple prefereces require a stepwise resolution (i.e., having to decide all the blocks, before being able to properly define C-node preferences), which does not allow for an easy way of combining multiple insertion paths.

Second, simple preferences are capable of handling only a quite restricted class of embeddings. In our case, this would inevitably lead to a situation in which two distinct insertion paths set different preferences for the nodes they follow together, even though there exists an equally optimal solution for one of the paths that nearly matches the preferences of the other path. A very simple example of this is when the first path decides for an embedding G0G_{0} while the second one decides for the mirror image of G0G_{0}. Note, however, that there is no big problem with routing through rigid skeletons of R-nodes, as one can always define a unique canonical order on all the dual paths there, and a unique default choice between the skeleton and its mirror image (flip).

The aforemention problem gets tougher when considering S- and P-nodes (and also C-nodes in greater generality). Consider that an embedding of a P-node ν\nu skeleton is specified by a clockwise order of its edges (yes, it is actually enough to specify a pair of consecutive edges). However, another specification at ν\nu may reverse the edge order of the ν\nu skeleton and simultaneously flip both the adjacent skeleton embeddings. This results in, essentially, the same embedding of GG, and has to be captured as “the same” by our new preference scheme. But then we would mix the concepts of specifying subembeddings (e.g., the edge order at P-nodes) and of handling the gluing operation (flips). In this perspective, our extension from SPR- to sSPR-trees can be seen as a first step to decouple flipping decisions from ordering decisions within P-nodes—it allows us to encode, at a mandatory S-node, whether the adjacent skeletons are flipped “the same way” or “the other way”; with special labels nonswitching/switching.

Though, the problems are not over yet. One would also, naturally, like to define the preferences so that it is trivial to validate if some given embedding satisfies the preferences or not. In other words, one would like that every bit of information stored as a preference has a directly observable counterpart in the final embedding G0G_{0}. While there are ways to rigorously define a suitable preference scheme achieving this goal,333For example, it is the preference scheme originally described in the conference version of this research [8]. the solution is not satisfactory for the following reason. With any directly observable preference scheme, it seems inevitable that validation of the embedding preference of one node requires us to look at the embedding preferences of some of its neighbors (sometimes up to distance two). Not surprisingly, this would bring big complications for the proofs, resulting in long (and difficult to verify) case-checking arguments.

In our new preference scheme, we hence trade the (part of) direct observability property for a new property of strong locality—demanding that validation of the embedding preference of one node is possible without looking at the preferences of any other nodes. For this purpose we shall introduce a new kind of “unobservable” information into an embedding—a so called spin (of virtual edges), which helps to achieve the goal of strong locality by providing us with kind of a “communication channel” between neighboring preferences. All of this is the subject of the following rather technical Section 2.4.

2.4 Embedding preferences in a Con-tree

In this section we give the formal definitions establishing our scheme of embedding preferences for con-chains that achieves the goal of strong locality, as informally explained in Section 2.3.

We start with formally specifying what an embedding is (Definition 2.9) and what the partially unobservable information we add to it is (Definition 2.10 and Claim 2.4). Then, we define the exact pieces of information we are going to store at a con-chain node as its embedding preference (Definition 2.11), and we couple this definition with a specification (respecting strong locality) of what it means that a certain collection of embedding preferences is honored by an embedding of GG (Definition 2.12).

For reference in the following definitions, we need to define certain “defaults” for embeddings of a graph GG. Let GdG_{d} be an arbitrary but fixed embedding of GG in the plane (i.e., including the specification of the unbounded face). From GdG_{d} we derive (a) the default embedding for each R-node skeleton (distinguishable from its mirror), and (b) the default face for each S-node skeleton (distinguishable from its other face) by picking the bounded face of this skeleton in GdG_{d}. Note that the default face is well-defined even for an S-node skeleton forming a 22-cycle since the skeleton edges are labeled. Specially, for each D-node skeleton (a bunch of parallel non-virtual edges), we observe that it is always possible to draw all its edges close together such that the rest of GG is embedded in one face of it and that no crossings with the inserted edges arise. This chosen face, in any embedding of GG, will be called the default face of a D-node skeleton (while disregarding the names and order of the skeleton edges).

Definition 2.9 (Embedding specification)

Consider a connected planar graph GG, an embedding G1G_{1} of GG, and the con-tree 𝒞:=𝒞(G){\mathcal{C}}:={\mathcal{C}}(G). Let an embedding specification (G1){\mathcal{E}}(G_{1}) be a collection of information specified as follows:

  1. i)

    For each R-node ν\nu of 𝒞{\mathcal{C}}, we specify one of the labels flipped or nonflipped; the information is nonflipped exactly when the embedding of SνS_{\nu} induced by G1G_{1} is the default one.

  2. ii)

    For each P-node ν\nu of 𝒞{\mathcal{C}}, we specify (an arbitrary) one of the two vertices of V(Sν)V(S_{\nu}) and the cyclic clockwise order of the edges of SνS_{\nu} around it in the embedding of SνS_{\nu} induced by G1G_{1}.

  3. iii)

    For each C-node ν\nu of 𝒞{\mathcal{C}} and each pair H1,H2G1H_{1},H_{2}\subseteq G_{1} of incident blocks, we specify the face of HjH_{j} that contains H3jH_{3-j} in the embedding G1G_{1}, for j=1,2j=1,2.

An embedding G1G_{1} uniquely determines the embedding specification (G1){\mathcal{E}}(G_{1}) by definition. Conversely, it immediately follows that:

Claim

If G1,G2G_{1},G_{2} are two embeddings of a connected planar graph GG such that (G1)=(G2){\mathcal{E}}(G_{1})={\mathcal{E}}(G_{2}), then G1G_{1} and G2G_{2} are equivalent (and also not mirrored images of each other). ∎

While this embedding specification of Definition 2.9 cannot be used directly as a basis for our embedding preference scheme, it serves as a blue print of what our preferences need to model.

Recall our discussion from Section 2.3 about flipping skeleton embeddings during the gluing operation of adjacent skeletons. For the intended purpose of decoupling the flipping decision of a glue operation of Definition 2.3 from the embedding decision for skeletons, we introduce the concept of spins in an embedding. Interestingly, in general, spin values are not fully determined by a particular embedding. A spin can also be (informally) seen as a 1-bit communication channel transferring certain information between nonadjacent con-tree nodes, which will allow us to establish the desired strong locality of embedding preferences.

Definition 2.10 (Enriched embedding, spins)

Consider a connected planar graph GG, its embedding G1G_{1} and the con-tree 𝒞(G){\mathcal{C}}(G). A CS-pair is a tuple (c,ν)(c,\nu) where cc is a cut vertex in GG and ν\nu is an S-node of 𝒞(G){\mathcal{C}}(G) whose skeleton contains cc. In an enriched embedding G^1\hat{G}_{1} of G1G_{1}, we charge each virtual edge and each CS-pair of the con-tree 𝒞(G){\mathcal{C}}(G) with either a positive or a negative spin, subject to the following properties:

    1. (E1)

      A virtual edge and its twin will always be charged identically.

    2. (E2)

      For an R-node ϱ\varrho, if the embedding of the skeleton SϱS_{\varrho} is the default one (i.e., ϱ\varrho is labeled nonflipped in (G1){\mathcal{E}}(G_{1})), then all the virtual edges in SϱS_{\varrho} are charged with a positive spin; otherwise, all those virtual edges are charged with a negative spin. \diamond

The role of CS-pairs (c,ν)(c,\nu) deserves a further informal explanation. First, note that cc in such a pair is a mate of ν\nu in the sense of Definition 2.6. Second, a CS-pair will be used conceptually similarly to a pair of twin virtual edges of an sSPR tree—while twin pairs of virtual edges are used to glue pieces of an sSPR tree together, CS-pairs will be used to specify the precise way two adjacent blocks are glued together at a cut vertex. Though, we will need this additional information only in the case when ν\nu is an S-node (and not for R-nodes for which we may explicitly refer to a certain face).

Since R-nodes are never directly adjacent, there cannot arise any conflicting spin values from Definition 2.10. Most importantly, all spin values not predeterminded by properties E1 and E2 are only loosely correlated with the embedding G1G_{1}, and they will not be part of the embedding preference. Their role is to function as a mediator between our embedding preferences and an actual embedding. In other words, we will only ask whether there exist spin values such that an embedding satisfies our preferences, and not what the spin values are.

The following two entangled definitions achieve all our goals concerning embedding preferences in a con-tree and their interpretation.

Definition 2.11 (Node embedding preferences for a con-chain)

Consider a connected planar graph GG, its con-tree 𝒞(G){\mathcal{C}}(G), and the decomposition graph 𝒟:=𝒟(G){\mathcal{D}}:={\mathcal{D}}(G) (Definition 2.6). An embedding preference πν\pi_{\nu} of a node νV(𝒟)\nu\in V({\mathcal{D}}) is defined (only) if ν\nu is an S-, P-, or C-node. One piece of information that πν\pi_{\nu} stores is a pair of distinct nodes μ1,μ2V(𝒟)\mu_{1},\mu_{2}\in V({\mathcal{D}}), called the πν\pi_{\nu}-peers of ν\nu, such that μ1,μ2\mu_{1},\mu_{2} are neighbors of ν\nu in 𝒟{\mathcal{D}}. Furthermore:

    1. (P1)

      If ν\nu is a P-node, we only store these peers μ1,μ2\mu_{1},\mu_{2} (which, in this case, are S-nodes by definition) in πν\pi_{\nu}.

    2. (P2)

      If ν\nu is an S-node, we additionally store in πν\pi_{\nu} one of the labels switching or nonswitching. However, if neither μ1\mu_{1} nor μ2\mu_{2} is an R-node, the stored label must always be nonswitching.

    3. (P3)

      If ν\nu is an C-node, then the stored πν\pi_{\nu}-peers μ1,μ2\mu_{1},\mu_{2} are R-, D- or S-nodes by definition. For i=1,2i=1,2, if the peer μi\mu_{i} is an R-node, then we additionally store in πν\pi_{\nu} a label specifying a face in the skeleton SμiS_{\mu_{i}}.

Consider a non-adjacent vertex pair v1,v2V(G)v_{1},v_{2}\in V(G) and its con-chain 𝒬v1,v2{\mathcal{Q}}_{v_{1},v_{2}} in 𝒞(G){\mathcal{C}}(G). Let 𝒫:=𝒫(𝒬v1,v2)𝒟{\mathcal{P}}:={\mathcal{P}}({\mathcal{Q}}_{v_{1},v_{2}})\subseteq{\mathcal{D}} be the corresponding con-path. An embedding preference Πv1v2\Pi_{v_{1}v_{2}} of 𝒬v1,v2{\mathcal{Q}}_{v_{1},v_{2}} (equivalently, a preference of 𝒫{\mathcal{P}}) is a collection of embedding preferences πν\pi_{\nu} over those internal nodes ν\nu of 𝒫{\mathcal{P}} that are neither R- nor D-nodes, subject to the following restriction:

    1. (P4)

      For every individual preference πν\pi_{\nu} in Πv1v2\Pi_{v_{1}v_{2}}, the two πν\pi_{\nu}-peers of ν\nu must be the two neighbors of ν\nu on 𝒫{\mathcal{P}}. \diamond

For consistency, we say that a node ν\nu whose embedding preference is not defined in Definition 2.11 (ν\nu might be an R- or D-node), has a void embedding preference. Then, we can rigorously speak about embedding preferences of all the internal nodes of a con-path 𝒫{\mathcal{P}}, or of all nodes in an arbitrary subset of V(𝒟)V({\mathcal{D}}).

Definition 2.12 (Honoring an embedding preference)

Consider a connected planar graph GG and any embedding G1G_{1} of GG, specified via its embedding specification :=(G1){\mathcal{E}}:={\mathcal{E}}(G_{1}). Let UU be a subset of nodes of 𝒞(G){\mathcal{C}}(G) and ΠU\Pi_{U} be a collection of (arbitrary) node embedding preferences πν\pi_{\nu} over νU\nu\in U. We say that G1G_{1} honors the embedding preferences ΠU\Pi_{U} if there exists an enriched embedding G^1\hat{G}_{1} of G1G_{1} such that, for every νU\nu\in U where πν\pi_{\nu} is non-void, G^1\hat{G}_{1} is good for πν\pi_{\nu}. That is, G^1\hat{G}_{1} is good for πν\pi_{\nu} (where ν\nu falls into one of the cases (P1)–(P3) of Definition 2.11) if the appropriate one of the following cases holds:

case 1:

ν\nu is a P-node. Let μ1,μ2\mu_{1},\mu_{2} be the πν\pi_{\nu}-peers (both being S-nodes) of ν\nu, and let eμ1e_{\mu_{1}}, eμ2e_{\mu_{2}} denote the virtual edges in SνS_{\nu} corresponding to μ1\mu_{1}, μ2\mu_{2}, respectively. The cyclic order of the edges in SνS_{\nu} specified in {\mathcal{E}} is such that eμ1e_{\mu_{1}} and eμ2e_{\mu_{2}} occur as neighbors—they form a common face φ\varphi in SνS_{\nu}. Moreover, for each i=1,2i=1,2, the face φ\varphi corresponds to the default face of SμiS_{\mu_{i}} if eμie_{\mu_{i}} has the positive spin in G^1\hat{G}_{1}, and φ\varphi corresponds to the other face of SμiS_{\mu_{i}} if the spin is negative.

case 2:

ν\nu is an S-node. There are two spin values associated with πν\pi_{\nu} via G^1\hat{G}_{1}: for i=1,2i=1,2, the ii-th spin value is the one charged to the virtual edge eμie_{\mu_{i}} if the πν\pi_{\nu}-peer μi\mu_{i} is an R- or P-node, and otherwise the ii-th spin value is the one charged to the CS-pair formed by ν\nu and the cut vertex of the C-node μi\mu_{i}. If the label in πν\pi_{\nu} is switching then exactly one of these spin values of G^1\hat{G}_{1} is positive and the other one negative, while if the label is nonswitching then both these spin values have to be the same.444Note that (some of) the spin values in G^1\hat{G}_{1} are correlated with the specification {\mathcal{E}} according to Definition 2.10, and so {\mathcal{E}} is implicitly considered in the case 2, too.

case 3:

ν\nu is a C-node. Let H1,H2GH_{1},H_{2}\subseteq G be the blocks the πν\pi_{\nu}-peers μ1,μ2\mu_{1},\mu_{2} of ν\nu belong to, and let cc be the cut vertex corresponding to ν\nu. There are two skeleton faces, φ1\varphi_{1} of Sμ1S_{\mu_{1}} and φ2\varphi_{2} of Sμ2S_{\mu_{2}}, associated with πν\pi_{\nu} via G^1\hat{G}_{1} as follows. Let i{1,2}i\in\{1,2\}. If μi\mu_{i} is an R-node then φi\varphi_{i} is explicitly given as a label in πν\pi_{\nu}. If μi\mu_{i} is a D-node then φi\varphi_{i} is the default face of SμiS_{\mu_{i}}. If μi\mu_{i} is an S-node, then φi\varphi_{i} is the default face of SμiS_{\mu_{i}} in the case that the CS-pair (c,μi)(c,\mu_{i}) is charged with a positive spin, and otherwise (negative spin) φi\varphi_{i} is the other face of SμiS_{\mu_{i}}. The two faces specified in {\mathcal{E}} for H1,H2H_{1},H_{2} at ν\nu must correspond to φ1\varphi_{1} and φ2\varphi_{2} (disregarding their orientation), respectively. \diamond

Void embedding preferences from ΠU\Pi_{U}, and possible preferences of other nodes not in UU, do not matter when deciding whether an embedding G1G_{1} honors ΠU\Pi_{U} as above. We also call any enriched embedding G^1\hat{G}_{1} of G1G_{1} that satisfies all the requirements of Definition 2.12 a good enriched embedding for ΠU\Pi_{U}.

Claim

Assume that a plane embedding G1G_{1} of GG honors embedding preferences Π:=Πv1v2\Pi:=\Pi_{v_{1}v_{2}} of a con-chain 𝒬v1,v2{\mathcal{Q}}_{v_{1},v_{2}}. Then, the spin values charged to the virtual edges and the CS-pairs along 𝒬v1,v2{\mathcal{Q}}_{v_{1},v_{2}} are consistent over all possible good enriched embeddings for Π\Pi. These spin values can be derived directly from the embedding specification (G1){\mathcal{E}}(G_{1}) (w.r.t. the implicit default embedding GdG_{d} of GG).

Proof

Since G1G_{1} honors Π\Pi, there exists at least one feasible spin assignment by definition. We are going to show that the spin values are uniquely determined along the con-path 𝒫:=𝒫(𝒬v1,v2){\mathcal{P}}:={\mathcal{P}}({\mathcal{Q}}_{v_{1},v_{2}}).

Consider any edge νμE(𝒫)\nu\mu\in E({\mathcal{P}}). If one of ν,μ\nu,\mu is an R-node (and the other one is not a C-node), then the two virtual edges associated with νμ\nu\mu in 𝒞(G){\mathcal{C}}(G) are charged a spin value that is uniquely determined by Definition 2.10.

Assume that, say, ν\nu is a C-node of a cut vertex cc. Then a spin is charged to the CS-pair (c,μ)(c,\mu) only if μ\mu is an S-node. We determine the spin value of (c,μ)(c,\mu) by comparing the face specified in (G1){\mathcal{E}}(G_{1}) for ν\nu and the block of SμS_{\mu} with the default face of SμS_{\mu}, as claimed in Definition 2.12, case 3.

The remaining case to consider is, up to symmetry, that ν\nu is a P-node and μ\mu an S-node. The spin value of the twin virtual edges eμ,eνe_{\mu},e_{\nu} (in Sν,SμS_{\nu},S_{\mu}, respectively) is again determined by comparing the embedding of the P-skeleton SνS_{\nu} in (G1){\mathcal{E}}(G_{1}) (precisely, its face specified by the preference πν\pi_{\nu}) to the default face of SμS_{\mu}, as claimed in Definition 2.12, case 1. ∎

The consequence of the above claim is very interesting. On the one hand, it tells us that, effectively, we do not need to care too much about enriched embeddings from now on, except for in “low-level” proofs. On the other hand, however, it is not straightforwardly possible to remove the spins from the definition of embedding preferences altogether. A key problem occurs with an S-node ν\nu and its virtual edge eμe_{\mu} such that an embedding preference of the neighbor μ\mu does not refer to ν\nu (but to other nodes): then, the spin value of eμe_{\mu} is undetermined and represents a “communication channel” between the embedding preferences of adjacent nodes. Abandoning this vital “communication link” would require us, e.g., for a P- or C-node in Definition 2.12, to refer also to the embedding preferences of the neighbors and thus would violate our goal of strong locality (with some nasty consequences in the later proofs).

2.5 Single edge insertion and embedding preferences

Note that it is not a priori clear, given the additional conditions in Definitions 2.11, 2.12 and the elusive nature of spins, that our treatment of embedding preferences is capable of rigorously describing every optimal solution to the single edge insertion problem. It is the task of coming Lemma 1 to prove this important and nontrivial finding. (While perhaps looking similar to Claim 2.4, this task is in fact very different from the former one.)

Lemma 1

Let GG be a connected planar graph and v1,v2V(G)v_{1},v_{2}\in V(G). Assume that G0G_{0} is a plane embedding of GG such that a new edge f=v1v2f=v_{1}v_{2} can be drawn into G0G_{0} with ins(G,f)\mathrm{ins}(G,f) crossings. Then there exists an embedding preference Πv1v2\Pi_{v_{1}v_{2}} of the con-chain 𝒬v1,v2{\mathcal{Q}}_{v_{1},v_{2}} such that G0G_{0} honors Πv1v2\Pi_{v_{1}v_{2}}.

Proof

Let 𝒫:=𝒫(𝒬v1,v2){\mathcal{P}}:={\mathcal{P}}({\mathcal{Q}}_{v_{1},v_{2}}) be the corresponding con-path, and =(G0){\mathcal{E}}={\mathcal{E}}(G_{0}) be the embedding specification of G0G_{0}. There are two tasks in this proof:

  1. a)

    to deduce individual embedding preferences πν\pi_{\nu} (forming Πv1v2\Pi_{v_{1}v_{2}}) for all internal nodes of 𝒫{\mathcal{P}}, and

  2. b)

    to specify an enriched embedding G^0\hat{G}_{0} such that all the conditions of Definition 2.12 are satisfied for Πv1v2\Pi_{v_{1}v_{2}} via G^0\hat{G}_{0}.

As for a), we easily determine all information except the switching attributes of the internal S-nodes on 𝒫{\mathcal{P}} from Definitions 2.11, 2.12: the πν\pi_{\nu}-peers are the neighbors of ν\nu on 𝒫{\mathcal{P}} and, in the case of a C-node ν\nu with an R-neighbor, the face label(s) follows Definition 2.12, case 3.

Assuming for a moment that, for each internal P-node ν\nu of 𝒫{\mathcal{P}}, the two virtual edges of the πν\pi_{\nu}-peers form a face in {\mathcal{E}}, in b) we can determine spin values along 𝒫{\mathcal{P}} exactly as in the proof of Claim 2.4. Remaining spin values can be charged arbitrarily, giving an enriched embedding G^0\hat{G}_{0} of G0G_{0}. Returning back to a), the switching attribute of each πν\pi_{\nu} where ν\nu is an S-node now follows from charged spin values and Definition 2.12, case 2.

It remains to verify three facts; our assumption about P-nodes of 𝒫{\mathcal{P}}, and fulfillment of Definition 2.112 and of Definition 2.12. This can be done conveniently along the cases of the latter definition. Let ν\nu be an internal node of 𝒫{\mathcal{P}} and μ1,μ2\mu_{1},\mu_{2} be the two πν\pi_{\nu}-peers of ν\nu (its neighbors on 𝒫{\mathcal{P}}).

case 1:

ν\nu is a P-node. For i=1,2i=1,2, let HiGH_{i}\subseteq G be the subgraph obtained by recursively gluing skeletons to the virtual edges of SμiS_{\mu_{i}} except to eνe_{\nu}. Up to symmetry between the indices i=1,2i=1,2, either viV(Hi)v_{i}\in V(H_{i}) or viv_{i} is separated from V(Sμi){v3i}V(S_{\mu_{i}})\cup\{v_{3-i}\} by a cut vertex cc of GG such that cV(Hi)c\in V(H_{i}). Notice that V(H1)V(H2)={p1,p2}V(H_{1})\cap V(H_{2})=\{p_{1},p_{2}\} is a split pair in GG formed by V(Sν)={p1,p2}V(S_{\nu})=\{p_{1},p_{2}\}. Obviously, the edge ff in optimal G0+fG_{0}+f does not cross any component represented by a virtual edge of SνS_{\nu}, other than possibly H1,H2H_{1},H_{2}. Therefore, the virtual edges eμ1,eμ2e_{\mu_{1}},e_{\mu_{2}} indeed form a face in the embedding specification {\mathcal{E}} of G0G_{0}.

case 2:

ν\nu is an S-node. The switching label of πν\pi_{\nu} has already been chosen to satisfy Definition 2.12 via G^0\hat{G}_{0}. As in the previous case, the edge ff in optimal G0+fG_{0}+f obviously does not cross any of the components represented by the virtual edges of SνS_{\nu} other than possibly eμ1,eμ2e_{\mu_{1}},e_{\mu_{2}}. Hence, unless one of μ1,μ2\mu_{1},\mu_{2} is an R-node (in which case eμ1e_{\mu_{1}} or eμ2e_{\mu_{2}} has been charged a spin by Definition 2.10), both the spin values charged for μ1\mu_{1} and μ2\mu_{2} (each may be of a virtual edge eμie_{\mu_{i}} or of a CS-pair (xi,ν)(x_{i},\nu)) refer to the same face of SνS_{\nu} and the label of πν\pi_{\nu} is nonswitching, in agreement with Definition 2.11.

case 3:

ν\nu is a C-node. In this case there is nothing more to discuss since πν\pi_{\nu} and G^0\hat{G}_{0} have already been chosen to satisfy Definition 2.12. ∎

In the algorithmic context, the key is to find such an embedding preference Πv1v2\Pi_{v_{1}v_{2}} as in Lemma 1 efficiently. Using Lemma 1, we translate the main result of [18] into our slightly different setting as follows:

Theorem 2.13 (Gutwenger et al. [18], reformulated)

Let GG be a connected planar graph and v1,v2V(G)v_{1},v_{2}\in V(G). Let 𝒬v1,v2{\mathcal{Q}}_{v_{1},v_{2}} be the con-chain of the pair {v1,v2}\{v_{1},v_{2}\} in 𝒞(G){\mathcal{C}}(G). We can find, in linear time, an embedding preference Πv1v2\Pi_{v_{1}v_{2}} of 𝒬v1,v2{\mathcal{Q}}_{v_{1},v_{2}} such that we require exactly ins(G,f)\mathrm{ins}(G,f) crossings to draw a new edge f=v1v2f=v_{1}v_{2} into any plane embedding G0G_{0} of GG that honors Πv1v2\Pi_{v_{1}v_{2}}.

Any embedding preference Πv1v2\Pi_{v_{1}v_{2}} with the properties as described in Theorem 2.13 will be called an optimal embedding preference of (the con-chain of) the pair {v1,v2}\{v_{1},v_{2}\} in GG. Note that such an optimal preference Πv1v2\Pi_{v_{1}v_{2}} is not necessarily unique and, furthermore, that optimality of inserting ff does not depend on embedding specifications/preferences at the con-tree nodes other than the internal nodes of 𝒬v1,v2{\mathcal{Q}}_{v_{1},v_{2}}.

3 MEI Approximation Algorithm

We now finally have all the technical ingredients to discuss our new approximation algorithm for the MEI(G,F)\mathrm{MEI}(G,F) problem (Definition 1.1). The overall idea of the approximation is to suitably combine the individually computed optimal embedding preferences over all the edges of FF, and to prove that not too many conflicts arise, leading to only few additional crossings as compared to the sum of the individual optimal solutions. The aforementioned strong locality, achieved in Definition 2.12, will be crucial for the algorithm.

3.1 Coherence, and repairing insertion paths

Before jumping into a solution of the MEI problem, we have to analyze the kind of conflicts that arise between optimal embedding preferences of two distinct pairs {v1,v2}\{v_{1},v_{2}\} and {w1,w2}\{w_{1},w_{2}\} from FF. Intuitively, if the con-chains of {v1,v2}\{v_{1},v_{2}\} and {w1,w2}\{w_{1},w_{2}\} locally traverse the con-tree of GG in the same way, then both of them should have “the same” optimal individual embedding preferences there.

Though, the formal finding is not as straightforward as the previous claim due to two small complications; first, the situation of R-nodes is more delicate (cf. Definition 3.1), and second, an optimal embedding preference of a pair is not necessarily unique and this has to be taken into an account (cf. Lemma 2). Recall that our con-paths can be viewed as paths in the decomposition graph, and this will be our default view in this section.

Definition 3.1 (Coherence in con-paths)

Consider two con-paths 𝒫,𝒫{\mathcal{P}},{\mathcal{P}}^{\prime} in the decomposition graph of a connected planar graph GG, and their non-empty intersection =𝒫𝒫{\mathcal{R}}={\mathcal{P}}\cap{\mathcal{P}}^{\prime} (which is a subpath by Claim 2.2). We say that 𝒫,𝒫{\mathcal{P}},{\mathcal{P}}^{\prime} are coherent at νV()\nu\in V({\mathcal{R}}) if ν\nu is an inner node of {\mathcal{R}} and the following holds: if μ1,μ2\mu_{1},\mu_{2} are the two neighbors of ν\nu on {\mathcal{R}} and μi\mu_{i}, i{1,2}i\in\{1,2\}, is an R-node, then also μi\mu_{i} is an inner node of {\mathcal{R}}. \diamond

We would like to add a small remark on the situation in which μi\mu_{i} is, simultaneously, an end of {\mathcal{R}} and an end of both 𝒫,𝒫{\mathcal{P}},{\mathcal{P}}^{\prime}. Assume the insertion edges f,ff,f^{\prime} defining 𝒫,𝒫{\mathcal{P}},{\mathcal{P}}^{\prime} end in a common vertex of the skeleton of μi\mu_{i}. Then, we could also define the con-paths to be “coherent” at ν\nu. However, we refrain from doing so as it would cause unnecessary complications in the proofs.

Lemma 2

Let GG be a connected planar graph, 𝒞(G){\mathcal{C}}(G) the con-tree of GG, and v1,v2,w1,w2V(G)v_{1},v_{2},w_{1},w_{2}\in V(G). Consider any optimal embedding preferences Π\Pi and Π\Pi^{\prime} of {v1,v2}\{v_{1},v_{2}\} and {w1,w2}\{w_{1},w_{2}\}, respectively. Construct alternative embedding preferences Π′′\Pi^{\prime\prime} of {w1,w2}\{w_{1},w_{2}\} as follows: use the embedding preferences of Π\Pi for all nodes at which 𝒫(𝒬v1,v2),𝒫(𝒬w1,w2){\mathcal{P}}({\mathcal{Q}}_{v_{1},v_{2}}),{\mathcal{P}}({\mathcal{Q}}_{w_{1},w_{2}}) are coherent, and those of Π\Pi^{\prime} for all other nodes of 𝒫(𝒬w1,w2){\mathcal{P}}({\mathcal{Q}}_{w_{1},w_{2}}). Then, Π′′\Pi^{\prime\prime} is again optimal for {w1,w2}\{w_{1},w_{2}\}.

Proof

Let 𝒫=𝒫(𝒬v1,v2){\mathcal{P}}={\mathcal{P}}({\mathcal{Q}}_{v_{1},v_{2}}) and 𝒫=𝒫(𝒬w1,w2){\mathcal{P}}^{\prime}={\mathcal{P}}({\mathcal{Q}}_{w_{1},w_{2}}) be the considered con-paths. We iteratively change Π\Pi^{\prime} to Π′′\Pi^{\prime\prime}. We consider the nodes νV(𝒫)V(𝒫)\nu\in V({\mathcal{P}})\cap V({\mathcal{P}}^{\prime}) at which 𝒫,𝒫{\mathcal{P}},{\mathcal{P}}^{\prime} are coherent one by one, and claim by induction that at each step (the order of which is unimportant) the current embedding preference Π′′\Pi^{\prime\prime} is optimal for {w1,w2}\{w_{1},w_{2}\}. The claim is trivial if ν\nu holds the void preference anyhow.

Let μ1,μ2\mu_{1},\mu_{2} be the two neighbors of ν\nu on {\mathcal{R}}. Assume that ν\nu is a P-node. By Definition 2.11, the embedding preferences of Π\Pi and Π\Pi^{\prime} at ν\nu are the same, since μ1,μ2\mu_{1},\mu_{2} are the same neighbors of ν\nu on both paths 𝒫,𝒫{\mathcal{P}},{\mathcal{P}}^{\prime}. Hence, nothing changes at this step. By the same argument the preference at ν\nu remains unchanged when ν\nu is a C- or S-node, unless one or both of μ1,μ2\mu_{1},\mu_{2} is an R-node.

It remains to consider the case that ν\nu is a C- or S-node and μi\mu_{i} is an R-node for some i{1,2}i\in\{1,2\}. Let σi\sigma_{i} be the neighbor of μi\mu_{i} other than ν\nu on {\mathcal{R}} (since μi\mu_{i} is not an end by Definition 3.1). Let aia_{i} be the element of the skeleton SμiS_{\mu_{i}} corresponding to ν\nu and bib_{i} the element of SμiS_{\mu_{i}} corresponding to σi\sigma_{i} (aia_{i} is a cut vertex if ν\nu is a C-node, but a virtual edge if ν\nu is an S-node; analogously for σi\sigma_{i}). An optimal solution to the single edge insertion of {v1,v2}\{v_{1},v_{2}\} requires to find a shortest weighted dual path locally in the rigid skeleton SμiS_{\mu_{i}} from some face φi\varphi_{i} incident with aia_{i} to a face ψi\psi_{i} incident with bib_{i}. This local setting is the same for 𝒫{\mathcal{P}}^{\prime} as for 𝒫{\mathcal{P}}, and so the same dual path from φi\varphi_{i} to ψi\psi_{i} within SμiS_{\mu_{i}} can be taken also in an optimal solution to the insertion of {w1,w2}\{w_{1},w_{2}\}.

So, we get that the embedding preference of Π\Pi^{\prime} at a C-node ν\nu (which lists some face of SμiS_{\mu_{i}} incident with cut vertex aia_{i}) can be changed in Π′′\Pi^{\prime\prime} to that of Π\Pi at ν\nu (which lists φi\varphi_{i} as the face incident with aia_{i}) while preserving optimality. This is simultaneously done for i=1,2i=1,2 if both μ1,μ2\mu_{1},\mu_{2} are R-nodes. Similarly for an S-node ν\nu; a choice of one of the two faces of SμiS_{\mu_{i}} incident with virtual edge aia_{i} determines the spin of aia_{i}, which consequently shows that the switching attribute of Π\Pi^{\prime} at ν\nu can be changed to that of Π\Pi at ν\nu while preserving optimality. ∎

Remark 1

Algorithmically, it is trivial to ensure that multiple calls to the same dual shortest-path subproblem {a,b}\{a,b\} within an R-node skeleton always give the same solution. This can, e.g., be achieved picking the start vertex for the search from {a,b}\{a,b\} in a deterministic fashion (e.g., based on some arbitrary indexing), and using a deterministic algorithm for the dual path search. Using this method and with respect to Lemma 2, one can easily ensure that all the optimal embedding preferences computed individually by Theorem 2.13 already agree at any coherent nodes.

Since we deal with multiple edge insertion in our paper, we have to handle situations when not all the optimal embedding preferences of the pairs from FF can simultaneously be satisfied in any plane embedding of GG. We use the following terminology.

Definition 3.2

Let ΠU\Pi_{U} be embedding preferences of any set UU of con-tree nodes. We say that an embedding G1G_{1} honors the preferences ΠU\Pi_{U} with defect rr if there exists a subset UUU^{\prime}\subseteq U of size |U|=|U|r|U^{\prime}|=|U|-r such that G1G_{1} honors (Definition 2.12) the restriction ΠU\Pi_{U^{\prime}}.

Lemma 3

Let GG be a connected planar graph, v1,v2V(G)v_{1},v_{2}\in V(G), and Πv1v2\Pi_{v_{1}v_{2}} optimal embedding preferences of {v1,v2}\{v_{1},v_{2}\}. Assume that G1G_{1} is an embedding of GG such that G1G_{1} honors Πv1v2\Pi_{v_{1}v_{2}} with defect r0r\geq 0. Then it is possible to draw a new edge f=v1v2f=v_{1}v_{2} into G1G_{1} with at most ins(G,f)+rΔ(G)/2\mathrm{ins}(G,f)+r\cdot\lfloor\Delta(G)/2\rfloor crossings.

Before we prove this lemma, we may informally describe its statement as follows: For every individual preference on the con-chain of {v1,v2}\{v_{1},v_{2}\} that is not honored by G1G_{1} in the sense of Definition 3.2, we can apply one “repair operation” to ff costing at most Δ(G)/2\lfloor\Delta(G)/2\rfloor new crossings (over the optimal insertion).

The following is needed in the proof:

Claim

Let 𝒫v1,v2{\mathcal{P}}_{v_{1},v_{2}} be the con-path of a pair {v1,v2}\{v_{1},v_{2}\}. Consider an internal P-, C-, or S-node σV(𝒫v1,v2)\sigma\in V({\mathcal{P}}_{v_{1},v_{2}}), and let ww be a vertex of the skeleton SσS_{\sigma}.

(a) ins(G,v1w)+ins(G,wv2)ins(G,v1v2)\mathrm{ins}(G,v_{1}w)+\mathrm{ins}(G,wv_{2})\leq\mathrm{ins}(G,v_{1}v_{2}).

(b) Let Πv1v2\Pi_{v_{1}v_{2}} be optimal embedding preferences of {v1,v2}\{v_{1},v_{2}\} and Πv1w\Pi_{v_{1}w} be their restriction to the internal nodes of 𝒫v1,w𝒫v1,v2{\mathcal{P}}_{v_{1},w}\subsetneq{\mathcal{P}}_{v_{1},v_{2}} of the pair {v1,w}\{v_{1},w\}. Then, Πv1w\Pi_{v_{1}w} is an optimal embedding preference of {v1,w}\{v_{1},w\}.

Proof

Part (a) follows from the fact that there is a vertex cut XV(Sσ)X\subseteq V(S_{\sigma}) in GG with wXw\in X, separating v1v_{1} from v2v_{2}: if σ\sigma is a C-node (of the cut vertex ww) then X={w}X=\{w\}; otherwise, there is a suitable 2-cut X={w,x}X=\{w,x\} in the skeleton SσS_{\sigma}—the latter is a cycle or a parallel bunch. Hence, in any plane embedding G0G_{0} of GG, the edge f=v1v2f=v_{1}v_{2} has to be drawn through a face φ\varphi incident with ww, and the edges f1=v1w,f2=wv2f_{1}=v_{1}w,\,f_{2}=wv_{2} can be drawn along the arc of ff up to this face φ\varphi, giving an upper bound on ins(G,f1)+ins(G,f2)ins(G0,f)\mathrm{ins}(G,f_{1})+\mathrm{ins}(G,f_{2})\leq\mathrm{ins}(G_{0},f). Specially, for G0G_{0} that minimizes ins(G0,f)\mathrm{ins}(G_{0},f) we get ins(G,f1)+ins(G,f2)ins(G0,f)=ins(G,f)\mathrm{ins}(G,f_{1})+\mathrm{ins}(G,f_{2})\leq\mathrm{ins}(G_{0},f)=\mathrm{ins}(G,f).

We prove (b) by means of contradiction. Assume ff is drawn optimally (with ins(G,f)\mathrm{ins}(G,f) crossings) into a suitable plane embedding G0G_{0} of GG, and let f1f_{1} and f2f_{2} be drawn in G0G_{0} as in the previous paragraph with c1c_{1} and c2c_{2} crossings each. Then c1+c2=ins(G,f)c_{1}+c_{2}=\mathrm{ins}(G,f) due to (a) and optimality. If Πv1v2\Pi_{v_{1}v_{2}} restricted to 𝒫v1,w{\mathcal{P}}_{v_{1},w} was not optimal, then ins(G,f1)<c1\mathrm{ins}(G,f_{1})<c_{1} would be achieved by some embedding G1G_{1} of GG. But then, there is a suitable edge order and/or flipping decision at σ\sigma to combine G0G_{0} and G1G_{1} across the cut XX (from the previous paragraph) such that inserting ff requires no crossings at SσS_{\sigma} and consequently only ins(G,f1)+c2<ins(G,f)\mathrm{ins}(G,f_{1})+c_{2}<\mathrm{ins}(G,f) crossings altogether—a contradiction. ∎

Proof (of Lemma 3)

Let 𝒫v1,v2{\mathcal{P}}_{v_{1},v_{2}} be the con-path (in the decomposition graph of GG) of the pair {v1,v2}\{v_{1},v_{2}\}. We prove the lemma by induction on rr. The base case r=0r=0 is already established by Theorem 2.13.

We choose the first node σ\sigma on 𝒫v1,v2{\mathcal{P}}_{v_{1},v_{2}} from the v1v_{1}-end such that Πv1v2\Pi_{v_{1}v_{2}} at σ\sigma is not honored by G1G_{1}. Then σ\sigma is an internal P-, C-, or S-node of 𝒫v1,v2{\mathcal{P}}_{v_{1},v_{2}}. Let wV(G)w\in V(G) be any vertex of the skeleton SσS_{\sigma}, and 𝒫v1,w,𝒫w,v2{\mathcal{P}}_{v_{1},w},{\mathcal{P}}_{w,v_{2}} be the con-paths of {v1,w}\{v_{1},w\} and {w,v2}\{w,v_{2}\}, respectively. Note that 𝒫v1,w,𝒫w,v2𝒫v1,v2{\mathcal{P}}_{v_{1},w},{\mathcal{P}}_{w,v_{2}}\subseteq{\mathcal{P}}_{v_{1},v_{2}}, and that—by Claim 3.1(b) and symmetry—the corresponding restrictions Πv1w,Πwv2\Pi_{v_{1}w},\Pi_{wv_{2}} arising from Πv1v2\Pi_{v_{1}v_{2}} are optimal embedding preferences of {v1,w}\{v_{1},w\} and {w,v2}\{w,v_{2}\}, respectively.

Consequently, G1G_{1} honors Πv1w\Pi_{v_{1}w} as whole (i.e. with defect 0) and Πwv2\Pi_{wv_{2}} with defect r1r-1. So f1=v1wf_{1}=v_{1}w can be drawn into G1G_{1} with ins(G,f1)\mathrm{ins}(G,f_{1}) crossings by Claim 3.1(b) and f2=wv2f_{2}=wv_{2} can be drawn into G1G_{1} with at most ins(G,f2)+(r1)Δ(G)/2\mathrm{ins}(G,f_{2})+(r-1)\cdot\lfloor\Delta(G)/2\rfloor crossings by the induction assumption. Altogether, using Claim 3.1(a), G1+f1+f2G_{1}+f_{1}+f_{2} is drawn with at most ins(G,f)+(r1)Δ(G)/2\mathrm{ins}(G,f)+(r-1)\cdot\lfloor\Delta(G)/2\rfloor crossings, each one occuring on either f1f_{1} or f2f_{2}. Consider the arc gg arising from joining the edge arcs representing f1f_{1} and f2f_{2}. We would like to use gg to draw ff but gg passes through the vertex ww (where f1,f2f_{1},f_{2} meet). By a tiny perturbation of gg in a small neighborhood of ww in G1G_{1} we can obtain a proper drawing of G1+fG_{1}+f at a cost of at most Δ(G)/2\lfloor\Delta(G)/2\rfloor additional crossings with (at most half of the) edges incident to ww. This establishes ins(G1,f)ins(G,f)+rΔ(G)/2\mathrm{ins}(G_{1},f)\leq\mathrm{ins}(G,f)+r\cdot\lfloor\Delta(G)/2\rfloor

3.2 The approximation algorithm

Algorithm 3.3 (Solving MEI with additive approximation guarantee)

Consider an instance of the multiple edge insertion problem MEI(G,F)\mathrm{MEI}(G,F): given is a connected planar graph GG and a set FF of kk pairs of vertices of GG such that FE(G)=F\cap E(G)=\emptyset.

  1. (1)

    Build the con-tree 𝒞:=𝒞(G){\mathcal{C}}:={\mathcal{C}}(G).

  2. (2)

    Let F={{ui,vi}:i=1,2,,k}F=\big{\{}\{u_{i},v_{i}\}:i=1,2,\dots,k\big{\}}. For i=1,2,,ki=1,2,\dots,k, determine the (unique) con-chain of {ui,vi}\{u_{i},v_{i}\} in 𝒞{\mathcal{C}} and the corresponding con-path 𝒫i{\mathcal{P}}_{i} with the ends αi,βi\alpha_{i},\beta_{i}, and, independently for each ii, call the algorithm of Theorem 2.13 to compute optimal embedding preferences Πi\Pi_{i} of {ui,vi}\{u_{i},v_{i}\} (see Remark 2 for consistency).

  3. (3)

    Denote by p(ν):={i:νV(𝒫i){αi,βi}}p(\nu):=\{i:\nu\in V({\mathcal{P}}_{i})\setminus\{\alpha_{i},\beta_{i}\}\} the set of indices of all the pairs from FF that have a preference (possibly void) at a con-tree node ν\nu. For each ν\nu of 𝒞{\mathcal{C}}, choose (suitably) a subset p(ν)p(ν)p^{\prime}(\nu)\subseteq p(\nu) according to some rules defined later on, see Remark 3 for details.

  4. (4)

    For i{1,2,,k}i\in\{1,2,\dots,k\}, let πi(ν)\pi_{i}(\nu) denote the individual preference (if existent) of Πi\Pi_{i} at ν\nu. Let R(ν):={πi(ν):ip(ν)}R(\nu):=\{\pi_{i}(\nu):i\in p^{\prime}(\nu)\} be the multiset of the individual preferences at ν\nu requested by (only) those relevant con-paths that have been selected in step 3.

    1. a)

      For each node ν\nu of 𝒞{\mathcal{C}}, if R(ν)=R(\nu)=\emptyset then set a resulting preference πν\pi_{\nu} arbitrarily or void. Otherwise, choose a preference πνR(ν)\pi_{\nu}\in R(\nu) such that πν\pi_{\nu} is among the elements with maximum multiplicity in R(ν)R(\nu) (a semi-majority choice).

    2. b)

      Using Lemma 4 (see below), compute a plane embedding G0G_{0} of GG that honors the embedding preferences Π:={πν:νV(𝒞)}\Pi:=\{\pi_{\nu}:\nu\in V({\mathcal{C}})\}.

  5. (5)

    Independently for each i=1,2,,ki=1,2,\dots,k, compute (deterministically; see Remark 5) the insertion path for {ui,vi}\{u_{i},v_{i}\} into the fixed embedding G0G_{0}.

We defer a detailed runtime analysis of this algorithm to the end of the section. First, we would like to comment on some of the steps in this algorithm:

Remark 2 (Step 2 of Algorithm 3.3)

Based on Remark 1, we can assume that our algorithm produces consistent embedding preferences at coherent nodes (for any pair of con-paths) without further treatment. If, for any reason, one does not want to honor Remark 1, there is a simple algorithmic workaround. For i=2,3,,ki=2,3,\dots,k; for any j<ij<i and any node ν\nu of 𝒞{\mathcal{C}} such that 𝒫i,𝒫j{\mathcal{P}}_{i},{\mathcal{P}}_{j} are coherent at ν\nu, change the individual preference of Πj\Pi_{j} at ν\nu to that of Πi\Pi_{i} at ν\nu. By Lemma 2, the final so-modified embedding preferences (still denoted by Πj\Pi_{j}) are still optimal for their respective pairs {uj,vj}\{u_{j},v_{j}\}.

Remark 3 (Step 3 of Algorithm 3.3)

The practical meaning of step 3 is that we may choose to “ignore” some (or even all) of the individual preferences requested by (some of) the con-paths. Herein, we will closely discuss two variants. We may choose p(ν)p(ν)p^{\prime}(\nu)\subseteq p(\nu)

  • arbitrarily, as long as p(ν)p^{\prime}(\nu)\neq\emptyset if p(ν)p(\nu)\neq\emptyset; or

  • specifically, to fulfill upcoming Definition 3.4.

Although in particular the first variant may sound silly, there are actually two good reasons for allowing freedom in the choice of p(ν)p^{\prime}(\nu). First, this leaves plenty of room for (heuristic) algorithm engineering in practical applications, while still providing a firm approximation guarantee for essentially any somewhat reasonable choice of p(ν)p^{\prime}(\nu) (the first variant, Proposition 1). Observe that the first variant also covers the possibility of simply setting p(ν):=p(ν)p^{\prime}(\nu):=p(\nu) for all νV(𝒞)\nu\in V({\mathcal{C}}), and also the perhaps most naïve choice, picking one arbitrary ip(ν)i\in p(\nu) and setting p(ν):={i}p^{\prime}(\nu):=\{i\}. Second, for a carefully crafted (and still efficient) choice of p(ν)p^{\prime}(\nu) we can in fact provide a stronger worst-case guarantee (the second variant, Theorem 3.5) than if we considered all the preferences together.

Remark 4 (Step 44a of Algorithm 3.3)

We do not perform any further optimization of the choice of πν\pi_{\nu} in the algorithm here, even though it can be possible that some embedding specification could be simultaneously good for several distinct individual preferences at ν\nu (again, this leaves room for further possibly heuristic algorithm engineering). The presented semi-majority choice is just right to prove the algorithm’s overall approximation ratio.

Remark 5 (Step 5 of Algorithm 3.3)

By using a deterministic shortest path algorithm in the dual of G0G_{0}, we can trivially ensure that distinct insertion paths do not cross multiple times. If, for some reason, we do not apply a sufficiently deterministic algorithm, we can simply exchange subpaths as a postprocessing step, such that in the end all inserted edges cross each other at most once.

While deferring the lengthy implementation details of step 4 to Lemma 4, we illustrate the underlying idea of Algorithm 3.3 with the following simple claim and its corollary in Proposition 1.

Claim

Consider the setting of Algorithm 3.3. For any ij{1,,k}i\not=j\in\{1,\dots,k\}, there are at most two nodes ν\nu of 𝒞(G){\mathcal{C}}(G) such that both πi(ν),πj(ν)\pi_{i}(\nu),\pi_{j}(\nu) exist and πi(ν)πj(ν)\pi_{i}(\nu)\not=\pi_{j}(\nu), i.e., the computed optimal preferences Πi\Pi_{i} and Πj\Pi_{j} request different individual preferences at ν\nu.

Proof

Since individual embedding preferences are stored at the corresponding con-path nodes, conflicting preferences may only arise on :=𝒫i𝒫j{\mathcal{R}}:={\mathcal{P}}_{i}\cap{\mathcal{P}}_{j}, which is a path by Claim 2.2. We know that Πi,Πj\Pi_{i},\Pi_{j} agree at all coherent nodes in {\mathcal{R}} (either due to the deterministic algorithm or after applying Lemma 2). By Definition 3.1 of coherence, possible conflicts could only be at (a) the ends of {\mathcal{R}} and (b) nodes neighboring an R-node that is an end of {\mathcal{R}}. Recall that R-nodes store the void embedding preference, and so at each end of {\mathcal{R}} there can only be one troublesome node, either of type (a) or (b). This establishes the claim.∎

Proposition 1 (Weak estimate)

Consider a connected planar graph GG and a set FF of kk vertex pairs over V(G)V(G). Let insΣ(G,F):=fFins(G,f)\mathrm{ins}^{\Sigma}(G,F):=\sum_{f\in F}\mathrm{ins}(G,f) be the sum of the individual insertion values—an obvious lower bound for ins(G,F)\mathrm{ins}(G,F). If Algorithm 3.3, in step 3, chooses arbitrary p(ν)p^{\prime}(\nu)\not=\emptyset for each node ν\nu of 𝒞(G){\mathcal{C}}(G) with p(ν)p(\nu)\not=\emptyset, then the result is a plane embedding G0G_{0} of GG such that

(6) ins(G,F)ins(G0,F)insΣ(G,F)+(2Δ(G)2+1)(k2).\displaystyle\mathrm{ins}(G,F)\>\leq\>\mathrm{ins}(G_{0},F)\>\leq\>\mathrm{ins}^{\Sigma}(G,F)+\left(2\left\lfloor\frac{\Delta(G)}{2}\right\rfloor+1\right)\cdot{k\choose 2}.

Note that already this short statement establishes the approximation factor given for the MEI problem in the conference version of this paper [8]; herein (Theorem 3.5) we will later establish a stronger bound as well.

Proof

We want to show, in the language of Definition 3.2, that the sum of defects of G0G_{0} honoring each one of the optimal preferences Πi\Pi_{i}, i=1,,ki=1,\dots,k, from the algorithm is at most 2(k2)2{k\choose 2}. Inequality (6) would then immediately follow from Lemma 3 and the fact that the edges of FF pairwise cross at most once.

Assume the notation of Algorithm 3.3. Let G^0\hat{G}_{0} be a good enriched embedding for Π\Pi. We say a pair (μ,i)(\mu,i), for any μV(𝒞)\mu\in V({\mathcal{C}}) and 1ik1\leq i\leq k, forms a dirty pass if G^0\hat{G}_{0} is not good for πi(μ)\pi_{i}(\mu) (Definition 2.12). Obviously, the total number of dirty passes equals the sum of defects of G0G_{0}. We show that all the dirty passes of G^0\hat{G}_{0} can be counted towards unordered index pairs {i,j}{1,,k}\{i,j\}\subseteq\{1,\dots,k\} such that each such pair is “responsible” for at most two dirty passes altogether. Indeed, if (ν,i)(\nu,i) is a dirty pass, then there exists some j{1,,k}j\in\{1,\dots,k\} such that the computed preference at ν\nu is πν=πj(ν)πi(ν)\pi_{\nu}=\pi_{j}(\nu)\not=\pi_{i}(\nu). We hence count (ν,i)(\nu,i) towards {i,j}\{i,j\} and, by Claim 3.2, we already know that this may happen at most twice for each pair {i,j}\{i,j\}. ∎

Finally, we provide a straightforward implementation and a proof of correctness of step 44b in Algorithm 3.3.

Lemma 4

Let GG be a connected planar graph and 𝒞=𝒞(G){\mathcal{C}}={\mathcal{C}}(G) a con-tree of GG. Assume Π={πν:νV(𝒞)}\Pi=\{\pi_{\nu}:\nu\in V({\mathcal{C}})\} is an arbitrary collection of node embedding preferences for 𝒞{\mathcal{C}}. Then there is a plane embedding G0G_{0} of GG such that G0G_{0} honors the preference Π\Pi. The embedding G0G_{0} can be computed in linear time.

Proof

In the first step we fix a plane embedding H1H_{1} of each block HH of GG. If HH is trivial, its embedding is already pre-specified (or even unique). Otherwise H1H_{1} is determined by deducing an embedding together with all the spin values.

Let 𝒯1𝒯(H){\mathcal{T}}_{1}\subseteq{\mathcal{T}}(H) be a subtree of the sSPR-tree of HH stored in 𝒞{\mathcal{C}}. We prove by induction on |V(𝒯1)||V({\mathcal{T}}_{1})| that there exists a good enriched embedding H1H_{1} of HH for Π\Pi restricted to (the nodes of) 𝒯1{\mathcal{T}}_{1}. The claim holds for empty 𝒯1{\mathcal{T}}_{1}. Let ν\nu be a leaf of 𝒯1{\mathcal{T}}_{1}, and let H2H_{2} be a good enriched embedding of HH for Π\Pi restricted to 𝒯1ν{\mathcal{T}}_{1}-\nu. Consider the type of ν\nu as in Definition 2.3:

  1. a)

    If ν\nu is an S-node, then H1:=H2H_{1}:=H_{2} and we only determine the associated spin values. Let {μ1,μ2}\{\mu_{1},\mu_{2}\} be the πν\pi_{\nu}-peers stored at ν\nu, and eμ1,eμ2e_{\mu_{1}},e_{\mu_{2}} the respective virtual edges in SνS_{\nu}. Actually, if μi\mu_{i}, i{1,2}i\in\{1,2\}, is a C-node, we simply refer as eμie_{\mu_{i}} to the corresponding CS-pair. Up to symmetry, μ2V(𝒯1)\mu_{2}\not\in V({\mathcal{T}}_{1}). If μ1V(𝒯1)\mu_{1}\not\in V({\mathcal{T}}_{1}) as well, we set the spin of eμ1e_{\mu_{1}} arbitrarily (while otherwise it has already been set by μ1\mu_{1}). In any case, we select the spin of eμ2e_{\mu_{2}} to honor the switching/nonswitching label at πν\pi_{\nu}, and we charge the remaining spins associated with ν\nu arbitrarily.

  2. b)

    If ν\nu is an R-node, it may be that its neighbor μ\mu in 𝒯1{\mathcal{T}}_{1} is an S-node such that ν\nu is one of the πμ\pi_{\mu}-peers of μ\mu. If this is the case, then we get H1H_{1} by flipping the embedding of SνS_{\nu} in H2H_{2} such that the spin value and switching label specified by μ\mu are honored. Otherwise, let H1:=H2H_{1}:=H_{2}. We also set the spin values of the virtual edges in SνS_{\nu} accordingly.

  3. c)

    If ν\nu is a P-node, then the πν\pi_{\nu}-peers are S-nodes {μ1,μ2}\{\mu_{1},\mu_{2}\} where, up to symmetry, μ2V(𝒯1)\mu_{2}\not\in V({\mathcal{T}}_{1}). We arbitrarily set the spin values of all the virtual edges eeμ2e\not=e_{\mu_{2}} of SνS_{\nu}, except possibly e=eμ1e=e_{\mu_{1}} if μ1V(𝒯1)\mu_{1}\in V({\mathcal{T}}_{1}) (then the spin has been set by μ1\mu_{1}). For H1H_{1} we choose an embedding of SνS_{\nu}, and a spin value of eμ2e_{\mu_{2}}, such that eμ1,eμ2e_{\mu_{1}},e_{\mu_{2}} form a face as required per Definition 2.12, case 1.

Now, we have an enriched embedding G1G_{1} of GG with the property that, for each block HH of GG, G1G_{1} induces an enriched subembedding H1H_{1} that is good for Π\Pi restricted to 𝒯(H){\mathcal{T}}(H). To obtain the final embedding G0G_{0} of GG, it remains to modify G1G_{1}—only at the cut vertices of GG —such that resulting G0G_{0} is good for Π\Pi at all the C-nodes of 𝒞{\mathcal{C}}. Note that, technically working with spherical embeddings, we can freely choose the outer face of any H1G1H_{1}\subseteq G_{1} in the plane without changing the embedding specification at any node of 𝒯(H){\mathcal{T}}(H).

We again proceed by induction on the size of a suitable subtree 2(G){\mathcal{B}}_{2}\subseteq{\mathcal{B}}(G) such that there exists an embedding G2G_{2} of GG good for Π\Pi restricted to all the C-nodes and all the sSPR-trees of 2{\mathcal{B}}_{2}. For technical reasons, 2{\mathcal{B}}_{2} needs to be special, meaning that all the leaves of 2{\mathcal{B}}_{2} are B-nodes (which clearly holds true for whole (G){\mathcal{B}}(G)). The base of the induction is 2{\mathcal{B}}_{2} formed by a singleton B-node of a block HH, for which the subembedding H0G2:=G1H_{0}\subseteq G_{2}:=G_{1} has been fixed above.

In the induction, any arising 2{\mathcal{B}}_{2} will contain a C-node γ\gamma, such that if 32{\mathcal{B}}_{3}\subseteq{\mathcal{B}}_{2} results by removing γ\gamma and all its adjacent B-leaves, then 3{\mathcal{B}}_{3} is empty or again a special tree. By the induction assumption, let G3G_{3} be an embedding of GG that is good for Π\Pi restricted to 3{\mathcal{B}}_{3}. Let cV(G)c\in V(G) be the cut vertex represented by γ\gamma, and {μ1,μ2}\{\mu_{1},\mu_{2}\} be the πγ\pi_{\gamma}-peers at γ\gamma where μi\mu_{i} belongs to the adjacent sSPR-tree 𝒯(Hi){\mathcal{T}}(H_{i}), i=1,2i=1,2.

For i=1,2i=1,2, we take a specific face φi\varphi_{i} of the skeleton SμiS_{\mu_{i}}: for a D-node μi\mu_{i}, we take its default face; for an R-node, φi\varphi_{i} is specified by the label in πγ\pi_{\gamma}; for an S-node, φi\varphi_{i} is determined by the spin value of the CS-pair (c,μi)(c,\mu_{i}). Let φi\varphi_{i}^{\prime} be the corresponding face of the (sub)embedded block HiG3H_{i}\subseteq G_{3}. We may assume, up to symmetry, that μ2\mu_{2} does not belong to an sSPR-tree held by 3{\mathcal{B}}_{3}. We make φ2\varphi_{2}^{\prime} the outer face of H2H_{2}, and we construct G2G_{2} from G3G_{3} by rearranging the embedding specification at γ\gamma (and, thereby, the blocks incident with cc) such that H2H_{2} occurs inside the face φ1\varphi_{1}^{\prime}. It is clear that G2G_{2} is now good also for πγ\pi_{\gamma}.

Finally, following the constructive steps of this proof, it is routine to verify that the resulting embedding G0G_{0} can be computed in overall linear time. ∎

3.3 Improved approximation guarantee

We are going to turn the weak approximation guarantee of Proposition 1 into an asymptotically optimal one—with the additive O(Δk2)O(\Delta\cdot k^{2}) term improved down to O(Δklogk+k2)O(\Delta\cdot k\log k+k^{2}). To achieve this goal, we will count the dirty passes of G0G_{0}, and so the overall defect, similarly to the proof of Proposition 1, but with respect to a special order of the con-paths such that, at each step, we account for roughly at most O(logk)O(\log k) new ones. The two crucial ingredients for this approach are the semi-majority choice of the preferences Π\Pi in Algorithm 3.3 and the following folklore555This claim is better known in the following formulation: The intersection graph of subtrees in a tree is chordal and it contains a so-called simplicial vertex. claim.

Claim

Let TT be a tree, and UiTU_{i}\subseteq T, i=1,2,,hi=1,2,\dots,h, be an arbitrary collection of subtrees of TT. Then there exists j{1,,h}j\in\{1,\dots,h\} and uV(Uj)u\in V(U_{j}) such that, for every i{1,,h}i\in\{1,\dots,h\}, if UiU_{i} intersects UjU_{j} then uV(Ui)u\in V(U_{i}).

Proof

Consider any graph HH, subgraph HHH^{\prime}\subseteq H, and vV(H)v\in V(H). Let the distance from vv to HH^{\prime} be the minimum distance dd between vv and a vertex of HH^{\prime}, and the shore of HH^{\prime} from vv be the subset of those vertices of HH^{\prime} having distance dd from vv. Clearly, if HH is a tree and HH^{\prime} is connected, then the shore of HH^{\prime} must always be a single vertex uu and every path from vv to HH^{\prime} contains uu.

Choose any vertex vV(T)v\in V(T) and let dd^{\prime} be the maximum distance from vv to any UiU_{i}, i{1,,h}i\in\{1,\dots,h\}. If d=0d^{\prime}=0 then u:=vu:=v fulfills the claim for any jj. Suppose d>0d^{\prime}>0 and let some UjU_{j}, j{1,,h}j\in\{1,\dots,h\}, with the shore uV(Uj)u\in V(U_{j}), be at distance dd^{\prime} from vv. We show that this choice of u,ju,j fulfills the claim. Consider any UiU_{i}, i{1,,h}i\in\{1,\dots,h\}, that intersects UjU_{j}. Clearly its distance from vv is at most dd^{\prime}. Let xV(Ui)V(Uj)x\in V(U_{i})\cap V(U_{j}) and let yy be the shore of UiUjU_{i}\cup U_{j} from vv. According to the previous paragraph, the path from vv to xx must contain both of y,uy,u, and so uV(Ui)u\in V(U_{i}), too. ∎

We first briefly outline how Claim 3.3 can help to improve the estimate for Algorithm 3.3 over Proposition 1:

  1. a)

    For an instance MEI(G,F)\mathrm{MEI}(G,F), assume that the decomposition graph 𝒟:=𝒟(G){\mathcal{D}}:={\mathcal{D}}(G) is a tree (this happens, e.g., when GG is 22-connected). Let 𝒫i𝒟{\mathcal{P}}_{i}\subseteq{\mathcal{D}}, i=1,,ki=1,\dots,k, be the con-paths of the kk insertion pairs {ui,vi}F\{u_{i},v_{i}\}\in F. Then, by Claim 3.3, there is j{1,,k}j\in\{1,\dots,k\} such that all of the con-paths hitting 𝒫j{\mathcal{P}}_{j} do so in the same node νV(𝒫j)\nu\in V({\mathcal{P}}_{j}).

  2. b)

    Let 𝒫j,𝒫j′′{\mathcal{P}}_{j}^{\prime},{\mathcal{P}}_{j}^{\prime\prime} be the two half-paths of 𝒫j{\mathcal{P}}_{j} from a starting in ν\nu, and let <k\ell<k be the total number of con-paths sharing ν\nu with 𝒫j{\mathcal{P}}_{j}. We can claim that the embedding G0G_{0} computed in Algorithm 3.3 honors the preferences Πj\Pi_{j} restricted to 𝒫j{\mathcal{P}}_{j}^{\prime} with defect at most log2<log2k\log_{2}\ell<\log_{2}k: informally, by our semi-majority choice, the embedding might not be good only for individual preferences of Πj\Pi_{j} at those nodes of 𝒫j{\mathcal{P}}_{j}^{\prime} where at least half of all participating con-paths “divert from” 𝒫j{\mathcal{P}}_{j}^{\prime} (at this node or at the next R-node). An upper bound log2k\log_{2}k for each of 𝒫j,𝒫j′′{\mathcal{P}}_{j}^{\prime},{\mathcal{P}}_{j}^{\prime\prime} hence follows easily, and we may account for +1+1 in the defect sum due to ν\nu itself.

  3. c)

    If the previous bound was extendable recursively to all the con-paths, a final estimate for the sum of all the defects would be at most 1+2log2k+1+2log2(k1)+k+2klog2k1+2\log_{2}k+1+2\log_{2}(k-1)+\dots\leq k+2k\log_{2}k (while the actual bound in Theorem 3.5 will come out just slightly worse).

For an informal reference, we will call this approach a log2k\log_{2}k-defect argument. There are, however, two big problems with the outlined (optimistic) scenario:

Remark 6 (On utilizing the log2k\log_{2}k-defect argument)
  1. a)

    Since 𝒟(G){\mathcal{D}}(G) does not have to be a tree, Claim 3.3 does not directly hold for it (however, we at least know that two con-paths may only intersect in a subpath in 𝒟(G){\mathcal{D}}(G)).

  2. b)

    A somehow less obvious problem with the log2k\log_{2}k-defect argument pops up when applying it recursively—after removing several of the con-paths, it is no longer true that a semi-majority choice in this subcollection is the same as the semi-majority choice made by the algorithm (for all the con-paths).

To address Remark 6a, we refine Claim 3.3 in following Lemma 5. Note, however, that if the given graph GG would be biconnected, 𝒟(G){\mathcal{D}}(G) would be a tree and we could directly use Claim 3.3 and its consequent bound instead. Consider a con-path 𝒫{\mathcal{P}} and an internal node νV(𝒫)\nu\in V({\mathcal{P}}). Recall the notion of a mate from Definition 2.6, and the fact that a mate of a cut vertex xx may also be a P-node in which case it is not directly adjacent to xx’s C-node in 𝒟{\mathcal{D}}. We say that a node γV(𝒟)\gamma\in V({\mathcal{D}}) is a substitute for ν\nu w.r.t. 𝒫{\mathcal{P}} if (cf. Figure 2):

  • γ\gamma is a C-node of a cut vertex xx of GG such that ν\nu is a mate of xx (and so ν\nu is not a C-node), and

  • there is a neighbor μ\mu of ν\nu on 𝒫{\mathcal{P}} such that μ=γ\mu=\gamma or μ\mu is a mate of xx, too.

In the following lemma, we consider some index set II. While it is most natural to think of II as {1,,k}\{1,\ldots,k\}, we will later apply this lemma also for subsets of the latter.

Refer to caption

(a) We could reroute the dotted con-path to become the dashed con-path, without problems. We require no embedding preferences at the newly added nodes, as their skeletons all share the cut vertex represented by γ\gamma.

Refer to caption

(b) For each of the three con-paths, we mark those of their nodes with a double circle for which γ\gamma is a substitute.

Refer to caption

(c) In a situation like this, Claim 3.3 would fail, as the graph induced by the con-paths is not a tree. Lemma 5 allows to pick 𝒫j{\mathcal{P}}_{j} and μ\mu (double circle): for the labeled 𝒫i{\mathcal{P}}_{i} we have V(𝒫i)V(𝒫j)V({\mathcal{P}}_{i})\cap V({\mathcal{P}}_{j})\neq\emptyset but it does not contain μ\mu; however, γV(𝒫i)\gamma\in V({\mathcal{P}}_{i}) is a substitute for μ\mu w.r.t. 𝒫j{\mathcal{P}}_{j}.

Figure 2: Substitutes w.r.t. con-paths. We visualize a part of a decomposition graph 𝒟{\mathcal{D}}, analogously to Figure 1. Con-paths are shown as thick dotted/dashed curves. The mates of the central C-node γ\gamma are marked with thick borders.
Lemma 5

Let GG be a connected planar graph, II be a set of indices, and 𝒫i{\mathcal{P}}_{i}, iIi\in I, be a collection of con-paths in the decomposition graph 𝒟:=𝒟(G){\mathcal{D}}:={\mathcal{D}}(G) (as derived from an arbitrary collection of con-chains in 𝒞(G){\mathcal{C}}(G)). Then there exists jIj\in I and μV(𝒫j)\mu\in V({\mathcal{P}}_{j}) such that, for all iIi\in I, the following holds: if V(𝒫i)V(𝒫j)V({\mathcal{P}}_{i})\cap V({\mathcal{P}}_{j})\not=\emptyset, then μV(𝒫i)\mu\in V({\mathcal{P}}_{i}) or V(𝒫i)V({\mathcal{P}}_{i}) contains a substitute for μ\mu w.r.t. 𝒫j{\mathcal{P}}_{j}.

Note that different 𝒫i{\mathcal{P}}_{i}’s in the statement may have different substitutes for μ\mu, but there are at most four available substitutes for μ\mu w.r.t. 𝒫j{\mathcal{P}}_{j} anyway (one for each vertex of the two virtual edges of the neighbors of μ\mu on 𝒫j{\mathcal{P}}_{j}).

Proof

We would like to apply Claim 3.3 but 𝒟{\mathcal{D}} is not a tree (due to adjacencies of the C-nodes, see Definition 2.6 and Figure 2(c)). Consider a C-node γV(𝒟)\gamma\in V({\mathcal{D}}) of a cut vertex xx of GG. If HGH\subseteq G is a block of GG incident with xx, then the set of all mates of xx in 𝒯(H){\mathcal{T}}(H) induces a subtree 𝒯γ(H)𝒯(H){\mathcal{T}}_{\gamma}(H)\subseteq{\mathcal{T}}(H). We construct a spanning tree 𝒟𝒟{\mathcal{D}}^{\prime}\subseteq{\mathcal{D}} as follows:

  • For every C-node γ\gamma of 𝒟{\mathcal{D}} and each incident block HGH\subseteq G, we delete all but (an arbitrary) one of the edges of 𝒟{\mathcal{D}} between γ\gamma and V(𝒯γ(H))V({\mathcal{T}}_{\gamma}(H)).

  • For each 𝒫i{\mathcal{P}}_{i}, iIi\in I, such that 𝒫i{\mathcal{P}}_{i} passes through any such γ\gamma and one of its deleted edges, we reroute 𝒫i{\mathcal{P}}_{i} as 𝒫i{\mathcal{P}}_{i}^{\prime} along the remaining edge (between γ\gamma and 𝒯γ(H){\mathcal{T}}_{\gamma}(H)) and through 𝒯γ(H){\mathcal{T}}_{\gamma}(H). Otherwise, let 𝒫i:=𝒫i{\mathcal{P}}_{i}^{\prime}:={\mathcal{P}}_{i}.

Now we apply Claim 3.3 onto 𝒟{\mathcal{D}}^{\prime} and the paths 𝒫i{\mathcal{P}}_{i}^{\prime}, iIi\in I, obtaining a pair jj and μV(𝒫j)\mu^{\prime}\in V({\mathcal{P}}_{j}^{\prime}). We analyze the situation with respect to 𝒟{\mathcal{D}} and 𝒫j{\mathcal{P}}_{j}.

  • If μV(𝒫j)\mu^{\prime}\in V({\mathcal{P}}_{j}), then we set μ:=μ\mu:=\mu^{\prime}. Otherwise, μ\mu^{\prime} is not a C-node and there is a C-node γV(𝒫j)\gamma\in V({\mathcal{P}}_{j}) such that μ\mu^{\prime} is a mate of the cut vertex of γ\gamma; then, we set μ\mu to be the neighbor of γ\gamma on 𝒫j{\mathcal{P}}_{j} corresponding to μ\mu^{\prime} (i.e., μ\mu is the first node in 𝒫j{\mathcal{P}}_{j} when traversing 𝒫j{\mathcal{P}}^{\prime}_{j} starting at μ\mu^{\prime} and away from γ\gamma).

  • If, for any iIi\in I, μV(𝒫i)\mu^{\prime}\not\in V({\mathcal{P}}_{i}^{\prime}) then V(𝒫i)V(𝒫j)=V({\mathcal{P}}_{i})\cap V({\mathcal{P}}_{j})=\emptyset; this is since V(𝒫i)V(𝒫i)V({\mathcal{P}}_{i})\subseteq V({\mathcal{P}}_{i}^{\prime}) by our construction. (Though, the converse direction is not true in general.) Consequently, our analysis only has to consider those indices iIi\in I for which μV(𝒫i)\mu^{\prime}\in V({\mathcal{P}}_{i}^{\prime}) and V(𝒫i)V(𝒫j)V({\mathcal{P}}_{i})\cap V({\mathcal{P}}_{j})\not=\emptyset.

  • If μV(𝒫i)\mu\in V({\mathcal{P}}_{i}) then we are done. This is true, in particular, when μ\mu is a C-node. Hence, in addition to the previous paragraph, we may now assume that μ\mu is not a C-node and μV(𝒫i)\mu\not\in V({\mathcal{P}}_{i}). Let HH be the block of GG such that μ𝒯(H)\mu\in{\mathcal{T}}(H).

  • If μ=μ\mu=\mu^{\prime} then, since μV(𝒫i)V(𝒫i)\mu\in V({\mathcal{P}}_{i}^{\prime})\setminus V({\mathcal{P}}_{i}), the path 𝒫i{\mathcal{P}}_{i}^{\prime} has been rerouted from original 𝒫i{\mathcal{P}}_{i} at a C-node γV(𝒫i)\gamma^{\prime}\in V({\mathcal{P}}_{i}) such that μ=μV(𝒯γ(H))\mu=\mu^{\prime}\in V({\mathcal{T}}_{\gamma^{\prime}}(H)). Let τ𝒯(H)\tau\in{\mathcal{T}}(H) be the neighbor of γ\gamma^{\prime} on 𝒫i{\mathcal{P}}_{i} (τ\tau is the only node of 𝒫i{\mathcal{P}}_{i} in 𝒯γ(H){\mathcal{T}}_{\gamma^{\prime}}(H)). Since 𝒫i{\mathcal{P}}_{i} intersects 𝒫j{\mathcal{P}}_{j} and 𝒯(H){\mathcal{T}}(H) has no cycles, it is τV(𝒫j){μ}\tau\in V({\mathcal{P}}_{j})\setminus\{\mu\}. Consequently, γ\gamma^{\prime} is a substitute for μ\mu w.r.t. 𝒫j{\mathcal{P}}_{j} by definition.

  • It remains to consider, in addition to the previous, that μμ\mu\not=\mu^{\prime}. In this case the C-node γ\gamma has been defined above; we have γμE(𝒫j)\gamma\mu\in E({\mathcal{P}}_{j}) and γ\gamma is a substitute for μ\mu w.r.t. 𝒫j{\mathcal{P}}_{j}. So, if γV(𝒫i)\gamma\in V({\mathcal{P}}_{i}) then we are done. Hence μ,γV(𝒫i)\mu,\gamma\not\in V({\mathcal{P}}_{i}), and (a) 𝒫i{\mathcal{P}}_{i} intersects 𝒫j{\mathcal{P}}_{j} in 𝒯(H){\mathcal{T}}(H) in a node ϱμ\varrho\not=\mu, or (b) 𝒫i{\mathcal{P}}_{i} is disjoint from 𝒫j{\mathcal{P}}_{j} in 𝒯(H){\mathcal{T}}(H) but they intersect in a C-node δγ\delta\not=\gamma incident with the block HH.

    Consider case (a); since the only connection from μ\mu^{\prime} to ϱ\varrho in 𝒯(H){\mathcal{T}}(H) contains μ\mu (and μV(𝒫i)\mu\not\in V({\mathcal{P}}_{i})), there again has to be a C-node γV(𝒫i)\gamma^{\prime}\in V({\mathcal{P}}_{i}) such that μ,ϱV(𝒯γ(H))\mu^{\prime},\varrho\in V({\mathcal{T}}_{\gamma^{\prime}}(H)), and consequently μV(𝒯γ(H))\mu\in V({\mathcal{T}}_{\gamma^{\prime}}(H)) and γ\gamma^{\prime} is a substitute for μ\mu w.r.t. 𝒫j{\mathcal{P}}_{j}, too. In case (b), 𝒫i𝒫j{\mathcal{P}}_{i}^{\prime}\cap{\mathcal{P}}_{j}^{\prime} contains a path from μ\mu^{\prime} to δ\delta (since δ\delta has only one edge to 𝒯(H){\mathcal{T}}(H) in 𝒟{\mathcal{D}}^{\prime}), while the 𝒫i{\mathcal{P}}_{i}-neighbor of δ\delta in 𝒯(H){\mathcal{T}}(H) belongs to V(𝒫i)V(𝒫j)V({\mathcal{P}}_{i}^{\prime})\setminus V({\mathcal{P}}_{j}). Therefore, μV(𝒯δ(H))\mu\in V({\mathcal{T}}_{\delta}(H)) and so μδE(𝒫j)\mu\delta\in E({\mathcal{P}}_{j}) by minimality. Then δ\delta is a substitute for μ\mu w.r.t. 𝒫j{\mathcal{P}}_{j}. ∎

An application of Lemma 5 in the aforementioned log2k\log_{2}k-defect argument brings another elusive problem; namely, what should be the subpaths 𝒫j,𝒫j′′{\mathcal{P}}_{j}^{\prime},{\mathcal{P}}_{j}^{\prime\prime} of selected 𝒫j{\mathcal{P}}_{j} to which the argument is applied? The crucial property we need is that every con-path 𝒫i{\mathcal{P}}_{i} hitting 𝒫j{\mathcal{P}}_{j}^{\prime} does so in the starting node of 𝒫j{\mathcal{P}}_{j}^{\prime}.

Informally, for 𝒫j{\mathcal{P}}_{j} and μ\mu as in Lemma 5 we let 𝒫jo𝒫j{\mathcal{P}}_{j}^{o}\subseteq{\mathcal{P}}_{j} be the minimal subpath intersecting all the con-paths not disjoint from 𝒫j{\mathcal{P}}_{j}. Then 𝒫j,𝒫j′′{\mathcal{P}}_{j}^{\prime},{\mathcal{P}}_{j}^{\prime\prime} can be chosen as the subpaths edge-disjoint from 𝒫jo{\mathcal{P}}_{j}^{o} such that 𝒫j𝒫jo𝒫j′′=𝒫j{\mathcal{P}}_{j}^{\prime}\cup{\mathcal{P}}_{j}^{o}\cup{\mathcal{P}}_{j}^{\prime\prime}={\mathcal{P}}_{j}. However, we also have to consider possible defects (an unbounded number of?) due to honoring the preferences of 𝒫jo{\mathcal{P}}_{j}^{o}. Let αo,βo\alpha^{o},\beta^{o} be the ends of 𝒫jo{\mathcal{P}}_{j}^{o}. We will show that each of the corresponding skeletons Sαo,SβoS_{\alpha^{o}},S_{\beta^{o}} shares a vertex with SμS_{\mu} (formal details given later). Consequently, only at most two repair operations (at these shared vertices) are enough for the whole insertion path along 𝒫jo{\mathcal{P}}_{j}^{o}, while the individual preferences along 𝒫jo{\mathcal{P}}_{j}^{o} are simply ignored in the algorithm (Remark 3). This accounts for at most 2log2k+22\log_{2}k+2 dirty passes along whole 𝒫j{\mathcal{P}}_{j}, as desired.

Finally, addressing Remark 6b is actually not that difficult, and we informally outline the idea now. Choose any node ν\nu of 𝒟(G){\mathcal{D}}(G) and focus exclusively on ν\nu and the con-paths passing through it, in other words, on the multiset R(ν)={πi(ν):ip(ν)}R(\nu)=\{\pi_{i}(\nu):i\in p^{\prime}(\nu)\} of (selected) individual preferences at ν\nu from Algorithm 3.3. Let πνR(ν)\pi_{\nu}\in R(\nu) be the individual preference chosen in the algorithm.

Without loss of generality we may assume that the repeated application of Lemma 5 selects and removes con-paths in the order 𝒫1,𝒫2,,𝒫k{\mathcal{P}}_{1},{\mathcal{P}}_{2},\dots,{\mathcal{P}}_{k}. We define R1(ν)=R(ν)R_{1}(\nu)=R(\nu) and, for i{2,3,,k}i\in\{2,3,\dots,k\}, Ri(ν)=Ri1(ν){πi1(ν)}R_{i}(\nu)=R_{i-1}(\nu)\setminus\{\pi_{i-1}(\nu)\} (with multiplicity). The intuitive problem with a naïve voting scheme (that would consider the full sets p(ν)p(\nu) instead of p(ν)p^{\prime}(\nu)) is that it would be performed over R(ν)R(\nu) at each node ν\nu; our repeatedly applied counting argument based on Lemma 5, however, requires a voting according to the corresponding Ri(ν)R_{i}(\nu) at each step.

This can be seen as follows: If π1(ν)πν\pi_{1}(\nu)\not=\pi_{\nu} then the multiplicity of π1(ν)\pi_{1}(\nu) in R(ν)R(\nu) is 12|R(ν)|\leq\frac{1}{2}|R(\nu)| and, informally, we can afford to pay for one repair operation at ν\nu within the log2k\log_{2}k-defect argument. Otherwise (π1(ν)=πν\pi_{1}(\nu)=\pi_{\nu}), no repair operation is needed.

For i{2,3,,k}i\in\{2,3,\dots,k\}, when πi(ν)=πν\pi_{i}(\nu)=\pi_{\nu} or the multiplicity of πi(ν)\pi_{i}(\nu) in Ri(ν)R_{i}(\nu) is 12|Ri(ν)|\leq\frac{1}{2}|R_{i}(\nu)|, the argument is fine again. Consider the contrary, that πi(ν)πν\pi_{i}(\nu)\not=\pi_{\nu} and so the multiplicity of πi(ν)\pi_{i}(\nu) in R(ν)R(\nu) is 12|R(ν)|\leq\frac{1}{2}|R(\nu)|, while the multiplicity of πi(ν)\pi_{i}(\nu) in Ri(ν)R_{i}(\nu) is >12|Ri(ν)|>\frac{1}{2}|R_{i}(\nu)|. This may happen, though, it is an easy exercise to show that every such ii can be accounted towards some j<ij<i such that πj(ν)=πν\pi_{j}(\nu)=\pi_{\nu} and the multiplicity of πj(ν)\pi_{j}(\nu) in Rj(ν)R_{j}(\nu) is 12|Rj(ν)|\leq\frac{1}{2}|R_{j}(\nu)|. In the latter case of jj, the log2k\log_{2}k-defect argument reserved one repair operation at ν\nu for 𝒫j{\mathcal{P}}_{j} but it was not required there. In the formal proof below, we will say that 𝒫j{\mathcal{P}}_{j} issues a “repair ticket” at ν\nu which is subsequently used by 𝒫i{\mathcal{P}}_{i} for an actual repair operation.

We are finally ready to prove our stronger bound. First, we define what implementation of step 3 of Algorithm 3.3 is needed to get our stronger bound.

Definition 3.4 (Ignoring some individual preferences based on a good simplicial sequence)

Consider the decomposition graph 𝒟{\mathcal{D}} of a connected planar graph GG, and con-paths 𝒫1,,𝒫k{\mathcal{P}}_{1},\dots,{\mathcal{P}}_{k} in 𝒟{\mathcal{D}}.

  1. i)

    For any permutation σ\sigma of the indices, we say that a sequence ((𝒫σ(1),μσ(1)),\big{(}({\mathcal{P}}_{\sigma(1)},\mu_{\sigma(1)}), ,(𝒫σ(k),μσ(k)))\dots,({\mathcal{P}}_{\sigma(k)},\mu_{\sigma(k)})\big{)}, where μjV(𝒫j)\mu_{j}\in V({\mathcal{P}}_{j}), is a good simplicial sequence if the following holds true for i=1,,ki=1,\dots,k:

    • for I={σ(i),σ(i+1),,σ(k)}I=\{\sigma(i),\sigma(i+1),\dots,\sigma(k)\}, the choice j:=σ(i)j:=\sigma(i) and μ:=μσ(i)\mu:=\mu_{\sigma(i)} satisfies the conclusion of Lemma 5.

  2. ii)

    Let p(ν)p(\nu) be defined as in Algorithm 3.3. We say that a system of sets p(ν)p(ν)p^{\prime}(\nu)\subseteq p(\nu), νV(𝒟)\nu\in V({\mathcal{D}}), ignores the sequence ((𝒫σ(1),μσ(1)),\big{(}({\mathcal{P}}_{\sigma(1)},\mu_{\sigma(1)}), ,(𝒫σ(k),μσ(k)))\dots,({\mathcal{P}}_{\sigma(k)},\mu_{\sigma(k)})\big{)} if the following holds true for i=1,,ki=1,\dots,k and all ν\nu of 𝒟{\mathcal{D}}:

    • if ip(ν)i\in p(\nu), then ip(ν)i\not\in p^{\prime}(\nu) if and only if one of the following holds true; ν=μi\nu=\mu_{i}, or ν\nu is a C-node neighboring μi\mu_{i} on 𝒫i{\mathcal{P}}_{i}, or there is a cut vertex xx of GG such that both ν\nu and μi\mu_{i} are mates of xx. \diamond

Note that a good simplicial sequence always exists by Lemma 5, but it may not be unique (which is not a problem for our arguments). Also observe that our pp^{\prime}, as now defined in Definition 3.4, “ignores” many more individual preferences than originally suggested in the aforementioned sketch of the proof idea. This allows for a simpler definition and does not hurt the argument. Most importantly, Definition 3.4ii is invariant on the order σ\sigma of the simplicial sequence—we only use information that a certain node μi\mu_{i} is assigned to 𝒫i{\mathcal{P}}_{i}, i{1,,k}i\in\{1,\dots,k\} when defining pp^{\prime}.

Theorem 3.5 (Strong estimate, Theorem 1.2(3))

Consider a connected planar graph GG and a set FF of kk vertex pairs over V(G)V(G). Let insΣ(G,F):=fFins(G,f)ins(G,F)\mathrm{ins}^{\Sigma}(G,F):=\sum_{f\in F}\mathrm{ins}(G,f)\leq\mathrm{ins}(G,F). If step 3 of Algorithm 3.3 is implemented such that the computed set system p(ν)p^{\prime}(\nu), νV(𝒟)\nu\in V({\mathcal{D}}), ignores some good simplicial sequence over the con-paths 𝒫1,,𝒫k{\mathcal{P}}_{1},\dots,{\mathcal{P}}_{k}, then the algorithm outputs a plane embedding G0G_{0} of GG such that

(7) ins(G,F)ins(G0,F)insΣ(G,F)+Δ(G)22klog22k+(k2).\displaystyle\mathrm{ins}(G,F)\>\leq\>\mathrm{ins}(G_{0},F)\>\leq\>\mathrm{ins}^{\Sigma}(G,F)+\left\lfloor\frac{\Delta(G)}{2}\right\rfloor\cdot 2k\lfloor\log_{2}2k\rfloor+{k\choose 2}.
Proof

We assume all the notation of Algorithm 3.3. We may also assume, without loss of generality, that the good simplicial sequence considered when defining pp^{\prime} is ((𝒫1,μ1),\big{(}({\mathcal{P}}_{1},\mu_{1}), ,(𝒫k,μk))\dots,({\mathcal{P}}_{k},\mu_{k})\big{)}. Recall that the actual order of pairs in this sequence is significant only for the following analysis and it is not used in any way in Algorithm 3.3, when defining pp^{\prime}. Denote by q(ν):=p(ν){,+1,,k}q_{\ell}(\nu):=p^{\prime}(\nu)\cap\{\ell,\ell+1,\dots,k\}.

For j=1,,kj=1,\dots,k in this order, we argue as follows. By Definition 3.4, jp(μj)j\not\in p^{\prime}(\mu_{j}). Let αj,βjV(𝒫j)\alpha_{j},\beta_{j}\in V({\mathcal{P}}_{j}) be the ends of 𝒫j{\mathcal{P}}_{j}. Denote by αj0V(𝒫j){αj}\alpha_{j}^{0}\in V({\mathcal{P}}_{j})\setminus\{\alpha_{j}\} the node closest to αj\alpha_{j} on 𝒫j{\mathcal{P}}_{j} and such that ip(αj0)i\not\in p^{\prime}(\alpha_{j}^{0}), and by βj0V(𝒫j){βj}\beta_{j}^{0}\in V({\mathcal{P}}_{j})\setminus\{\beta_{j}\} the one closest to βj\beta_{j} such that jp(βj0)j\not\in p^{\prime}(\beta_{j}^{0}). We observe, by Definition 3.4, that the skeleton of αj0\alpha_{j}^{0} (and analogously βj0\beta_{j}^{0}) has a common vertex with the skeleton of μj\mu_{j}. Let 𝒫j,𝒫j′′𝒫j{\mathcal{P}}_{j}^{\prime},{\mathcal{P}}_{j}^{\prime\prime}\subseteq{\mathcal{P}}_{j} denote the subpaths of 𝒫j{\mathcal{P}}_{j} from αj0\alpha_{j}^{0} to αj\alpha_{j}, and from βj0\beta_{j}^{0} to βj\beta_{j}. If αj=μj\alpha_{j}=\mu_{j} or βj=μj\beta_{j}=\mu_{j}, then 𝒫j{\mathcal{P}}_{j}^{\prime} or 𝒫j′′{\mathcal{P}}_{j}^{\prime\prime} is undefined and hence the following argument is simply skipped for it.

Note that V(𝒫j)V(𝒫j′′){μj}V({\mathcal{P}}_{j}^{\prime})\cap V({\mathcal{P}}_{j}^{\prime\prime})\subseteq\{\mu_{j}\} if both 𝒫j,𝒫j′′{\mathcal{P}}_{j}^{\prime},{\mathcal{P}}_{j}^{\prime\prime} are defined. The subsequent argument will be given only for 𝒫j{\mathcal{P}}_{j}^{\prime}, with understanding that the same symmetrically applies to 𝒫j′′{\mathcal{P}}_{j}^{\prime\prime}.

By Lemma 5 and the definition of a substitute, if a con-path 𝒫i{\mathcal{P}}_{i}, i>ji>j, intersects 𝒫j{\mathcal{P}}_{j}, then 𝒫i{\mathcal{P}}_{i} contains αj0\alpha_{j}^{0} or βj0\beta_{j}^{0}, or 𝒫i{\mathcal{P}}_{i} intersects 𝒫jV(𝒫j𝒫j′′){\mathcal{P}}_{j}-V({\mathcal{P}}_{j}^{\prime}\cup{\mathcal{P}}_{j}^{\prime\prime}). Hence, by Claim 2.2, if 𝒫i{\mathcal{P}}_{i} intersects 𝒫j{\mathcal{P}}_{j}^{\prime} then αj0V(𝒫i)\alpha_{j}^{0}\in V({\mathcal{P}}_{i}), and so we have qj(αj0)qj(αj1)qj(αja)q_{j}(\alpha_{j}^{0})\supseteq q_{j}(\alpha_{j}^{1})\supseteq\dots\supseteq q_{j}(\alpha_{j}^{a}) where αj0,αj1,,αja=αj\alpha_{j}^{0},\alpha_{j}^{1},\dots,\alpha_{j}^{a}=\alpha_{j} denote the nodes of 𝒫j{\mathcal{P}}_{j}^{\prime} (of length aa) in this order. For νV(𝒫i)\nu\in V({\mathcal{P}}_{i}) let q~i(ν)q(ν)\tilde{q}_{\ell}^{\,i}(\nu)\subseteq q_{\ell}(\nu) denote the subset of those mq(ν)m\in q_{\ell}(\nu) for which 𝒫m{\mathcal{P}}_{m} is coherent with 𝒫i{\mathcal{P}}_{i} at ν\nu or i=mi=m. We say that node ν\nu is divergent for 𝒫i{\mathcal{P}}_{i} on level \ell if νV(𝒫i)\nu\in V({\mathcal{P}}_{i}) is not an R-node and |q~i(ν)|12|q(ν)||\tilde{q}_{\ell}^{\,i}(\nu)|\leq\frac{1}{2}|q_{\ell}(\nu)|.

Our key observation is that the number of nodes of 𝒫j{\mathcal{P}}_{j}^{\prime} that are divergent for 𝒫j{\mathcal{P}}_{j} on level jj, is at most log2|qj(αj0)|log2k\lfloor\log_{2}|q_{j}(\alpha_{j}^{0})|\rfloor\leq\lfloor\log_{2}k\rfloor: whenever a node αjiV(𝒫j)\alpha_{j}^{i}\in V({\mathcal{P}}^{\prime}_{j}) is divergent we have, by the definition of coherence, |qj(αji+1)|12|qj(αji)||q_{j}(\alpha_{j}^{i+1})|\leq\frac{1}{2}|q_{j}(\alpha_{j}^{i})| if αji+1\alpha_{j}^{i+1} is not an R-node, and |qj(αji+2)|12|qj(αji)||q_{j}(\alpha_{j}^{i+2})|\leq\frac{1}{2}|q_{j}(\alpha_{j}^{i})| if αji+1\alpha_{j}^{i+1} is an R-node (recall that R-nodes are not counted as divergent). This upper bound of log2k\leq\lfloor\log_{2}k\rfloor divergent nodes along 𝒫j{\mathcal{P}}_{j}^{\prime} will be used to bound the total defect of G0G_{0} in honoring the computed optimal embedding preferences of edges in FF.

Let νV(𝒫j)\nu\in V({\mathcal{P}}_{j}^{\prime}). If πj(ν)πν\pi_{j}(\nu)\not=\pi_{\nu} then, by the definitions and the semi-majority choice in the algorithm, ν\nu is divergent for 𝒫j{\mathcal{P}}_{j} on level 11. Unfortunately, it might happen that ν\nu is divergent for 𝒫j{\mathcal{P}}_{j} on level 11 but not divergent for 𝒫j{\mathcal{P}}_{j} on level jj, and we cannot simply account for the cost of this defect at ν\nu on the same level jj. To resolve such cases, we use an amortized analysis which “borrows” for the cost from smaller levels. This is formalized as follows:

  1. I)

    If ν\nu is divergent for 𝒫j{\mathcal{P}}_{j} on level jj, then we issue one repair ticket to ν\nu (the total number of tickets issued along 𝒫j{\mathcal{P}}_{j}^{\prime} is thus at most log2k\lfloor\log_{2}k\rfloor, as desired).

  2. II)

    If πj(ν)πν\pi_{j}(\nu)\not=\pi_{\nu}, then we use one of the repair tickets issued to ν\nu towards a total defect in honoring the optimal preferences of 𝒫j{\mathcal{P}}_{j} restricted to 𝒫j{\mathcal{P}}_{j}^{\prime}.

  3. III)

    Let mm be such that πm(ν)=πν\pi_{m}(\nu)=\pi_{\nu} and define

    rj:=max{|q~j+1i(ν)||q~j+1m(ν)|:j<ik}0.r_{j}:=\max\big{\{}|\tilde{q}_{j+1}^{\,i}(\nu)|-|\tilde{q}_{j+1}^{\,m}(\nu)|:j<i\leq k\big{\}}\geq 0.

    After finishing steps (I) and (II) on level jj, the number of available (i.e., issued and not yet used) repair tickets for ν\nu is at least rjr_{j}.

We claim that this amortized analysis is sound, more precisely, that every time we would like to use a repair ticket in (II), there is one available. In a “simple” situation, step (II) would simply use the ticket just issued in (I) on the same level (this happens, e.g., for j=1j=1). Assume that no ticket is issued on level jj, which means that ν\nu is not divergent for 𝒫j{\mathcal{P}}_{j}, and so |q~jj(ν)|>12|qj(ν)||\tilde{q}_{j}^{j}(\nu)|>\frac{1}{2}|q_{j}(\nu)|. If πj(ν)πν\pi_{j}(\nu)\not=\pi_{\nu}, then |q~jm(ν)|<12|qj(ν)||\tilde{q}_{j}^{\,m}(\nu)|<\frac{1}{2}|q_{j}(\nu)| and so rj1|q~jj(ν)||q~jm(ν)|>0r_{j-1}\geq|\tilde{q}_{j}^{\,j}(\nu)|-|\tilde{q}_{j}^{\,m}(\nu)|>0. By (III), we have got an available repair ticket from one of the previous levels for use on level jj.

It is thus enough to prove (III) by induction on j0j\geq 0. For the base case j=0j=0 (i.e., before the process starts), we have r0=0r_{0}=0 by the semi-majority choice of πν\pi_{\nu}. Further on, let i>ji>j be such that rj=|q~j+1i(ν)||q~j+1m(ν)|r_{j}=|\tilde{q}_{j+1}^{\,i}(\nu)|-|\tilde{q}_{j+1}^{\,m}(\nu)|. It suffices to discuss the inductive step in two cases, either rjrj11r_{j}-r_{j-1}\geq 1 or rj=rj1>0r_{j}=r_{j-1}>0:

  • Assume rjrj11r_{j}-r_{j-1}\geq 1. Since rj1|q~ji(ν)||q~jm(ν)|r_{j-1}\geq|\tilde{q}_{j}^{\,i}(\nu)|-|\tilde{q}_{j}^{\,m}(\nu)| and q~j+1i(ν)q~ji(ν)\tilde{q}_{j+1}^{\,i}(\nu)\subseteq\tilde{q}_{j}^{\,i}(\nu), we have |q~j+1m(ν)|=|q~jm(ν)|1|\tilde{q}_{j+1}^{\,m}(\nu)|=|\tilde{q}_{j}^{\,m}(\nu)|-1. Then πj(ν)=πm(ν)=πν\pi_{j}(\nu)=\pi_{m}(\nu)=\pi_{\nu} and ν\nu is divergent for 𝒫j{\mathcal{P}}_{j} on level jj. Consequently, the repair ticket issued in (I) on level jj is not used in (II) and, indeed, there are at least rj1+1=rjr_{j-1}+1=r_{j} available repair tickets afterwards.

  • Assume that rj=rj1>0r_{j}=r_{j-1}>0 and a repair ticket is used in (II) on level jj since πj(ν)πν\pi_{j}(\nu)\not=\pi_{\nu}. Then q~j+1m(ν)=q~jm(ν)\tilde{q}_{j+1}^{\,m}(\nu)=\tilde{q}_{j}^{\,m}(\nu) and so |q~j+1i(ν)|=|q~ji(ν)||\tilde{q}_{j+1}^{\,i}(\nu)|=|\tilde{q}_{j}^{\,i}(\nu)|. Consequently, jq~ji(ν)j\not\in\tilde{q}_{j}^{\,i}(\nu) and hence ν\nu is again divergent for 𝒫j{\mathcal{P}}_{j} on level jj. This means a repair ticket for (II) has just been issued in (I) on level jj.

Claim (III) is finished.

Altogether, we have issued at most log2k\lfloor\log_{2}k\rfloor repair tickets along 𝒫j{\mathcal{P}}_{j}^{\prime}, and also at most log2k\lfloor\log_{2}k\rfloor tickets along 𝒫j′′{\mathcal{P}}_{j}^{\prime\prime}. Furthermore, two special repair tickets are issued to μj\mu_{j}, summing up to at most 2log2k+2=2log22k2\lfloor\log_{2}k\rfloor+2=2\lfloor\log_{2}2k\rfloor for iteration jj. For the whole problem, altogether at most 2klog22k2k\lfloor\log_{2}2k\rfloor repair tickets are issued. We are hence nearly finished and it remains to prove that the above distributed repair tickets are sufficient for all the “repair operations” carried out when drawing the edges of FF into G0G_{0}.

Again for j=1,,kj=1,\dots,k (the order is now irrelevant), we argue as follows. By Definition 3.4, the skeletons of αj0\alpha_{j}^{0} and μj\mu_{j} must share a vertex xjV(G)x_{j}\in V(G) (xjx_{j} is a cut vertex of GG if μjαj0\mu_{j}\not=\alpha_{j}^{0} but this is not important now). We analogously set yjV(G)y_{j}\in V(G) on the side of βj0\beta_{j}^{0}. Now, 𝒫j{\mathcal{P}}_{j}^{\prime} is the con-path of {uj,xj}\{u_{j},x_{j}\} and 𝒫j′′{\mathcal{P}}_{j}^{\prime\prime} is the con-path of {yj,vj}\{y_{j},v_{j}\}. By Claim 3.1(b), the preferences Πj\Pi_{j}^{\prime}, which are the restriction of Πj\Pi_{j} to 𝒫j{\mathcal{P}}_{j}^{\prime}, are optimal embedding preferences of {uj,xj}\{u_{j},x_{j}\}. The embedding G0G_{0} hence honors Πj\Pi_{j}^{\prime} with defect at most equal to the number of repair tickets used along 𝒫j{\mathcal{P}}_{j}^{\prime} —we denote this number by tjt_{j}^{\prime}. We define Πj′′\Pi_{j}^{\prime\prime} and tj′′t_{j}^{\prime\prime} analogously.

By Lemma 3, we can draw the new edges ujxj,yjvju_{j}x_{j},y_{j}v_{j} into G0G_{0}, constructing G1:=G0+ujxj+yjvjG_{1}:=G_{0}+u_{j}x_{j}+y_{j}v_{j} with insΣ(G,{ujxj,yjvj})+(tj+tj′′)Δ(G)/2\mathrm{ins}^{\Sigma}(G,\{u_{j}x_{j},y_{j}v_{j}\})+(t_{j}^{\prime}+t_{j}^{\prime\prime})\cdot\lfloor\Delta(G)/2\rfloor crossings. Furthermore, the new edge xjyjx_{j}y_{j} can be drawn into G1G_{1} with ins(G1,xjyj)\mathrm{ins}(G_{1},x_{j}y_{j}) crossings—this may actually be a nonzero number if μj\mu_{j} is an R-node, but there are no embedding preferences for such R-nodes anyway, as their skeleton embeddings are not mutable. Altogether, G2:=G1+xjyjG_{2}:=G_{1}+x_{j}y_{j} is drawn with insΣ(G,{ujxj,xjyj,yjvj})+(tj+tj′′)Δ(G)/2\mathrm{ins}^{\Sigma}(G,\{u_{j}x_{j},x_{j}y_{j},y_{j}v_{j}\})+(t_{j}^{\prime}+t_{j}^{\prime\prime})\cdot\lfloor\Delta(G)/2\rfloor crossings.

Using the same argument as in the proof of Lemma 3, we now perturb the path formed by the edges ujxj,xjyj,yjvju_{j}x_{j},x_{j}y_{j},y_{j}v_{j} in G2G_{2} into a drawing of the edge fj=ujvjf_{j}=u_{j}v_{j} in G0+fjG_{0}+f_{j}. For this, we require at most 2Δ(G)/22\cdot\lfloor\Delta(G)/2\rfloor additional crossings. The number of crossings in G0+fjG_{0}+f_{j} is hence at most ins(G,fj)+(tj+2+tj′′)Δ(G)/2\mathrm{ins}(G,f_{j})+(t_{j}^{\prime}+2+t_{j}^{\prime\prime})\cdot\lfloor\Delta(G)/2\rfloor using Claim 3.1(a).

While neglecting the at most (k2)k\choose 2 crossings between the edges of FF, we get that the total number of crossings between G0G_{0} and FF is at most

insΣ(G,F)+j=1k(tj+2+tj′′)Δ(G)2insΣ(G,F)+Δ(G)22klog22k.\displaystyle\mathrm{ins}^{\Sigma}(G,F)+\sum_{j=1}^{k}(t_{j}^{\prime}+2+t_{j}^{\prime\prime})\cdot\left\lfloor\frac{\Delta(G)}{2}\right\rfloor\leq\mathrm{ins}^{\Sigma}(G,F)+\left\lfloor\frac{\Delta(G)}{2}\right\rfloor\cdot 2k\lfloor\log_{2}2k\rfloor.

This concludes the proof. ∎

3.4 Tightness of the Analysis of Algorithm 3.3

Reading the fine-grained analysis of Algorithm 3.3 in Theorem 3.5, it is natural to think whether perhaps the ideas can be improved further, giving an even tighter guaranteed relation between the outcome of the algorithm and the sum of the individual insertion values insΣ(G,F)\mathrm{ins}^{\Sigma}(G,F) than (7). This is, however, not possible as we now show by exhibiting an asymptotically matching lower bound in Proposition 2.

Proposition 2

For any integers r,k0r,k\geq 0 and Δ4\Delta\geq 4, there exist instances of the MEI(G,F)\mathrm{MEI}(G,F) problem such that k=|F|k=|F|, Δ(G)Δ\Delta(G)\leq\Delta, insΣ(G,F)r\mathrm{ins}^{\Sigma}(G,F)\geq r, and

(8) ins(G,F)insΣ(G,F)+Ω(Δklog2k+(k2))\mathrm{ins}(G,F)\>\geq\>\mathrm{ins}^{\Sigma}(G,F)+\Omega\!\left(\Delta\cdot k\log_{2}k+{k\choose 2}\!\right)

where insΣ(G,F):=fFins(G,f)\mathrm{ins}^{\Sigma}(G,F):=\sum_{f\in F}\mathrm{ins}(G,f).

Note, though, that this lower bound only concerns the relation between the optimum value ins(G,F)\mathrm{ins}(G,F) and the simple lower bound insΣ(G,F)\mathrm{ins}^{\Sigma}(G,F) we use in our analysis; it does not say anything about approximability (or inapproximability) of the MEI problem itself. The main message of this claim hence is that if one wants to achieve an algorithm with a tighter approximation guarantee for the MEI problem, then one must consider something more than just the individual insertion solutions.

Refer to caption
(a) In this picture (2)\ell\choose 2 crossings are required.
Refer to caption
(b) Graphs H4H^{4} and H6H^{6}; there are 44 or 66 marked vertices, 2m2m disjoint (concentric) inner cycles, and each depicted line represents Δ/4\Delta/4 parallel edges.
Refer to caption
(c) A detail of R-node gadgets for (d), made of a copy of H6H^{6} and H4H^{4}.
Refer to caption
(d) A scheme of the construction requiring 12Δmlog2m\frac{1}{2}\Delta\cdot m\log_{2}m crossings. Each shaded part in the picture is a copy of H4H^{4} or H6H^{6} with the depicted marked vertices.
Figure 3: Illustration of the proof of Proposition 2: constructions requiring many crossings in an optimum MEI solution compared to individual edge insertions.
Proof

We are going to present three separate constructions. They can then be easily combined together by adjusting them appropriately to kk and adding dummy edges between them (to satisfy connectivity of GG):

  1. I)

    There exists a planar graph G1G^{1} and a vertex pair a,bV(G1)a,b\in V(G^{1}) such that ins(G1,ab)r\mathrm{ins}(G^{1},ab)\geq r and Δ(G1+ab)=3\Delta(G^{1}+ab)=3.

  2. II)

    There exists a planar graph G2G^{2} and a set of \ell vertex pairs F2={aibi:ai,biV(G2),i=1,2,,}F_{2}=\{a_{i}b_{i}:a_{i},b_{i}\in V(G^{2}),i=1,2,\dots,\ell\}, such that each G2+aibiG^{2}+a_{i}b_{i} is planar, Δ(G2)4\Delta(G^{2})\leq 4, and ins(G2,F2)=(2)\mathrm{ins}(G^{2},F_{2})={\ell\choose 2}.

  3. III)

    There exists a planar graph G3G^{3} and a set of mm vertex pairs F3={siti:si,tiV(G3),i=1,2,,m}F_{3}=\{s_{i}t_{i}:s_{i},t_{i}\in V(G^{3}),i=1,2,\dots,m\}, such that each G3+sitiG^{3}+s_{i}t_{i} is planar, Δ(G3)Δ\Delta(G^{3})\leq\Delta, and ins(G3,F3)12Δmlog2m\mathrm{ins}(G^{3},F_{3})\geq\frac{1}{2}\Delta\cdot m\log_{2}m.

In (I), we take as G1G^{1} a sufficiently large plane hexagonal grid, and select two edges in G1G^{1} that are sufficiently far from each other and from the grid boundary; the vertices a,ba,b then subdivide the selected edges.

In (II), we assume G2G^{2} to be any dense and large enough triconnected graph with a face of length 22\ell. Labeling the vertices on this face s1,s,t1,ts_{1},\ldots s_{\ell},t_{1},\ldots t_{\ell} in clockwise order, gives an instance that clearly requires (2){\ell\choose 2} crossings. See Figure 3(a) for an illustration.

We concentrate on the most interesting construction (III). Since the bound in (8) is of asymptotic nature, we may without loss of generality assume that Δ\Delta is even and divisible by 44, and that m=2dm=2^{d} for some integer d1d\geq 1.

Let HqH^{q}, q{4,6}q\in\{4,6\}, be any dense enough planar graph with qq special marked vertices v1,,vqv_{1},\dots,v_{q}, each of degree exactly Δ/2\Delta/2, such that the following conditions hold. Up to mirroring and reordering of parallel edges, HqH^{q} allows only a unique plane embedding of HqH^{q}. Every such embedding H0qH^{q}_{0} has a unique face, called active, incident with all of v1,,vqv_{1},\dots,v_{q} in this order; no other face of H0qH^{q}_{0} is incident with more than one of v1,,vqv_{1},\dots,v_{q}. Moreover, assume we embed new bar edges v1v4,v2v3,v5v6v_{1}v_{4},v_{2}v_{3},v_{5}v_{6} (only v1v3v_{1}v_{3} if q=4q=4) into the active face of H0qH^{q}_{0}; this divides the active face into 44 (or 22) sectors. We require that if we draw any curve γ\gamma with the ends in distinct sectors and not crossing the bar edges, then γ\gamma makes at least Δ/2\Delta/2 crossings with the edges of H0qH^{q}_{0}. If the two sectors holding the ends of γ\gamma are not next to each other and γ\gamma avoids all other sectors, then γ\gamma makes at least mΔm\Delta crossings.

The desired properties of HqH^{q} are for instance achieved by the graphs depicted in Figure 3(b), where the marked vertices are drawn white, the outer face is the active face, and each drawn line represents a bunch of Δ/4\Delta/4 parallel edges.

Our recursive construction of G3G^{3} for (III) is schematically depicted in Figure 3(d). Recalling m=2dm=2^{d}, we define a graph GdsG^{s}_{d} with two special vertices called the poles, by induction on dd. In the base case, d=1d=1, G1sG^{s}_{1} is a copy of H4H^{4} with the marked vertices x,s′′,y,sx,s^{\prime\prime},y,s^{\prime} in this order around the active face, such that x,yx,y are the poles of G1sG^{s}_{1}. Having constructed GdsG^{s}_{d} and its disjoint copy GdtG^{t}_{d}, we define Gd+1sG^{s}_{d+1} as follows: take a copy BB of H6H^{6} (the bolt) with the marked vertices x,x′′,y′′,y,y,xx,x^{\prime\prime},y^{\prime\prime},y,y^{\prime},x^{\prime} in this order (see Figure 3(c)), make x,yx,y the new poles of Gd+1sG^{s}_{d+1}, and identify x,yx^{\prime},y^{\prime} with the two poles of GdsG^{s}_{d} and x′′,y′′x^{\prime\prime},y^{\prime\prime} with the two poles of GdtG^{t}_{d}.

The graph GdsG^{s}_{d} has 2d=m2^{d}=m marked vertices that are copies of s,s′′s^{\prime},s^{\prime\prime} from G1sG^{s}_{1} (the white terminals in Figure 3(c)), and we denote them by s1,,sms_{1},\dots,s_{m} (in any order). We analogously denote by t1,,tmt_{1},\dots,t_{m} the corresponding vertices in GdtG^{t}_{d}. Finally, we let G3:=Gd+1sG^{3}:=G^{s}_{d+1} and F3={siti:i=1,,m}F_{3}=\{s_{i}t_{i}:i=1,\dots,m\}.

It should be understood that the embedding possibilities for G3G^{3} are essentially defined by the binary flipping decisions of each R-node skeleton corresponding to a copy of H4H^{4} or H6H^{6} in the construction. Furthermore, for each 1im1\leq i\leq m, the edge sitis_{i}t_{i} can be inserted into (some embedding of) G3G^{3} without crossings and into any fixed embedding of G3G^{3} with at most dΔd\Delta crossings. See the red dotted edges depicted in Figure 3(d). To settle (III) it remains to argue that ins(G3,F3)12Δmd\mathrm{ins}(G^{3},F_{3})\geq\frac{1}{2}\Delta\cdot md, which we achieve in two steps. Let ins(G3,F3)\mathrm{ins}^{\prime}(G^{3},F_{3}) denote the solution value of the MEI(G3,F3)\mathrm{MEI}(G^{3},F_{3}) problem without counting the crossings between edges of F3F_{3}.

Claim

Let G3+G^{3+} be the graph obtained from G3G^{3} by adding a bunch F+F_{+} of Δ/2\Delta/2 parallel edges between the two poles of G3G^{3} (cf. the blue dashed curve in Figure 3(d)). Then ins(G3+,F3)=ins(G3,F3)+mΔ/2\mathrm{ins}^{\prime}(G^{3+},F_{3})=\mathrm{ins}^{\prime}(G^{3},F_{3})+m\Delta/2.

We have ins(G3+,F3)ins(G3,F3)+mΔ/2\mathrm{ins}(G^{3+},F_{3})\leq\mathrm{ins}(G^{3},F_{3})+m\Delta/2 since both poles of G3G^{3} share a common face φ\varphi in the corresponding optimal solution and each edge of F3F_{3} traverses any face of embedded G3G^{3} at most once. Routing the edges of F+F_{+} via φ\varphi hence gives at most Δ/2\Delta/2 additional crossings per edge of F3F_{3}. Conversely, consider an optimal solution of value ins(G3+,F3)\mathrm{ins}^{\prime}(G^{3+},F_{3}) and an edge sitiF3s_{i}t_{i}\in F_{3}. We claim that after removing F+F_{+} from this solution, we “save” at least Δ/2\Delta/2 crossings on sitis_{i}t_{i}.

If sitis_{i}t_{i} crossed all of F+F_{+}, then we are done. Otherwise, by the property of H6H^{6}, the drawing of sitis_{i}t_{i} has to enter both the sectors of the bolt of G3G^{3} incident to the poles (and so has additional Δ/2\Delta/2 crossings in between), or there are at least mΔ>dΔ+Δ/2m\Delta>d\Delta+\Delta/2 crossings on sitis_{i}t_{i}. In both cases one requires by at least Δ/2\Delta/2 less crossings on sitis_{i}t_{i} in the subembedding of G3G^{3}.

Claim

ins(G3,F3)12Δmd\mathrm{ins}^{\prime}(G^{3},F_{3})\geq\frac{1}{2}\Delta\cdot md and ins(G3+,F3)12Δm(d+1)\mathrm{ins}^{\prime}(G^{3+},F_{3})\geq\frac{1}{2}\Delta\cdot m(d+1).

By Claim 3.4, it is enough to prove one of the inequalities but it is convenient to consider both of them by indunction on d0d\geq 0. The base case of G3=G1sG^{3}=G^{s}_{1} (d=0d=0) is a degenerate extension of the previous, defining s1,t1s_{1},t_{1} to be the two opposite marked vertices s,s′′s^{\prime},s^{\prime\prime} of H4H^{4}, and it is trivial.

Stepping from d1d-1 to d1d\geq 1; we consider G3=Gd+1sG^{3}=G^{s}_{d+1} and an optimal solution of value ins(G3,F3)\mathrm{ins}^{\prime}(G^{3},F_{3}) inserting the mm edges of F3F_{3} into a plane embedding G1G_{1} of G3G^{3}, without counting crossings inside F3F_{3}. Let β\beta be a curve drawn between the poles of G1G_{1} without crossing its edges (e.g., the blue dashed curve in Figure 3(d)). Similarly as in the proof of Claim 3.4, we can show that there is an optimal solution in which every edge of F3F_{3} has to cross β\beta.

Let G0G_{0}^{\prime} and G0′′G_{0}^{\prime\prime} be the subembeddings of the two recursive copies of GdsG^{s}_{d} in G1G_{1}. We cut every curve of the edges of F3F_{3} at a point in the intersection with β\beta, to obtain 2m2m curve parts, mm of which are incident to G0G_{0}^{\prime}. These latter parts can be paired such that the pairs (after reconnection along β\beta) form a set of m/2m/2 edges F3F_{3}^{\prime} with ends in V(G0)V(G_{0}^{\prime}) and the instance (G0,F3)(G_{0}^{\prime},F_{3}^{\prime}) is as in the inductive assumption for d1d-1. By the property of H6H^{6}, the bolt of G1G_{1} can play the role of F+F_{+} in Claim 3.4; let G0+{G^{\prime}_{0}}^{\!+} denote G0G_{0}^{\prime} augmented with the bolt. We hence have that the curve parts of F3F_{3} incident to G0G_{0}^{\prime} have at least ins(G0+,F3)\mathrm{ins}^{\prime}({G^{\prime}_{0}}^{\!+},F_{3}^{\prime}) crossings with edges of G1G_{1} by our (second claim of the) inductive assumption. Since the same symmetrically holds for the curve parts incident to G0′′G_{0}^{\prime\prime}, summing together we get that ins(G3,F3)2ins(G0+,F3)212Δm/2(d1+1)=12Δmd\mathrm{ins}^{\prime}(G^{3},F_{3})\geq 2\cdot\mathrm{ins}^{\prime}({G^{\prime}_{0}}^{\!+},F_{3}^{\prime})\geq 2\cdot\frac{1}{2}\Delta\cdot m/2\cdot(d-1+1)=\frac{1}{2}\Delta\cdot md, as desired. ∎

Remark 7

Notice that the actual MEI instances constructed in the proof of Proposition 2 are not at all “bad” for us—they will always be solved to optimality in Algorithm 3.3. The example is thus if purely theoretical nature.

3.5 Runtime of Algorithm 3.3

Thanks to using well-known building blocks, the overall runtime bound of our algorithm is actually rather simple to see. Let V=V(G)V=V(G). As mentioned in Section 2, we can build the con-tree (step 1) in linear time O(|V|)O(|V|), based on the linear-time decomposition algorithm [22]. Recall that |V(𝒞)|=O(|V|)|V({\mathcal{C}})|=O(|V|). In step 2, we call the (deterministic) O(|V|)O(|V|) insertion algorithm kk times.

In step 3, computing p(ν)p(\nu) for all νV(𝒞)\nu\in V({\mathcal{C}}) is trivial in O(k|V|)O(k|V|), as is achieving the weak estimate by setting, e.g., p(ν)=p(ν)p^{\prime}(\nu)=p(\nu). To achieve the strong estimate, we can compute a simplicial sequence (Claim 3.3) via kk BFS-traversals in O(k|V|)O(k|V|) time. Thereby, we also identify node substitutes (Lemma 5) and decide which preferences to ignore (Definition 3.4).

In step 4, we can compute πν\pi_{\nu} for each of the con-tree nodes ν\nu via semi-majority vote in O(k)O(k) time. Computing the embedding G0G_{0} based on these preferences takes only linear time O(|V|)O(|V|). Hence, also this step requires O(k|V|)O(k|V|) time.

In step 5, we then run kk (deterministic) BFS algorithms, requiring O(|V|)O(|V|) time each. Since each edge has at most O(|V|+k)O(|V|+k) crossings in the end, the realization may require up to O(k|V(G)|+k2)O(k|V(G)|+k^{2}) time, which hence constitutes the overall runtime bound of the algorithm, as given in Theorem 1.2.

4 Crossing Number Approximations

Our main concept of interest is the crossing number of the graph G+FG+F. We can combine our above result with a result of [9], connecting the optimal crossing number with the problem of multiple edge insertion.

Theorem 4.1 (Chimani et al. [9])

Consider a planar graph GG and an edge set FF, FE(G)=F\cap E(G)=\emptyset. The value ins(G,F)\mathrm{ins}(G,F) of an optimal solution to MEI(G,F)\mathrm{MEI}(G,F) satisfies

ins(G,F) 2|F|Δ(G)2cr(G+F)+(|F|2)\mathrm{ins}(G,F)\>\leq\>2|F|\cdot\left\lfloor\frac{\Delta(G)}{2}\right\rfloor\cdot\mathrm{cr}(G+F)+\binom{|F|}{2}

where cr(G+F)\mathrm{cr}(G+F) denotes the (optimal) crossing number of the graph GG including the edges FF, and (|F|2)\binom{|F|}{2} thereby accounts for crossings between the edges of FF.

Notice that, when considering the crossing number problem of G+FG+F, we may assume GG to be connected—otherwise we could “shift” some edges of FF to GG. Let k=|F|k=|F|, Δ=Δ(G)\Delta=\Delta(G). Plugging the estimate of Theorem 4.1 into the place of insΣ(G,F)ins(G,F)\mathrm{ins}^{\Sigma}(G,F)\leq\mathrm{ins}(G,F) in Theorem 3.5, and realizing that the (k2)k\choose 2 term in both estimates stands for the same set of crossings, we immediately obtain

insaprx(G,F)2kΔ/2cr(G+F)+2klog2kΔ/2+(k2)\displaystyle\mathrm{ins}^{\mathrm{aprx}}(G,F)\leq 2k\cdot\left\lfloor\Delta/2\right\rfloor\cdot\mathrm{cr}(G+F)+2k\lfloor\log_{2}k\rfloor\lfloor\Delta/2\rfloor+{k\choose 2}

Hence we can give the outcome of Algorithm 3.3 as an approximate solution to the crossing number problem on G+FG+F, proving:

Theorem 4.2 (Theorem 1.2(5))

Given a planar graph GG with maximum degree Δ\Delta and an edge set FF, |F|=k|F|=k, FE(G)=F\cap E(G)=\emptyset, Algorithm 3.3 computes, in O(k|V(G)|+k2)O(k\cdot|V(G)|+k^{2}) time, a solution to the cr(G+F)\mathrm{cr}(G+F) problem with the following number of crossings

craprx(G+F)Δ/22kcr(G+F)+2klog2kΔ/2+12(k2k).\mathrm{cr}^{\mathrm{aprx}}(G+F)\leq\lfloor\Delta/2\rfloor\!\cdot 2k\!\cdot\mathrm{cr}(G+F)+2k\,\lfloor\log_{2}k\rfloor\cdot\left\lfloor\Delta/2\right\rfloor+\mbox{$\frac{1}{2}$}\big{(}k^{2}-k\big{)}.\vskip-6.45831pt

A note on approximating the crossing number of surface-embedded graphs.

In [19], an algorithm is presented to approximate the crossing number of graphs embeddable in any fixed higher orientable surface. This algorithm lists the technical requirement that GG has a “sufficiently dense” embedding on the surface. Yet, as noted in [19], a result like Theorem 4.2 allows to drop this requirement: If the embedding density is small, then the removal of the offending small set(s) of edges is sufficient to reduce the graph genus, while the removed edges can be later inserted into an intermediate planar subgraph of the algorithm.

5 A Note on the Planarization Heuristic and the Practicality of our Algorithm

The currently practically strongest heuristic [17] for the crossing number problem is the planarization heuristic which starts with a maximal planar subgraph of the given non-planar graph, and then iteratively performs single edge insertions. The crossings of such an insertion are then replaced by dummy nodes such that each edge is inserted into a planar graph. Due to its practical superior performance, often giving the optimal solution [5, 15], it was an open question if this approach unknowingly guarantees some approximation ratio.

By investigating our strategy and proofs, it becomes clear that this approach as such cannot directly give an approximation guarantee: by routing an edge (in an R-node) through another virtual edge (representing a subgraph SS) and replacing the crossings with dummy nodes, you essentially fix (most of) the embedding of SS. This fix might result in O(n)O(n) embedding restrictions for further edge insertions, without having an edge in FF that requires this embedding. Therefore the number of dirty passes can no longer be bounded by a function in kk.

Yet, an implementation realizing the planarization heuristic already contains all the ingredients to obtain our approximation; one “only” has to compute all the embedding preferences and merge them according to Algorithm 3.3, steps 3 and 4, before running the fixed-embedding edge insertion subalgorithm for all inserted edges. In fact, such an implementation is described in [6], where, in a nutshell, it is shown that this algorithm is much faster then the best postprocessing-heavy planarization-based heuristics, while producing roughly equally good solutions.

6 Conclusions

We have presented a new approximation algorithm for the multiple edge insertion problem which is faster and simpler that the only formerly known one [11], while at the same time giving better bounds; in fact, in contrast to the former multiplicative approximation, it is the first one with an additive bound. Our algorithm directly leads also to improved approximations (even with constant ratio for a large class of inputs) for the crossing number problem of graphs in which a given set of edges can be removed in order to obtain a planar subgraph, and for graphs that can be embedded on a surface of some fixed genus.

We conclude with an interesting open problem. We know that multiple edge insertion is NP-hard when the number of inserted edges is part of the input, and it is linear time solvable for the special case of inserting a single edge. What is the complexity of optimally inserting a constant number of edges?

References

  • [1] S. N. Bhatt and F. T. Leighton. A framework for solving vlsi graph layout problems. J. Comput. Syst. Sci., 28(2):300–343, 1984.
  • [2] D. Bienstock and C. L. Monma. On the complexity of embedding planar graphs to minimize certain distance measures. Algorithmica, 5(1):93–109, 1990.
  • [3] S. Cabello and B. Mohar. Crossing and weighted crossing number of near planar graphs. In Proc. GD ’08, volume 5417 of LNCS, pages 38–49. Springer, 2008.
  • [4] S. Cabello and B. Mohar. Adding one edge to planar graphs makes crossing number hard. In Proc. SoCG ’10, pages 68–76. ACM, 2010.
  • [5] M. Chimani. Computing Crossing Numbers. PhD thesis, TU Dortmund, Germany, 2008. Online, e.g., at www.cs.uos.de/theoinf.
  • [6] M. Chimani and C. Gutwenger. Advances in the planarization method: Effective multiple edge insertions. J. Graph Algorithms Appl., 16(3):729–757, 2012.
  • [7] M. Chimani, C. Gutwenger, P. Mutzel, and C. Wolf. Inserting a vertex into a planar graph. In Proc. SODA ’09, pages 375–383, 2009.
  • [8] M. Chimani and P. Hliněný. A tighter insertion-based approximation of the crossing number. In Proc. ICALP ’11, volume 6755 of LNCS, pages 122–134. Springer, 2011.
  • [9] M. Chimani, P. Hliněný, and P. Mutzel. Vertex insertion approximates the crossing number for apex graphs. European Journal of Combinatorics, 33:326–335, 2012.
  • [10] J. Chuzhoy. An algorithm for the graph crossing number problem. In Proc. STOC ’11, pages 303–312. ACM, 2011.
  • [11] J. Chuzhoy, Y. Makarychev, and A. Sidiropoulos. On graph crossing number and edge planarization. In Proc. SODA ’11, pages 1050–1069. ACM Press, 2011.
  • [12] G. Di Battista and R. Tamassia. On-line planarity testing. SIAM Journal on Computing, 25:956–997, 1996.
  • [13] G. Even, S. Guha, and B. Schieber. Improved approximations of crossings in graph drawings and VLSI layout areas. SIAM J. Comput., 32(1):231–252, 2002.
  • [14] I. Gitler, P. Hliněný, J. Leanos, and G. Salazar. The crossing number of a projective graph is quadratic in the face-width. Electronic Notes in Discrete Mathematics, 29:219–223, 2007.
  • [15] C. Gutwenger. Application of SPQR-Trees in the Planarization Approach for Drawing Graphs. PhD thesis, TU Dortmund, Germany, 2010.
  • [16] C. Gutwenger and P. Mutzel. A linear time implementation of SPQR trees. In Proc. GD ’00, volume 1984 of LNCS, pages 77–90. Springer, 2001.
  • [17] C. Gutwenger and P. Mutzel. An experimental study of crossing minimization heuristics. In Proc. GD ’03, volume 2912 of LNCS, pages 13–24. Springer, 2004.
  • [18] C. Gutwenger, P. Mutzel, and R. Weiskircher. Inserting an edge into a planar graph. Algorithmica, 41(4):289–308, 2005.
  • [19] P. Hliněný and M. Chimani. Approximating the crossing number of graphs embeddable in any orientable surface. In Proc. SODA ’10, pages 918–927, 2010.
  • [20] P. Hliněný and G. Salazar. On the crossing number of almost planar graphs. In Proc. GD ’05, volume 4372 of LNCS, pages 162–173. Springer, 2006.
  • [21] P. Hliněný and G. Salazar. Approximating the crossing number of toroidal graphs. In Proc. ISAAC ’07, volume 4835 of LNCS, pages 148–159. Springer, 2007.
  • [22] J. E. Hopcroft and R. E. Tarjan. Dividing a graph into triconnected components. SIAM Journal on Computing, 2(3):135–158, 1973.
  • [23] S. Masuda, K. Nakajima, T. Kashiwabara, and T. Fujisawa. Crossing minimization in linear embeddings of graphs. IEEE Trans. Comput., 39:124–127, 1990.
  • [24] W. T. Tutte. Connectivity in graphs, volume 15 of Mathematical Expositions. University of Toronto Press, 1966.
  • [25] I. Vrt’o. Crossing numbers of graphs: A bibliography. ftp://ftp.ifi.savba.sk/pub/imrich/crobib.pdf, 2011.
  • [26] T. Ziegler. Crossing Minimization in Automatic Graph Drawing. PhD thesis, Saarland University, Germany, 2001.

Appendix 0.A Ziegler’s proof of NP-hardness of MEI

In his PhD-thesis [26], Ziegler showed that MEI is NP-hard (the corresponding decision problem is NP-complete) for general kk. Since this thesis is somewhat hard to obtain, we reproduce a slightly simplified version of his proof.

Theorem 0.A.1 (Ziegler [26])

Given a graph GG, a set FF of unordered vertex-pairs, and an integer bb, it is NP-complete to decide whether there is a planar drawing DD of GG such that we can insert an edge vwvw for each vertex pair {v,w}F\{v,w\}\in F into DD with overall at most bb crossings.

Proof

NP-membership is trivial and it hence remains to show NP-hardness. We use a reduction from

Fixed Linear Crossing Number (FLCN):
Given a graph H=(V,E)H=(V,E), a 1-to-1 function f:V{1,2,,|V|}f\colon V\to\{1,2,\ldots,|V|\}, and an integer \ell. Does there exist an ff-linear drawing of HH with at most \ell crossings?

Thereby, an ff-linear drawing is one where all vertices are placed on a horizontal line, each vertex vv at coordinate f(v)f(v), and each edge is either drawn completely above or completely below that line. It was shown in [23] that Flcn is NP-complete.

Let (H=(V,E),f,)(H=(V,E),f,\ell) be an instance to FLCN. We will construct a corresponding MEI instance (G=(W,E),F,b)(G=(W,E^{*}),F,b) of size polynomial in |V(H)+E(H)||V(H)+E(H)| which is a yes-instance for MEI if and only if (H,f,)(H,f,\ell) is a yes-instance for FLCN. The key idea is to build a rigid graph GG that models the restrictions of ff-linear drawings, into which we then have to insert the original edges EE. Observe that FLCN can only be hard if <|E|2\ell<|E|^{2}.

Label the vertices V={v1,,vn}V=\{v_{1},\ldots,v_{n}\} such that f(vi)=if(v_{i})=i and n=|V|n=|V|. We may assume w.l.o.g. that n3n\geq 3. We start with constructing a graph G=(W,E)G^{\prime}=(W,E^{\prime}) on n+2n+2 vertices where W:=V{wa,wb}W:=V\cup\{w_{a},w_{b}\} and E:={vivi+1:1i<n}{v1wa,vnwa,v1wb,vnwb,wawb}E^{\prime}:=\{v_{i}v_{i+1}:1\leq i<n\}\cup\{v_{1}w_{a},v_{n}w_{a},v_{1}w_{b},v_{n}w_{b},w_{a}w_{b}\}. Observe that GG^{\prime} is planar and (since its SPR-tree consists of one R- and one S-node) allows only a unique embedding (and its mirror). We obtain GG from GG^{\prime} by replacing each edge in EE^{\prime} by |E|2|E|^{2} parallel edges. Up to ordering the multiple edges amongst its peers, GG still allows only a unique embedding.

Now, set b:=b:=\ell and F:=EF:=E, i.e., we want to insert the edges of HH into planar GG. We can assume w.l.o.g. that EE contains no edges viviv_{i}v_{i} or vivi+1v_{i}v_{i+1} for any ii. GG has exactly four faces with more than two incident vertices: let φ1\varphi_{1} (φ2\varphi_{2}) be the face incident to exactly {wa,wb,v1}\{w_{a},w_{b},v_{1}\} ({wa,wb,vn}\{w_{a},w_{b},v_{n}\}, respectively). Let φa\varphi_{a} (φb\varphi_{b}) be the face incident to all of VV and waw_{a} (wbw_{b}, respectively). To go from one of these four faces to another, we would always have to cross at least |E|2|E|^{2} edges (a parallel bunch), which is infeasible when asking for a solution with at most b=<|E|2b=\ell<|E|^{2} crossings. No edge of F=EF=E will be placed in φ1\varphi_{1} or φ2\varphi_{2} as they are only incident to one vertex of VV. Hence each edge is either completely within φa\varphi_{a} or φb\varphi_{b}, and the equivalence with being above or below the horizontal line of an ff-linear drawing follows.∎