\hideLIPIcs

Roma Tre University, Rome, [email protected]://orcid.org/0000-0001-5512-5298 Roma Tre University, Rome, [email protected]://orcid.org/0009-0001-4538-8198 Roma Tre University, Rome, [email protected]://orcid.org/0000-0003-2396-5174 Roma Tre University, Rome, [email protected]://orcid.org/0009-0008-6266-3324 Roma Tre University, Rome, [email protected]://orcid.org/0000-0003-4224-1550 Roma Tre University, Rome, [email protected]://orcid.org/0000-0001-5987-8713 Roma Tre University, Rome, [email protected]://orcid.org/0000-0002-5766-4567 Roma Tre University, Rome, [email protected]://orcid.org/0000-0001-9806-7411 \CopyrightCarlos Alegría, Susanna Caroppo, Giordano Da Lozzo, Marco D’Elia, Giuseppe Di Battista, Fabrizio Frati, Fabrizio Grosso, and Maurizio Patrignani \fundingThis research was supported, in part, by MUR of Italy (PRIN Project no. 2022ME9Z78 – NextGRAAL and PRIN Project no. 2022TS4Y3N – EXPAND). \ccsdesc[500]Theory of computation Computational geometry \ccsdesc[500]Theory of computation Design and analysis of algorithms \ccsdesc[500]Mathematics of computing Graph algorithms

Upward Pointset Embeddings of Planar st𝑠𝑡stitalic_s italic_t-Graphs

Carlos Alegría    Susanna Caroppo    Giordano Da Lozzo    Marco D’Elia    Giuseppe Di Battista    Fabrizio Frati    Fabrizio Grosso    Maurizio Patrignani
Abstract

We study upward pointset embeddings (UPSEs) of planar st𝑠𝑡stitalic_s italic_t-graphs. Let G𝐺Gitalic_G be a planar st𝑠𝑡stitalic_s italic_t-graph and let S2𝑆superscript2S\subset\mathbb{R}^{2}italic_S ⊂ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT be a pointset with |S|=|V(G)|𝑆𝑉𝐺|S|=|V(G)|| italic_S | = | italic_V ( italic_G ) |. An UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S is an upward planar straight-line drawing of G𝐺Gitalic_G that maps the vertices of G𝐺Gitalic_G to the points of S𝑆Sitalic_S. We consider both the problem of testing the existence of an UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S (UPSE Testing) and the problem of enumerating all UPSEs of G𝐺Gitalic_G on S𝑆Sitalic_S. We prove that UPSE Testing is \NP-complete even for st𝑠𝑡stitalic_s italic_t-graphs that consist of a set of directed st𝑠𝑡stitalic_s italic_t-paths sharing only s𝑠sitalic_s and t𝑡titalic_t. On the other hand, for n𝑛nitalic_n-vertex planar st𝑠𝑡stitalic_s italic_t-graphs whose maximum st𝑠𝑡stitalic_s italic_t-cutset has size k𝑘kitalic_k, we prove that it is possible to solve UPSE Testing in 𝒪(n4k)𝒪superscript𝑛4𝑘\mathcal{O}(n^{4k})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT ) time with 𝒪(n3k)𝒪superscript𝑛3𝑘\mathcal{O}(n^{3k})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 3 italic_k end_POSTSUPERSCRIPT ) space, and to enumerate all UPSEs of G𝐺Gitalic_G on S𝑆Sitalic_S with 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ) worst-case delay, using 𝒪(kn4klogn)𝒪𝑘superscript𝑛4𝑘𝑛\mathcal{O}(kn^{4k}\log n)caligraphic_O ( italic_k italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT roman_log italic_n ) space, after 𝒪(kn4klogn)𝒪𝑘superscript𝑛4𝑘𝑛\mathcal{O}(kn^{4k}\log n)caligraphic_O ( italic_k italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT roman_log italic_n ) set-up time. Moreover, for an n𝑛nitalic_n-vertex st𝑠𝑡stitalic_s italic_t-graph whose underlying graph is a cycle, we provide a necessary and sufficient condition for the existence of an UPSE on a given poinset, which can be tested in 𝒪(nlogn)𝒪𝑛𝑛\mathcal{O}(n\log n)caligraphic_O ( italic_n roman_log italic_n ) time. Related to this result, we give an algorithm that, for a set S𝑆Sitalic_S of n𝑛nitalic_n points, enumerates all the non-crossing monotone Hamiltonian cycles on S𝑆Sitalic_S with 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ) worst-case delay, using 𝒪(n2)𝒪superscript𝑛2\mathcal{O}(n^{2})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) space, after 𝒪(n2)𝒪superscript𝑛2\mathcal{O}(n^{2})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) set-up time.

keywords:
Upward pointset embeddings, planar st-graphs, st-cutset, non-crossing monotone Hamiltoninan cycles, graph drawing enumeration

1 Introduction

Given an n𝑛nitalic_n-vertex upward planar graph G𝐺Gitalic_G and a set S𝑆Sitalic_S of n𝑛nitalic_n points in the plane, an upward pointset embedding (UPSE) of G𝐺Gitalic_G on S𝑆Sitalic_S is an upward planar drawing of G𝐺Gitalic_G where the vertices are mapped to the points of S𝑆Sitalic_S and the edges are represented as straight-line segments. The Upward Pointset Embeddability Testing Problem (UPSE Testing) asks whether an upward planar graph G𝐺Gitalic_G has an UPSE on a given pointset S𝑆Sitalic_S.

Pointset embedding problems are classic challenges in Graph Drawing and have been considered for both undirected and directed graphs. For an undirected graph, a pointset embedding (PSE) has the same definition of an UPSE, except that the drawing must be planar, rather than upward planar. The Pointset Embeddability Testing Problem (PSE Testing) asks whether a planar graph has a PSE on a given pointset S𝑆Sitalic_S. Pointset embeddings have been studied by several authors. It is known that a graph admits a PSE on every pointset in general position if and only if it is outerplanar [10, 22]; such a PSE can be constructed efficiently [7, 8]. PSE Testing is, in general, \NP-complete [9], however it is polynomial-time solvable if the input graph is a planar 3333-tree [29]. More in general, a polynomial-time algorithm for PSE Testing exists if the input graph has a fixed embedding, bounded treewidth, and bounded face size [5]. PSE becomes \NP-complete if one of the latter two conditions does not hold. PSEs have been studied also for dynamic graphs [4].

The literature on UPSEs is not any less rich than the one on PSEs. From a combinatorial perspective, the directed graphs with an UPSE on a one-sided convex pointset have been characterized [6, 23]; all directed trees are among them. Conversely, there exist directed trees that admit no UPSE on certain convex pointsets. Directed graphs that admit an UPSE on any convex pointset, but not on any pointset in general position, exist [2]. It is still unknown whether every digraph whose underlying graph is a path admits an UPSE on every pointset in general position, see, e.g., [27]. UPSEs where bends along the edges are allowed are studied in [6, 20, 21, 25]. From the computational complexity point of view [24], it is known that UPSE Testing is \NP-hard, even for planar st𝑠𝑡stitalic_s italic_t-graphs and 2222-convex pointsets, and that UPSE Testing can be solved in polynomial time if the directed graph is outerplanar and the given poinset is convex.

Our contributions. We tackle UPSE Testing for planar st𝑠𝑡stitalic_s italic_t-graphs. Let G𝐺Gitalic_G be an n𝑛nitalic_n-vertex planar st𝑠𝑡stitalic_s italic_t-graph and S𝑆Sitalic_S be a set of n𝑛nitalic_n points in the plane. We adopt the common assumption in the context of upward pointset embeddability, see e.g. [2, 6, 24], that no two points of S𝑆Sitalic_S lie on the same horizontal line. Our results are the following:

  • In Section 3, we show that UPSE Testing is \NP-hard even if G𝐺Gitalic_G consists of a set of internally-disjoint st𝑠𝑡stitalic_s italic_t-paths (Theorem 3.1). A similar proof shows that UPSE Testing is \NP-hard for directed trees consisting of a set of directed root-to-leaf paths (Theorem 3.3). This answers an open question from [3] and strengthens a result therein, which shows \NP-hardness for directed trees with multiple sources and with a prescribed mapping for a vertex.

  • In Section 4, we show that UPSE Testing can be solved in 𝒪(n4k)𝒪superscript𝑛4𝑘\mathcal{O}{(n^{4k})}caligraphic_O ( italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT ) time and 𝒪(n3k)𝒪superscript𝑛3𝑘\mathcal{O}(n^{3k})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 3 italic_k end_POSTSUPERSCRIPT ) space, where k𝑘kitalic_k is the size of the largest st𝑠𝑡stitalic_s italic_t-cutset of G𝐺Gitalic_G (Theorem 4.4). This parameter measures the “fatness” of the digraph and coincides with the length of the longest directed path in the dual [14]. By leveraging on the techniques developed for the testing algorithm, we also show how to enumerate all UPSEs of G𝐺Gitalic_G on S𝑆Sitalic_S with 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ) worst-case delay, using 𝒪(kn4klogn)𝒪𝑘superscript𝑛4𝑘𝑛\mathcal{O}(kn^{4k}\log n)caligraphic_O ( italic_k italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT roman_log italic_n ) space, after 𝒪(kn4klogn)𝒪𝑘superscript𝑛4𝑘𝑛\mathcal{O}(kn^{4k}\log n)caligraphic_O ( italic_k italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT roman_log italic_n ) set-up time (Theorem 4.5).

  • In Section 5, we provide a simple characterization of the pointsets in general position that allow for an UPSE of G𝐺Gitalic_G, if G𝐺Gitalic_G consists of two st𝑠𝑡stitalic_s italic_t-paths. Based on that, we provide an 𝒪(nlogn)𝒪𝑛𝑛\mathcal{O}(n\log n)caligraphic_O ( italic_n roman_log italic_n ) testing algorithm for this case (Theorem 5.1).

  • Finally, in Section 6, inspired by the fact that an UPSE of a planar st𝑠𝑡stitalic_s italic_t-graph composed of two st𝑠𝑡stitalic_s italic_t-paths defines a non-crossing monotone Hamiltonian cycle on S𝑆Sitalic_S, we provide an algorithm that enumerates all the non-crossing monotone Hamiltonian cycles on a given pointset with 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ) worst-case delay, and 𝒪(n2)𝒪superscript𝑛2\mathcal{O}(n^{2})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) space usage and set-up time (Theorem 6.1).

Concerning our last result, we remark that a large body of research has considered problems related to enumerating and counting non-crossing structures on a given pointset [1, 11, 18, 26, 30]. Despite this effort, the complexity of counting the non-crossing Hamiltonian cycles, often called polygonalizations, remains open [16, 26, 28]. However, it is possible to enumerate all polygonalizations of a given pointset in singly-exponential time [32, 33]. Recently, an algorithm has been shown [17] to enumerate all polygonalizations of a given pointset in time polynomial in the output size, i.e., bounded by a polynomial in the number of solutions. However, an enumeration algorithm with polynomial (in the input size) delay is not yet known, neither in the worst-case nor in the average-case acception. Our enumeration algorithm achieves this goal for the case of monotone polygonalizations.

2 Preliminaries

We use standard terminology in graph theory [15] and graph drawing [13]. For an integer k>0𝑘0k>0italic_k > 0, let [k]delimited-[]𝑘[k][ italic_k ] denote the set {1,,k}1𝑘\{1,\dots,k\}{ 1 , … , italic_k }. A permutation with repetitions of k𝑘kitalic_k elements from U𝑈Uitalic_U is an arrangement of any k𝑘kitalic_k elements of a set U𝑈Uitalic_U, where repetitions are allowed.

For a point p2𝑝superscript2p\in\mathbb{R}^{2}italic_p ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT, we denote by x(p)𝑥𝑝x(p)italic_x ( italic_p ) and y(p)𝑦𝑝y(p)italic_y ( italic_p ) the x𝑥xitalic_x- and y𝑦yitalic_y-coordinate of p𝑝pitalic_p, respectively. The convex hull 𝒞(S)𝒞𝑆\operatorname{\mathcal{CH}}(S)start_OPFUNCTION caligraphic_C caligraphic_H end_OPFUNCTION ( italic_S ) of a set S𝑆Sitalic_S of points in 2superscript2{\mathbb{R}}^{2}blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT is the union of all convex combinations of points in S𝑆Sitalic_S. The boundary (S)𝑆\mathcal{B}(S)caligraphic_B ( italic_S ) of 𝒞(S)𝒞𝑆\operatorname{\mathcal{CH}}(S)start_OPFUNCTION caligraphic_C caligraphic_H end_OPFUNCTION ( italic_S ) is the polygon with minimum perimeter enclosing S𝑆Sitalic_S. The points of S𝑆Sitalic_S with lowest and highest y𝑦yitalic_y-coordinates are the south and north extreme of S𝑆Sitalic_S, respectively; we also refer to them as to the extremes of S𝑆Sitalic_S. The left envelope of S𝑆Sitalic_S is the subpath L(S)subscript𝐿𝑆\mathcal{E}_{L}(S)caligraphic_E start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT ( italic_S ) of (S)𝑆\mathcal{B}(S)caligraphic_B ( italic_S ) that lies to the left of the line passing through the extremes of S𝑆Sitalic_S; it includes the extremes of S𝑆Sitalic_S. The right envelope R(S)subscript𝑅𝑆\mathcal{E}_{R}(S)caligraphic_E start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_S ) of S𝑆Sitalic_S is defined analogously. We denote the subset of S𝑆Sitalic_S in L(S)subscript𝐿𝑆\mathcal{E}_{L}(S)caligraphic_E start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT ( italic_S ) and in R(S)subscript𝑅𝑆\mathcal{E}_{R}(S)caligraphic_E start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_S ) by L(S)subscriptL𝑆\operatorname{\mathcal{H}_{L}}(S)start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_L end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) and R(S)subscriptR𝑆\operatorname{\mathcal{H}_{R}}(S)start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ), respectively. A polyline (p1,,pk)subscript𝑝1subscript𝑝𝑘(p_{1},\dots,p_{k})( italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ), with k2𝑘2k\geq 2italic_k ≥ 2, is a chain of straight-line segments.

We call ray any of the two half-lines obtained by cutting a straight line at any of its points, which is the starting point of the ray. A ray is upward if it passes through points whose y𝑦yitalic_y-coordinate is larger than the one of the starting point of the ray. We denote by ρ(p,q)𝜌𝑝𝑞\rho(p,q)italic_ρ ( italic_p , italic_q ) the ray starting at a point p𝑝pitalic_p and passing through a point q𝑞qitalic_q. For a set of points S𝑆Sitalic_S and a point p𝑝pitalic_p whose y𝑦yitalic_y-coordinate is smaller than the one of every point in S𝑆Sitalic_S, we denote by ρ(p,S)𝜌𝑝𝑆\rho(p,S)italic_ρ ( italic_p , italic_S ) (by (p,S)𝑝𝑆\ell(p,S)roman_ℓ ( italic_p , italic_S )) the rightmost (resp. leftmost) upward ray starting at p𝑝pitalic_p and passing through a point of S𝑆Sitalic_S, that is, the clockwise (resp. counter-clockwise) rotation around p𝑝pitalic_p which brings ρ(p,S)𝜌𝑝𝑆\rho(p,S)italic_ρ ( italic_p , italic_S ) (resp. (p,S)𝑝𝑆\ell(p,S)roman_ℓ ( italic_p , italic_S )) to coincide with any other upward ray starting at p𝑝pitalic_p and passing through a point of S𝑆Sitalic_S is larger than 180superscript180180^{\circ}180 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT.

A polyline (p1,,pk)subscript𝑝1subscript𝑝𝑘(p_{1},\dots,p_{k})( italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) is y𝑦yitalic_y-monotone if y(pi)<y(pi+1)𝑦subscript𝑝𝑖𝑦subscript𝑝𝑖1y(p_{i})<y(p_{i+1})italic_y ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) < italic_y ( italic_p start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ), for i=1,,k1𝑖1𝑘1i=1,\dots,k-1italic_i = 1 , … , italic_k - 1. A monotone path on a pointset S𝑆Sitalic_S is a y𝑦yitalic_y-monotone polyline (p1,,pk)subscript𝑝1subscript𝑝𝑘(p_{1},\dots,p_{k})( italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) such that the points p1,,pksubscript𝑝1subscript𝑝𝑘p_{1},\dots,p_{k}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT belong to S𝑆Sitalic_S. A monotone cycle on S𝑆Sitalic_S consists of two monotone paths on S𝑆Sitalic_S that share their endpoints. A monotone Hamiltonian cycle (p1,,pk,p1)subscript𝑝1subscript𝑝𝑘subscript𝑝1(p_{1},\dots,p_{k},p_{1})( italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) on S𝑆Sitalic_S is a monotone cycle on S𝑆Sitalic_S such that each point of S𝑆Sitalic_S is a point pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT (and vice versa).

A path (v1,,vk)subscript𝑣1subscript𝑣𝑘(v_{1},\dots,v_{k})( italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) is directed if, for i=1,,k1𝑖1𝑘1i=1,\dots,k-1italic_i = 1 , … , italic_k - 1, the edge (vi,vi+1)subscript𝑣𝑖subscript𝑣𝑖1(v_{i},v_{i+1})( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ) is directed from visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to vi+1subscript𝑣𝑖1v_{i+1}italic_v start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT; the vertices v2,,vk1subscript𝑣2subscript𝑣𝑘1v_{2},\dots,v_{k-1}italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT are intern. A planar st𝑠𝑡stitalic_s italic_t-graph is an acyclic digraph with one source s𝑠sitalic_s and one sink t𝑡titalic_t, which admits a planar embedding in which s𝑠sitalic_s and t𝑡titalic_t are on the boundary of the outer face. An st𝑠𝑡stitalic_s italic_t-path in a planar st𝑠𝑡stitalic_s italic_t-graph is a directed path from s𝑠sitalic_s to t𝑡titalic_t. A drawing of a directed graph is straight-line if each edge is represented by a straight-line segment, it is planar if no two edges cross, and it is upward if the tail of every directed edge has a lower y𝑦yitalic_y-coordinate than its head. A digraph that admits an upward planar drawing is an upward planar graph. Every upward planar graph admits an upward planar straight-line drawing [14]. An Upward Pointset Embedding (UPSE, for short) of an upward planar graph G𝐺Gitalic_G on a pointset S𝑆Sitalic_S is an upward planar straight-line drawing of G𝐺Gitalic_G that maps each vertex of G𝐺Gitalic_G to a point in S𝑆Sitalic_S. In this paper, we study the following problem.

Input: An n𝑛nitalic_n-vertex upward planar graph G𝐺Gitalic_G and a pointset S2𝑆superscript2S\subset\mathbb{R}^{2}italic_S ⊂ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT with |S|=n𝑆𝑛|S|=n| italic_S | = italic_n. Question: Does there exist an UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S? Upward Pointset Embeddability Testing Problem (UPSE Testing)

In the remainder, we assume that not all points in S𝑆Sitalic_S lie on the same line, as otherwise there is an UPSE if and only if the input is a directed path. Recall that no two points in S𝑆Sitalic_S have the same y𝑦yitalic_y-coordinate. Unless otherwise specified, we do not require points to be in general position, i.e., we allow three or more points to lie on the same line.

3 NP-Completeness of UPSE Testing

In this section we prove that UPSE Testing is \NP-complete. The membership in \NP is obvious, as one can non-deterministically assign the vertices of the input graph G𝐺Gitalic_G to the points of the input pointset S𝑆Sitalic_S and then test in polynomial time whether the assignment results in an upward planar straight-line drawing of G𝐺Gitalic_G. In the remainder of the section, we prove that UPSE Testing is \NP-hard even in very restricted cases.

We first show a reduction from 3-Partition to instances of UPSE in which the input is a planar st𝑠𝑡stitalic_s italic_t-graph composed of a set of internally-disjoint st𝑠𝑡stitalic_s italic_t-paths. An instance of 3-Partition consists of a set A={a1,,a3b}𝐴subscript𝑎1subscript𝑎3𝑏A=\{a_{1},\dots,a_{3b}\}italic_A = { italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_a start_POSTSUBSCRIPT 3 italic_b end_POSTSUBSCRIPT } of 3b3𝑏3b3 italic_b integers, where i=13bai=bBsuperscriptsubscript𝑖13𝑏subscript𝑎𝑖𝑏𝐵\sum_{i=1}^{3b}a_{i}=bB∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 3 italic_b end_POSTSUPERSCRIPT italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_b italic_B and B/4aiB/2𝐵4subscript𝑎𝑖𝐵2B/4\leq a_{i}\leq B/2italic_B / 4 ≤ italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ≤ italic_B / 2, for i=1,,3b𝑖13𝑏i=1,\dots,3bitalic_i = 1 , … , 3 italic_b. The 3-Partition problem asks whether A𝐴Aitalic_A can be partitioned into b𝑏bitalic_b subsets A1,,Absubscript𝐴1subscript𝐴𝑏A_{1},\dots,A_{b}italic_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_A start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT, each with three integers, so that the sum of the integers in each set Aisubscript𝐴𝑖A_{i}italic_A start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is B𝐵Bitalic_B. Since 3-Partition is strongly \NP-hard [19], we may assume that B𝐵Bitalic_B is bounded by a polynomial function of b𝑏bitalic_b. Given an instance A𝐴Aitalic_A of 3-Partition, we show how to construct in polynomial time, precisely 𝒪(bB)𝒪𝑏𝐵\mathcal{O}(b\cdot B)caligraphic_O ( italic_b ⋅ italic_B ), an equivalent instance (G,S)𝐺𝑆(G,S)( italic_G , italic_S ) of UPSE Testing.

The n𝑛nitalic_n-vertex planar st𝑠𝑡stitalic_s italic_t-graph G𝐺Gitalic_G is composed of 4b+14𝑏14b+14 italic_b + 1 internally-disjoint st𝑠𝑡stitalic_s italic_t-paths. Namely, for i=1,,3b𝑖13𝑏i=1,\dots,3bitalic_i = 1 , … , 3 italic_b, we have that G𝐺Gitalic_G contains an aisubscript𝑎𝑖a_{i}italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT-path, i.e., a path with aisubscript𝑎𝑖a_{i}italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT internal vertices, and b+1𝑏1b+1italic_b + 1 additional k𝑘kitalic_k-paths, where k=2B+1𝑘2𝐵1k=2B+1italic_k = 2 italic_B + 1. Note that n=2+(b+1)k+i=13bai=2+(b+1)k+bB𝑛2𝑏1𝑘superscriptsubscript𝑖13𝑏subscript𝑎𝑖2𝑏1𝑘𝑏𝐵n=2+(b+1)k+\sum_{i=1}^{3b}a_{i}=2+(b+1)k+bBitalic_n = 2 + ( italic_b + 1 ) italic_k + ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 3 italic_b end_POSTSUPERSCRIPT italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 2 + ( italic_b + 1 ) italic_k + italic_b italic_B.

The points of S𝑆Sitalic_S lie on the plane as follows (see Figure 1(a)):

  • p1subscript𝑝1p_{1}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is the origin, with coordinates (0,0)00(0,0)( 0 , 0 ).

  • Consider b+1𝑏1b+1italic_b + 1 upward rays ρ1,,ρb+1subscript𝜌1subscript𝜌𝑏1\rho_{1},\dots,\rho_{b+1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_ρ start_POSTSUBSCRIPT italic_b + 1 end_POSTSUBSCRIPT, whose starting point is p1subscript𝑝1p_{1}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, such that the angles α1,,αb+1subscript𝛼1subscript𝛼𝑏1\alpha_{1},\dots,\alpha_{b+1}italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_α start_POSTSUBSCRIPT italic_b + 1 end_POSTSUBSCRIPT that they respectively form with the x𝑥xitalic_x-axis satisfy 3π/4>α1>>αb+1>π/43𝜋4subscript𝛼1subscript𝛼𝑏1𝜋43\pi/4>\alpha_{1}>\dots>\alpha_{b+1}>\pi/43 italic_π / 4 > italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT > ⋯ > italic_α start_POSTSUBSCRIPT italic_b + 1 end_POSTSUBSCRIPT > italic_π / 4. Let \ellroman_ℓ be a line intersecting all the rays, with a positive slope smaller than π/4𝜋4\pi/4italic_π / 4. For j=1,,b+1𝑗1𝑏1j=1,\dots,b+1italic_j = 1 , … , italic_b + 1, place k𝑘kitalic_k points pj,1,,pj,ksubscript𝑝𝑗1subscript𝑝𝑗𝑘p_{j,1},\dots,p_{j,k}italic_p start_POSTSUBSCRIPT italic_j , 1 end_POSTSUBSCRIPT , … , italic_p start_POSTSUBSCRIPT italic_j , italic_k end_POSTSUBSCRIPT (in this order from bottom to top) along ρjsubscript𝜌𝑗\rho_{j}italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, so that pj,ksubscript𝑝𝑗𝑘p_{j,k}italic_p start_POSTSUBSCRIPT italic_j , italic_k end_POSTSUBSCRIPT is on \ellroman_ℓ and no two points share the same y𝑦yitalic_y-coordinate. Observe that pb+1,ksubscript𝑝𝑏1𝑘p_{b+1,k}italic_p start_POSTSUBSCRIPT italic_b + 1 , italic_k end_POSTSUBSCRIPT is the highest point placed so far.

  • Place pnsubscript𝑝𝑛p_{n}italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT at coordinates (0,10y(pb+1,k))010𝑦subscript𝑝𝑏1𝑘(0,10\cdot y(p_{b+1,k}))( 0 , 10 ⋅ italic_y ( italic_p start_POSTSUBSCRIPT italic_b + 1 , italic_k end_POSTSUBSCRIPT ) ).

  • Finally, for j=1,,b𝑗1𝑏j=1,\dots,bitalic_j = 1 , … , italic_b, place B𝐵Bitalic_B points along a non-horizontal segment sjsubscript𝑠𝑗s_{j}italic_s start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT in such a way that: (i) sjsubscript𝑠𝑗s_{j}italic_s start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is entirely contained in the triangle with vertices pj,ksubscript𝑝𝑗𝑘p_{j,k}italic_p start_POSTSUBSCRIPT italic_j , italic_k end_POSTSUBSCRIPT, pj+1,ksubscript𝑝𝑗1𝑘p_{j+1,k}italic_p start_POSTSUBSCRIPT italic_j + 1 , italic_k end_POSTSUBSCRIPT, and pnsubscript𝑝𝑛p_{n}italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, (ii) for any point p𝑝pitalic_p on sjsubscript𝑠𝑗s_{j}italic_s start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, the polygonal line p1p¯ppn¯¯subscript𝑝1𝑝¯𝑝subscript𝑝𝑛\overline{p_{1}p}\cup\overline{pp_{n}}over¯ start_ARG italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_p end_ARG ∪ over¯ start_ARG italic_p italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_ARG is contained in the region Rjsubscript𝑅𝑗R_{j}italic_R start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT delimited by the polygon p1pj,k¯pj,kpn¯pnpj+1,k¯pj+1,kp1¯¯subscript𝑝1subscript𝑝𝑗𝑘¯subscript𝑝𝑗𝑘subscript𝑝𝑛¯subscript𝑝𝑛subscript𝑝𝑗1𝑘¯subscript𝑝𝑗1𝑘subscript𝑝1\overline{p_{1}p_{j,k}}\cup\overline{p_{j,k}p_{n}}\cup\overline{p_{n}p_{j+1,k}% }\cup\overline{p_{j+1,k}p_{1}}over¯ start_ARG italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_j , italic_k end_POSTSUBSCRIPT end_ARG ∪ over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_j , italic_k end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_ARG ∪ over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_j + 1 , italic_k end_POSTSUBSCRIPT end_ARG ∪ over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_j + 1 , italic_k end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG, and (iii) no two distinct points on any two segments sisubscript𝑠𝑖s_{i}italic_s start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and sjsubscript𝑠𝑗s_{j}italic_s start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT share the same y𝑦yitalic_y-coordinate.

Note that S𝑆Sitalic_S has 2+(b+1)k+bB=n2𝑏1𝑘𝑏𝐵𝑛2+(b+1)k+bB=n2 + ( italic_b + 1 ) italic_k + italic_b italic_B = italic_n points. The described reduction is the main ingredient for the proof of the following theorem.

Refer to caption
(a)
Refer to caption
(b)
Figure 1: Illustration for the proof of Theorem 3.1. (a) The pointset S𝑆Sitalic_S. (b) The UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S.
Theorem 3.1.

UPSE Testing is \NP-hard even for planar st𝑠𝑡stitalic_s italic_t-graphs consisting of a set of directed internally-disjoint st𝑠𝑡stitalic_s italic_t-paths.

Proof 3.2.

First, the construction of G𝐺Gitalic_G and S𝑆Sitalic_S takes polynomial time. In particular, the coordinates of the points in S𝑆Sitalic_S can be encoded with a polylogarithmic number of bits. In order to prove the NP-hardness, it remains to show that the constructed instance (G,S)𝐺𝑆(G,S)( italic_G , italic_S ) of UPSE Testing is equivalent to the given instance A𝐴Aitalic_A of 3-Partition. Refer to Figure 1(b).

Suppose first that A𝐴Aitalic_A is a positive instance of 3-Partition, that is, there exist sets A1,,Absubscript𝐴1subscript𝐴𝑏A_{1},\dots,A_{b}italic_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_A start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT, each with three integers, such that the sum of the integers in each set Ajsubscript𝐴𝑗A_{j}italic_A start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is B𝐵Bitalic_B. We construct an UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S as follows. We map s𝑠sitalic_s to p1subscript𝑝1p_{1}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and t𝑡titalic_t to pnsubscript𝑝𝑛p_{n}italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. For j=1,,b+1𝑗1𝑏1j=1,\dots,b+1italic_j = 1 , … , italic_b + 1, we map the k𝑘kitalic_k internal vertices of a k𝑘kitalic_k-path to the points pj,1,pj,ksubscript𝑝𝑗1subscript𝑝𝑗𝑘p_{j,1},\dots p_{j,k}italic_p start_POSTSUBSCRIPT italic_j , 1 end_POSTSUBSCRIPT , … italic_p start_POSTSUBSCRIPT italic_j , italic_k end_POSTSUBSCRIPT, so that vertices that come first in the directed path have smaller y𝑦yitalic_y-coordinates. Furthermore, for j=1,,b𝑗1𝑏j=1,\dots,bitalic_j = 1 , … , italic_b, let Aj={aj1,aj2,aj3}subscript𝐴𝑗subscript𝑎subscript𝑗1subscript𝑎subscript𝑗2subscript𝑎subscript𝑗3A_{j}=\{a_{j_{1}},a_{j_{2}},a_{j_{3}}\}italic_A start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = { italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT }. Then we map the aj1subscript𝑎subscript𝑗1a_{j_{1}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT internal vertices of an aj1subscript𝑎subscript𝑗1a_{j_{1}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT-path, the aj2subscript𝑎subscript𝑗2a_{j_{2}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT internal vertices of an aj2subscript𝑎subscript𝑗2a_{j_{2}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT-path, and the aj3subscript𝑎subscript𝑗3a_{j_{3}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT internal vertices of an aj3subscript𝑎subscript𝑗3a_{j_{3}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT-path to the set of B𝐵Bitalic_B points in the triangle with vertices pj,ksubscript𝑝𝑗𝑘p_{j,k}italic_p start_POSTSUBSCRIPT italic_j , italic_k end_POSTSUBSCRIPT, pj+1,ksubscript𝑝𝑗1𝑘p_{j+1,k}italic_p start_POSTSUBSCRIPT italic_j + 1 , italic_k end_POSTSUBSCRIPT, and pnsubscript𝑝𝑛p_{n}italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, so that vertices that come first in the directed paths have smaller y𝑦yitalic_y-coordinates and so that the internal vertices of the aj1subscript𝑎subscript𝑗1a_{j_{1}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT-path have smaller y𝑦yitalic_y-coordinates than the internal vertices of the aj2subscript𝑎subscript𝑗2a_{j_{2}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT-path, which have smaller y𝑦yitalic_y-coordinates than the internal vertices of the aj3subscript𝑎subscript𝑗3a_{j_{3}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT-path. This results in an UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S.

Suppose next that (G,S)𝐺𝑆(G,S)( italic_G , italic_S ) is a positive instance of UPSE Testing. Trivially, in any UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S, we have that s𝑠sitalic_s is drawn on p1subscript𝑝1p_{1}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and t𝑡titalic_t on pnsubscript𝑝𝑛p_{n}italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. Consider the points p1,1,pb+1,1subscript𝑝11subscript𝑝𝑏11p_{1,1},\dots p_{{b+1},1}italic_p start_POSTSUBSCRIPT 1 , 1 end_POSTSUBSCRIPT , … italic_p start_POSTSUBSCRIPT italic_b + 1 , 1 end_POSTSUBSCRIPT. The paths using them use all the (b+1)k𝑏1𝑘(b+1)k( italic_b + 1 ) italic_k points pj,isubscript𝑝𝑗𝑖p_{j,i}italic_p start_POSTSUBSCRIPT italic_j , italic_i end_POSTSUBSCRIPT, with j=1,,b+1𝑗1𝑏1j=1,\dots,b+1italic_j = 1 , … , italic_b + 1 and i=1,,k𝑖1𝑘i=1,\dots,kitalic_i = 1 , … , italic_k. Indeed, if these paths left one of such points unused, no other path could reach it from s𝑠sitalic_s without passing through p1,1,pb+1,1subscript𝑝11subscript𝑝𝑏11p_{1,1},\dots p_{{b+1},1}italic_p start_POSTSUBSCRIPT 1 , 1 end_POSTSUBSCRIPT , … italic_p start_POSTSUBSCRIPT italic_b + 1 , 1 end_POSTSUBSCRIPT, because of the collinearity of the points along the rays ρ1,,ρb+1subscript𝜌1subscript𝜌𝑏1\rho_{1},\dots,\rho_{b+1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_ρ start_POSTSUBSCRIPT italic_b + 1 end_POSTSUBSCRIPT. Hence, there are at most b+1𝑏1b+1italic_b + 1 paths that use (b+1)k𝑏1𝑘(b+1)k( italic_b + 1 ) italic_k points. Since the aisubscript𝑎𝑖a_{i}italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT-paths have less than k𝑘kitalic_k internal vertices, these b+1𝑏1b+1italic_b + 1 paths must all be k𝑘kitalic_k-paths. Let P1,,Pb+1subscript𝑃1subscript𝑃𝑏1P_{1},\dots,P_{b+1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_P start_POSTSUBSCRIPT italic_b + 1 end_POSTSUBSCRIPT be the left-to-right order of the k𝑘kitalic_k-paths around p1subscript𝑝1p_{1}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. For j=1,,b+1𝑗1𝑏1j=1,\dots,b+1italic_j = 1 , … , italic_b + 1, path Pjsubscript𝑃𝑗P_{j}italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT uses all points pj,isubscript𝑝𝑗𝑖p_{j,i}italic_p start_POSTSUBSCRIPT italic_j , italic_i end_POSTSUBSCRIPT on ρjsubscript𝜌𝑗\rho_{j}italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, as if Pjsubscript𝑃𝑗P_{j}italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT used a point ph,isubscript𝑝𝑖p_{h,i}italic_p start_POSTSUBSCRIPT italic_h , italic_i end_POSTSUBSCRIPT with h>j𝑗h>jitalic_h > italic_j, then two among Pj,,Pb+1subscript𝑃𝑗subscript𝑃𝑏1P_{j},\dots,P_{b+1}italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , … , italic_P start_POSTSUBSCRIPT italic_b + 1 end_POSTSUBSCRIPT would cross each other. Note that, after using pj,ksubscript𝑝𝑗𝑘p_{j,k}italic_p start_POSTSUBSCRIPT italic_j , italic_k end_POSTSUBSCRIPT, path Pjsubscript𝑃𝑗P_{j}italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ends with the segment pj,kpn¯¯subscript𝑝𝑗𝑘subscript𝑝𝑛\overline{p_{j,k}p_{n}}over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_j , italic_k end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_ARG. Hence, for j=1,,b𝑗1𝑏j=1,\dots,bitalic_j = 1 , … , italic_b, the region Rjsubscript𝑅𝑗R_{j}italic_R start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is bounded by Pjsubscript𝑃𝑗P_{j}italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT and Pj+1subscript𝑃𝑗1P_{j+1}italic_P start_POSTSUBSCRIPT italic_j + 1 end_POSTSUBSCRIPT; recall that Rjsubscript𝑅𝑗R_{j}italic_R start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT contains the segment sjsubscript𝑠𝑗s_{j}italic_s start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. The aisubscript𝑎𝑖a_{i}italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT-paths must then use the points on s1,,sbsubscript𝑠1subscript𝑠𝑏s_{1},\dots,s_{b}italic_s start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_s start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT. Since B/4<ai<B/2𝐵4subscript𝑎𝑖𝐵2B/4<a_{i}<B/2italic_B / 4 < italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT < italic_B / 2, no two aisubscript𝑎𝑖a_{i}italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT-paths can use all the B𝐵Bitalic_B points in one region and no four aisubscript𝑎𝑖a_{i}italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT-paths can lie in the same region. Hence, three aisubscript𝑎𝑖a_{i}italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT-paths use the B𝐵Bitalic_B points in each region, and this provides a solution to the given 3-Partition instance.

Refer to caption
(a)
Refer to caption
(b)
Figure 2: Illustration for the proof of Theorem 3.3. (a) The pointset S𝑆Sitalic_S. The points of S𝑆Sitalic_S visible from p1subscript𝑝1p_{1}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT (green points) are as many as the children of the root of the tree T𝑇Titalic_T. (b) The UPSE of T𝑇Titalic_T on S𝑆Sitalic_S corresponding to a solution to the original instance 3-partition (red vertices).

We next reduce the 3-Partition problem to the instances of UPSE testing in which the input is a directed tree consisting of a set of root-to-leaf paths. Consider an instance of 3-Partition consisting of a set A={a1,,a3b}𝐴subscript𝑎1subscript𝑎3𝑏A=\{a_{1},\dots,a_{3b}\}italic_A = { italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_a start_POSTSUBSCRIPT 3 italic_b end_POSTSUBSCRIPT } of 3b3𝑏3b3 italic_b integers, where i=13bai=bBsuperscriptsubscript𝑖13𝑏subscript𝑎𝑖𝑏𝐵\sum_{i=1}^{3b}a_{i}=bB∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 3 italic_b end_POSTSUPERSCRIPT italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_b italic_B and B/4aiB/2𝐵4subscript𝑎𝑖𝐵2B/4\leq a_{i}\leq B/2italic_B / 4 ≤ italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ≤ italic_B / 2, for i=1,,3b𝑖13𝑏i=1,\dots,3bitalic_i = 1 , … , 3 italic_b. We construct a directed tree T𝑇Titalic_T as follows. The root s𝑠sitalic_s of T𝑇Titalic_T has 4b14𝑏14b-14 italic_b - 1 children. Among them, b1𝑏1b-1italic_b - 1 are leaves v1,,vb1subscript𝑣1subscript𝑣𝑏1v_{1},\dots,v_{b-1}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_b - 1 end_POSTSUBSCRIPT, while each of the remaining 3b3𝑏3b3 italic_b children is the first vertex of a directed path Pisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, for i=1,,3b𝑖13𝑏i=1,\dots,3bitalic_i = 1 , … , 3 italic_b, consisting of the ai+1subscript𝑎𝑖1a_{i}+1italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 vertices vi,1,vi,2,,vi,ai+1subscript𝑣𝑖1subscript𝑣𝑖2subscript𝑣𝑖subscript𝑎𝑖1v_{i,1},v_{i,2},\dots,v_{i,a_{i}+1}italic_v start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_i , 2 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_i , italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 end_POSTSUBSCRIPT, where vi,1subscript𝑣𝑖1v_{i,1}italic_v start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT is the child of s𝑠sitalic_s and vi,ai+1subscript𝑣𝑖subscript𝑎𝑖1v_{i,a_{i}+1}italic_v start_POSTSUBSCRIPT italic_i , italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 end_POSTSUBSCRIPT is a leaf. All the edges of T𝑇Titalic_T are directed from the root s𝑠sitalic_s to the leaves. Note that the number of vertices of T𝑇Titalic_T is n=1+(b1)+i=13b(ai+1)=b(B+4)𝑛1𝑏1superscriptsubscript𝑖13𝑏subscript𝑎𝑖1𝑏𝐵4n=1+(b-1)+\sum_{i=1}^{3b}(a_{i}+1)=b(B+4)italic_n = 1 + ( italic_b - 1 ) + ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 3 italic_b end_POSTSUPERSCRIPT ( italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 ) = italic_b ( italic_B + 4 ). The points of S𝑆Sitalic_S lie on the plane as follows (see Figure 2(a)):

  • p1subscript𝑝1p_{1}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is the origin, with coordinates (0,0)00(0,0)( 0 , 0 ).

  • Consider b1𝑏1b-1italic_b - 1 upward rays ρ1,,ρb1subscript𝜌1subscript𝜌𝑏1\rho_{1},\dots,\rho_{b-1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_ρ start_POSTSUBSCRIPT italic_b - 1 end_POSTSUBSCRIPT, whose starting point is p1subscript𝑝1p_{1}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, such that the angles α1,,αb1subscript𝛼1subscript𝛼𝑏1\alpha_{1},\dots,\alpha_{b-1}italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_α start_POSTSUBSCRIPT italic_b - 1 end_POSTSUBSCRIPT formed by ρ1,,ρb1subscript𝜌1subscript𝜌𝑏1\rho_{1},\dots,\rho_{b-1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_ρ start_POSTSUBSCRIPT italic_b - 1 end_POSTSUBSCRIPT with the x𝑥xitalic_x-axis satisfy 3π/4>α1>>αb1>π/43𝜋4subscript𝛼1subscript𝛼𝑏1𝜋43\pi/4>\alpha_{1}>\dots>\alpha_{b-1}>\pi/43 italic_π / 4 > italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT > ⋯ > italic_α start_POSTSUBSCRIPT italic_b - 1 end_POSTSUBSCRIPT > italic_π / 4. These rays split the half plane above the x𝑥xitalic_x-axis into b𝑏bitalic_b regions Rjsubscript𝑅𝑗R_{j}italic_R start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, with j=1,2,,b𝑗12𝑏j=1,2,\dots,bitalic_j = 1 , 2 , … , italic_b. In the interior of each region Rjsubscript𝑅𝑗R_{j}italic_R start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, place three points pj,1,pj,2,subscript𝑝𝑗1subscript𝑝𝑗2p_{j,1},p_{j,2},italic_p start_POSTSUBSCRIPT italic_j , 1 end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j , 2 end_POSTSUBSCRIPT , and pj,3subscript𝑝𝑗3p_{j,3}italic_p start_POSTSUBSCRIPT italic_j , 3 end_POSTSUBSCRIPT in such a way that pj,1subscript𝑝𝑗1p_{j,1}italic_p start_POSTSUBSCRIPT italic_j , 1 end_POSTSUBSCRIPT is lower than pj,2subscript𝑝𝑗2p_{j,2}italic_p start_POSTSUBSCRIPT italic_j , 2 end_POSTSUBSCRIPT, which is lower than pj,3subscript𝑝𝑗3p_{j,3}italic_p start_POSTSUBSCRIPT italic_j , 3 end_POSTSUBSCRIPT, and so that they are all visible from s𝑠sitalic_s. Along the line passing through s𝑠sitalic_s and pj,3subscript𝑝𝑗3p_{j,3}italic_p start_POSTSUBSCRIPT italic_j , 3 end_POSTSUBSCRIPT place B𝐵Bitalic_B points above pj,3subscript𝑝𝑗3p_{j,3}italic_p start_POSTSUBSCRIPT italic_j , 3 end_POSTSUBSCRIPT.

  • Let ymsubscript𝑦𝑚y_{m}italic_y start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT be the highest y𝑦yitalic_y-coordinate used so far. Let \ellroman_ℓ be a line with positive slope smaller than π/4𝜋4\pi/4italic_π / 4 intersecting all the rays ρ1,,ρb1subscript𝜌1subscript𝜌𝑏1\rho_{1},\dots,\rho_{b-1}italic_ρ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_ρ start_POSTSUBSCRIPT italic_b - 1 end_POSTSUBSCRIPT at points that have y𝑦yitalic_y-coordinates larger than ymsubscript𝑦𝑚y_{m}italic_y start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT. For j=1,,b1𝑗1𝑏1j=1,\dots,b-1italic_j = 1 , … , italic_b - 1, place a point p,jsubscript𝑝𝑗p_{\ell,j}italic_p start_POSTSUBSCRIPT roman_ℓ , italic_j end_POSTSUBSCRIPT at the intersection of ρjsubscript𝜌𝑗\rho_{j}italic_ρ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT with \ellroman_ℓ.

Note that S𝑆Sitalic_S has 1+3b+bB+(b1)=b(B+4)=n13𝑏𝑏𝐵𝑏1𝑏𝐵4𝑛1+3b+bB+(b-1)=b(B+4)=n1 + 3 italic_b + italic_b italic_B + ( italic_b - 1 ) = italic_b ( italic_B + 4 ) = italic_n points. The described reduction is the main ingredient for the proof of the following theorem.

Theorem 3.3.

UPSE Testing is \NP-hard even for directed trees consisting of a set of directed root-to-leaf paths.

Proof 3.4.

First, the construction of T𝑇Titalic_T and S𝑆Sitalic_S takes polynomial time. In particular, the coordinates of the points in S𝑆Sitalic_S can be encoded with a polylogarithmic number of bits. In order to prove the NP-hardness, it remains to show that the constructed instance (T,S)𝑇𝑆(T,S)( italic_T , italic_S ) of UPSE Testing is equivalent to the given instance A𝐴Aitalic_A of 3-Partition. Refer to Figure 2(b).

Suppose first that A𝐴Aitalic_A is a positive instance of 3-Partition, that is, there exist sets A1,,Absubscript𝐴1subscript𝐴𝑏A_{1},\dots,A_{b}italic_A start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_A start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT, each with three integers, such that the sum of the integers in each set Ajsubscript𝐴𝑗A_{j}italic_A start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is B𝐵Bitalic_B. We construct an UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S as follows. We map s𝑠sitalic_s to p1subscript𝑝1p_{1}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. For j=1,,b1𝑗1𝑏1j=1,\dots,b-1italic_j = 1 , … , italic_b - 1, we map the child vjsubscript𝑣𝑗v_{j}italic_v start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT of s𝑠sitalic_s to p,jsubscript𝑝𝑗p_{\ell,j}italic_p start_POSTSUBSCRIPT roman_ℓ , italic_j end_POSTSUBSCRIPT. Furthermore, for j=1,,b𝑗1𝑏j=1,\dots,bitalic_j = 1 , … , italic_b, let Aj={aj1,aj2,aj3}subscript𝐴𝑗subscript𝑎subscript𝑗1subscript𝑎subscript𝑗2subscript𝑎subscript𝑗3A_{j}=\{a_{j_{1}},a_{j_{2}},a_{j_{3}}\}italic_A start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = { italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT }. Then we map the aj1subscript𝑎subscript𝑗1a_{j_{1}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT internal vertices of an aj1subscript𝑎subscript𝑗1a_{j_{1}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT-path, the aj2subscript𝑎subscript𝑗2a_{j_{2}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT internal vertices of an aj2subscript𝑎subscript𝑗2a_{j_{2}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT-path, and the aj3subscript𝑎subscript𝑗3a_{j_{3}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT internal vertices of an aj3subscript𝑎subscript𝑗3a_{j_{3}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT-path to the set of B𝐵Bitalic_B points in the region Rjsubscript𝑅𝑗R_{j}italic_R start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, so that the neighbors of s𝑠sitalic_s in the aj1subscript𝑎subscript𝑗1a_{j_{1}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT-path, in the aj2subscript𝑎subscript𝑗2a_{j_{2}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT-path, and in the aj3subscript𝑎subscript𝑗3a_{j_{3}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT-path lie on pj,1subscript𝑝𝑗1p_{j,1}italic_p start_POSTSUBSCRIPT italic_j , 1 end_POSTSUBSCRIPT, pj,2subscript𝑝𝑗2p_{j,2}italic_p start_POSTSUBSCRIPT italic_j , 2 end_POSTSUBSCRIPT, and pj,3subscript𝑝𝑗3p_{j,3}italic_p start_POSTSUBSCRIPT italic_j , 3 end_POSTSUBSCRIPT, respectively, so that vertices that come first in the directed paths have smaller y𝑦yitalic_y-coordinates, and so that the internal vertices of the aj1subscript𝑎subscript𝑗1a_{j_{1}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT-path have larger y𝑦yitalic_y-coordinates than the internal vertices of the aj2subscript𝑎subscript𝑗2a_{j_{2}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT-path, which have larger y𝑦yitalic_y-coordinates than the internal vertices of the aj3subscript𝑎subscript𝑗3a_{j_{3}}italic_a start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_POSTSUBSCRIPT-path. This results in an UPSE of T𝑇Titalic_T on S𝑆Sitalic_S.

Suppose next that (T,S)𝑇𝑆(T,S)( italic_T , italic_S ) is a positive instance of UPSE Testing. It is obvious that the root s𝑠sitalic_s of T𝑇Titalic_T has to be placed on p1subscript𝑝1p_{1}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. From the root s𝑠sitalic_s only 4b14𝑏14b-14 italic_b - 1 points are visible. These are the points p,jsubscript𝑝𝑗p_{\ell,j}italic_p start_POSTSUBSCRIPT roman_ℓ , italic_j end_POSTSUBSCRIPT, for j=1,,b1𝑗1𝑏1j=1,\dots,b-1italic_j = 1 , … , italic_b - 1, and the points ph,1,ph,2,subscript𝑝1subscript𝑝2p_{h,1},p_{h,2},italic_p start_POSTSUBSCRIPT italic_h , 1 end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_h , 2 end_POSTSUBSCRIPT , and ph,3subscript𝑝3p_{h,3}italic_p start_POSTSUBSCRIPT italic_h , 3 end_POSTSUBSCRIPT, for h=1,,b1𝑏h=1,\dots,bitalic_h = 1 , … , italic_b (all these points are filled green in Figure 2(a)). Since T𝑇Titalic_T has 4b14𝑏14b-14 italic_b - 1 children, each child must use one of the above points. Consider point p,b1subscript𝑝𝑏1p_{\ell,b-1}italic_p start_POSTSUBSCRIPT roman_ℓ , italic_b - 1 end_POSTSUBSCRIPT. Since this is the highest point in the set S𝑆Sitalic_S, the child that uses it must be a leaf. This also holds for p,b2subscript𝑝𝑏2p_{\ell,b-2}italic_p start_POSTSUBSCRIPT roman_ℓ , italic_b - 2 end_POSTSUBSCRIPT, which is the highest of the remaining points. Iterating this argument we have that the points p,jsubscript𝑝𝑗p_{\ell,j}italic_p start_POSTSUBSCRIPT roman_ℓ , italic_j end_POSTSUBSCRIPT, with j=1,,b1𝑗1𝑏1j=1,\dots,b-1italic_j = 1 , … , italic_b - 1, must be used by the b1𝑏1b-1italic_b - 1 children of s𝑠sitalic_s which are leaves of T𝑇Titalic_T. Since all other vertices have smaller y𝑦yitalic_y-coordinates, each path Pisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, with i=1,,3m𝑖13𝑚i=1,\dots,3mitalic_i = 1 , … , 3 italic_m, is constrained to be into a region Rjsubscript𝑅𝑗R_{j}italic_R start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, with j=1,,b𝑗1𝑏j=1,\dots,bitalic_j = 1 , … , italic_b (see Figure 2(b)). Since each region Rjsubscript𝑅𝑗R_{j}italic_R start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT contains exactly three points pj,1,pj,2,subscript𝑝𝑗1subscript𝑝𝑗2p_{j,1},p_{j,2},italic_p start_POSTSUBSCRIPT italic_j , 1 end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j , 2 end_POSTSUBSCRIPT , and pj,3subscript𝑝𝑗3p_{j,3}italic_p start_POSTSUBSCRIPT italic_j , 3 end_POSTSUBSCRIPT visible from s𝑠sitalic_s, each region hosts exactly three such paths, which use the remaining B𝐵Bitalic_B points, and this provides a solution to the given 3-Partition instance.

4 Testing and Enumeration Algorithms for Planar st-Graphs with Maximum st-Cutset of Bounded Size

An st𝑠𝑡stitalic_s italic_t-cutset of a planar st𝑠𝑡stitalic_s italic_t-graph G=(V,E)𝐺𝑉𝐸G=(V,E)italic_G = ( italic_V , italic_E ) is a subset W𝑊Witalic_W of E𝐸Eitalic_E such that:

  • removing W𝑊Witalic_W from E𝐸Eitalic_E results in a graph consisting of exactly two connected components Cssubscript𝐶𝑠C_{s}italic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and Ctsubscript𝐶𝑡C_{t}italic_C start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT,

  • s𝑠sitalic_s belongs to Cssubscript𝐶𝑠C_{s}italic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and t𝑡titalic_t belongs to Ctsubscript𝐶𝑡C_{t}italic_C start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT, and

  • any edge in W𝑊Witalic_W has its tail in Cssubscript𝐶𝑠C_{s}italic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and its head in Ctsubscript𝐶𝑡C_{t}italic_C start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT.

In this section, we consider instances (G,S)𝐺𝑆(G,S)( italic_G , italic_S ) where G𝐺Gitalic_G is a planar st𝑠𝑡stitalic_s italic_t-graph, whose maximum st𝑠𝑡stitalic_s italic_t-cutset has bounded size k𝑘kitalic_k. In Theorem 4.4, we show that UPSE Testing can be solved in polynomial time for such instances (G,S)𝐺𝑆(G,S)( italic_G , italic_S ). Moreover, in Theorem 4.5, we show how to enumerate all UPSEs of (G,S)𝐺𝑆(G,S)( italic_G , italic_S ) with linear delay. The algorithm for Theorem 4.4 is based on a dynamic programming approach. It exploits the property that, for an st𝑠𝑡stitalic_s italic_t-cutset W𝑊Witalic_W defining the connected components Cssubscript𝐶𝑠C_{s}italic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and Ctsubscript𝐶𝑡C_{t}italic_C start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT, the extensibility of an UPSE ΓsuperscriptΓ\Gamma^{\prime}roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT of CsWsubscript𝐶𝑠𝑊C_{s}\cup Witalic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∪ italic_W on a subset Ssuperscript𝑆S^{\prime}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT of S𝑆Sitalic_S to an UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S only depends on the drawing of the edges of W𝑊Witalic_W, and not on the embedding of the remaining vertices of Cssubscript𝐶𝑠C_{s}italic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT, provided that in ΓsuperscriptΓ\Gamma^{\prime}roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT there exists an horizontal line that crosses all the edges of W𝑊Witalic_W. The algorithm for Theorem 4.5 leverages a variation of the dynamic programming table computed by the former algorithm to efficiently test the extensibility of an UPSE of CsWsubscript𝐶𝑠𝑊C_{s}\cup Witalic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∪ italic_W (in which there exists a horizontal line that crosses all the edges of W𝑊Witalic_W) on a subset Ssuperscript𝑆S^{\prime}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT of S𝑆Sitalic_S to an UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S.

The proofs of Theorems 4.4 and 4.5 exploit two dynamic programming tables T𝑇Titalic_T and Q𝑄Qitalic_Q defined as follows. Each entry of T𝑇Titalic_T and Q𝑄Qitalic_Q is indexed by a key that consists of a set of hk𝑘h\leq kitalic_h ≤ italic_k triplets ei,pi,qisubscript𝑒𝑖subscript𝑝𝑖subscript𝑞𝑖\langle e_{i},p_{i},q_{i}\rangle⟨ italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩, where, for any i=1,,h𝑖1i=1,\dots,hitalic_i = 1 , … , italic_h, it holds that eiE(G)subscript𝑒𝑖𝐸𝐺e_{i}\in E(G)italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_E ( italic_G ), pi,qiSsubscript𝑝𝑖subscript𝑞𝑖𝑆p_{i},q_{i}\in Sitalic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_S, and y(pi)<y(qi)𝑦subscript𝑝𝑖𝑦subscript𝑞𝑖y(p_{i})<y(q_{i})italic_y ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) < italic_y ( italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ). Moreover, each key χ=i=1hei,pi,qi𝜒subscriptsuperscript𝑖1subscript𝑒𝑖subscript𝑝𝑖subscript𝑞𝑖\chi=\bigcup^{h}_{i=1}\langle e_{i},p_{i},q_{i}\rangleitalic_χ = ⋃ start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT ⟨ italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ satisfies the following constraints:

  • the set E(χ)=i=1hei𝐸𝜒subscriptsuperscript𝑖1subscript𝑒𝑖E(\chi)=\bigcup^{h}_{i=1}e_{i}italic_E ( italic_χ ) = ⋃ start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is an st𝑠𝑡stitalic_s italic_t-cutset of G𝐺Gitalic_G and, for every i,j𝑖𝑗i,jitalic_i , italic_j, with ij𝑖𝑗i\neq jitalic_i ≠ italic_j, it holds true that eiejsubscript𝑒𝑖subscript𝑒𝑗e_{i}\neq e_{j}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ≠ italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT (that is, |E(χ)|=h𝐸𝜒|E(\chi)|=h| italic_E ( italic_χ ) | = italic_h);

  • for every i,j𝑖𝑗i,jitalic_i , italic_j, with ij𝑖𝑗i\neq jitalic_i ≠ italic_j, it holds true that pi=pjsubscript𝑝𝑖subscript𝑝𝑗p_{i}=p_{j}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT (resp. that qi=qjsubscript𝑞𝑖subscript𝑞𝑗q_{i}=q_{j}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT) if and only if eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and ejsubscript𝑒𝑗e_{j}italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT have the same tail (resp. the same head); and

  • let χsubscript𝜒\ell_{\chi}roman_ℓ start_POSTSUBSCRIPT italic_χ end_POSTSUBSCRIPT be the horizontal line passing through the tail with largest y𝑦yitalic_y-coordinate among the edges in E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ), i.e., χ:=y=y(pi)assignsubscript𝜒𝑦𝑦subscript𝑝𝑖\ell_{\chi}:=y=y(p_{i})roman_ℓ start_POSTSUBSCRIPT italic_χ end_POSTSUBSCRIPT := italic_y = italic_y ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) s.t. y(pj)y(pi)𝑦subscript𝑝𝑗𝑦subscript𝑝𝑖y(p_{j})\leq y(p_{i})italic_y ( italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ≤ italic_y ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) for any ej,pj,qjχsubscript𝑒𝑗subscript𝑝𝑗subscript𝑞𝑗𝜒\langle e_{j},p_{j},q_{j}\rangle\in\chi⟨ italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩ ∈ italic_χ; then χsubscript𝜒\ell_{\chi}roman_ℓ start_POSTSUBSCRIPT italic_χ end_POSTSUBSCRIPT intersects all the segments pjqj¯¯subscript𝑝𝑗subscript𝑞𝑗\overline{p_{j}q_{j}}over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_ARG, possibly at an endpoint.

For brevity, we sometimes say that the edge eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT has its tail (resp. its head) mapped by χ𝜒\chiitalic_χ on pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT (resp. on qisubscript𝑞𝑖q_{i}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT). We also say that eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is drawn as in χ𝜒\chiitalic_χ if its drawing is the segment piqi¯¯subscript𝑝𝑖subscript𝑞𝑖\overline{p_{i}q_{i}}over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG.

Let χ=i=1hei,pi,qi𝜒subscriptsuperscript𝑖1subscript𝑒𝑖subscript𝑝𝑖subscript𝑞𝑖\chi=\bigcup^{h}_{i=1}\langle e_{i},p_{i},q_{i}\rangleitalic_χ = ⋃ start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT ⟨ italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ be a key of T𝑇Titalic_T and of Q𝑄Qitalic_Q; see Figure 3(a). Let Gχsubscript𝐺𝜒G_{\chi}italic_G start_POSTSUBSCRIPT italic_χ end_POSTSUBSCRIPT be the connected component containing s𝑠sitalic_s of the graph obtained from G𝐺Gitalic_G by removing the edge set E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ).

The entry T[χ]𝑇delimited-[]𝜒T[\chi]italic_T [ italic_χ ] contains a Boolean value such that T[χ]=True𝑇delimited-[]𝜒TrueT[\chi]=\texttt{True}italic_T [ italic_χ ] = True if and only if there exists an UPSE of Gχ+=GχE(χ)superscriptsubscript𝐺𝜒subscript𝐺𝜒𝐸𝜒G_{\chi}^{+}=G_{\chi}\cup E(\chi)italic_G start_POSTSUBSCRIPT italic_χ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT = italic_G start_POSTSUBSCRIPT italic_χ end_POSTSUBSCRIPT ∪ italic_E ( italic_χ ) on some subset SSsuperscript𝑆𝑆S^{\prime}\subset Sitalic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⊂ italic_S with |S|=|V(Gχ+)|superscript𝑆𝑉superscriptsubscript𝐺𝜒|S^{\prime}|=|V(G_{\chi}^{+})|| italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT | = | italic_V ( italic_G start_POSTSUBSCRIPT italic_χ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT ) | such that:

  • the lowest point pssubscript𝑝𝑠p_{s}italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT of S𝑆Sitalic_S belongs to Ssuperscript𝑆S^{\prime}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and s𝑠sitalic_s lies on it, and

  • for i=1,,h𝑖1i=1,\dots,hitalic_i = 1 , … , italic_h, the edge eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is drawn as in χ𝜒\chiitalic_χ.

If T[χ]=False𝑇delimited-[]𝜒FalseT[\chi]=\texttt{False}italic_T [ italic_χ ] = False, the entry Q[χ]𝑄delimited-[]𝜒Q[\chi]italic_Q [ italic_χ ] contains the empty set \emptyset. If T[χ]=True𝑇delimited-[]𝜒TrueT[\chi]=\texttt{True}italic_T [ italic_χ ] = True and E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ) coincides with the set of edges incident to s𝑠sitalic_s, then Q[χ]𝑄delimited-[]𝜒Q[\chi]italic_Q [ italic_χ ] stores the set {}bottom\{\bot\}{ ⊥ }. If T[χ]=True𝑇delimited-[]𝜒TrueT[\chi]=\texttt{True}italic_T [ italic_χ ] = True and E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ) does not coincide with the set of edges incident to s𝑠sitalic_s, Q[χ]𝑄delimited-[]𝜒Q[\chi]italic_Q [ italic_χ ] stores the set ΦΦ\Phiroman_Φ of keys with the following properties. Let eτsubscript𝑒𝜏e_{\tau}italic_e start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT be any edge whose tail vτsubscript𝑣𝜏v_{\tau}italic_v start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT has maximum y𝑦yitalic_y-coordinate among the edges in E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ), i.e., eτ,pτ,qτsubscript𝑒𝜏subscript𝑝𝜏subscript𝑞𝜏\langle e_{\tau},p_{\tau},q_{\tau}\rangle⟨ italic_e start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT ⟩ is such that y(pτ)y(pj)𝑦subscript𝑝𝜏𝑦subscript𝑝𝑗y(p_{\tau})\geq y(p_{j})italic_y ( italic_p start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT ) ≥ italic_y ( italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) for any ej,pj,qjχsubscript𝑒𝑗subscript𝑝𝑗subscript𝑞𝑗𝜒\langle e_{j},p_{j},q_{j}\rangle\in\chi⟨ italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⟩ ∈ italic_χ. For each φΦ𝜑Φ\varphi\in\Phiitalic_φ ∈ roman_Φ, we have that:

  • T[φ]=True𝑇delimited-[]𝜑TrueT[\varphi]=\texttt{True}italic_T [ italic_φ ] = True;

  • E(χ)E(φ)𝐸𝜒𝐸𝜑E(\chi)\cap E(\varphi)italic_E ( italic_χ ) ∩ italic_E ( italic_φ ) contains all and only the edges in E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ) whose tail is not vτsubscript𝑣𝜏v_{\tau}italic_v start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT, and each edge eiE(χ)E(φ)subscript𝑒𝑖𝐸𝜒𝐸𝜑e_{i}\in E(\chi)\cap E(\varphi)italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_E ( italic_χ ) ∩ italic_E ( italic_φ ) is drawn in φ𝜑\varphiitalic_φ as it is drawn in χ𝜒\chiitalic_χ; and

  • all the edges in E(φ)E(χ)𝐸𝜑𝐸𝜒E(\varphi)\setminus E(\chi)italic_E ( italic_φ ) ∖ italic_E ( italic_χ ) have vτsubscript𝑣𝜏v_{\tau}italic_v start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT as their head.

Refer to caption
(a)
Refer to caption
(b)
Figure 3: (a) An entry χ=i=15ei,pi,qi𝜒subscriptsuperscript5𝑖1subscript𝑒𝑖subscript𝑝𝑖subscript𝑞𝑖\chi=\bigcup^{5}_{i=1}\langle e_{i},p_{i},q_{i}\rangleitalic_χ = ⋃ start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT ⟨ italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ with T[χ]=True𝑇delimited-[]𝜒TrueT[\chi]=\texttt{True}italic_T [ italic_χ ] = True and a corresponding UPSE of Gχsubscript𝐺𝜒G_{\chi}italic_G start_POSTSUBSCRIPT italic_χ end_POSTSUBSCRIPT on a subset of S𝑆Sitalic_S that includes pssubscript𝑝𝑠p_{s}italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT. (b) An entry φ𝜑\varphiitalic_φ from which χ𝜒\chiitalic_χ stems; the points in Ssubscript𝑆S_{\downarrow}italic_S start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT are filled white.

Additionally, we store a list ΛΛ\Lambdaroman_Λ of the keys σ𝜎\sigmaitalic_σ such that T[σ]=True𝑇delimited-[]𝜎TrueT[\sigma]=\texttt{True}italic_T [ italic_σ ] = True and E(σ)𝐸𝜎E(\sigma)italic_E ( italic_σ ) is the set of edges incident to t𝑡titalic_t. Note that each edge in E(σ)𝐸𝜎E(\sigma)italic_E ( italic_σ ) has its head mapped by σ𝜎\sigmaitalic_σ to the point ptSsubscript𝑝𝑡𝑆p_{t}\in Sitalic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ∈ italic_S with largest y𝑦yitalic_y-coordinate.

We use dynamic programming to compute the entries of T𝑇Titalic_T and Q𝑄Qitalic_Q in increasing order of |V(Gχ)|𝑉subscript𝐺𝜒|V(G_{\chi})|| italic_V ( italic_G start_POSTSUBSCRIPT italic_χ end_POSTSUBSCRIPT ) |. By the definition of T𝑇Titalic_T, we have that G𝐺Gitalic_G admits an UPSE on S𝑆Sitalic_S if and only if ΛΛ\Lambda\neq\emptysetroman_Λ ≠ ∅.

First, we initialize all entries of T𝑇Titalic_T to False and all entries of Q𝑄Qitalic_Q to \emptyset.

If |V(Gχ)|=1𝑉subscript𝐺𝜒1|V(G_{\chi})|=1| italic_V ( italic_G start_POSTSUBSCRIPT italic_χ end_POSTSUBSCRIPT ) | = 1, then Gχsubscript𝐺𝜒G_{\chi}italic_G start_POSTSUBSCRIPT italic_χ end_POSTSUBSCRIPT only consists of s𝑠sitalic_s. We set T[χ]=True𝑇delimited-[]𝜒TrueT[\chi]=\texttt{True}italic_T [ italic_χ ] = True and Q[χ]={}𝑄delimited-[]𝜒bottomQ[\chi]=\{\bot\}italic_Q [ italic_χ ] = { ⊥ } for every key χ=i=1hei,pi,qi𝜒subscriptsuperscript𝑖1subscript𝑒𝑖subscript𝑝𝑖subscript𝑞𝑖\chi=\bigcup^{h}_{i=1}\langle e_{i},p_{i},q_{i}\rangleitalic_χ = ⋃ start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT ⟨ italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⟩ such that:

  • e1,,ehsubscript𝑒1subscript𝑒e_{1},\dots,e_{h}italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_e start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT are the edges incident to s𝑠sitalic_s;

  • p1==ph=pssubscript𝑝1subscript𝑝subscript𝑝𝑠p_{1}=\dots=p_{h}=p_{s}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = ⋯ = italic_p start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT = italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT; and

  • for every distinct i𝑖iitalic_i and j𝑗jitalic_j in {1,,h}1\{1,\dots,h\}{ 1 , … , italic_h }, we have that pssubscript𝑝𝑠p_{s}italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT, qisubscript𝑞𝑖q_{i}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, and qjsubscript𝑞𝑗q_{j}italic_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT are not aligned.

If |V(Gχ)|>1𝑉subscript𝐺𝜒1|V(G_{\chi})|>1| italic_V ( italic_G start_POSTSUBSCRIPT italic_χ end_POSTSUBSCRIPT ) | > 1, we compute T[χ]𝑇delimited-[]𝜒T[\chi]italic_T [ italic_χ ] and Q[χ]𝑄delimited-[]𝜒Q[\chi]italic_Q [ italic_χ ] as follows, see Figure 3(b). If two segments piqi¯¯subscript𝑝𝑖subscript𝑞𝑖\overline{p_{i}q_{i}}over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG and pjqj¯¯subscript𝑝𝑗subscript𝑞𝑗\overline{p_{j}q_{j}}over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_ARG, with ij𝑖𝑗i\neq jitalic_i ≠ italic_j, cross (that is, they share a point that is internal for at least one of the segments), then we leave T[χ]𝑇delimited-[]𝜒T[\chi]italic_T [ italic_χ ] and Q[χ]𝑄delimited-[]𝜒Q[\chi]italic_Q [ italic_χ ] unchanged; in particular, T[χ]=False𝑇delimited-[]𝜒FalseT[\chi]=\texttt{False}italic_T [ italic_χ ] = False and Q[χ]=𝑄delimited-[]𝜒Q[\chi]=\emptysetitalic_Q [ italic_χ ] = ∅. Otherwise, we proceed as follows. Let eτsubscript𝑒𝜏e_{\tau}italic_e start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT be any edge whose tail vτsubscript𝑣𝜏v_{\tau}italic_v start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT has maximum y𝑦yitalic_y-coordinate among the edges in E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ). Let Hsuperscript𝐻H^{-}italic_H start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT be the set of edges obtained from E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ) by removing all the edges having vτsubscript𝑣𝜏v_{\tau}italic_v start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT as their tail, and let H+superscript𝐻H^{+}italic_H start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT be the set of edges of G𝐺Gitalic_G having vτsubscript𝑣𝜏v_{\tau}italic_v start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT as their head. We define the set H:=HH+assign𝐻superscript𝐻superscript𝐻H:=H^{-}\cup H^{+}italic_H := italic_H start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT ∪ italic_H start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT. We have the following.

Refer to caption
(a)
Refer to caption
(b)
Figure 4: Illustrations for Claim 1. (a) The graphs Cssubscript𝐶𝑠C_{s}italic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT (dashed) and Ctsubscript𝐶𝑡C_{t}italic_C start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT (solid black) defined by E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ). (b) The graphs Cssubscriptsuperscript𝐶𝑠C^{\prime}_{s}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT (dashed) and Ctsubscriptsuperscript𝐶𝑡C^{\prime}_{t}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT (solid black) defined by H𝐻Hitalic_H (blue and orange edges).
Claim 1.

H𝐻Hitalic_H is an st𝑠𝑡stitalic_s italic_t-cutset of G𝐺Gitalic_G.

Proof 4.1.

Recall that, since E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ) is an st𝑠𝑡stitalic_s italic_t-cutset, removing the edges of E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ) from G𝐺Gitalic_G yields two connected components Cssubscript𝐶𝑠C_{s}italic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and Ctsubscript𝐶𝑡C_{t}italic_C start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT such that s𝑠sitalic_s belongs to Cssubscript𝐶𝑠C_{s}italic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and t𝑡titalic_t belongs to Ctsubscript𝐶𝑡C_{t}italic_C start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT; see Figure 4(a). Let Ctsubscriptsuperscript𝐶𝑡C^{\prime}_{t}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT be the graph consisting of Ctsubscript𝐶𝑡C_{t}italic_C start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT, the vertex vτsubscript𝑣𝜏v_{\tau}italic_v start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT, and the edges having vτsubscript𝑣𝜏v_{\tau}italic_v start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT as their tail (these are the edges in E(χ)H𝐸𝜒superscript𝐻E(\chi)\setminus H^{-}italic_E ( italic_χ ) ∖ italic_H start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT, which are not part of H𝐻Hitalic_H). Also, let Cssubscriptsuperscript𝐶𝑠C^{\prime}_{s}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT be the graph obtained by removing from Cssubscript𝐶𝑠C_{s}italic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT the vertex vτsubscript𝑣𝜏v_{\tau}italic_v start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT and the edges in H+superscript𝐻H^{+}italic_H start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT (i.e., these are the edges outgoing from vτsubscript𝑣𝜏v_{\tau}italic_v start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT); see Figure 4(b). We have that Cssubscriptsuperscript𝐶𝑠C^{\prime}_{s}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and Ctsubscriptsuperscript𝐶𝑡C^{\prime}_{t}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT do not share any vertex, since Cssubscript𝐶𝑠C_{s}italic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and Ctsubscript𝐶𝑡C_{t}italic_C start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT do not share any vertex, since V(Cs)V(Cs)𝑉subscriptsuperscript𝐶𝑠𝑉subscript𝐶𝑠V(C^{\prime}_{s})\subset V(C_{s})italic_V ( italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) ⊂ italic_V ( italic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) and since the only vertex in V(Ct)V(Ct)𝑉subscriptsuperscript𝐶𝑡𝑉subscript𝐶𝑡V(C^{\prime}_{t})\setminus V(C_{t})italic_V ( italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ) ∖ italic_V ( italic_C start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ) is vτsubscript𝑣𝜏v_{\tau}italic_v start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT, which does not belong to Cssubscriptsuperscript𝐶𝑠C^{\prime}_{s}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT. Moreover, by construction G=CtCsH𝐺subscriptsuperscript𝐶𝑡subscriptsuperscript𝐶𝑠𝐻G=C^{\prime}_{t}\cup C^{\prime}_{s}\cup Hitalic_G = italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ∪ italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∪ italic_H, in particular the only edges connecting vertices in Cssubscriptsuperscript𝐶𝑠C^{\prime}_{s}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT with vertices in Cssubscriptsuperscript𝐶𝑠C^{\prime}_{s}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT are those in H𝐻Hitalic_H, which have their tails in Cssubscriptsuperscript𝐶𝑠C^{\prime}_{s}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and their heads in Ctsubscriptsuperscript𝐶𝑡C^{\prime}_{t}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT. Also, we have that s𝑠sitalic_s belongs to Cssubscriptsuperscript𝐶𝑠C^{\prime}_{s}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and t𝑡titalic_t belongs to Ctsubscriptsuperscript𝐶𝑡C^{\prime}_{t}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT. To prove that H𝐻Hitalic_H is an st𝑠𝑡stitalic_s italic_t-cutset of G𝐺Gitalic_G, it only remains to argue that each of Cssubscriptsuperscript𝐶𝑠C^{\prime}_{s}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and Ctsubscriptsuperscript𝐶𝑡C^{\prime}_{t}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT is connected. Since CtCtsubscript𝐶𝑡subscriptsuperscript𝐶𝑡C_{t}\subseteq C^{\prime}_{t}italic_C start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ⊆ italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT and since Ctsubscript𝐶𝑡C_{t}italic_C start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT is connected, we have that every pair of vertices distinct from vτsubscript𝑣𝜏v_{\tau}italic_v start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT is connected by an undirected path in Ctsubscriptsuperscript𝐶𝑡C^{\prime}_{t}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT. Also, the heads of the edges outgoing from vτsubscript𝑣𝜏v_{\tau}italic_v start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT belong to Ctsubscript𝐶𝑡C_{t}italic_C start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT and, by construction, such edges belong to Ctsubscriptsuperscript𝐶𝑡C^{\prime}_{t}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT. Hence, there exists an undirected path in Ctsubscriptsuperscript𝐶𝑡C^{\prime}_{t}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT between vτsubscript𝑣𝜏v_{\tau}italic_v start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT and every vertex of Ctsubscript𝐶𝑡C_{t}italic_C start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT. Therefore, Ctsubscriptsuperscript𝐶𝑡C^{\prime}_{t}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT is connected. Suppose now, for a contradiction, that Cssubscriptsuperscript𝐶𝑠C^{\prime}_{s}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT is not connected and thus there exists a vertex v𝑣vitalic_v which is not in the same connected component as s𝑠sitalic_s in Cssubscriptsuperscript𝐶𝑠C^{\prime}_{s}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT. Since G𝐺Gitalic_G is a planar st𝑠𝑡stitalic_s italic_t-graph, it contains a directed path from s𝑠sitalic_s to v𝑣vitalic_v. If such a path does not belong entirely to Cssubscriptsuperscript𝐶𝑠C^{\prime}_{s}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT, it contains an edge which is directed from a vertex not in Cssubscriptsuperscript𝐶𝑠C^{\prime}_{s}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT to a vertex in Cssubscriptsuperscript𝐶𝑠C^{\prime}_{s}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT. Moreover, such an edge belongs to H𝐻Hitalic_H, however we already observed that all the edges in H𝐻Hitalic_H are outgoing from the vertices in Cssubscriptsuperscript𝐶𝑠C^{\prime}_{s}italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT, a contradiction.

Consider the set Ssubscript𝑆S_{\downarrow}italic_S start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT consisting of the points in S𝑆Sitalic_S whose y𝑦yitalic_y-coordinates are smaller than y(pτ)𝑦subscript𝑝𝜏y(p_{\tau})italic_y ( italic_p start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT ). We have the following crucial observation.

{observation}

T[χ]=True𝑇delimited-[]𝜒TrueT[\chi]=\texttt{True}italic_T [ italic_χ ] = True if and only if there exists some key φ𝜑\varphiitalic_φ, with E(φ)=H𝐸𝜑𝐻E(\varphi)=Hitalic_E ( italic_φ ) = italic_H, such that T[φ]=True𝑇delimited-[]𝜑TrueT[\varphi]=\texttt{True}italic_T [ italic_φ ] = True, the edges in Hsuperscript𝐻H^{-}italic_H start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT are drawn in φ𝜑\varphiitalic_φ as in χ𝜒\chiitalic_χ, the edges in H+superscript𝐻H^{+}italic_H start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT have their heads mapped by φ𝜑\varphiitalic_φ on pτsubscript𝑝𝜏p_{\tau}italic_p start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT and their tails on a point in Ssubscript𝑆S_{\downarrow}italic_S start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT.

In view of Section 4, we can now define a procedure to compute T[χ]𝑇delimited-[]𝜒T[\chi]italic_T [ italic_χ ] and Q[χ]𝑄delimited-[]𝜒Q[\chi]italic_Q [ italic_χ ]. Assume that the edges e1,,e|H|,,e|H|Hsubscript𝑒1subscript𝑒superscript𝐻subscript𝑒𝐻𝐻e_{1},\dots,e_{|H^{-}|},\dots,e_{|H|}\in Hitalic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_e start_POSTSUBSCRIPT | italic_H start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT | end_POSTSUBSCRIPT , … , italic_e start_POSTSUBSCRIPT | italic_H | end_POSTSUBSCRIPT ∈ italic_H are ordered so that the edges of Hsuperscript𝐻H^{-}italic_H start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT precede those of H+superscript𝐻H^{+}italic_H start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT. By Section 4, if |S|<|H+|subscript𝑆superscript𝐻|S_{\downarrow}|<|H^{+}|| italic_S start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT | < | italic_H start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT |, then we leave T[χ]𝑇delimited-[]𝜒T[\chi]italic_T [ italic_χ ] and Q[χ]𝑄delimited-[]𝜒Q[\chi]italic_Q [ italic_χ ] unchanged, i.e., T[χ]=False𝑇delimited-[]𝜒FalseT[\chi]=\texttt{False}italic_T [ italic_χ ] = False and Q[χ]=𝑄delimited-[]𝜒Q[\chi]=\emptysetitalic_Q [ italic_χ ] = ∅. In fact, in this case, there are not enough points in Ssubscript𝑆S_{\downarrow}italic_S start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT to map the tails of the edges in H+superscript𝐻H^{+}italic_H start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT. Otherwise, let D𝐷Ditalic_D be the set of all permutations with repetitions of |H+|superscript𝐻|H^{+}|| italic_H start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT | points from Ssubscript𝑆S_{\downarrow}italic_S start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT. We define a set ΦΦ\Phiroman_Φ of keys that, for each (d1,,d|H+|)Dsubscript𝑑1subscript𝑑superscript𝐻𝐷(d_{1},\dots,d_{|H^{+}|})\in D( italic_d start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_d start_POSTSUBSCRIPT | italic_H start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT | end_POSTSUBSCRIPT ) ∈ italic_D, contains a key φ𝜑\varphiitalic_φ such that:

  1. (i)

    E(φ)=H𝐸𝜑𝐻E(\varphi)=Hitalic_E ( italic_φ ) = italic_H;

  2. (ii)

    for any i=1,,|H|𝑖1superscript𝐻i=1,\dots,|H^{-}|italic_i = 1 , … , | italic_H start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT |, the triple containing eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT in φ𝜑\varphiitalic_φ is the same as the triple containing eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT in χ𝜒\chiitalic_χ (note that eiHsubscript𝑒𝑖superscript𝐻e_{i}\in H^{-}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_H start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT);

  3. (iii)

    for any j=|H|+1,,|H|𝑗superscript𝐻1𝐻j=|H^{-}|+1,\dots,|H|italic_j = | italic_H start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT | + 1 , … , | italic_H |, the triple containing ejsubscript𝑒𝑗e_{j}italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT in φ𝜑\varphiitalic_φ has qj=pτsubscript𝑞𝑗subscript𝑝𝜏q_{j}=p_{\tau}italic_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = italic_p start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT, and pj=dj|H|subscript𝑝𝑗subscript𝑑𝑗superscript𝐻p_{j}=d_{j-|H^{-}|}italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = italic_d start_POSTSUBSCRIPT italic_j - | italic_H start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT | end_POSTSUBSCRIPT (note that ejH+subscript𝑒𝑗superscript𝐻e_{j}\in H^{+}italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∈ italic_H start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT); and

  4. (iv)

    for every i=1,,|H|𝑖1superscript𝐻i=1,\dots,|H^{-}|italic_i = 1 , … , | italic_H start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT | and j=|H|+1,,|H|𝑗superscript𝐻1𝐻j=|H^{-}|+1,\dots,|H|italic_j = | italic_H start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT | + 1 , … , | italic_H |, it holds pi=pjsubscript𝑝𝑖subscript𝑝𝑗p_{i}=p_{j}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT if and only if eisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and ejsubscript𝑒𝑗e_{j}italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT have the same tail.

Let ΦT={φ:φΦT[φ]=True}superscriptΦTconditional-set𝜑𝜑Φ𝑇delimited-[]𝜑True\Phi^{\texttt{T}}=\{\varphi:\varphi\in\Phi\wedge\ T[\varphi]=\texttt{True}\}roman_Φ start_POSTSUPERSCRIPT T end_POSTSUPERSCRIPT = { italic_φ : italic_φ ∈ roman_Φ ∧ italic_T [ italic_φ ] = True }. By Section 4, we have T[χ]=True𝑇delimited-[]𝜒TrueT[\chi]=\texttt{True}italic_T [ italic_χ ] = True if and only if |ΦT|1superscriptΦT1|\Phi^{\texttt{T}}|\geq 1| roman_Φ start_POSTSUPERSCRIPT T end_POSTSUPERSCRIPT | ≥ 1. Thus, we set T[χ]=φΦT[φ]𝑇delimited-[]𝜒subscript𝜑Φ𝑇delimited-[]𝜑T[\chi]=\bigvee_{\varphi\in\Phi}T[\varphi]italic_T [ italic_χ ] = ⋁ start_POSTSUBSCRIPT italic_φ ∈ roman_Φ end_POSTSUBSCRIPT italic_T [ italic_φ ] and Q[χ]=ΦT𝑄delimited-[]𝜒superscriptΦTQ[\chi]=\Phi^{\texttt{T}}italic_Q [ italic_χ ] = roman_Φ start_POSTSUPERSCRIPT T end_POSTSUPERSCRIPT. We say that χ𝜒\chiitalic_χ stems from any key φΦ𝜑Φ\varphi\in\Phiitalic_φ ∈ roman_Φ with T[φ]=True𝑇delimited-[]𝜑TrueT[\varphi]=\texttt{True}italic_T [ italic_φ ] = True.

We now upper bound the sizes of T𝑇Titalic_T and Q𝑄Qitalic_Q and the time needed to compute them.

Claim 2.

Tables T𝑇Titalic_T and Q𝑄Qitalic_Q have size in 𝒪(n3k)𝒪superscript𝑛3𝑘\mathcal{O}(n^{3k})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 3 italic_k end_POSTSUPERSCRIPT ) and 𝒪(kn4klogn)𝒪𝑘superscript𝑛4𝑘𝑛\mathcal{O}(kn^{4k}\log n)caligraphic_O ( italic_k italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT roman_log italic_n ), respectively.

Proof 4.2.

First, we give an upper bound on the number of entries of T𝑇Titalic_T (and, thus, of Q𝑄Qitalic_Q), which we denote by ρ𝜌\rhoitalic_ρ. Each entry of T𝑇Titalic_T is associated with a key χ𝜒\chiitalic_χ defined by an st𝑠𝑡stitalic_s italic_t-cutset E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ) of size at most hk𝑘h\leq kitalic_h ≤ italic_k, a permutation (possibly with repetitions) of hhitalic_h points in S𝑆Sitalic_S describing a mapping of the tails of the edges in E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ) with points in S𝑆Sitalic_S, and a permutation (possibly with repetitions) of hhitalic_h points in S𝑆Sitalic_S describing a mapping of the heads of the edges in E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ) with points in S𝑆Sitalic_S. Recall that |S|=n𝑆𝑛|S|=n| italic_S | = italic_n, that (ab)abbinomial𝑎𝑏superscript𝑎𝑏\binom{a}{b}\leq a^{b}( FRACOP start_ARG italic_a end_ARG start_ARG italic_b end_ARG ) ≤ italic_a start_POSTSUPERSCRIPT italic_b end_POSTSUPERSCRIPT, and that the number of permutations with repetition of hhitalic_h elements from a set U𝑈Uitalic_U is |U|hsuperscript𝑈|U|^{h}| italic_U | start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT. Therefore, we have that ρ(mk)nknk(mn2)k𝜌binomial𝑚𝑘superscript𝑛𝑘superscript𝑛𝑘superscript𝑚superscript𝑛2𝑘\rho\leq\binom{m}{k}\cdot n^{k}\cdot n^{k}\leq(mn^{2})^{k}italic_ρ ≤ ( FRACOP start_ARG italic_m end_ARG start_ARG italic_k end_ARG ) ⋅ italic_n start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ⋅ italic_n start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ≤ ( italic_m italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT. Since m𝒪(n)𝑚𝒪𝑛m\in\mathcal{O}(n)italic_m ∈ caligraphic_O ( italic_n ), we thus have ρ𝒪(n3k)𝜌𝒪superscript𝑛3𝑘\rho\in\mathcal{O}(n^{3k})italic_ρ ∈ caligraphic_O ( italic_n start_POSTSUPERSCRIPT 3 italic_k end_POSTSUPERSCRIPT ).

We can now upper bound the size of T𝑇Titalic_T and Q𝑄Qitalic_Q. Since each entry of T𝑇Titalic_T stores a single bit, we immediately have that T𝑇Titalic_T has 𝒪(n3k)𝒪superscript𝑛3𝑘\mathcal{O}(n^{3k})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 3 italic_k end_POSTSUPERSCRIPT ) size. Instead, each entry of table Q𝑄Qitalic_Q stores 𝒪(nk)𝒪superscript𝑛𝑘\mathcal{O}(n^{k})caligraphic_O ( italic_n start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ) keys of size 𝒪(klogn)𝒪𝑘𝑛\mathcal{O}(k\log n)caligraphic_O ( italic_k roman_log italic_n ); thus, Q𝑄Qitalic_Q has 𝒪(kn4klogn)𝒪𝑘superscript𝑛4𝑘𝑛\mathcal{O}(kn^{4k}\log n)caligraphic_O ( italic_k italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT roman_log italic_n ) size. The upper bound on the number of keys comes from the number of ways to map the tails of the at most k𝑘kitalic_k edges incoming into vτsubscript𝑣𝜏v_{\tau}italic_v start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT on the points of S𝑆Sitalic_S, which has size n𝑛nitalic_n; this number is (nk)𝒪(nk)binomial𝑛𝑘𝒪superscript𝑛𝑘\binom{n}{k}\in\mathcal{O}(n^{k})( FRACOP start_ARG italic_n end_ARG start_ARG italic_k end_ARG ) ∈ caligraphic_O ( italic_n start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ). The upper bound on the size of each key comes from the fact that it consists of at most k𝑘kitalic_k triplets each containing an identifier of 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ) edges and two identifiers of 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ) points.

Claim 3.

Table T𝑇Titalic_T and Q𝑄Qitalic_Q can be computed in 𝒪(n4k)𝒪superscript𝑛4𝑘\mathcal{O}(n^{4k})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT ) and 𝒪(kn4klogn)𝒪𝑘superscript𝑛4𝑘𝑛\mathcal{O}(kn^{4k}\log n)caligraphic_O ( italic_k italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT roman_log italic_n ) time, respectively.

Proof 4.3.

We determine the time needed to compute, for each key χ𝜒\chiitalic_χ, the value T[χ]𝑇delimited-[]𝜒T[\chi]italic_T [ italic_χ ] and Q[χ]𝑄delimited-[]𝜒Q[\chi]italic_Q [ italic_χ ]. For each key χ𝜒\chiitalic_χ, we need to verify whether the hhitalic_h segments piqi¯¯subscript𝑝𝑖subscript𝑞𝑖\overline{p_{i}q_{i}}over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG intersect at a point different from a common endpoint, which can be tested in 𝒪(klogk)𝒪𝑘𝑘\mathcal{O}(k\log k)caligraphic_O ( italic_k roman_log italic_k ) time [31]. Moreover, if |V(Gχ)|>1𝑉subscript𝐺𝜒1|V(G_{\chi})|>1| italic_V ( italic_G start_POSTSUBSCRIPT italic_χ end_POSTSUBSCRIPT ) | > 1, computing T[χ]𝑇delimited-[]𝜒T[\chi]italic_T [ italic_χ ] requires accessing the value of up to |S||H+|<nksuperscriptsubscript𝑆superscript𝐻superscript𝑛𝑘|S_{\downarrow}|^{|H^{+}|}<n^{k}| italic_S start_POSTSUBSCRIPT ↓ end_POSTSUBSCRIPT | start_POSTSUPERSCRIPT | italic_H start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT | end_POSTSUPERSCRIPT < italic_n start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT entries of T𝑇Titalic_T, and verifying whether at least one of them contains the value True. Since n>k𝑛𝑘n>kitalic_n > italic_k, the 𝒪(klogk)𝒪𝑘𝑘\mathcal{O}(k\log k)caligraphic_O ( italic_k roman_log italic_k ) term in the running time is dominated by the 𝒪(nk)𝒪superscript𝑛𝑘\mathcal{O}(n^{k})caligraphic_O ( italic_n start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ) term, hence the time needed to compute each entry T[χ]𝑇delimited-[]𝜒T[\chi]italic_T [ italic_χ ] is thus 𝒪(nk)𝒪superscript𝑛𝑘\mathcal{O}(n^{k})caligraphic_O ( italic_n start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ). Since, by Claim 2, there are 𝒪(n3k)𝒪superscript𝑛3𝑘\mathcal{O}(n^{3k})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 3 italic_k end_POSTSUPERSCRIPT ) keys χ𝜒\chiitalic_χ, it follows that T𝑇Titalic_T can be computed in overall 𝒪(n4k)𝒪superscript𝑛4𝑘\mathcal{O}(n^{4k})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT ) time. On the other hand, the time needed to compute each entry Q[χ]𝑄delimited-[]𝜒Q[\chi]italic_Q [ italic_χ ] is upper bounded by the time needed to write the 𝒪(nk)𝒪superscript𝑛𝑘\mathcal{O}(n^{k})caligraphic_O ( italic_n start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ) keys contained in Q[χ]𝑄delimited-[]𝜒Q[\chi]italic_Q [ italic_χ ], each of which has 𝒪(klogn)𝒪𝑘𝑛\mathcal{O}(k\log n)caligraphic_O ( italic_k roman_log italic_n ) size, i.e., 𝒪(knklogn)𝒪𝑘superscript𝑛𝑘𝑛\mathcal{O}(kn^{k}\log{n})caligraphic_O ( italic_k italic_n start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT roman_log italic_n ) time per entry. It follows that Q𝑄Qitalic_Q can be computed in overall 𝒪(kn4klogn)𝒪𝑘superscript𝑛4𝑘𝑛\mathcal{O}(kn^{4k}\log{n})caligraphic_O ( italic_k italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT roman_log italic_n ) time.

Finally, recall that in order to verify whether G𝐺Gitalic_G admits an UPSE on S𝑆Sitalic_S, we need to check whether ΛΛ\Lambda\neq\emptysetroman_Λ ≠ ∅. Computing the maximum size of an st𝑠𝑡stitalic_s italic_t-cutset of a planar st𝑠𝑡stitalic_s italic_t-graph G𝐺Gitalic_G can be done in linear time, as it reduces to the problem of computing the length of a shortest path in the dual of any embedding of G𝐺Gitalic_G (between the vertices representing the left and right outer faces of this embedding) [12, 14]. Therefore, the overall running time to test whether G𝐺Gitalic_G admits an UPSE on S𝑆Sitalic_S is dominated by the time needed to compute T𝑇Titalic_T, that is, 𝒪(n4k)𝒪superscript𝑛4𝑘\mathcal{O}(n^{4k})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT ) time.

To obtain an UPSE ΓΓ\Gammaroman_Γ of G𝐺Gitalic_G on S𝑆Sitalic_S, if any, we proceed as follows. Suppose that the algorithm terminates with a positive answer and let σ𝜎\sigmaitalic_σ be any key in ΛΛ\Lambdaroman_Λ. We initialize ΓΓ\Gammaroman_Γ to a drawing of the edges in E(σ)𝐸𝜎E(\sigma)italic_E ( italic_σ ), where each edge eiE(σ)subscript𝑒𝑖𝐸𝜎e_{i}\in E(\sigma)italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_E ( italic_σ ) is drawn as in σ𝜎\sigmaitalic_σ. Then, in 𝒪(nk)𝒪superscript𝑛𝑘\mathcal{O}(n^{k})caligraphic_O ( italic_n start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ) time, we can search in T𝑇Titalic_T a key χ𝜒\chiitalic_χ with T[χ]=True𝑇delimited-[]𝜒TrueT[\chi]=\texttt{True}italic_T [ italic_χ ] = True such that σ𝜎\sigmaitalic_σ stems from χ𝜒\chiitalic_χ, and update ΓΓ\Gammaroman_Γ to include a drawing of the edges in E(χ)E(σ)𝐸𝜒𝐸𝜎E(\chi)\setminus E(\sigma)italic_E ( italic_χ ) ∖ italic_E ( italic_σ ), where each edge eiE(χ)E(σ)subscript𝑒𝑖𝐸𝜒𝐸𝜎e_{i}\in E(\chi)\setminus E(\sigma)italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_E ( italic_χ ) ∖ italic_E ( italic_σ ) is drawn as in χ𝜒\chiitalic_χ; note that the edges in E(χ)E(σ)𝐸𝜒𝐸𝜎E(\chi)\cap E(\sigma)italic_E ( italic_χ ) ∩ italic_E ( italic_σ ) are drawn in χ𝜒\chiitalic_χ as they are drawn in σ𝜎\sigmaitalic_σ. Iteratively apply such a procedure until a key α𝛼\alphaitalic_α is reached such that T[α]=True𝑇delimited-[]𝛼TrueT[\alpha]=\texttt{True}italic_T [ italic_α ] = True and E(α)𝐸𝛼E(\alpha)italic_E ( italic_α ) is the set of edges incident to s𝑠sitalic_s. This yields the desired UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S. As the depth of the recursion is linear in the size of G𝐺Gitalic_G, we can therefore compute ΓΓ\Gammaroman_Γ in 𝒪(nk+1)𝒪superscript𝑛𝑘1\mathcal{O}(n^{k+1})caligraphic_O ( italic_n start_POSTSUPERSCRIPT italic_k + 1 end_POSTSUPERSCRIPT ) time.

From the above discussion, we have the following theorem.

Theorem 4.4.

Let G𝐺Gitalic_G be an n𝑛nitalic_n-vertex planar st𝑠𝑡stitalic_s italic_t-graph whose maximum st𝑠𝑡stitalic_s italic_t-cutset has size k𝑘kitalic_k and let S𝑆Sitalic_S be a set of n𝑛nitalic_n points. UPSE Testing can be solved for (G,S)𝐺𝑆(G,S)( italic_G , italic_S ) in 𝒪(n4k)𝒪superscript𝑛4𝑘\mathcal{O}{(n^{4k})}caligraphic_O ( italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT ) time and 𝒪(n3k)𝒪superscript𝑛3𝑘\mathcal{O}{(n^{3k})}caligraphic_O ( italic_n start_POSTSUPERSCRIPT 3 italic_k end_POSTSUPERSCRIPT ) space; if an UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S exists, it can be constructed within the same bounds.

We now turn our attention to the design of an algorithm for the enumeration of the UPSEs of G𝐺Gitalic_G on S𝑆Sitalic_S. The algorithm exploits the table Q𝑄Qitalic_Q and the set ΛΛ\Lambdaroman_Λ. By Claims 2 and 3, these can be computed in 𝒪(kn4klogn)𝒪𝑘superscript𝑛4𝑘𝑛\mathcal{O}(kn^{4k}\log{n})caligraphic_O ( italic_k italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT roman_log italic_n ) time and space. Our enumeration algorithm defines and explores an acyclic digraph 𝒟𝒟\mathcal{D}caligraphic_D. The nodes of the digraph correspond to the keys χ𝜒\chiitalic_χ of the dynamic programming table Q𝑄Qitalic_Q such that Q[χ]𝑄delimited-[]𝜒Q[\chi]\neq\emptysetitalic_Q [ italic_χ ] ≠ ∅, plus a source n𝒮subscript𝑛𝒮n_{\cal S}italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT and a sink n𝒯subscript𝑛𝒯n_{\cal T}italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT. Let χisubscript𝜒𝑖\chi_{i}italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and χjsubscript𝜒𝑗\chi_{j}italic_χ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT be two keys of Q𝑄Qitalic_Q such that Q[χi]𝑄delimited-[]subscript𝜒𝑖Q[\chi_{i}]\neq\emptysetitalic_Q [ italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] ≠ ∅ and Q[χj]𝑄delimited-[]subscript𝜒𝑗Q[\chi_{j}]\neq\emptysetitalic_Q [ italic_χ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ] ≠ ∅, and let n(χi)𝑛subscript𝜒𝑖n(\chi_{i})italic_n ( italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) and n(χj)𝑛subscript𝜒𝑗n(\chi_{j})italic_n ( italic_χ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) be the nodes corresponding to χisubscript𝜒𝑖\chi_{i}italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and χjsubscript𝜒𝑗\chi_{j}italic_χ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT in 𝒟𝒟\mathcal{D}caligraphic_D, respectively. There exists an edge directed from n(χi)𝑛subscript𝜒𝑖n(\chi_{i})italic_n ( italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) to n(χj)𝑛subscript𝜒𝑗n(\chi_{j})italic_n ( italic_χ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) in 𝒟𝒟\mathcal{D}caligraphic_D if χjQ[χi]subscript𝜒𝑗𝑄delimited-[]subscript𝜒𝑖\chi_{j}\in Q[\chi_{i}]italic_χ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∈ italic_Q [ italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ]. Also, there exists an edge directed from n𝒮subscript𝑛𝒮n_{\cal S}italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT to each node n(σ)𝑛𝜎n(\sigma)italic_n ( italic_σ ) such that σΛ𝜎Λ\sigma\in\Lambdaitalic_σ ∈ roman_Λ. Finally, there exists an edge directed to n𝒯subscript𝑛𝒯n_{\cal T}italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT from each node n(χ)𝑛𝜒n(\chi)italic_n ( italic_χ ) such that Q[χ]={}𝑄delimited-[]𝜒bottomQ[\chi]=\{\bot\}italic_Q [ italic_χ ] = { ⊥ }. Note that n𝒮subscript𝑛𝒮n_{\cal S}italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT is the unique source of 𝒟𝒟\mathcal{D}caligraphic_D, n𝒯subscript𝑛𝒯n_{\cal T}italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT is the unique sink of 𝒟𝒟\mathcal{D}caligraphic_D, and 𝒟𝒟\mathcal{D}caligraphic_D has no directed cycle. Hence, 𝒟𝒟\mathcal{D}caligraphic_D is an n𝒮n𝒯subscript𝑛𝒮subscript𝑛𝒯n_{\cal S}n_{\cal T}italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT-graph.

The exploration of 𝒟𝒟\mathcal{D}caligraphic_D performed by our enumeration algorithm is a depth-first traversal, in which every distinct path from n𝒮subscript𝑛𝒮n_{\cal S}italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT to n𝒯subscript𝑛𝒯n_{\cal T}italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT corresponds to an UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S. We initialize a current UPSE ΓΓ\Gammaroman_Γ of G𝐺Gitalic_G on S𝑆Sitalic_S as Γ=SΓ𝑆\Gamma=Sroman_Γ = italic_S (where no edge of G𝐺Gitalic_G is drawn). When the visit traverses an edge of 𝒟𝒟\mathcal{D}caligraphic_D directed from a node n(χi)𝑛subscript𝜒𝑖n(\chi_{i})italic_n ( italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) to a node n(χj)𝑛subscript𝜒𝑗n(\chi_{j})italic_n ( italic_χ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ), it adds to ΓΓ\Gammaroman_Γ the edges in E(χj)E(χi)𝐸subscript𝜒𝑗𝐸subscript𝜒𝑖E(\chi_{j})\setminus E(\chi_{i})italic_E ( italic_χ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ∖ italic_E ( italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ), drawn as in χjsubscript𝜒𝑗\chi_{j}italic_χ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. Note that these are all the edges in E(χj)𝐸subscript𝜒𝑗E(\chi_{j})italic_E ( italic_χ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) if n(χi)=n𝒮𝑛subscript𝜒𝑖subscript𝑛𝒮n(\chi_{i})=n_{\cal S}italic_n ( italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT and it is an empty set if n(χj)=n𝒯𝑛subscript𝜒𝑗subscript𝑛𝒯n(\chi_{j})=n_{\cal T}italic_n ( italic_χ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) = italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT. Whenever the traversal reaches n𝒯subscript𝑛𝒯n_{\cal T}italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT, it outputs the constructed UPSE ΓΓ\Gammaroman_Γ of G𝐺Gitalic_G on S𝑆Sitalic_S. When the visit backtracks on a node n(χi)𝑛subscript𝜒𝑖n(\chi_{i})italic_n ( italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) coming from an edge (n(χi),n(χj))𝑛subscript𝜒𝑖𝑛subscript𝜒𝑗(n(\chi_{i}),n(\chi_{j}))( italic_n ( italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) , italic_n ( italic_χ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ), it removes from ΓΓ\Gammaroman_Γ the edges in E(χj)E(χi)𝐸subscript𝜒𝑗𝐸subscript𝜒𝑖E(\chi_{j})\setminus E(\chi_{i})italic_E ( italic_χ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ∖ italic_E ( italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ).

To prove the correctness of the algorithm, we show what follows:

  1. (i)

    Distinct n𝒮n𝒯subscript𝑛𝒮subscript𝑛𝒯n_{\cal S}n_{\cal T}italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT-paths in 𝒟𝒟\mathcal{D}caligraphic_D correspond to different UPSEs of G𝐺Gitalic_G on S𝑆Sitalic_S.

  2. (ii)

    For each UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S, there exists in 𝒟𝒟\mathcal{D}caligraphic_D an n𝒮n𝒯subscript𝑛𝒮subscript𝑛𝒯n_{\cal S}n_{\cal T}italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT-path corresponding to it.

For a directed path 𝒫𝒫\mathcal{P}caligraphic_P in 𝒟𝒟\mathcal{D}caligraphic_D, let E(𝒫)𝐸𝒫E(\mathcal{P})italic_E ( caligraphic_P ) be the set that contains all the edges in the sets E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ), where χ𝜒\chiitalic_χ is any key corresponding to a node in 𝒫𝒫\mathcal{P}caligraphic_P.

  • To prove Item i, we proceed by contradiction. Let ΓΓ\Gammaroman_Γ be an UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S that is generated twice by the algorithm, when traversing distinct n𝒮n𝒯subscript𝑛𝒮subscript𝑛𝒯n_{\cal S}n_{\cal T}italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT-paths 𝒫1subscript𝒫1\mathcal{P}_{1}caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and 𝒫2subscript𝒫2\mathcal{P}_{2}caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Let n(χx)𝑛subscript𝜒𝑥n(\chi_{x})italic_n ( italic_χ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ) be the closest node to n𝒮subscript𝑛𝒮n_{\mathcal{S}}italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT in 𝒫1subscript𝒫1\mathcal{P}_{1}caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and 𝒫2subscript𝒫2\mathcal{P}_{2}caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT such that (n(χx),n(χ1))𝑛subscript𝜒𝑥𝑛subscript𝜒1(n(\chi_{x}),n(\chi_{1}))( italic_n ( italic_χ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ) , italic_n ( italic_χ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ) is an edge in 𝒫1subscript𝒫1\mathcal{P}_{1}caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and (n(χx),n(χ2))𝑛subscript𝜒𝑥𝑛subscript𝜒2(n(\chi_{x}),n(\chi_{2}))( italic_n ( italic_χ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ) , italic_n ( italic_χ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ) is an edge in 𝒫2subscript𝒫2\mathcal{P}_{2}caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, with n(χ1)n(χ2)𝑛subscript𝜒1𝑛subscript𝜒2n(\chi_{1})\neq n(\chi_{2})italic_n ( italic_χ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ≠ italic_n ( italic_χ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), where χxsubscript𝜒𝑥\chi_{x}italic_χ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT, χ1subscript𝜒1\chi_{1}italic_χ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, and χ2subscript𝜒2\chi_{2}italic_χ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are keys of Q𝑄Qitalic_Q. Note that, since the path 𝒫xsubscript𝒫𝑥\mathcal{P}_{x}caligraphic_P start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT from n𝒮subscript𝑛𝒮n_{\mathcal{S}}italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT to n(χx)𝑛subscript𝜒𝑥n(\chi_{x})italic_n ( italic_χ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ) (possibly such a path is a single node if n𝒮=n(χx)subscript𝑛𝒮𝑛subscript𝜒𝑥n_{\mathcal{S}}=n(\chi_{x})italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT = italic_n ( italic_χ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT )) is the same in 𝒫1subscript𝒫1\mathcal{P}_{1}caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and 𝒫2subscript𝒫2\mathcal{P}_{2}caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, the restriction ΓxsubscriptΓ𝑥\Gamma_{x}roman_Γ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT of ΓΓ\Gammaroman_Γ to the edge set E(𝒫x)𝐸subscript𝒫𝑥E(\mathcal{P}_{x})italic_E ( caligraphic_P start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ) is also the same in 𝒫1subscript𝒫1\mathcal{P}_{1}caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and 𝒫2subscript𝒫2\mathcal{P}_{2}caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Hence, the tail vχxsubscript𝑣subscript𝜒𝑥v_{\chi_{x}}italic_v start_POSTSUBSCRIPT italic_χ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUBSCRIPT with largest y𝑦yitalic_y-coordinate of an edge in E(χx)𝐸subscript𝜒𝑥E(\chi_{x})italic_E ( italic_χ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ) is uniquely defined by ΓxsubscriptΓ𝑥\Gamma_{x}roman_Γ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT. This implies that the edge sets E(χ1)𝐸subscript𝜒1E(\chi_{1})italic_E ( italic_χ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and E(χ2)𝐸subscript𝜒2E(\chi_{2})italic_E ( italic_χ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) coincide, as they are both obtained from E(χx)𝐸subscript𝜒𝑥E(\chi_{x})italic_E ( italic_χ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ) by replacing the edges outgoing from vχxsubscript𝑣subscript𝜒𝑥v_{\chi_{x}}italic_v start_POSTSUBSCRIPT italic_χ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUBSCRIPT with the edges incoming into vχxsubscript𝑣subscript𝜒𝑥v_{\chi_{x}}italic_v start_POSTSUBSCRIPT italic_χ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUBSCRIPT in G𝐺Gitalic_G. Since E(χ1)=E(χ2)𝐸subscript𝜒1𝐸subscript𝜒2E(\chi_{1})=E(\chi_{2})italic_E ( italic_χ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) = italic_E ( italic_χ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) and χ1χ2subscript𝜒1subscript𝜒2\chi_{1}\neq\chi_{2}italic_χ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≠ italic_χ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, it follows that χ1subscript𝜒1\chi_{1}italic_χ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and χ2subscript𝜒2\chi_{2}italic_χ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT must differ in the way such keys map the tails of the edges incoming into vχxsubscript𝑣subscript𝜒𝑥v_{\chi_{x}}italic_v start_POSTSUBSCRIPT italic_χ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUBSCRIPT to the points of S𝑆Sitalic_S. Then the UPSEs yielded by 𝒫1subscript𝒫1\mathcal{P}_{1}caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and 𝒫2subscript𝒫2\mathcal{P}_{2}caligraphic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are different, a contradiction.

  • To prove Item ii, we show that, if there exists an UPSE ΓΓ\Gammaroman_Γ of G𝐺Gitalic_G on S𝑆Sitalic_S, then there exists a path in 𝒟𝒟\mathcal{D}caligraphic_D from n𝒮subscript𝑛𝒮n_{\mathcal{S}}italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT to n𝒯subscript𝑛𝒯n_{\mathcal{T}}italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT that yields ΓΓ\Gammaroman_Γ. For i=1,,n𝑖1𝑛i=1,\dots,nitalic_i = 1 , … , italic_n, let Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT be the set that consists of the lowest i𝑖iitalic_i points of S𝑆Sitalic_S. Also, for i=1,,n1𝑖1𝑛1i=1,\dots,n-1italic_i = 1 , … , italic_n - 1, let ΓisubscriptΓ𝑖\Gamma_{i}roman_Γ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT be the restriction of ΓΓ\Gammaroman_Γ to the vertices of G𝐺Gitalic_G mapped to Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and to all their incident edges, including those whose other end-vertex is not in Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. We claim that there exists a path 𝒫isubscript𝒫𝑖\mathcal{P}_{i}caligraphic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT in 𝒟𝒟\mathcal{D}caligraphic_D that starts from a node nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and ends at n𝒯subscript𝑛𝒯n_{\mathcal{T}}italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT such that: (1) the set E(𝒫i)𝐸subscript𝒫𝑖E(\mathcal{P}_{i})italic_E ( caligraphic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) coincides with the set of edges that are embedded in ΓisubscriptΓ𝑖\Gamma_{i}roman_Γ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT; (2) the embedding of the edges in E(𝒫i)𝐸subscript𝒫𝑖E(\mathcal{P}_{i})italic_E ( caligraphic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) defined by the keys χ𝜒\chiitalic_χ corresponding to nodes in 𝒫isubscript𝒫𝑖\mathcal{P}_{i}caligraphic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is the same as in ΓisubscriptΓ𝑖\Gamma_{i}roman_Γ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT; and (3) let χisubscript𝜒𝑖\chi_{i}italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT be the key corresponding to nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, then E(χi)𝐸subscript𝜒𝑖E(\chi_{i})italic_E ( italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) contains all and only the edges e𝑒eitalic_e of G𝐺Gitalic_G such that an end-vertex of e𝑒eitalic_e is mapped by ΓΓ\Gammaroman_Γ to a point in Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and the other end-vertex of e𝑒eitalic_e is mapped by ΓΓ\Gammaroman_Γ to a point not in Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. The claim implies Item ii, as when i=n1𝑖𝑛1i=n-1italic_i = italic_n - 1, we have that E(𝒫n1)𝐸subscript𝒫𝑛1E(\mathcal{P}_{n-1})italic_E ( caligraphic_P start_POSTSUBSCRIPT italic_n - 1 end_POSTSUBSCRIPT ) is the edge set of G𝐺Gitalic_G, by (1), and that the embedding of the edges in E(𝒫n1)𝐸subscript𝒫𝑛1E(\mathcal{P}_{n-1})italic_E ( caligraphic_P start_POSTSUBSCRIPT italic_n - 1 end_POSTSUBSCRIPT ) defined by the keys χ𝜒\chiitalic_χ corresponding to nodes in 𝒫n1subscript𝒫𝑛1\mathcal{P}_{n-1}caligraphic_P start_POSTSUBSCRIPT italic_n - 1 end_POSTSUBSCRIPT is ΓΓ\Gammaroman_Γ, by (2), hence (n𝒮,χn1)𝒫n1subscript𝑛𝒮subscript𝜒𝑛1subscript𝒫𝑛1(n_{\mathcal{S}},\chi_{n-1})\cup\mathcal{P}_{n-1}( italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT , italic_χ start_POSTSUBSCRIPT italic_n - 1 end_POSTSUBSCRIPT ) ∪ caligraphic_P start_POSTSUBSCRIPT italic_n - 1 end_POSTSUBSCRIPT is the desired path from n𝒮subscript𝑛𝒮n_{\mathcal{S}}italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT to n𝒯subscript𝑛𝒯n_{\mathcal{T}}italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT that yields ΓΓ\Gammaroman_Γ.

    In order to prove the claim, we proceed by induction. In the base case, we have i=1𝑖1i=1italic_i = 1, hence S1subscript𝑆1S_{1}italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT consists only of the point pssubscript𝑝𝑠p_{s}italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and Γ1subscriptΓ1\Gamma_{1}roman_Γ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is the restriction of ΓΓ\Gammaroman_Γ to all the edges incident to s𝑠sitalic_s. Since ΓΓ\Gammaroman_Γ is an UPSE, Γ1subscriptΓ1\Gamma_{1}roman_Γ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is an embedding of such edges in which s𝑠sitalic_s lies on pssubscript𝑝𝑠p_{s}italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and any two heads of such edges are not aligned with pssubscript𝑝𝑠p_{s}italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT. Hence, by construction, there is a key χ𝜒\chiitalic_χ such that E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ) consists of the set of edges incident to s𝑠sitalic_s, such that Q[χ]={}𝑄delimited-[]𝜒bottomQ[\chi]=\{\bot\}italic_Q [ italic_χ ] = { ⊥ }, and such that the embedding of the edges in E(χ)𝐸𝜒E(\chi)italic_E ( italic_χ ) on S𝑆Sitalic_S defined by χ𝜒\chiitalic_χ is Γ1subscriptΓ1\Gamma_{1}roman_Γ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. It follows that 𝒟𝒟\mathcal{D}caligraphic_D contains a node n(χ)𝑛𝜒n(\chi)italic_n ( italic_χ ) corresponding to χ𝜒\chiitalic_χ, and thus a path 𝒫1=(n(χ),n𝒯)subscript𝒫1𝑛𝜒subscript𝑛𝒯\mathcal{P}_{1}=(n(\chi),n_{\mathcal{T}})caligraphic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = ( italic_n ( italic_χ ) , italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT ) with the properties required by the claim.

    For the inductive case, we have i>1𝑖1i>1italic_i > 1. Let pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT be the point of Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT with highest y𝑦yitalic_y-coordinate and let visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT be the vertex of G𝐺Gitalic_G mapped to pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT by ΓΓ\Gammaroman_Γ. By induction, there exists a path 𝒫i1subscript𝒫𝑖1\mathcal{P}_{i-1}caligraphic_P start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT in 𝒟𝒟\mathcal{D}caligraphic_D that starts from a node ni1subscript𝑛𝑖1n_{i-1}italic_n start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT and ends at n𝒯subscript𝑛𝒯n_{\mathcal{T}}italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT such that: (1) the set E(𝒫i1)𝐸subscript𝒫𝑖1E(\mathcal{P}_{i-1})italic_E ( caligraphic_P start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ) is the set of edges embedded in Γi1subscriptΓ𝑖1\Gamma_{i-1}roman_Γ start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT; (2) the embedding of the edges in E(𝒫i1)𝐸subscript𝒫𝑖1E(\mathcal{P}_{i-1})italic_E ( caligraphic_P start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ) defined by the keys corresponding to nodes in 𝒫i1subscript𝒫𝑖1\mathcal{P}_{i-1}caligraphic_P start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT defines Γi1subscriptΓ𝑖1\Gamma_{i-1}roman_Γ start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT; and (3) let χi1subscript𝜒𝑖1\chi_{i-1}italic_χ start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT be the key corresponding to ni1subscript𝑛𝑖1n_{i-1}italic_n start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT, then E(χi1)𝐸subscript𝜒𝑖1E(\chi_{i-1})italic_E ( italic_χ start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ) contains all and only the edges whose end-vertices are mapped by ΓΓ\Gammaroman_Γ one to a point in Si1subscript𝑆𝑖1S_{i-1}italic_S start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT and the other to a point not in Si1subscript𝑆𝑖1S_{i-1}italic_S start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT. Note that (3) ensures that all the edges incoming into visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT are in E(χi1)𝐸subscript𝜒𝑖1E(\chi_{i-1})italic_E ( italic_χ start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ).

    Consider the edge set Hisubscript𝐻𝑖H_{i}italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT composed of the edges outgoing from visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and of the edges in E(χi1)𝐸subscript𝜒𝑖1E(\chi_{i-1})italic_E ( italic_χ start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ), except for those incoming into visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. We prove that Hisubscript𝐻𝑖H_{i}italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is an st𝑠𝑡stitalic_s italic_t-cutset. Indeed, by (3), every edge of G𝐺Gitalic_G that in ΓΓ\Gammaroman_Γ starts from a point below pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and ends at a point above pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is in E(χi1)𝐸subscript𝜒𝑖1E(\chi_{i-1})italic_E ( italic_χ start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ). Then Hisubscript𝐻𝑖H_{i}italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT comprises all the edges that start from pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT or from a point below pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and end at a point above pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. Hence, the removal of the edges of Hisubscript𝐻𝑖H_{i}italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT splits G𝐺Gitalic_G into two connected subgraphs, one induced by the vertices (including s𝑠sitalic_s) mapped by ΓΓ\Gammaroman_Γ to Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, and one induced by the vertices (including t𝑡titalic_t) mapped by ΓΓ\Gammaroman_Γ to the points above pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT.

    Since Hisubscript𝐻𝑖H_{i}italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is an st𝑠𝑡stitalic_s italic_t-cutset, there exists a key χisubscript𝜒𝑖\chi_{i}italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT such that E(χi)=Hi𝐸subscript𝜒𝑖subscript𝐻𝑖E(\chi_{i})=H_{i}italic_E ( italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and the edges of E(χi)𝐸subscript𝜒𝑖E(\chi_{i})italic_E ( italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) are embedded in χisubscript𝜒𝑖\chi_{i}italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT as in ΓisubscriptΓ𝑖\Gamma_{i}roman_Γ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. Note that pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is the tail of an edge in E(χi)𝐸subscript𝜒𝑖E(\chi_{i})italic_E ( italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) with largest y𝑦yitalic_y-coordinate, hence our algorithm, starting from the st𝑠𝑡stitalic_s italic_t-cutset E(χi)𝐸subscript𝜒𝑖E(\chi_{i})italic_E ( italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ), removes the edges outgoing from visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, and adds the edges incoming into visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, thus it constructs the st𝑠𝑡stitalic_s italic_t-cutset E(χi1)𝐸subscript𝜒𝑖1E(\chi_{i-1})italic_E ( italic_χ start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ) and, from there, the key χi1subscript𝜒𝑖1\chi_{i-1}italic_χ start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT in which the edges of E(χi1)𝐸subscript𝜒𝑖1E(\chi_{i-1})italic_E ( italic_χ start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ) are mapped as in Γi1subscriptΓ𝑖1\Gamma_{i-1}roman_Γ start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT. The algorithm then inserts χi1subscript𝜒𝑖1\chi_{i-1}italic_χ start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT in Q[χi]𝑄delimited-[]subscript𝜒𝑖Q[\chi_{i}]italic_Q [ italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ], and hence the digraph 𝒟𝒟\mathcal{D}caligraphic_D contains the edge (ni,ni1)subscript𝑛𝑖subscript𝑛𝑖1(n_{i},n_{i-1})( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_n start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ), where nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is the node of 𝒟𝒟\mathcal{D}caligraphic_D corresponding to χisubscript𝜒𝑖\chi_{i}italic_χ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. This completes the induction, hence the proof of the claim and the one of Item ii.

It remains to discuss the running time of our enumeration algorithm. Concerning the set-up time, the table Q𝑄Qitalic_Q can be constructed in 𝒪(kn4klogn)𝒪𝑘superscript𝑛4𝑘𝑛\mathcal{O}(kn^{4k}\log n)caligraphic_O ( italic_k italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT roman_log italic_n ) time, by Claim 3. Also, the digraph 𝒟𝒟\mathcal{D}caligraphic_D can be constructed in linear time in the size of Q𝑄Qitalic_Q, which is 𝒪(kn4klogn)𝒪𝑘superscript𝑛4𝑘𝑛\mathcal{O}(kn^{4k}\log n)caligraphic_O ( italic_k italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT roman_log italic_n ) by Claim 2; indeed, the edges outgoing from a node n(χ)𝑛𝜒n(\chi)italic_n ( italic_χ ) in 𝒟𝒟\mathcal{D}caligraphic_D are those toward the nodes whose corresponding keys are in Q[χ]𝑄delimited-[]𝜒Q[\chi]italic_Q [ italic_χ ]. Concerning the space usage, again by Claim 2, we have that Q𝑄Qitalic_Q and 𝒟𝒟\mathcal{D}caligraphic_D have 𝒪(kn4klogn)𝒪𝑘superscript𝑛4𝑘𝑛\mathcal{O}(kn^{4k}\log n)caligraphic_O ( italic_k italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT roman_log italic_n ) size. Finally, we discuss the delay of our algorithm. The paths from n𝒮subscript𝑛𝒮n_{\mathcal{S}}italic_n start_POSTSUBSCRIPT caligraphic_S end_POSTSUBSCRIPT to n𝒯subscript𝑛𝒯n_{\mathcal{T}}italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT have 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ) size. Between an UPSE and the next one, at most two paths are traversed (one to backtrack and one to again reach n𝒯subscript𝑛𝒯n_{\mathcal{T}}italic_n start_POSTSUBSCRIPT caligraphic_T end_POSTSUBSCRIPT). The total number of edges which are deleted from or added to the current embedding when traversing such paths is in 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ), hence the delay of our algorithm is 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ). We get the following.

Theorem 4.5.

Let G𝐺Gitalic_G be a n𝑛nitalic_n-vertex planar st𝑠𝑡stitalic_s italic_t-graph whose maximum st𝑠𝑡stitalic_s italic_t-cut has size k𝑘kitalic_k and let S𝑆Sitalic_S be a set of n𝑛nitalic_n points. It is possible to enumerate all UPSEs of G𝐺Gitalic_G on S𝑆Sitalic_S with 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ) delay, using 𝒪(kn4klogn)𝒪𝑘superscript𝑛4𝑘𝑛\mathcal{O}(kn^{4k}\log n)caligraphic_O ( italic_k italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT roman_log italic_n ) space, after 𝒪(kn4klogn)𝒪𝑘superscript𝑛4𝑘𝑛\mathcal{O}(kn^{4k}\log n)caligraphic_O ( italic_k italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT roman_log italic_n ) set-up time.

5 Planar st-Graphs Composed of Two Monotone st-Paths

In this section, we discuss a special, and in our opinion interesting, case of Theorem 4.4, namely the one in which the underlying graph of the given planar st𝑠𝑡stitalic_s italic_t-graph is a cycle. Applying Theorem 4.4 to this setting would yield an 𝒪(n8)𝒪superscript𝑛8\mathcal{O}(n^{8})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 8 end_POSTSUPERSCRIPT )-time testing algorithm. Now, based on a characterization of the positive instances, we give a much faster algorithm for this case, provided that the points of S𝑆Sitalic_S are in general position.

Theorem 5.1.

Let G𝐺Gitalic_G be an n𝑛nitalic_n-vertex planar st𝑠𝑡stitalic_s italic_t-graph consisting of two st𝑠𝑡stitalic_s italic_t-paths PLsubscript𝑃𝐿P_{L}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT and PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT, and let S𝑆Sitalic_S be a pointset with n𝑛nitalic_n points in general position. We have that G𝐺Gitalic_G admits an UPSE on S𝑆Sitalic_S with PLsubscript𝑃𝐿P_{L}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT to the left of PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT if and only if |PL||L(S)|subscript𝑃𝐿subscriptL𝑆|P_{L}|\geq|\operatorname{\mathcal{H}_{L}}(S)|| italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT | ≥ | start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_L end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) | and |PR||R(S)|subscript𝑃𝑅subscriptR𝑆|P_{R}|\geq|\operatorname{\mathcal{H}_{R}}(S)|| italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT | ≥ | start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) |. Also, it can be tested in 𝒪(nlogn)𝒪𝑛𝑛\mathcal{O}(n\log n)caligraphic_O ( italic_n roman_log italic_n ) time whether G𝐺Gitalic_G admits an UPSE on S𝑆Sitalic_S.

Proof 5.2.

Provided the characterization in the statement holds, we can easily test whether G𝐺Gitalic_G admits an UPSE on S𝑆Sitalic_S by computing the convex hull 𝒞(S)𝒞𝑆\operatorname{\mathcal{CH}}(S)start_OPFUNCTION caligraphic_C caligraphic_H end_OPFUNCTION ( italic_S ) of S𝑆Sitalic_S (which can be done in 𝒪(nlogn)𝒪𝑛𝑛\mathcal{O}(n\log n)caligraphic_O ( italic_n roman_log italic_n ) time), deriving the sets L(S)subscriptL𝑆\operatorname{\mathcal{H}_{L}}(S)start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_L end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) and R(S)subscriptR𝑆\operatorname{\mathcal{H}_{R}}(S)start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) (which can be done in O(n)𝑂𝑛O(n)italic_O ( italic_n ) time, by scanning 𝒞(S)𝒞𝑆\operatorname{\mathcal{CH}}(S)start_OPFUNCTION caligraphic_C caligraphic_H end_OPFUNCTION ( italic_S )), and finally comparing their sizes with the ones of PLsubscript𝑃𝐿P_{L}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT and PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT (which can be done in O(1)𝑂1O(1)italic_O ( 1 ) time). Therefore, in the following we focus on proving the characterization.

For the necessity, suppose for a contradiction that there exists an UPSE on S𝑆Sitalic_S with PLsubscript𝑃𝐿P_{L}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT to the left of PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT and that |PL|<|L(S)|subscript𝑃𝐿subscriptL𝑆|P_{L}|<|\operatorname{\mathcal{H}_{L}}(S)|| italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT | < | start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_L end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) |; the case in which |PR|<|R(S)|subscript𝑃𝑅subscriptR𝑆|P_{R}|<|\operatorname{\mathcal{H}_{R}}(S)|| italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT | < | start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) | is analogous. Since |PLPR|=nsubscript𝑃𝐿subscript𝑃𝑅𝑛|P_{L}\cup P_{R}|=n| italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT ∪ italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT | = italic_n, a vertex d𝑑ditalic_d of PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT must be drawn on a point in L(S)subscriptL𝑆\operatorname{\mathcal{H}_{L}}(S)start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_L end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ). Consider the subpath Pdsubscript𝑃𝑑P_{d}italic_P start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT of PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT between s𝑠sitalic_s and d𝑑ditalic_d. The drawing of Pdsubscript𝑃𝑑P_{d}italic_P start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT splits 𝒞(S)𝒞𝑆\operatorname{\mathcal{CH}}(S)start_OPFUNCTION caligraphic_C caligraphic_H end_OPFUNCTION ( italic_S ) into two closed regions, to the left and to the right of Pdsubscript𝑃𝑑P_{d}italic_P start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT. In any UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S with PLsubscript𝑃𝐿P_{L}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT to the left of PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT, we have that PLsubscript𝑃𝐿P_{L}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT lies in both regions, namely it lies in the region to the left of Pdsubscript𝑃𝑑P_{d}italic_P start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT with the edge incident to s𝑠sitalic_s and it lies in the region to the right of Pdsubscript𝑃𝑑P_{d}italic_P start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT at t𝑡titalic_t. Hence, the drawing of PLsubscript𝑃𝐿P_{L}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT crosses the drawing of Pdsubscript𝑃𝑑P_{d}italic_P start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT, and thus the one of PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT, a contradiction.

In the following, we prove the sufficiency by induction on the size of S𝑆Sitalic_S (and, thus, of V(G)𝑉𝐺V(G)italic_V ( italic_G )). We give some preliminary definitions; see Figures 5, 6 and 7. Let pssubscript𝑝𝑠p_{s}italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and ptsubscript𝑝𝑡p_{t}italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT be the south and north extreme of S𝑆Sitalic_S, respectively. Consider the line stsubscript𝑠𝑡\ell_{st}roman_ℓ start_POSTSUBSCRIPT italic_s italic_t end_POSTSUBSCRIPT through pssubscript𝑝𝑠p_{s}italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and ptsubscript𝑝𝑡p_{t}italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT. Let SLsubscript𝑆𝐿S_{L}italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT (SRsubscript𝑆𝑅S_{R}italic_S start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT) be the set consisting of the points of S𝑆Sitalic_S lying in the closed half-plane delimited by stsubscript𝑠𝑡\ell_{st}roman_ℓ start_POSTSUBSCRIPT italic_s italic_t end_POSTSUBSCRIPT that includes all points that lie to the left (resp. right) of stsubscript𝑠𝑡\ell_{st}roman_ℓ start_POSTSUBSCRIPT italic_s italic_t end_POSTSUBSCRIPT, including pssubscript𝑝𝑠p_{s}italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and ptsubscript𝑝𝑡p_{t}italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT. Note that L(S)SLsubscriptL𝑆subscript𝑆𝐿\operatorname{\mathcal{H}_{L}}(S)\subseteq S_{L}start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_L end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) ⊆ italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT and R(S)SRsubscriptR𝑆subscript𝑆𝑅\operatorname{\mathcal{H}_{R}}(S)\subseteq S_{R}start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) ⊆ italic_S start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT. Moreover, since S𝑆Sitalic_S is in general position, it holds that SLSR={ps,pt}subscript𝑆𝐿subscript𝑆𝑅subscript𝑝𝑠subscript𝑝𝑡S_{L}\cap S_{R}=\{p_{s},p_{t}\}italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT ∩ italic_S start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT = { italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT }.

Refer to caption
Figure 5: Illustration for the base case of Theorem 5.1.

In the base case, it either holds that (a) SL={ps,pt}subscript𝑆𝐿subscript𝑝𝑠subscript𝑝𝑡S_{L}=\{p_{s},p_{t}\}italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT = { italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } and |R(S)|=|PR|subscriptR𝑆subscript𝑃𝑅|\operatorname{\mathcal{H}_{R}}(S)|=|P_{R}|| start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) | = | italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT |, or (b) SR={ps,pt}subscript𝑆𝑅subscript𝑝𝑠subscript𝑝𝑡S_{R}=\{p_{s},p_{t}\}italic_S start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT = { italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } and |L(S)|=|PL|subscriptL𝑆subscript𝑃𝐿|\operatorname{\mathcal{H}_{L}}(S)|=|P_{L}|| start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_L end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) | = | italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT |. We discuss the former case (see Figure 5), as the latter case is symmetric. In this case, an UPSE ΓΓ\Gammaroman_Γ of G𝐺Gitalic_G on S𝑆Sitalic_S clearly exists and is, in fact, unique. In particular, the drawing of PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT in ΓΓ\Gammaroman_Γ coincides with the right envelope R(S)subscript𝑅𝑆\mathcal{E}_{R}(S)caligraphic_E start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_S ) of S𝑆Sitalic_S, while the drawing of PLsubscript𝑃𝐿P_{L}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT in ΓΓ\Gammaroman_Γ is the y𝑦yitalic_y-monotone polyline that assigns to the j𝑗jitalic_j-th internal vertex of PLsubscript𝑃𝐿P_{L}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT (when traversing PLsubscript𝑃𝐿P_{L}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT from s𝑠sitalic_s to t𝑡titalic_t) the point of SRR(S)subscript𝑆𝑅subscriptR𝑆S_{R}\setminus\operatorname{\mathcal{H}_{R}}(S)italic_S start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ∖ start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) with the j𝑗jitalic_j-th smallest y𝑦yitalic_y-coordinate. Since each of such paths is y𝑦yitalic_y-monotone, it is not self-crossing. Also, no edge of PLsubscript𝑃𝐿P_{L}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT crosses an edge of PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT, as the drawing of PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT in ΓΓ\Gammaroman_Γ coincides with R(S)subscript𝑅𝑆\mathcal{E}_{R}(S)caligraphic_E start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_S ).

If the base case does not hold, then we distinguish two cases based on whether both SLsubscript𝑆𝐿S_{L}italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT and SRsubscript𝑆𝑅S_{R}italic_S start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT contain a vertex different from pssubscript𝑝𝑠p_{s}italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and ptsubscript𝑝𝑡p_{t}italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT (Case A), or only one of them does (Case B). In the following, we assume that in Case B the set SRsubscript𝑆𝑅S_{R}italic_S start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT contains a vertex different from pssubscript𝑝𝑠p_{s}italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and ptsubscript𝑝𝑡p_{t}italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT, the case in which only SLsubscript𝑆𝐿S_{L}italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT contains a vertex different from pssubscript𝑝𝑠p_{s}italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and ptsubscript𝑝𝑡p_{t}italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT can be treated symmetrically. More formally, in Case A we have that {ps,pt}SLsubscript𝑝𝑠subscript𝑝𝑡subscript𝑆𝐿\{p_{s},p_{t}\}\subset S_{L}{ italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ⊂ italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT and {ps,pt}SRsubscript𝑝𝑠subscript𝑝𝑡subscript𝑆𝑅\{p_{s},p_{t}\}\subset S_{R}{ italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ⊂ italic_S start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT, whereas in Case B we have that SL={ps,pt}subscript𝑆𝐿subscript𝑝𝑠subscript𝑝𝑡S_{L}=\{p_{s},p_{t}\}italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT = { italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } and {ps,pt}SRsubscript𝑝𝑠subscript𝑝𝑡subscript𝑆𝑅\{p_{s},p_{t}\}\subset S_{R}{ italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ⊂ italic_S start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT. Note that, in Case B, since the conditions of the base case do not apply and by the hypothesis of the statement, we have that |PR|>|R(S)|subscript𝑃𝑅subscriptR𝑆|P_{R}|>|\operatorname{\mathcal{H}_{R}}(S)|| italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT | > | start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) | holds.

Refer to caption
(a) {ps,pt}SL,SRsubscript𝑝𝑠subscript𝑝𝑡subscript𝑆𝐿subscript𝑆𝑅\{p_{s},p_{t}\}\subset S_{L},S_{R}{ italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ⊂ italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT , italic_S start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT
Refer to caption
(b) UPSE ΓsuperscriptΓ\Gamma^{\prime}roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT of Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT on Ssuperscript𝑆S^{\prime}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT
Refer to caption
(c) UPSE ΓΓ\Gammaroman_Γ of G𝐺Gitalic_G on S𝑆Sitalic_S
Figure 6: Illustrations for Case A in the proof of Theorem 5.1. In (a), the boundary L(S)subscript𝐿𝑆\mathcal{E}_{L}(S)caligraphic_E start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT ( italic_S ) of L(S)subscriptL𝑆\operatorname{\mathcal{H}_{L}}(S)start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_L end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) is dashed green, whereas the boundary R(S)subscript𝑅𝑆\mathcal{E}_{R}(S)caligraphic_E start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_S ) of R(S)subscriptR𝑆\operatorname{\mathcal{H}_{R}}(S)start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) is dashed orange.

If Case A holds, we distinguish two subcases. In Case A1, it holds |PL||SL|subscript𝑃𝐿subscript𝑆𝐿|P_{L}|\geq|S_{L}|| italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT | ≥ | italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT |, whereas in Case A2, it holds |PL|<|SL|subscript𝑃𝐿subscript𝑆𝐿|P_{L}|<|S_{L}|| italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT | < | italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT |. We discuss Case A1 (see Figure 6); Case A2 can be treated symmetrically, given that in this case it holds that |PR||SR|subscript𝑃𝑅subscript𝑆𝑅|P_{R}|\geq|S_{R}|| italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT | ≥ | italic_S start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT |.

Suppose that Case A1 holds true. Then L(S)subscriptL𝑆\operatorname{\mathcal{H}_{L}}(S)start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_L end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) contains a point p𝑝pitalic_p different from pssubscript𝑝𝑠p_{s}italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and ptsubscript𝑝𝑡p_{t}italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT; see Figure 6(a). Since by the hypotheses of this case |PL||SL||L(S)|subscript𝑃𝐿subscript𝑆𝐿subscriptL𝑆|P_{L}|\geq|S_{L}|\geq|\operatorname{\mathcal{H}_{L}}(S)|| italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT | ≥ | italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT | ≥ | start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_L end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) | and |L(S)|3subscriptL𝑆3|\operatorname{\mathcal{H}_{L}}(S)|\geq 3| start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_L end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) | ≥ 3, we have that PLsubscript𝑃𝐿P_{L}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT contains at least one internal vertex. Let S=S{p}superscript𝑆𝑆𝑝S^{\prime}=S\setminus\{p\}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = italic_S ∖ { italic_p }, let PLsubscriptsuperscript𝑃𝐿P^{\prime}_{L}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT be an st𝑠𝑡stitalic_s italic_t-path with |PL|=|PL|1subscriptsuperscript𝑃𝐿subscript𝑃𝐿1|P^{\prime}_{L}|=|P_{L}|-1| italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT | = | italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT | - 1, and let Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the planar st𝑠𝑡stitalic_s italic_t-graph PLPRsubscriptsuperscript𝑃𝐿subscript𝑃𝑅P^{\prime}_{L}\cup P_{R}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT ∪ italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT. Since |L(S)||SL|1subscriptLsuperscript𝑆subscript𝑆𝐿1|\operatorname{\mathcal{H}_{L}}(S^{\prime})|\leq|S_{L}|-1| start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_L end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) | ≤ | italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT | - 1 and since |SL||PL|subscript𝑆𝐿subscript𝑃𝐿|S_{L}|\leq|P_{L}|| italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT | ≤ | italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT |, we have that |L(S)||PL|1=|PL|subscriptLsuperscript𝑆subscript𝑃𝐿1subscriptsuperscript𝑃𝐿|\operatorname{\mathcal{H}_{L}}(S^{\prime})|\leq|P_{L}|-1=|P^{\prime}_{L}|| start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_L end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) | ≤ | italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT | - 1 = | italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT |. Thus, the graph Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and the pointset Ssuperscript𝑆S^{\prime}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT satisfy the conditions of the statement. By induction, we have that Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT admits an UPSE ΓsuperscriptΓ\Gamma^{\prime}roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT on Ssuperscript𝑆S^{\prime}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, see Figure 6(b).

We show how to modify ΓsuperscriptΓ\Gamma^{\prime}roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT to obtain an UPSE ΓΓ\Gammaroman_Γ of G𝐺Gitalic_G on S𝑆Sitalic_S as follows; see Figures 6(b) and 6(c). The drawing of PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT is the same in ΓΓ\Gammaroman_Γ as in ΓsuperscriptΓ\Gamma^{\prime}roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. Let hpsubscript𝑝h_{p}italic_h start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT be the horizontal line passing through p𝑝pitalic_p. Since ΓsuperscriptΓ\Gamma^{\prime}roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is an UPSE of Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT on Ssuperscript𝑆S^{\prime}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and since y(ps)<y(p)<y(pt)𝑦subscript𝑝𝑠𝑦𝑝𝑦subscript𝑝𝑡y(p_{s})<y(p)<y(p_{t})italic_y ( italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) < italic_y ( italic_p ) < italic_y ( italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ), we have that hpsubscript𝑝h_{p}italic_h start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT intersects the drawing of PLsubscriptsuperscript𝑃𝐿P^{\prime}_{L}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT in a single point. Such a point belongs to a segment that is the image of an edge epsubscript𝑒𝑝e_{p}italic_e start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT of PLsubscriptsuperscript𝑃𝐿P^{\prime}_{L}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT. Let d𝑑ditalic_d and q𝑞qitalic_q be the extremes of such a segment that are the images of the tail and of the head of epsubscript𝑒𝑝e_{p}italic_e start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT in ΓsuperscriptΓ\Gamma^{\prime}roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, respectively. We show how to modify the drawing of PLsubscriptsuperscript𝑃𝐿P^{\prime}_{L}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT to obtain a y𝑦yitalic_y-monotone drawing of PLsubscript𝑃𝐿P_{L}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT that does not intersect PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT. To this aim, we replace the drawing of epsubscript𝑒𝑝e_{p}italic_e start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT with the y𝑦yitalic_y-monotone polyline composed of the segments dp¯¯𝑑𝑝\overline{dp}over¯ start_ARG italic_d italic_p end_ARG and pq¯¯𝑝𝑞\overline{pq}over¯ start_ARG italic_p italic_q end_ARG. Note that such a polyline lies in the interior of the region delimited by the segment dq¯¯𝑑𝑞\overline{dq}over¯ start_ARG italic_d italic_q end_ARG (representing epsubscript𝑒𝑝e_{p}italic_e start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT) and by the horizontal rays originating at d𝑑ditalic_d and q𝑞qitalic_q and directed leftward. Due to the fact that PLsubscriptsuperscript𝑃𝐿P^{\prime}_{L}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT is represented as a y𝑦yitalic_y-monotone polyline in ΓsuperscriptΓ\Gamma^{\prime}roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, such a region is not traversed by the drawing of any edge. Thus, ΓΓ\Gammaroman_Γ is an UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S. We refer to the described procedure as the p𝑝pitalic_p-leftward-outer-extension of ΓsuperscriptΓ\Gamma^{\prime}roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT; a p𝑝pitalic_p-rightward-outer-extension of ΓsuperscriptΓ\Gamma^{\prime}roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is defined symmetrically.

If Case B holds, recall that SL={ps,pt}SRsubscript𝑆𝐿subscript𝑝𝑠subscript𝑝𝑡subscript𝑆𝑅S_{L}=\{p_{s},p_{t}\}\subset S_{R}italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT = { italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ⊂ italic_S start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT, and since the base case does not apply, we have that |PR|>|R(S)|subscript𝑃𝑅subscriptR𝑆|P_{R}|>|\operatorname{\mathcal{H}_{R}}(S)|| italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT | > | start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) |. Let p𝑝pitalic_p be any point in R(S){ps,pt}subscriptR𝑆subscript𝑝𝑠subscript𝑝𝑡\operatorname{\mathcal{H}_{R}}(S)\setminus\{p_{s},p_{t}\}start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) ∖ { italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } and S=S{p}superscript𝑆𝑆𝑝S^{\prime}=S\setminus\{p\}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = italic_S ∖ { italic_p }. By the conditions of Case B, the path PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT contains at least one internal vertex. We let PRsubscriptsuperscript𝑃𝑅P^{\prime}_{R}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT be an st𝑠𝑡stitalic_s italic_t-path with |PR|=|PR|1subscriptsuperscript𝑃𝑅subscript𝑃𝑅1|P^{\prime}_{R}|=|P_{R}|-1| italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT | = | italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT | - 1, and we let Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT be the st𝑠𝑡stitalic_s italic_t-graph PLPRsubscript𝑃𝐿subscriptsuperscript𝑃𝑅P_{L}\cup P^{\prime}_{R}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT ∪ italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT. We distinguish two cases based on the size of R(S)subscriptRsuperscript𝑆\operatorname{\mathcal{H}_{R}}(S^{\prime})start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ). In Case B1, it holds |PR||R(S)|subscriptsuperscript𝑃𝑅subscriptRsuperscript𝑆|P^{\prime}_{R}|\geq|\operatorname{\mathcal{H}_{R}}(S^{\prime})|| italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT | ≥ | start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) |, whereas in Case B2, it holds |PR|<|R(S)|subscriptsuperscript𝑃𝑅subscriptRsuperscript𝑆|P^{\prime}_{R}|<|\operatorname{\mathcal{H}_{R}}(S^{\prime})|| italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT | < | start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) |.

Refer to caption
(a) {ps,pt}SL,SRsubscript𝑝𝑠subscript𝑝𝑡subscript𝑆𝐿subscript𝑆𝑅\{p_{s},p_{t}\}\subset S_{L},S_{R}{ italic_p start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ⊂ italic_S start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT , italic_S start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT
Refer to caption
(b) UPSE ΓsuperscriptΓ\Gamma^{*}roman_Γ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT of Gsuperscript𝐺G^{*}italic_G start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT on Ssuperscript𝑆S^{*}italic_S start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT
Refer to caption
(c) UPSE ΓΓ\Gammaroman_Γ of G𝐺Gitalic_G on S𝑆Sitalic_S
Figure 7: Illustrations for Case B2 in the proof of Theorem 5.1.

In Case B1, the pair (G,S)superscript𝐺superscript𝑆(G^{\prime},S^{\prime})( italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) satisfies the conditions of the statement. In particular, it either matches the conditions of the base case or again those of Case B. Thus, since |S|=|S|1superscript𝑆𝑆1|S^{\prime}|=|S|-1| italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT | = | italic_S | - 1 (and |V(G)|=|V(G)|1𝑉superscript𝐺𝑉𝐺1|V(G^{\prime})|=|V(G)|-1| italic_V ( italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) | = | italic_V ( italic_G ) | - 1), we can inductively construct an UPSE ΓsuperscriptΓ\Gamma^{\prime}roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT of Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT on Ssuperscript𝑆S^{\prime}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, and obtain an UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S via a p𝑝pitalic_p-rightward-outer-extension of ΓsuperscriptΓ\Gamma^{\prime}roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.

In Case B2, which is the most interesting, we proceed as follows; see Figure 7. Let p+superscript𝑝p^{+}italic_p start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT be the point of R(S)subscriptR𝑆\operatorname{\mathcal{H}_{R}}(S)start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) with the smallest y𝑦yitalic_y-coordinate and above p𝑝pitalic_p and let psuperscript𝑝p^{-}italic_p start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT be the point of R(S)subscriptR𝑆\operatorname{\mathcal{H}_{R}}(S)start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) with the largest y𝑦yitalic_y-coordinate and below p𝑝pitalic_p. Let X𝑋Xitalic_X be the set of points of S𝑆Sitalic_S that lie in the interior of the triangle Δp+ppΔsuperscript𝑝𝑝superscript𝑝\Delta p^{+}pp^{-}roman_Δ italic_p start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT italic_p italic_p start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT, including p+superscript𝑝p^{+}italic_p start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT and psuperscript𝑝p^{-}italic_p start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT and excluding p𝑝pitalic_p. Clearly, the right envelope of 𝒞(X)𝒞𝑋\operatorname{\mathcal{CH}}(X)start_OPFUNCTION caligraphic_C caligraphic_H end_OPFUNCTION ( italic_X ) forms a subpath of the right envelope of 𝒞(S)𝒞superscript𝑆\operatorname{\mathcal{CH}}(S^{\prime})start_OPFUNCTION caligraphic_C caligraphic_H end_OPFUNCTION ( italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ). The set R(X)subscriptR𝑋\operatorname{\mathcal{H}_{R}}(X)start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_X ) consists of psuperscript𝑝p^{-}italic_p start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT, p+superscript𝑝p^{+}italic_p start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT, and of k𝑘kitalic_k vertices not belonging to R(S)subscriptR𝑆\operatorname{\mathcal{H}_{R}}(S)start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ), depicted as squares in Figure 7(a). Denote by k=|PR||R(S)|superscript𝑘subscript𝑃𝑅subscriptR𝑆k^{*}=|P_{R}|-|\operatorname{\mathcal{H}_{R}}(S)|italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = | italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT | - | start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) | the number of points in the interior of 𝒞(S)𝒞𝑆\operatorname{\mathcal{CH}}(S)start_OPFUNCTION caligraphic_C caligraphic_H end_OPFUNCTION ( italic_S ) that need to be the image of a vertex of PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT in an UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S. Observe that k>k>0𝑘superscript𝑘0k>k^{*}>0italic_k > italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT > 0 holds true. Indeed, k>0superscript𝑘0k^{*}>0italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT > 0 holds true since (G,S)𝐺𝑆(G,S)( italic_G , italic_S ) does not satisfy the conditions of the base case, and k>k𝑘superscript𝑘k>k^{*}italic_k > italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT holds true since (G,S)𝐺𝑆(G,S)( italic_G , italic_S ) does not satisfy the conditions of Case B1. Let psuperscript𝑝p^{\wedge}italic_p start_POSTSUPERSCRIPT ∧ end_POSTSUPERSCRIPT be the point of R(S)subscriptRsuperscript𝑆\operatorname{\mathcal{H}_{R}}(S^{\prime})start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) with the smallest y𝑦yitalic_y-coordinate and above p𝑝pitalic_p, and let psuperscript𝑝p^{\vee}italic_p start_POSTSUPERSCRIPT ∨ end_POSTSUPERSCRIPT be the point with the largest y𝑦yitalic_y-coordinate and below p𝑝pitalic_p. Up to renaming, let a0=p+,a1,,aα=pformulae-sequencesubscript𝑎0superscript𝑝subscript𝑎1subscript𝑎𝛼superscript𝑝a_{0}=p^{+},a_{1},\dots,a_{\alpha}=p^{\wedge}italic_a start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = italic_p start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT , italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_a start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = italic_p start_POSTSUPERSCRIPT ∧ end_POSTSUPERSCRIPT be the subsequence of points of R(X)subscript𝑅𝑋\mathcal{E}_{R}(X)caligraphic_E start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_X ) encountered when traversing R(X)subscript𝑅𝑋\mathcal{E}_{R}(X)caligraphic_E start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_X ) from p+superscript𝑝p^{+}italic_p start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT to psuperscript𝑝p^{\wedge}italic_p start_POSTSUPERSCRIPT ∧ end_POSTSUPERSCRIPT and observe that these points have decreasing y𝑦yitalic_y-coordinates. Similarly, let b0=p,b1,,bγ=pformulae-sequencesubscript𝑏0superscript𝑝subscript𝑏1subscript𝑏𝛾superscript𝑝b_{0}=p^{-},b_{1},\dots,b_{\gamma}=p^{\vee}italic_b start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = italic_p start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT , italic_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_b start_POSTSUBSCRIPT italic_γ end_POSTSUBSCRIPT = italic_p start_POSTSUPERSCRIPT ∨ end_POSTSUPERSCRIPT be the subsequence of points of R(X)subscript𝑅𝑋\mathcal{E}_{R}(X)caligraphic_E start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_X ) encountered when traversing R(X)subscript𝑅𝑋\mathcal{E}_{R}(X)caligraphic_E start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_X ) from psuperscript𝑝p^{-}italic_p start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT to psuperscript𝑝p^{\vee}italic_p start_POSTSUPERSCRIPT ∨ end_POSTSUPERSCRIPT and observe that these points have increasing y𝑦yitalic_y-coordinates. We define the set XR(X)superscript𝑋subscriptR𝑋X^{*}\subset\operatorname{\mathcal{H}_{R}}(X)italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ⊂ start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_X ) as follows. If kαsuperscript𝑘𝛼k^{*}\leq\alphaitalic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ≤ italic_α, then let X={ai|1ik}subscriptsuperscript𝑋conditional-setsubscript𝑎𝑖1𝑖superscript𝑘X^{*}_{\wedge}=\{a_{i}|1\leq i\leq k^{*}\}italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT = { italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | 1 ≤ italic_i ≤ italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT } and X=subscriptsuperscript𝑋X^{*}_{\vee}=\emptysetitalic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∨ end_POSTSUBSCRIPT = ∅, otherwise let X={ai|1iα}subscriptsuperscript𝑋conditional-setsubscript𝑎𝑖1𝑖𝛼X^{*}_{\wedge}=\{a_{i}|1\leq i\leq\alpha\}italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT = { italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | 1 ≤ italic_i ≤ italic_α } and X={bi|1ikα}subscriptsuperscript𝑋conditional-setsubscript𝑏𝑖1𝑖superscript𝑘𝛼X^{*}_{\wedge}=\{b_{i}|1\leq i\leq k^{*}-\alpha\}italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT = { italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | 1 ≤ italic_i ≤ italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT - italic_α }. In both cases, let X=XXsuperscript𝑋subscriptsuperscript𝑋subscriptsuperscript𝑋X^{*}=X^{*}_{\wedge}\cup X^{*}_{\vee}italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT ∪ italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∨ end_POSTSUBSCRIPT. Observe that |X|=ksuperscript𝑋superscript𝑘|X^{*}|=k^{*}| italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT | = italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT. Also, by the definition of ksuperscript𝑘k^{*}italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, the path PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT contains R(S)2+ksubscriptR𝑆2superscript𝑘\operatorname{\mathcal{H}_{R}}(S)-2+k^{*}start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) - 2 + italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT internal vertices and since R(S)3subscriptR𝑆3\operatorname{\mathcal{H}_{R}}(S)\geq 3start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) ≥ 3 in Case B, we have that PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT contains at least k+1superscript𝑘1k^{*}+1italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT + 1 internal vertices.

Let S=SXsuperscript𝑆𝑆superscript𝑋S^{*}=S\setminus X^{*}italic_S start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = italic_S ∖ italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, let PRsubscriptsuperscript𝑃𝑅P^{*}_{R}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT be an st𝑠𝑡stitalic_s italic_t-path with |PR|ksubscript𝑃𝑅superscript𝑘|P_{R}|-k^{*}| italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT | - italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT vertices, and let Gsuperscript𝐺G^{*}italic_G start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT be the st𝑠𝑡stitalic_s italic_t-graph PLPRsubscript𝑃𝐿subscriptsuperscript𝑃𝑅P_{L}\cup P^{*}_{R}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT ∪ italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT. We have that the pair (G,S)superscript𝐺superscript𝑆(G^{*},S^{*})( italic_G start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT , italic_S start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ) satisfies the conditions of the statement, and in particular the base case. In fact, |PR|=|PR|ksubscriptsuperscript𝑃𝑅subscript𝑃𝑅superscript𝑘|P^{*}_{R}|=|P_{R}|-k^{*}| italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT | = | italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT | - italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, and by the definition of ksuperscript𝑘k^{*}italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, we have that |PR|k=|R(S)|subscript𝑃𝑅superscript𝑘subscriptR𝑆|P_{R}|-k^{*}=|\operatorname{\mathcal{H}_{R}}(S)|| italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT | - italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = | start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) |. Moreover, by construction, R(S)=R(S)subscriptR𝑆subscriptRsuperscript𝑆\operatorname{\mathcal{H}_{R}}(S)=\operatorname{\mathcal{H}_{R}}(S^{*})start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S ) = start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_S start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ), since the vertices of Xsuperscript𝑋X^{*}italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT lie in the interior of 𝒞(S)𝒞𝑆\operatorname{\mathcal{CH}}(S)start_OPFUNCTION caligraphic_C caligraphic_H end_OPFUNCTION ( italic_S ). Thus, since |S|=|S|ksuperscript𝑆𝑆superscript𝑘|S^{*}|=|S|-k^{*}| italic_S start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT | = | italic_S | - italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, by induction Gsuperscript𝐺G^{*}italic_G start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT admits an UPSE ΓsuperscriptΓ\Gamma^{*}roman_Γ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT on Ssuperscript𝑆S^{*}italic_S start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT; see Figure 7(b).

We now show how to transform ΓsuperscriptΓ\Gamma^{*}roman_Γ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT into an UPSE ΓΓ\Gammaroman_Γ of G𝐺Gitalic_G on S𝑆Sitalic_S. Since the base case applies to (G,S)superscript𝐺superscript𝑆(G^{*},S^{*})( italic_G start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT , italic_S start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ), we have that the endpoints of the edges of PRsubscriptsuperscript𝑃𝑅P^{*}_{R}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT are consecutive along R(S)subscript𝑅𝑆\mathcal{E}_{R}(S)caligraphic_E start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_S ). In particular, there exist two adjacent edges esuperscript𝑒e^{-}italic_e start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT and e+superscript𝑒e^{+}italic_e start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT of PRsubscriptsuperscript𝑃𝑅P^{*}_{R}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT such that the tail of esuperscript𝑒e^{-}italic_e start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT is mapped to psuperscript𝑝p^{-}italic_p start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT, the head of esuperscript𝑒e^{-}italic_e start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT, which is the tail of e+superscript𝑒e^{+}italic_e start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT, is mapped to p𝑝pitalic_p, and the head of e+superscript𝑒e^{+}italic_e start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT is mapped to p+superscript𝑝p^{+}italic_p start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT. Therefore, the UPSE ΓΓ\Gammaroman_Γ of G𝐺Gitalic_G on S𝑆Sitalic_S can be obtained from ΓsuperscriptΓ\Gamma^{*}roman_Γ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT as follows; see Figure 7(c). We initialize Γ=ΓΓsuperscriptΓ\Gamma=\Gamma^{*}roman_Γ = roman_Γ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT. The drawing of PLsubscript𝑃𝐿P_{L}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT is the same in ΓΓ\Gammaroman_Γ as in ΓsuperscriptΓ\Gamma^{*}roman_Γ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT. Next, we show how to modify the drawing of PRsubscriptsuperscript𝑃𝑅P^{*}_{R}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT to obtain a y𝑦yitalic_y-monotone drawing PRsubscript𝑃𝑅P_{R}italic_P start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT that does intersect the drawing of PLsubscript𝑃𝐿P_{L}italic_P start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT and uses the same points as PLsubscriptsuperscript𝑃𝐿P^{*}_{L}italic_P start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT and the points in Xsuperscript𝑋X^{*}italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT. To this aim, we replace the drawing of e+superscript𝑒e^{+}italic_e start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT with the (unique) y𝑦yitalic_y-monotone polyline connecting p𝑝pitalic_p and p+superscript𝑝p^{+}italic_p start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT that passes through all the points in Xsubscriptsuperscript𝑋X^{*}_{\wedge}italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT. Also, we replace the drawing of esuperscript𝑒e^{-}italic_e start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT with the (unique) y𝑦yitalic_y-monotone polyline connecting psuperscript𝑝p^{-}italic_p start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT and p𝑝pitalic_p that passes through all the points in Xsubscriptsuperscript𝑋X^{*}_{\vee}italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∨ end_POSTSUBSCRIPT; note that Xsubscriptsuperscript𝑋X^{*}_{\vee}italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∨ end_POSTSUBSCRIPT might be empty, in which case the polyline still coincides with the drawing of esuperscript𝑒e^{-}italic_e start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT. This concludes the construction of ΓΓ\Gammaroman_Γ. To see that ΓΓ\Gammaroman_Γ is an UPSE of G𝐺Gitalic_G on S𝑆Sitalic_S observe that the above polylines (i) are each non-self-crossing, as they are y𝑦yitalic_y-monotone, (ii) do not cross with each other as they entirely lie either above or below p𝑝pitalic_p (and only meet at p𝑝pitalic_p), and (iii) do not cross any edge of ΓsuperscriptΓ\Gamma^{\prime}roman_Γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT as they lie in the region F𝐹Fitalic_F (shaded gray in Figures 7(b) and 7(c)) obtained by subtracting from the triangle Δp+ppΔsuperscript𝑝𝑝superscript𝑝\Delta p^{+}pp^{-}roman_Δ italic_p start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT italic_p italic_p start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT (interpreted as a closed region) all the points of 𝒞(X)𝒞𝑋\operatorname{\mathcal{CH}}(X)start_OPFUNCTION caligraphic_C caligraphic_H end_OPFUNCTION ( italic_X ). Indeed, observe that in ΓsuperscriptΓ\Gamma^{*}roman_Γ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, the region F𝐹Fitalic_F is not traversed by any edge and that the only points of Ssuperscript𝑆S^{*}italic_S start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT that lie on the boundary of F𝐹Fitalic_F are p𝑝pitalic_p and the points in R(X)XsubscriptR𝑋superscript𝑋\operatorname{\mathcal{H}_{R}}(X)\setminus X^{*}start_OPFUNCTION caligraphic_H start_POSTSUBSCRIPT roman_R end_POSTSUBSCRIPT end_OPFUNCTION ( italic_X ) ∖ italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT.

6 Enumerating Non-crossing Monotone Hamiltonian Cycles

Theorem 5.1 allows us to test whether an n𝑛nitalic_n-vertex planar st𝑠𝑡stitalic_s italic_t-graph G𝐺Gitalic_G composed of two st𝑠𝑡stitalic_s italic_t-paths can be embedded as a non-crossing monotone Hamiltonian cycle on a set S𝑆Sitalic_S of n𝑛nitalic_n points. We now show an efficient algorithm for enumerating all the non-crossing monotone Hamiltonian cycles on S𝑆Sitalic_S. Figure 8 shows two non-crossing monotone Hamiltonian cycles on a pointset.

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 8: Two non-crossing monotone Hamiltonian cycles on the same pointset.
Theorem 6.1.

Let S𝑆Sitalic_S be a set of n𝑛nitalic_n points. It is possible to enumerate all the non-crossing monotone Hamiltonian cycles on S𝑆Sitalic_S with 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ) delay, using 𝒪(n2)𝒪superscript𝑛2\mathcal{O}(n^{2})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) space, after 𝒪(n2)𝒪superscript𝑛2\mathcal{O}(n^{2})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) set-up time.

Let p1,,pnsubscript𝑝1subscript𝑝𝑛p_{1},\dots,p_{n}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT be the points of S𝑆Sitalic_S, ordered by increasing y𝑦yitalic_y-coordinates. This order can be computed in 𝒪(nlogn)𝒪𝑛𝑛\mathcal{O}(n\log n)caligraphic_O ( italic_n roman_log italic_n ) time. For i[n]𝑖delimited-[]𝑛i\in[n]italic_i ∈ [ italic_n ], let Si={p1,,pi}subscript𝑆𝑖subscript𝑝1subscript𝑝𝑖S_{i}=\{p_{1},\dots,p_{i}\}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = { italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT }. A bipath B𝐵Bitalic_B on Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT consists of two non-crossing monotone paths L𝐿Litalic_L and R𝑅Ritalic_R on Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, each of which might be a single point, such that (see Figure 9):

  1. (i)

    L𝐿Litalic_L and R𝑅Ritalic_R start at p1subscript𝑝1p_{1}italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT;

  2. (ii)

    each point of Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is the image of an endpoint of a segment of B𝐵Bitalic_B; and

  3. (iii)

    if L𝐿Litalic_L and R𝑅Ritalic_R both have at least one segment, then L𝐿Litalic_L is to the left of R𝑅Ritalic_R.

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 9: Three bipaths on S4subscript𝑆4S_{4}italic_S start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT. The first two bipaths are extensible, while the third one is not. Dotted lines complete non-crossing Hamiltonian cycles on S𝑆Sitalic_S whose restriction to S4subscript𝑆4S_{4}italic_S start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT is the bipath.

We say that a bipath B𝐵Bitalic_B is extensible if there exists a non-crossing monotone Hamiltonian cycle on S𝑆Sitalic_S whose restriction to Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is B𝐵Bitalic_B. Consider a bipath B𝐵Bitalic_B on Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT with 1<i<n1𝑖𝑛1<i<n1 < italic_i < italic_n. Let p(B)subscript𝑝𝐵p_{\ell(B)}italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT and pr(B)subscript𝑝𝑟𝐵p_{r(B)}italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT be the endpoints of L𝐿Litalic_L and R𝑅Ritalic_R with the highest y𝑦yitalic_y-coordinate, respectively. Suppose first that (B)>r(B)𝐵𝑟𝐵\ell(B)>r(B)roman_ℓ ( italic_B ) > italic_r ( italic_B ), that is, p(B)subscript𝑝𝐵p_{\ell(B)}italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT is higher than pr(B)subscript𝑝𝑟𝐵p_{r(B)}italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT. Then note that (B)=i𝐵𝑖\ell(B)=iroman_ℓ ( italic_B ) = italic_i; also, it might be that r(B)=1𝑟𝐵1r(B)=1italic_r ( italic_B ) = 1. Consider the ray ρ(pr(B),S(B)Sr(B))𝜌subscript𝑝𝑟𝐵subscript𝑆𝐵subscript𝑆𝑟𝐵\rho(p_{r(B)},S_{\ell(B)}\setminus S_{r(B)})italic_ρ ( italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT , italic_S start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT ∖ italic_S start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT ); recall that this is the rightmost ray starting at pr(B)subscript𝑝𝑟𝐵p_{r(B)}italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT and passing through a point of S(B)Sr(B)subscript𝑆𝐵subscript𝑆𝑟𝐵S_{\ell(B)}\setminus S_{r(B)}italic_S start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT ∖ italic_S start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT. We denote by (B)𝐵\mathcal{R}(B)caligraphic_R ( italic_B ) the open region of the plane strictly to the right of ρ(pr(B),S(B)Sr(B))𝜌subscript𝑝𝑟𝐵subscript𝑆𝐵subscript𝑆𝑟𝐵\rho(p_{r(B)},S_{\ell(B)}\setminus S_{r(B)})italic_ρ ( italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT , italic_S start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT ∖ italic_S start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT ) and strictly above the horizontal line through p(B)subscript𝑝𝐵p_{\ell(B)}italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT; see Figure 10(a). Similarly, if pr(B)subscript𝑝𝑟𝐵p_{r(B)}italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT is higher than p(B)subscript𝑝𝐵p_{\ell(B)}italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT, then (B)𝐵\mathcal{L}(B)caligraphic_L ( italic_B ) is the open region of the plane strictly to the left of the leftmost ray (p(B),Sr(B)S(B))subscript𝑝𝐵subscript𝑆𝑟𝐵subscript𝑆𝐵\ell(p_{\ell(B)},S_{r(B)}\setminus S_{\ell(B)})roman_ℓ ( italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT , italic_S start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT ∖ italic_S start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT ) from p(B)subscript𝑝𝐵p_{\ell(B)}italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT through a point of Sr(B)S(B)subscript𝑆𝑟𝐵subscript𝑆𝐵S_{r(B)}\setminus S_{\ell(B)}italic_S start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT ∖ italic_S start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT and strictly above the horizontal line through pr(B)subscript𝑝𝑟𝐵p_{r(B)}italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT; see Figure 10(b).

Refer to caption
(a)
Refer to caption
(b)
Figure 10: (a) Region (B)𝐵\mathcal{R}(B)caligraphic_R ( italic_B ) for a bipath B𝐵Bitalic_B with (B)>r(B)𝐵𝑟𝐵\ell(B)>r(B)roman_ℓ ( italic_B ) > italic_r ( italic_B ). (b) Region (B)𝐵\mathcal{L}(B)caligraphic_L ( italic_B ) for a bipath B𝐵Bitalic_B with r(B)>(B)𝑟𝐵𝐵r(B)>\ell(B)italic_r ( italic_B ) > roman_ℓ ( italic_B ).

For any i[n1]𝑖delimited-[]𝑛1i\in[n-1]italic_i ∈ [ italic_n - 1 ], we say that a bipath B𝐵Bitalic_B on Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is safe if:

  1. (i)

    i=1𝑖1i=1italic_i = 1; or

  2. (ii)

    i>1𝑖1i>1italic_i > 1, p(B)subscript𝑝𝐵p_{\ell(B)}italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT is higher than pr(B)subscript𝑝𝑟𝐵p_{r(B)}italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT, and |(B)S|1𝐵𝑆1|\mathcal{R}(B)\cap S|\geq 1| caligraphic_R ( italic_B ) ∩ italic_S | ≥ 1; or

  3. (iii)

    i>1𝑖1i>1italic_i > 1, pr(B)subscript𝑝𝑟𝐵p_{r(B)}italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT is higher than p(B)subscript𝑝𝐵p_{\ell(B)}italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT, and |(B)S|1𝐵𝑆1|\mathcal{L}(B)\cap S|\geq 1| caligraphic_L ( italic_B ) ∩ italic_S | ≥ 1.

We have the following lemma.

Lemma 6.2.

A bipath B𝐵Bitalic_B is extensible if and only it is safe.

Proof 6.3.

First, we prove the necessity. Suppose that B𝐵Bitalic_B is extensible and let C𝐶Citalic_C be any non-crossing monotone Hamiltonian cycle on S𝑆Sitalic_S whose restriction to Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is B𝐵Bitalic_B. Also suppose, for a contradiction, that B𝐵Bitalic_B is not safe, which implies that i>1𝑖1i>1italic_i > 1. Assume that p(B)subscript𝑝𝐵p_{\ell(B)}italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT is higher than pr(B)subscript𝑝𝑟𝐵p_{r(B)}italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT, as the other case is symmetric. Then we have (B)S=𝐵𝑆\mathcal{R}(B)\cap S=\varnothingcaligraphic_R ( italic_B ) ∩ italic_S = ∅. Let pr(B)pr(B)¯¯subscript𝑝𝑟𝐵subscriptsuperscript𝑝𝑟𝐵\overline{p_{r(B)}p^{\prime}_{r(B)}}over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT end_ARG be the segment of C𝐶Citalic_C such that y(pr(B))>y(pr(B))𝑦subscriptsuperscript𝑝𝑟𝐵𝑦subscript𝑝𝑟𝐵y(p^{\prime}_{r(B)})>y(p_{r(B)})italic_y ( italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT ) > italic_y ( italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT ). Since all points in S(B)Sr(B)subscript𝑆𝐵subscript𝑆𝑟𝐵S_{\ell(B)}\setminus S_{r(B)}italic_S start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT ∖ italic_S start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT belong to L𝐿Litalic_L, we have pr(B)subscriptsuperscript𝑝𝑟𝐵p^{\prime}_{r(B)}italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT lies strictly above the horizontal line through p(B)subscript𝑝𝐵p_{\ell(B)}italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT. This, together with the fact that S𝑆Sitalic_S contains no point strictly above the horizontal line through p(B)subscript𝑝𝐵p_{\ell(B)}italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT and to the right of the ray ρ(pr(B),S(B)Sr(B))𝜌subscript𝑝𝑟𝐵subscript𝑆𝐵subscript𝑆𝑟𝐵\rho(p_{r(B)},S_{\ell(B)}\setminus S_{r(B)})italic_ρ ( italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT , italic_S start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT ∖ italic_S start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT ), implies that the ray ρ(pr(B)pr(B))𝜌subscript𝑝𝑟𝐵subscriptsuperscript𝑝𝑟𝐵\rho(p_{r(B)}p^{\prime}_{r(B)})italic_ρ ( italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT ) lies to the left of the ray ρ(pr(B),S(B)Sr(B))𝜌subscript𝑝𝑟𝐵subscript𝑆𝐵subscript𝑆𝑟𝐵\rho(p_{r(B)},S_{\ell(B)}\setminus S_{r(B)})italic_ρ ( italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT , italic_S start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT ∖ italic_S start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT ), which implies that the segment (pr(B),pr(B))subscript𝑝𝑟𝐵subscriptsuperscript𝑝𝑟𝐵(p_{r(B)},p^{\prime}_{r(B)})( italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT , italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT ) crosses the path L𝐿Litalic_L, a contradiction to the fact that C𝐶Citalic_C is non-crossing.

Refer to caption
Refer to caption
Figure 11: Since the point p𝑝pitalic_p on the ray ρ(pr(B),SSi)𝜌subscript𝑝𝑟𝐵𝑆subscript𝑆𝑖\rho(p_{r(B)},S\setminus S_{i})italic_ρ ( italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT , italic_S ∖ italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) defines a segment pr(B)p¯¯subscript𝑝𝑟𝐵𝑝\overline{p_{r(B)}p}over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT italic_p end_ARG which is on the boundary of the convex hull of SSr(B)1𝑆subscript𝑆𝑟𝐵1S\setminus S_{r(B)-1}italic_S ∖ italic_S start_POSTSUBSCRIPT italic_r ( italic_B ) - 1 end_POSTSUBSCRIPT (the convex hull is shaded light-gray), we can complete R𝑅Ritalic_R via the boundary of the convex hull and L𝐿Litalic_L via the remaining points.

Second, we prove the sufficiency. Suppose that B𝐵Bitalic_B is safe. We show how to construct a non-crossing monotone Hamiltonian cycle C𝐶Citalic_C on S𝑆Sitalic_S whose restriction to Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is B𝐵Bitalic_B. Assume first that i=1𝑖1i=1italic_i = 1. Then C𝐶Citalic_C can be constructed as the union of two monotone paths. The first path is one of the two paths between s𝑠sitalic_s and t𝑡titalic_t on the boundary of the convex hull of S𝑆Sitalic_S. The second path from s𝑠sitalic_s to t𝑡titalic_t traverses all the points of S𝑆Sitalic_S that are not on the first path, in increasing order of y𝑦yitalic_y-coordinate. Assume next that i>1𝑖1i>1italic_i > 1 and refer to Figure 11. Assume also that p(B)subscript𝑝𝐵p_{\ell(B)}italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ) end_POSTSUBSCRIPT is higher than pr(B)subscript𝑝𝑟𝐵p_{r(B)}italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT, as the other case is symmetric. Then (B)𝐵\mathcal{R}(B)caligraphic_R ( italic_B ) contains some points of S𝑆Sitalic_S. Consider the rightmost ray ρ(pr(B),SSi)𝜌subscript𝑝𝑟𝐵𝑆subscript𝑆𝑖\rho(p_{r(B)},S\setminus S_{i})italic_ρ ( italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT , italic_S ∖ italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) starting from pr(B)subscript𝑝𝑟𝐵p_{r(B)}italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT and passing through a point p𝑝pitalic_p in SSi𝑆subscript𝑆𝑖S\setminus S_{i}italic_S ∖ italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. Observe that pr(B)p¯¯subscript𝑝𝑟𝐵𝑝\overline{p_{r(B)}p}over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT italic_p end_ARG is a segment on the boundary of the convex hull of SSr(B)1𝑆subscript𝑆𝑟𝐵1S\setminus S_{r(B)-1}italic_S ∖ italic_S start_POSTSUBSCRIPT italic_r ( italic_B ) - 1 end_POSTSUBSCRIPT. Hence, we can augment R𝑅Ritalic_R so that it becomes a monotone path from s𝑠sitalic_s to t𝑡titalic_t, by adding to it the part of the boundary of the convex hull of SSr(B)1𝑆subscript𝑆𝑟𝐵1S\setminus S_{r(B)-1}italic_S ∖ italic_S start_POSTSUBSCRIPT italic_r ( italic_B ) - 1 end_POSTSUBSCRIPT from pr(B)subscript𝑝𝑟𝐵p_{r(B)}italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT to t𝑡titalic_t (by proceeding in counter-clockwise direction on this boundary from pr(B)subscript𝑝𝑟𝐵p_{r(B)}italic_p start_POSTSUBSCRIPT italic_r ( italic_B ) end_POSTSUBSCRIPT to t𝑡titalic_t). Also, we can augment L𝐿Litalic_L so that it becomes a monotone path from s𝑠sitalic_s to t𝑡titalic_t by making it pass through all the points in SSi𝑆subscript𝑆𝑖S\setminus S_{i}italic_S ∖ italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT that are not used by R𝑅Ritalic_R, and finishing at t𝑡titalic_t.

We now describe our algorithm. The algorithm implicitly defines and explores a search tree T𝑇Titalic_T. The leaves of T𝑇Titalic_T have level n𝑛nitalic_n and correspond to non-crossing monotone Hamiltonian cycles on S𝑆Sitalic_S. The internal nodes at level i𝑖iitalic_i correspond to extensible bipaths on Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and have at most two children each. The exploration of T𝑇Titalic_T performed by our enumeration algorithm is a depth-first traversal. When a node μ𝜇\muitalic_μ is visited, the number of its children is established. If μ𝜇\muitalic_μ has at least one child, the visit proceeds with any child of μ𝜇\muitalic_μ. Otherwise, μ𝜇\muitalic_μ is a leaf; then the visit proceeds with any unvisited child of the ancestor of μ𝜇\muitalic_μ that has largest level, among the ancestors of μ𝜇\muitalic_μ that have unvisited children.

  • The algorithm starts at the root of T𝑇Titalic_T, which corresponds to the (unique) safe bipath on S1subscript𝑆1S_{1}italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT.

  • At each node μ𝜇\muitalic_μ at level i[n2]𝑖delimited-[]𝑛2i\in[n-2]italic_i ∈ [ italic_n - 2 ] of T𝑇Titalic_T, corresponding to a bipath B(μ)𝐵𝜇B(\mu)italic_B ( italic_μ ), we construct either one or two bipaths on Si+1subscript𝑆𝑖1S_{i+1}italic_S start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT, associated with either one or two children of μ𝜇\muitalic_μ, respectively. Let L(μ)𝐿𝜇L(\mu)italic_L ( italic_μ ) and R(μ)𝑅𝜇R(\mu)italic_R ( italic_μ ) be the left and right non-crossing monotone paths composing B(μ)𝐵𝜇B(\mu)italic_B ( italic_μ ), respectively, and let p(B(μ))subscript𝑝𝐵𝜇p_{\ell(B(\mu))}italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ( italic_μ ) ) end_POSTSUBSCRIPT and pr(B(μ))subscript𝑝𝑟𝐵𝜇p_{r(B(\mu))}italic_p start_POSTSUBSCRIPT italic_r ( italic_B ( italic_μ ) ) end_POSTSUBSCRIPT be the endpoints of L(μ)𝐿𝜇L(\mu)italic_L ( italic_μ ) and R(μ)𝑅𝜇R(\mu)italic_R ( italic_μ ) with the highest y𝑦yitalic_y-coordinate, respectively. If p(B(μ))pi+1¯¯subscript𝑝𝐵𝜇subscript𝑝𝑖1\overline{p_{\ell(B(\mu))}p_{i+1}}over¯ start_ARG italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ( italic_μ ) ) end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT end_ARG does not cross R(μ)𝑅𝜇R(\mu)italic_R ( italic_μ ), then let BL=B(μ)p(B(μ))pi+1¯subscript𝐵𝐿𝐵𝜇¯subscript𝑝𝐵𝜇subscript𝑝𝑖1B_{L}=B(\mu)\cup\overline{p_{\ell(B(\mu))}p_{i+1}}italic_B start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT = italic_B ( italic_μ ) ∪ over¯ start_ARG italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ( italic_μ ) ) end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT end_ARG. We test whether BLsubscript𝐵𝐿B_{L}italic_B start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT is a safe bipath and, in the positive case, add to μ𝜇\muitalic_μ a child μLsubscript𝜇𝐿\mu_{L}italic_μ start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT corresponding to BLsubscript𝐵𝐿B_{L}italic_B start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT. Analogously, if pr(B(μ))pi+1¯¯subscript𝑝𝑟𝐵𝜇subscript𝑝𝑖1\overline{p_{r(B(\mu))}p_{i+1}}over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_r ( italic_B ( italic_μ ) ) end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT end_ARG does not cross L(μ)𝐿𝜇L(\mu)italic_L ( italic_μ ), then we test whether BR=B(μ)pr(B(μ))pi+1¯subscript𝐵𝑅𝐵𝜇¯subscript𝑝𝑟𝐵𝜇subscript𝑝𝑖1B_{R}=B(\mu)\cup\overline{p_{r(B(\mu))}p_{i+1}}italic_B start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT = italic_B ( italic_μ ) ∪ over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_r ( italic_B ( italic_μ ) ) end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT end_ARG is a safe bipath and, in the positive case, add to μ𝜇\muitalic_μ a child μRsubscript𝜇𝑅\mu_{R}italic_μ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT corresponding to BRsubscript𝐵𝑅B_{R}italic_B start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT. Note that the algorithm guarantees that each node at a level smaller than or equal to n1𝑛1n-1italic_n - 1 of T𝑇Titalic_T is safe, and thus, by Lemma 6.2, extensible.

  • Finally, at each node μ𝜇\muitalic_μ at level n1𝑛1n-1italic_n - 1, we add a leaf λ𝜆\lambdaitalic_λ to μ𝜇\muitalic_μ corresponding to the non-crossing monotone Hamiltonian cycle B(μ)p(B(μ))pn¯pr(B(μ))pn¯𝐵𝜇¯subscript𝑝𝐵𝜇subscript𝑝𝑛¯subscript𝑝𝑟𝐵𝜇subscript𝑝𝑛B(\mu)\cup\overline{p_{\ell(B(\mu))}p_{n}}\cup\overline{p_{r(B(\mu))}p_{n}}italic_B ( italic_μ ) ∪ over¯ start_ARG italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ( italic_μ ) ) end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_ARG ∪ over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_r ( italic_B ( italic_μ ) ) end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_ARG. Note that, since μ𝜇\muitalic_μ is extensible, such a cycle is indeed non-crossing.

In order to complete the proof of Theorem 6.1, we show what follows:

  1. (i)

    Each node of T𝑇Titalic_T at level in𝑖𝑛i\neq nitalic_i ≠ italic_n is internal.

  2. (ii)

    Each leaf corresponds to a non-crossing monotone Hamiltonian cycle on S𝑆Sitalic_S.

  3. (iii)

    Distinct leaves correspond to different non-crossing monotone Hamiltonian cycles on S𝑆Sitalic_S.

  4. (iv)

    For each non-crossing monotone Hamiltonian cycle on S𝑆Sitalic_S, there exists a leaf of T𝑇Titalic_T corresponding to it.

  5. (v)

    Using 𝒪(n2)𝒪superscript𝑛2\mathcal{O}(n^{2})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) pre-processing time and 𝒪(n2)𝒪superscript𝑛2\mathcal{O}(n^{2})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) space, the algorithm enumerates each non-crossing monotone Hamiltonian cycle on S𝑆Sitalic_S with 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ) delay.

  • To prove Item i, we show that the leaves of T𝑇Titalic_T have all level n𝑛nitalic_n. Consider a node μ𝜇\muitalic_μ of T𝑇Titalic_T with level i<n1𝑖𝑛1i<n-1italic_i < italic_n - 1, we prove that it has a child in T𝑇Titalic_T. Recall that B(μ)𝐵𝜇B(\mu)italic_B ( italic_μ ) is safe, otherwise it would not had been added to T𝑇Titalic_T, and thus, by Lemma 6.2, it is extensible. Hence, there exists a non-crossing monotone Hamiltonian cycle C𝐶Citalic_C on S𝑆Sitalic_S whose restriction to Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is B(μ)𝐵𝜇B(\mu)italic_B ( italic_μ ). Also, the restriction of C𝐶Citalic_C to Si+1subscript𝑆𝑖1S_{i+1}italic_S start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT is a bipath B(μ)superscript𝐵𝜇B^{\prime}(\mu)italic_B start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_μ ) on Si+1subscript𝑆𝑖1S_{i+1}italic_S start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT which coincides with B(μ)𝐵𝜇B(\mu)italic_B ( italic_μ ), except that it contains either the segment p(B(μ))pi+1¯¯subscript𝑝𝐵𝜇subscript𝑝𝑖1\overline{p_{\ell(B(\mu))}p_{i+1}}over¯ start_ARG italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ( italic_μ ) ) end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT end_ARG or the segment pr(B(μ))pi+1¯¯subscript𝑝𝑟𝐵𝜇subscript𝑝𝑖1\overline{p_{r(B(\mu))}p_{i+1}}over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_r ( italic_B ( italic_μ ) ) end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT end_ARG. Since B(μ)superscript𝐵𝜇B^{\prime}(\mu)italic_B start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_μ ) is the restriction of C𝐶Citalic_C to Si+1subscript𝑆𝑖1S_{i+1}italic_S start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT, it is extensible and thus, by Lemma 6.2, it is safe. It follows that μ𝜇\muitalic_μ has a child corresponding to B(μ)superscript𝐵𝜇B^{\prime}(\mu)italic_B start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_μ ), which is inserted in T𝑇Titalic_T when adding either the segment p(B(μ))pi+1¯¯subscript𝑝𝐵𝜇subscript𝑝𝑖1\overline{p_{\ell(B(\mu))}p_{i+1}}over¯ start_ARG italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ( italic_μ ) ) end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT end_ARG or the segment pr(B(μ))pi+1¯¯subscript𝑝𝑟𝐵𝜇subscript𝑝𝑖1\overline{p_{r(B(\mu))}p_{i+1}}over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_r ( italic_B ( italic_μ ) ) end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT end_ARG to B(μ)𝐵𝜇B(\mu)italic_B ( italic_μ ). The proof that a node with level n1𝑛1n-1italic_n - 1 is not a leaf is analogous.

  • To prove Item ii, consider a leaf λ𝜆\lambdaitalic_λ and its parent μ𝜇\muitalic_μ in T𝑇Titalic_T. Note that μ𝜇\muitalic_μ is associated with a safe bipath B(μ)𝐵𝜇B(\mu)italic_B ( italic_μ ) on Sn1subscript𝑆𝑛1S_{n-1}italic_S start_POSTSUBSCRIPT italic_n - 1 end_POSTSUBSCRIPT; by Lemma 6.2, we have that B(μ)𝐵𝜇B(\mu)italic_B ( italic_μ ) is extensible. Since B(μ)𝐵𝜇B(\mu)italic_B ( italic_μ ) is extensible, the (unique) monotone Hamiltonian cycle on S𝑆Sitalic_S whose restriction to Sn1subscript𝑆𝑛1S_{n-1}italic_S start_POSTSUBSCRIPT italic_n - 1 end_POSTSUBSCRIPT is B(μ)𝐵𝜇B(\mu)italic_B ( italic_μ ) is non-crossing. This cycle corresponds to λ𝜆\lambdaitalic_λ and is added to T𝑇Titalic_T when visiting μ𝜇\muitalic_μ.

  • To prove Item iii, suppose for a contradiction that there exist two leaves λ1subscript𝜆1\lambda_{1}italic_λ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and λ2subscript𝜆2\lambda_{2}italic_λ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT associated with two monotone Hamiltonian cycles C1subscript𝐶1C_{1}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and C2subscript𝐶2C_{2}italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, respectively, with C1=C2subscript𝐶1subscript𝐶2C_{1}=C_{2}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Let μ𝜇\muitalic_μ be the lowest common ancestor of λ1subscript𝜆1\lambda_{1}italic_λ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and λ2subscript𝜆2\lambda_{2}italic_λ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in T𝑇Titalic_T. Let j𝑗jitalic_j be the level of μ𝜇\muitalic_μ. Denote by μisubscript𝜇𝑖\mu_{i}italic_μ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT the child of μ𝜇\muitalic_μ leading to λisubscript𝜆𝑖\lambda_{i}italic_λ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, with i{1,2}𝑖12i\in\{1,2\}italic_i ∈ { 1 , 2 }. By the construction of T𝑇Titalic_T, we have that exactly one of the bipaths B(μ1)𝐵subscript𝜇1B(\mu_{1})italic_B ( italic_μ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and B(μ2)𝐵subscript𝜇2B(\mu_{2})italic_B ( italic_μ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) contains the segment p(B(μ))pj+1¯¯subscript𝑝𝐵𝜇subscript𝑝𝑗1\overline{p_{\ell(B(\mu))}p_{j+1}}over¯ start_ARG italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ( italic_μ ) ) end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_j + 1 end_POSTSUBSCRIPT end_ARG, while the other one contains the segment pr(B(μ))pj+1¯¯subscript𝑝𝑟𝐵𝜇subscript𝑝𝑗1\overline{p_{r(B(\mu))}p_{j+1}}over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_r ( italic_B ( italic_μ ) ) end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_j + 1 end_POSTSUBSCRIPT end_ARG. This contradicts the fact that C1=C2subscript𝐶1subscript𝐶2C_{1}=C_{2}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT.

  • To prove Item iv, let C𝐶Citalic_C be a non-crossing monotone Hamiltonian cycle on S𝑆Sitalic_S. Consider the safe bipath B𝐵Bitalic_B on Sn1subscript𝑆𝑛1S_{n-1}italic_S start_POSTSUBSCRIPT italic_n - 1 end_POSTSUBSCRIPT obtained by removing from C𝐶Citalic_C the point pnsubscript𝑝𝑛p_{n}italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, together with its two incident segments. It suffices to show that T𝑇Titalic_T contains a node μ𝜇\muitalic_μ such that B=B(μ)𝐵𝐵𝜇B=B(\mu)italic_B = italic_B ( italic_μ ). In fact, in this case, μ𝜇\muitalic_μ is an extensible node of level n1𝑛1n-1italic_n - 1 whose unique child in T𝑇Titalic_T is the leaf corresponding to C𝐶Citalic_C. To prove that T𝑇Titalic_T contains such a node μ𝜇\muitalic_μ, we prove by induction that, for every level i=1,,n1𝑖1𝑛1i=1,\dots,n-1italic_i = 1 , … , italic_n - 1, the tree T𝑇Titalic_T contains a node corresponding to the restriction Bisubscript𝐵𝑖B_{i}italic_B start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT of B𝐵Bitalic_B to Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. The base case trivially holds. For the inductive case, suppose that T𝑇Titalic_T contains a node ν𝜈\nuitalic_ν whose associated bipath B(ν)𝐵𝜈B(\nu)italic_B ( italic_ν ) is Bi1subscript𝐵𝑖1B_{i-1}italic_B start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT. Then Bisubscript𝐵𝑖B_{i}italic_B start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is obtained by adding either the segment p(B(ν))pi¯¯subscript𝑝𝐵𝜈subscript𝑝𝑖\overline{p_{\ell(B(\nu))}p_{i}}over¯ start_ARG italic_p start_POSTSUBSCRIPT roman_ℓ ( italic_B ( italic_ν ) ) end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG or the segment pr(B(ν))pi¯¯subscript𝑝𝑟𝐵𝜈subscript𝑝𝑖\overline{p_{r(B(\nu))}p_{i}}over¯ start_ARG italic_p start_POSTSUBSCRIPT italic_r ( italic_B ( italic_ν ) ) end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG to Bi1subscript𝐵𝑖1B_{i-1}italic_B start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT. Since Bisubscript𝐵𝑖B_{i}italic_B start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is extensible, by Lemma 6.2 it is safe, and hence ν𝜈\nuitalic_ν has a child in T𝑇Titalic_T corresponding to Bisubscript𝐵𝑖B_{i}italic_B start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT.

  • Finally, we prove Item v. To this aim, we compute in 𝒪(n2)𝒪superscript𝑛2\mathcal{O}(n^{2})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) time a table D𝐷Ditalic_D of 𝒪(n2)𝒪superscript𝑛2\mathcal{O}(n^{2})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) size that allows us to test in 𝒪(1)𝒪1\mathcal{O}(1)caligraphic_O ( 1 ) time whether a bipath B𝐵Bitalic_B on Sisubscript𝑆𝑖S_{i}italic_S start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, with i{2,,n1}𝑖2𝑛1i\in\{2,\dots,n-1\}italic_i ∈ { 2 , … , italic_n - 1 }, is safe. This, together with the fact that T𝑇Titalic_T has n𝑛nitalic_n levels, implies that the algorithm’s delay is in 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ).

    The table D𝐷Ditalic_D is indexed by triples pa,pb,Xsubscript𝑝𝑎subscript𝑝𝑏𝑋\langle p_{a},p_{b},X\rangle⟨ italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT , italic_X ⟩, where pa,pbSsubscript𝑝𝑎subscript𝑝𝑏𝑆p_{a},p_{b}\in Sitalic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ∈ italic_S with a<b𝑎𝑏a<bitalic_a < italic_b and X{L,R}𝑋𝐿𝑅X\in\{L,R\}italic_X ∈ { italic_L , italic_R }. Each entry of D𝐷Ditalic_D contains a Boolean value D[pa,pb,X]𝐷subscript𝑝𝑎subscript𝑝𝑏𝑋D[p_{a},p_{b},X]italic_D [ italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT , italic_X ] defined as follows.

    • -

      Suppose that X=R𝑋𝑅X=Ritalic_X = italic_R. Consider the rightmost ray ρ(pa,SbSa)𝜌subscript𝑝𝑎subscript𝑆𝑏subscript𝑆𝑎\rho(p_{a},S_{b}\setminus S_{a})italic_ρ ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ∖ italic_S start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ) starting from pasubscript𝑝𝑎p_{a}italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT and passing through a point in SbSasubscript𝑆𝑏subscript𝑆𝑎S_{b}\setminus S_{a}italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ∖ italic_S start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT. We denote by (pa,pb)subscript𝑝𝑎subscript𝑝𝑏\mathcal{R}(p_{a},p_{b})caligraphic_R ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) the open region of the plane strictly to the right of ρ(pa,SbSa)𝜌subscript𝑝𝑎subscript𝑆𝑏subscript𝑆𝑎\rho(p_{a},S_{b}\setminus S_{a})italic_ρ ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ∖ italic_S start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ) and strictly above the horizontal line through pbsubscript𝑝𝑏p_{b}italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT. Then, D[pa,pb,R]=True𝐷subscript𝑝𝑎subscript𝑝𝑏𝑅TrueD[p_{a},p_{b},R]=\texttt{True}italic_D [ italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT , italic_R ] = True if and only if (pa,pb)Ssubscript𝑝𝑎subscript𝑝𝑏𝑆\mathcal{R}(p_{a},p_{b})\cap S\neq\emptysetcaligraphic_R ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) ∩ italic_S ≠ ∅.

    • -

      Suppose now that X=L𝑋𝐿X=Litalic_X = italic_L. Consider the leftmost ray (pa,SbSa)subscript𝑝𝑎subscript𝑆𝑏subscript𝑆𝑎\ell(p_{a},S_{b}\setminus S_{a})roman_ℓ ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ∖ italic_S start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ) starting from pasubscript𝑝𝑎p_{a}italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT and passing through a point in SbSasubscript𝑆𝑏subscript𝑆𝑎S_{b}\setminus S_{a}italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ∖ italic_S start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT. We denote by (pa,pb)subscript𝑝𝑎subscript𝑝𝑏\mathcal{L}(p_{a},p_{b})caligraphic_L ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) the open region of the plane strictly to the left of the ray (pa,SbSa)subscript𝑝𝑎subscript𝑆𝑏subscript𝑆𝑎\ell(p_{a},S_{b}\setminus S_{a})roman_ℓ ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ∖ italic_S start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ) and strictly above the horizontal line passing through pbsubscript𝑝𝑏p_{b}italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT. Then, D[pa,pb,L]=True𝐷subscript𝑝𝑎subscript𝑝𝑏𝐿TrueD[p_{a},p_{b},L]=\texttt{True}italic_D [ italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT , italic_L ] = True if and only if (pa,pb)Ssubscript𝑝𝑎subscript𝑝𝑏𝑆\mathcal{L}(p_{a},p_{b})\cap S\neq\emptysetcaligraphic_L ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) ∩ italic_S ≠ ∅.

    For each fixed a[n1]𝑎delimited-[]𝑛1a\in[n-1]italic_a ∈ [ italic_n - 1 ], we show how to compute all the entries D[pa,pb,R]𝐷subscript𝑝𝑎subscript𝑝𝑏𝑅D[p_{a},p_{b},R]italic_D [ italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT , italic_R ] with b=a+1,a+2,,n𝑏𝑎1𝑎2𝑛b=a+1,a+2,\dots,nitalic_b = italic_a + 1 , italic_a + 2 , … , italic_n in overall 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ) time. This sums up to 𝒪(n2)𝒪superscript𝑛2\mathcal{O}(n^{2})caligraphic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) time over all the entries D[pa,pb,R]𝐷subscript𝑝𝑎subscript𝑝𝑏𝑅D[p_{a},p_{b},R]italic_D [ italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT , italic_R ] of D𝐷Ditalic_D with a=1,2,,n1𝑎12𝑛1a=1,2,\dots,n-1italic_a = 1 , 2 , … , italic_n - 1 and b=a+1,a+2,,n𝑏𝑎1𝑎2𝑛b=a+1,a+2,\dots,nitalic_b = italic_a + 1 , italic_a + 2 , … , italic_n. The computation of the entries D[pa,pb,L]𝐷subscript𝑝𝑎subscript𝑝𝑏𝐿D[p_{a},p_{b},L]italic_D [ italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT , italic_L ] of D𝐷Ditalic_D is done symmetrically.

    Refer to caption
    (a)
    Refer to caption
    (b)
    Figure 12: (a) For any b{a+1,a+2,,c1}𝑏𝑎1𝑎2𝑐1b\in\{a+1,a+2,\dots,c-1\}italic_b ∈ { italic_a + 1 , italic_a + 2 , … , italic_c - 1 }, we have that pcsubscript𝑝𝑐p_{c}italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT is in (pa,pb)subscript𝑝𝑎subscript𝑝𝑏\mathcal{R}(p_{a},p_{b})caligraphic_R ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ). (b) For any b{c,c+1,,n}𝑏𝑐𝑐1𝑛b\in\{c,c+1,\dots,n\}italic_b ∈ { italic_c , italic_c + 1 , … , italic_n }, we have that (pa,pb)subscript𝑝𝑎subscript𝑝𝑏\mathcal{R}(p_{a},p_{b})caligraphic_R ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) is empty. Region (pa,pb)subscript𝑝𝑎subscript𝑝𝑏\mathcal{R}(p_{a},p_{b})caligraphic_R ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) is shaded gray.

    We compute the point pcsubscript𝑝𝑐p_{c}italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT with c>a𝑐𝑎c>aitalic_c > italic_a such that the ray ρ(pa,pc)=ρ(pa,SSa)𝜌subscript𝑝𝑎subscript𝑝𝑐𝜌subscript𝑝𝑎𝑆subscript𝑆𝑎\rho(p_{a},p_{c})=\rho(p_{a},S\setminus S_{a})italic_ρ ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) = italic_ρ ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_S ∖ italic_S start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ) is the rightmost among the rays starting from pasubscript𝑝𝑎p_{a}italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT and passing through a point in SSa𝑆subscript𝑆𝑎S\setminus S_{a}italic_S ∖ italic_S start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT. This can be done in 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ) time by inspecting the points pa+1,pa+2,,pnsubscript𝑝𝑎1subscript𝑝𝑎2subscript𝑝𝑛p_{a+1},p_{a+2},\dots,p_{n}italic_p start_POSTSUBSCRIPT italic_a + 1 end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_a + 2 end_POSTSUBSCRIPT , … , italic_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. Then, we set D[pa,pb,R]=True𝐷subscript𝑝𝑎subscript𝑝𝑏𝑅TrueD[p_{a},p_{b},R]=\texttt{True}italic_D [ italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT , italic_R ] = True for all the points pbsubscript𝑝𝑏p_{b}italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT with b=a+1,a+2,,c1𝑏𝑎1𝑎2𝑐1b=a+1,a+2,\dots,c-1italic_b = italic_a + 1 , italic_a + 2 , … , italic_c - 1 and D[pa,pb,R]=False𝐷subscript𝑝𝑎subscript𝑝𝑏𝑅FalseD[p_{a},p_{b},R]=\texttt{False}italic_D [ italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT , italic_R ] = False for all the points pbsubscript𝑝𝑏p_{b}italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT with b=c,c+1,,n𝑏𝑐𝑐1𝑛b=c,c+1,\dots,nitalic_b = italic_c , italic_c + 1 , … , italic_n. Indeed, for any b{a+1,a+2,,c1}𝑏𝑎1𝑎2𝑐1b\in\{a+1,a+2,\dots,c-1\}italic_b ∈ { italic_a + 1 , italic_a + 2 , … , italic_c - 1 }, we have that pcsubscript𝑝𝑐p_{c}italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT is in (pa,pb)subscript𝑝𝑎subscript𝑝𝑏\mathcal{R}(p_{a},p_{b})caligraphic_R ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ), since it is strictly above the horizontal line through pbsubscript𝑝𝑏p_{b}italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT (given that b<c𝑏𝑐b<citalic_b < italic_c) and strictly to the right of the ray ρ(pa,pb)𝜌subscript𝑝𝑎subscript𝑝𝑏\rho(p_{a},p_{b})italic_ρ ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) (given that ρ(pa,pc)𝜌subscript𝑝𝑎subscript𝑝𝑐\rho(p_{a},p_{c})italic_ρ ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) is the rightmost among the rays starting from pasubscript𝑝𝑎p_{a}italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT and passing through a point in SSa𝑆subscript𝑆𝑎S\setminus S_{a}italic_S ∖ italic_S start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT); see Figure 12(a). Also, for any b{c,c+1,,n}𝑏𝑐𝑐1𝑛b\in\{c,c+1,\dots,n\}italic_b ∈ { italic_c , italic_c + 1 , … , italic_n }, we have that pcsubscript𝑝𝑐p_{c}italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT is in SbSasubscript𝑆𝑏subscript𝑆𝑎S_{b}\setminus S_{a}italic_S start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ∖ italic_S start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT, and, by definition of pcsubscript𝑝𝑐p_{c}italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT, no point is strictly to the right of the ray ρ(pa,pc)𝜌subscript𝑝𝑎subscript𝑝𝑐\rho(p_{a},p_{c})italic_ρ ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ), hence (pa,pb)subscript𝑝𝑎subscript𝑝𝑏\mathcal{R}(p_{a},p_{b})caligraphic_R ( italic_p start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT ) is empty; see Figure 12(b).

Items i, ii, iii and iv prove the correctness of the enumeration algorithm, while Item v proves its efficiency. This concludes the proof of Theorem 6.1.

7 Conclusions and Open Problems

We addressed basic pointset embeddability problems for upward planar graphs. We proved that UPSE testing is \NP-hard even for planar st𝑠𝑡stitalic_s italic_t-graphs composed of internally-disjoint st𝑠𝑡stitalic_s italic_t-paths and for directed trees composed of directed root-to-leaf paths. For planar st𝑠𝑡stitalic_s italic_t-graphs, we showed that UPSE Testing can be solved in O(n4k)𝑂superscript𝑛4𝑘O(n^{4k})italic_O ( italic_n start_POSTSUPERSCRIPT 4 italic_k end_POSTSUPERSCRIPT ) time, where k𝑘kitalic_k is the maximum st𝑠𝑡stitalic_s italic_t-cutset of G𝐺Gitalic_G, and we provided an algorithm to enumerate all UPSEs of G𝐺Gitalic_G on S𝑆Sitalic_S with 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ) worst-case delay. We also showed how to enumerate all monotone polygonalizations of a given pointset with 𝒪(n)𝒪𝑛\mathcal{O}(n)caligraphic_O ( italic_n ) worst-case delay. We point out the following open problems.

  • Our NP-hardness proofs for UPSE testing use the fact that the points are not in general position. Given a directed tree T𝑇Titalic_T on n𝑛nitalic_n vertices and a set S𝑆Sitalic_S of n𝑛nitalic_n points in general position, is it \NP-hard to decide whether T𝑇Titalic_T has an UPSE on S𝑆Sitalic_S?

  • Can UPSE testing be solved in polynomial time or does it remain \NP-hard if the input is a maximal planar st𝑠𝑡stitalic_s italic_t-graph?

  • We proved that UPSE testing for a planar st𝑠𝑡stitalic_s italic_t-graph is in XP with respect to the size of the maximum st𝑠𝑡stitalic_s italic_t-cutset of G𝐺Gitalic_G. Is the problem in FPT with respect to the same parameter? Are there other interesting parameterizations for the problem?

  • Let S𝑆Sitalic_S be a pointset and 𝒫𝒫\mathcal{P}caligraphic_P be a non-crossing path on a subset of S𝑆Sitalic_S. Is it possible to decide in polynomial time whether 𝒫𝒫\mathcal{P}caligraphic_P can be extended to a polygonalization of S𝑆Sitalic_S? A positive answer would imply an algorithm with polynomial delay for enumerating the polygonalizations of a pointset, with the same approach as the one we adopted in this paper for monotone polygonalizations.

References

  • [1] Victor Alvarez, Karl Bringmann, Radu Curticapean, and Saurabh Ray. Counting triangulations and other crossing-free structures via onion layers. Discret. Comput. Geom., 53(4):675–690, 2015. URL: https://doi.org/10.1007/s00454-015-9672-3, doi:10.1007/S00454-015-9672-3.
  • [2] Patrizio Angelini, Fabrizio Frati, Markus Geyer, Michael Kaufmann, Tamara Mchedlidze, and Antonios Symvonis. Upward geometric graph embeddings into point sets. In Ulrik Brandes and Sabine Cornelsen, editors, Graph Drawing - 18th International Symposium, GD 2010, Konstanz, Germany, September 21-24, 2010. Revised Selected Papers, volume 6502 of Lecture Notes in Computer Science, pages 25–37. Springer, 2010. doi:10.1007/978-3-642-18469-7_3.
  • [3] Elena Arseneva, Pilar Cano, Linda Kleist, Tamara Mchedlidze, Saeed Mehrabi, Irene Parada, and Pavel Valtr. Upward point set embeddings of paths and trees. In Ryuhei Uehara, Seok-Hee Hong, and Subhas C. Nandy, editors, WALCOM: Algorithms and Computation - 15th International Conference and Workshops, WALCOM 2021, Yangon, Myanmar, February 28 - March 2, 2021, Proceedings, volume 12635 of Lecture Notes in Computer Science, pages 234–246. Springer, 2021. doi:10.1007/978-3-030-68211-8_19.
  • [4] Giuseppe Di Battista, Walter Didimo, Luca Grilli, Fabrizio Grosso, Giacomo Ortali, Maurizio Patrignani, and Alessandra Tappini. Small point-sets supporting graph stories. In Patrizio Angelini and Reinhard von Hanxleden, editors, Graph Drawing and Network Visualization - 30th International Symposium, GD 2022, Tokyo, Japan, September 13-16, 2022, Revised Selected Papers, volume 13764 of Lecture Notes in Computer Science, pages 289–303. Springer, 2022. doi:10.1007/978-3-031-22203-0_21.
  • [5] Therese Biedl and Martin Vatshelle. The point-set embeddability problem for plane graphs. In Tamal K. Dey and Sue Whitesides, editors, Proceedings of the 28th ACM Symposium on Computational Geometry, Chapel Hill, NC, USA, June 17-20, 2012, pages 41–50. ACM, 2012. doi:10.1145/2261250.2261257.
  • [6] Carla Binucci, Emilio Di Giacomo, Walter Didimo, Alejandro Estrella-Balderrama, Fabrizio Frati, Stephen G. Kobourov, and Giuseppe Liotta. Upward straight-line embeddings of directed graphs into point sets. Comput. Geom., 43(2):219–232, 2010. URL: https://doi.org/10.1016/j.comgeo.2009.07.002, doi:10.1016/J.COMGEO.2009.07.002.
  • [7] Prosenjit Bose. On embedding an outer-planar graph in a point set. Comput. Geom., 23(3):303–312, 2002. doi:10.1016/S0925-7721(01)00069-4.
  • [8] Prosenjit Bose, Michael McAllister, and Jack Snoeyink. Optimal algorithms to embed trees in a point set. J. Graph Algorithms Appl., 1(2):1–15, 1997. URL: https://doi.org/10.7155/jgaa.00002, doi:10.7155/JGAA.00002.
  • [9] Sergio Cabello. Planar embeddability of the vertices of a graph using a fixed point set is np-hard. J. Graph Algorithms Appl., 10(2):353–363, 2006. URL: https://doi.org/10.7155/jgaa.00132, doi:10.7155/JGAA.00132.
  • [10] Netzahualcoyotl Castañeda and Jorge Urrutia. Straight line embeddings of planar graphs on point sets. In Frank Fiala, Evangelos Kranakis, and Jörg-Rüdiger Sack, editors, Proceedings of the 8th Canadian Conference on Computational Geometry, Carleton University, Ottawa, Canada, August 12-15, 1996, pages 312–318. Carleton University Press, 1996. URL: http://www.cccg.ca/proceedings/1996/cccg1996_0052.pdf.
  • [11] Gi-Sang Cheon, Hong Joon Choi, Guillermo Esteban, and Minho Song. Enumeration of bipartite non-crossing geometric graphs. Discret. Appl. Math., 317:86–100, 2022. URL: https://doi.org/10.1016/j.dam.2022.04.008, doi:10.1016/J.DAM.2022.04.008.
  • [12] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, 4th Edition. MIT Press, 2022. URL: https://mitpress.mit.edu/9780262046305/introduction-to-algorithms/.
  • [13] Giuseppe Di Battista, Peter Eades, Roberto Tamassia, and Ioannis G. Tollis. Graph Drawing: Algorithms for the Visualization of Graphs. Prentice-Hall, 1999.
  • [14] Giuseppe Di Battista and Roberto Tamassia. Algorithms for plane representations of acyclic digraphs. Theor. Comput. Sci., 61:175–198, 1988. doi:10.1016/0304-3975(88)90123-5.
  • [15] Reinhard Diestel. Graph Theory, 4th Edition, volume 173 of Graduate texts in mathematics. Springer, 2012.
  • [16] David Eppstein. Counting polygon triangulations is hard. Discret. Comput. Geom., 64(4):1210–1234, 2020. URL: https://doi.org/10.1007/s00454-020-00251-7, doi:10.1007/S00454-020-00251-7.
  • [17] David Eppstein. Non-crossing hamiltonian paths and cycles in output-polynomial time. In Erin W. Chambers and Joachim Gudmundsson, editors, 39th International Symposium on Computational Geometry, SoCG 2023, June 12-15, 2023, Dallas, Texas, USA, volume 258 of LIPIcs, pages 29:1–29:16. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2023. URL: https://doi.org/10.4230/LIPIcs.SoCG.2023.29, doi:10.4230/LIPICS.SOCG.2023.29.
  • [18] Philippe Flajolet and Marc Noy. Analytic combinatorics of non-crossing configurations. Discret. Math., 204(1-3):203–229, 1999. doi:10.1016/S0012-365X(98)00372-0.
  • [19] M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman, first edition edition, 1979.
  • [20] Emilio Di Giacomo, Henry Förster, Daria Kokhovich, Tamara Mchedlidze, Fabrizio Montecchiani, Antonios Symvonis, and Anaïs Villedieu. On 1-bend upward point-set embeddings of st-digraphs. In José A. Soto and Andreas Wiese, editors, LATIN 2024: Theoretical Informatics - 16th Latin American Symposium, Puerto Varas, Chile, March 18-22, 2024, Proceedings, Part I, volume 14578 of Lecture Notes in Computer Science, pages 3–18. Springer, 2024. doi:10.1007/978-3-031-55598-5_1.
  • [21] Francesco Giordano, Giuseppe Liotta, Tamara Mchedlidze, Antonios Symvonis, and Sue Whitesides. Computing upward topological book embeddings of upward planar digraphs. J. Discrete Algorithms, 30:45–69, 2015. URL: https://doi.org/10.1016/j.jda.2014.11.006, doi:10.1016/J.JDA.2014.11.006.
  • [22] Peter Gritzmann, Bojan Mohar, János Pach, and Richard Pollack. Embedding a planar triangulation with vertices at specified points. The American Mathematical Monthly, 98(2):165, 1991. doi:10.2307/2323956.
  • [23] Lenwood S. Heath, Sriram V. Pemmaraju, and Ann N. Trenk. Stack and queue layouts of directed acyclic graphs: Part I. SIAM J. Comput., 28(4):1510–1539, 1999.
  • [24] Michael Kaufmann, Tamara Mchedlidze, and Antonios Symvonis. On upward point set embeddability. Comput. Geom., 46(6):774–804, 2013. URL: https://doi.org/10.1016/j.comgeo.2012.11.008, doi:10.1016/J.COMGEO.2012.11.008.
  • [25] Michael Kaufmann and Roland Wiese. Embedding vertices at points: Few bends suffice for planar graphs. J. Graph Algorithms Appl., 6(1):115–129, 2002. URL: https://doi.org/10.7155/jgaa.00046, doi:10.7155/JGAA.00046.
  • [26] Dániel Marx and Tillmann Miltzow. Peeling and nibbling the cactus: Subexponential-time algorithms for counting triangulations and related problems. In Sándor P. Fekete and Anna Lubiw, editors, 32nd International Symposium on Computational Geometry, SoCG 2016, June 14-18, 2016, Boston, MA, USA, volume 51 of LIPIcs, pages 52:1–52:16. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2016. URL: https://doi.org/10.4230/LIPIcs.SoCG.2016.52, doi:10.4230/LIPICS.SOCG.2016.52.
  • [27] Tamara Mchedlidze. Upward planar embedding of an n-vertex oriented path on O(n22{}^{\mbox{2}}start_FLOATSUPERSCRIPT 2 end_FLOATSUPERSCRIPT) points. Comput. Geom., 46(8):1003–1008, 2013.
  • [28] Joseph S. B. Mitchell and Joseph O’Rourke. Computational geometry column 42. Int. J. Comput. Geom. Appl., 11(5):573–582, 2001. doi:10.1142/S0218195901000651.
  • [29] Rahnuma Islam Nishat, Debajyoti Mondal, and Md. Saidur Rahman. Point-set embeddings of plane 3-trees. Comput. Geom., 45(3):88–98, 2012. URL: https://doi.org/10.1016/j.comgeo.2011.09.002, doi:10.1016/J.COMGEO.2011.09.002.
  • [30] Andreas Razen and Emo Welzl. Counting plane graphs with exponential speed-up. In Cristian S. Calude, Grzegorz Rozenberg, and Arto Salomaa, editors, Rainbow of Computer Science - Dedicated to Hermann Maurer on the Occasion of His 70th Birthday, volume 6570 of Lecture Notes in Computer Science, pages 36–46. Springer, 2011. doi:10.1007/978-3-642-19391-0_3.
  • [31] Michael Ian Shamos and Dan Hoey. Geometric intersection problems. In 17th Annual Symposium on Foundations of Computer Science, Houston, Texas, USA, 25-27 October 1976, pages 208–215. IEEE Computer Society, 1976. doi:10.1109/SFCS.1976.16.
  • [32] Manuel Wettstein. Counting and enumerating crossing-free geometric graphs. J. Comput. Geom., 8(1):47–77, 2017. URL: https://doi.org/10.20382/jocg.v8i1a4, doi:10.20382/JOCG.V8I1A4.
  • [33] Katsuhisa Yamanaka, David Avis, Takashi Horiyama, Yoshio Okamoto, Ryuhei Uehara, and Tanami Yamauchi. Algorithmic enumeration of surrounding polygons. Discret. Appl. Math., 303:305–313, 2021. URL: https://doi.org/10.1016/j.dam.2020.03.034, doi:10.1016/J.DAM.2020.03.034.