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 -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 -graphs.
Let be a planar -graph and let be a pointset with .
An UPSE of on is an upward planar straight-line drawing of that maps the vertices of to the points of .
We consider both the problem of testing the existence of an UPSE of on (UPSE Testing) and the problem of enumerating all UPSEs of on .
We prove that UPSE Testing is \NP-complete even for -graphs that consist of a set of directed -paths sharing only and .
On the other hand, for -vertex planar -graphs whose maximum -cutset has size ,
we prove that it is possible to solve UPSE Testing in time with space, and to enumerate all UPSEs of on with worst-case delay, using space, after set-up time.
Moreover, for an -vertex -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 time. Related to this result, we give an algorithm that, for a set of points, enumerates all the non-crossing monotone Hamiltonian cycles on with worst-case delay, using space, after set-up time.
Given an -vertex upward planar graph and a set of points in the plane, an upward pointset embedding (UPSE) of on is an upward planar drawing of where the vertices are mapped to the points of and the edges are represented as straight-line segments.
The Upward Pointset Embeddability Testing Problem (UPSE Testing) asks whether an upward planar graph has an UPSE on a given pointset .
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 . 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 -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 -graphs and -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 -graphs. Let be an -vertex planar -graph and be a set of 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 lie on the same horizontal line.
Our results are the following:
•
In Section3, we show that UPSE Testing is \NP-hard even if consists of a set of internally-disjoint -paths (Theorem3.1). A similar proof shows that UPSE Testing is \NP-hard for directed trees consisting of a set of directed root-to-leaf paths (Theorem3.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 Section4, we show that UPSE Testing can be solved in time and space, where is the size of the largest -cutset of (Theorem4.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 on with worst-case delay, using space, after set-up time (Theorem4.5).
•
In Section5, we provide a simple characterization of the pointsets in general position that allow for an UPSE of , if consists of two -paths. Based on that, we provide an testing algorithm for this case (Theorem5.1).
•
Finally, in Section6, inspired by the fact that an UPSE of a planar -graph composed of two -paths defines a non-crossing monotone Hamiltonian cycle on , we provide an algorithm that enumerates all the non-crossing monotone Hamiltonian cycles on a given pointset with worst-case delay, and space usage and set-up time (Theorem6.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 , let denote the set . A permutation with repetitions of elements from is an arrangement of any elements of a set , where repetitions are allowed.
For a point , we denote by and the - and -coordinate of , respectively.
The convex hull of a set of points in is the union of all convex combinations of points in . The boundary of is the polygon with minimum perimeter enclosing .
The points of with lowest and highest -coordinates are the south and north extreme of , respectively; we also refer to them as to the extremes of .
The left envelope of is the subpath of that lies to the left of the line passing through the extremes of ; it includes the extremes of . The right envelope of is defined analogously. We denote the subset of in and in by and , respectively.
A polyline , with , 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 -coordinate is larger than the one of the starting point of the ray. We denote by the ray starting at a point and passing through a point . For a set of points and a point whose -coordinate is smaller than the one of every point in , we denote by (by ) the rightmost (resp. leftmost) upward ray starting at and passing through a point of , that is, the clockwise (resp. counter-clockwise) rotation around which brings (resp. ) to coincide with any other upward ray starting at and passing through a point of is larger than .
A polyline is -monotone if , for . A monotone path on a pointset is a -monotone polyline such that the points belong to . A monotone cycle on consists of two monotone paths on that share their endpoints. A monotone Hamiltonian cycle on is a monotone cycle on such that each point of is a point (and vice versa).
A path is directed if, for , the edge is directed from to ; the vertices are intern. A planar -graph is an acyclic digraph with one source and one sink , which admits a planar embedding in which and are on the boundary of the outer face. An -path in a planar -graph is a directed path from to . 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 -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 on a pointset is an upward planar straight-line drawing of that maps each vertex of to a point in . In this paper, we study the following problem.
In the remainder, we assume that not all points in 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 have the same -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 to the points of the input pointset and then test in polynomial time whether the assignment results in an upward planar straight-line drawing of . 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 -graph composed of a set of internally-disjoint -paths. An instance of 3-Partition consists of a set of integers, where and , for .
The 3-Partition problem asks whether can be partitioned into subsets
, each with three integers, so that the sum of the integers in each set is . Since 3-Partition is strongly \NP-hard [19], we may assume that is bounded by a polynomial function of .
Given an instance of 3-Partition, we show how to construct in polynomial time, precisely , an equivalent instance of UPSE Testing.
The -vertex planar -graph is composed of internally-disjoint -paths. Namely, for , we have that contains an -path, i.e., a path with internal vertices, and additional -paths, where . Note that .
The points of lie on the plane as follows (see Figure1(a)):
•
is the origin, with coordinates .
•
Consider upward rays , whose starting point is , such that the angles that they respectively form with the -axis satisfy . Let be a line intersecting all the rays, with a positive slope smaller than . For , place points (in this order from bottom to top) along , so that is on and no two points share the same -coordinate. Observe that is the highest point placed so far.
•
Place at coordinates .
•
Finally, for , place points along a non-horizontal segment in such a way that: (i) is entirely contained in the triangle with vertices , , and , (ii) for any point on , the polygonal line is contained in the region delimited by the polygon , and (iii) no two distinct points on any two segments and share the same -coordinate.
Note that has points. The described reduction is the main ingredient for the proof of the following theorem.
Theorem 3.1.
UPSE Testing is \NP-hard even for planar -graphs consisting of a set of directed internally-disjoint -paths.
Proof 3.2.
First, the construction of and takes polynomial time. In particular, the coordinates of the points in can be encoded with a polylogarithmic number of bits. In order to prove the NP-hardness, it remains to show that the constructed instance of UPSE Testing is equivalent to the given instance of 3-Partition. Refer to Figure1(b).
Suppose first that is a positive instance of 3-Partition, that is, there exist sets , each with three integers, such that the sum of the integers in each set is . We construct an UPSE of on as follows. We map to and to . For , we map the internal vertices of a -path to the points , so that vertices that come first in the directed path have smaller -coordinates. Furthermore, for , let . Then we map the internal vertices of an -path, the internal vertices of an -path, and the internal vertices of an -path to the set of points in the triangle with vertices , , and , so that vertices that come first in the directed paths have smaller -coordinates and so that the internal vertices of the -path have smaller -coordinates than the internal vertices of the -path, which have smaller -coordinates than the internal vertices of the -path. This results in an UPSE of on .
Suppose next that is a positive instance of UPSE Testing. Trivially, in any UPSE of on , we have that is drawn on and on . Consider the points . The paths using them use all the points , with and . Indeed, if these paths left one of such points unused, no other path could reach it from without passing through , because of the collinearity of the points along the rays . Hence, there are at most paths that use points. Since the -paths have less than internal vertices, these paths must all be -paths. Let be the left-to-right order of the -paths around . For , path uses all points on , as if used a point with , then two among would cross each other. Note that, after using , path ends with the segment . Hence, for , the region is bounded by and ; recall that contains the segment . The -paths must then use the points on . Since , no two -paths can use all the points in one region and no four -paths can lie in the same region. Hence, three -paths use the points in each region, and this provides a solution to the given 3-Partition instance.
(a)
(b)
Figure 2: Illustration for the proof of Theorem3.3. (a) The pointset . The points of visible from (green points) are as many as the children of the root of the tree . (b) The UPSE of on 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 of integers, where and , for . We construct a directed tree as follows. The root of has children. Among them, are leaves , while each of the remaining children is the first vertex of a directed path , for , consisting of the vertices , where is the child of and is a leaf. All the edges of are directed from the root to the leaves. Note that the number of vertices of is .
The points of lie on the plane as follows (see Figure2(a)):
•
is the origin, with coordinates .
•
Consider upward rays , whose starting point is , such that the angles formed by with the -axis satisfy . These rays split the half plane above the -axis into regions , with . In the interior of each region , place three points and in such a way that is lower than , which is lower than , and so that they are all visible from . Along the line passing through and place points above .
•
Let be the highest -coordinate used so far.
Let be a line with positive slope smaller than intersecting all the rays at points that have -coordinates larger than . For , place a point at the intersection of with .
Note that has 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 and takes polynomial time. In particular, the coordinates of the points in can be encoded with a polylogarithmic number of bits. In order to prove the NP-hardness, it remains to show that the constructed instance of UPSE Testing is equivalent to the given instance of 3-Partition. Refer to Figure2(b).
Suppose first that is a positive instance of 3-Partition, that is, there exist sets , each with three integers, such that the sum of the integers in each set is . We construct an UPSE of on as follows. We map to . For , we map the child of to . Furthermore, for , let . Then we map the internal vertices of an -path, the internal vertices of an -path, and the internal vertices of an -path to the set of points in the region , so that the neighbors of in the -path, in the -path, and in the -path lie on , , and , respectively, so that vertices that come first in the directed paths have smaller -coordinates, and so that the internal vertices of the -path have larger -coordinates than the internal vertices of the -path, which have larger -coordinates than the internal vertices of the -path. This results in an UPSE of on .
Suppose next that is a positive instance of UPSE Testing. It is obvious that the root of has to be placed on . From the root only points are visible. These are the points , for , and the points and , for (all these points are filled green in Figure2(a)).
Since has children, each child must use one of the above points. Consider point . Since this is the highest point in the set , the child that uses it must be a leaf. This also holds for , which is the highest of the remaining points. Iterating this argument we have that the points , with , must be used by the children of which are leaves of . Since all other vertices have smaller -coordinates, each path , with , is constrained to be into a region , with (see Figure2(b)). Since each region contains exactly three points and visible from , each region hosts exactly three such paths, which use the remaining 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 -cutset of a planar -graph is a subset of such that:
•
removing from results in a graph consisting of exactly two connected components and ,
•
belongs to and belongs to , and
•
any edge in has its tail in and its head in .
In this section, we consider instances where is a planar -graph, whose maximum -cutset has bounded size . In Theorem4.4, we show that UPSE Testing can be solved in polynomial time for such instances . Moreover, in Theorem4.5, we show how to enumerate all UPSEs of with linear delay.
The algorithm for Theorem4.4 is based on a dynamic programming approach.
It exploits the property that, for an -cutset defining the connected components and , the extensibility of an UPSE of on a subset of to an UPSE of on only depends on the drawing of the edges of , and not on the embedding of the remaining vertices of , provided that in there exists an horizontal line that crosses all the edges of .
The algorithm for Theorem4.5 leverages a variation of the dynamic programming table computed by the former algorithm to efficiently test the extensibility of an UPSE of (in which there exists a horizontal line that crosses all the edges of ) on a subset of to an UPSE of on .
The proofs of Theorems4.4 and 4.5 exploit two dynamic programming tables and defined as follows. Each entry of and is indexed by a key that consists of a set of triplets , where, for any , it holds that , , and .
Moreover, each key satisfies the following constraints:
•
the set is an -cutset of and, for every , with , it holds true that (that is, );
•
for every , with , it holds true that (resp. that ) if and only if and have the same tail (resp. the same head); and
•
let be the horizontal line passing through the tail with largest -coordinate among the edges in , i.e., s.t. for any ; then intersects all the segments , possibly at an endpoint.
For brevity, we sometimes say that the edge has its tail (resp. its head) mapped by on (resp. on ). We also say that is drawn as in if its drawing is the segment .
Let be a key of and of ; see Figure3(a). Let be the connected component containing of the graph obtained from by removing the edge set .
The entry contains a Boolean value such that if and only if there exists an UPSE of on some subset with such that:
•
the lowest point of belongs to and lies on it, and
•
for , the edge is drawn as in .
If , the entry contains the empty set . If and coincides with the set of edges incident to , then stores the set . If and does not coincide with the set of edges incident to , stores the set of keys with the following properties. Let be any edge whose tail has maximum -coordinate among the edges in , i.e., is such that for any .
For each , we have that:
•
;
•
contains all and only the edges in whose tail is not , and each edge is drawn in as it is drawn in ; and
•
all the edges in have as their head.
(a)
(b)
Figure 3: (a) An entry with and a corresponding UPSE of on a subset of that includes . (b) An entry from which stems; the points in are filled white.
Additionally, we store a list of the keys such that and is the set of edges incident to . Note that each edge in has its head mapped by to the point with largest -coordinate.
We use dynamic programming to compute the entries of and in increasing order of .
By the definition of , we have that admits an UPSE on if and only if .
First, we initialize all entries of to False and all entries of to .
If , then only consists of . We set and for every key such that:
•
are the edges incident to ;
•
; and
•
for every distinct and in , we have that , , and are not aligned.
If , we compute and as follows, see Figure3(b). If two segments and , with , cross (that is, they share a point that is internal for at least one of the segments), then we leave and unchanged; in particular, and .
Otherwise, we proceed as follows.
Let be any edge whose tail has maximum -coordinate among the edges in . Let be the set of edges obtained from by removing all the edges having as their tail, and let be the set of edges of having as their head.
We define the set . We have the following.
(a)
(b)
Figure 4: Illustrations for Claim1. (a) The graphs (dashed) and (solid black) defined by . (b) The graphs (dashed) and (solid black) defined by (blue and orange edges).
Claim 1.
is an -cutset of .
Proof 4.1.
Recall that, since is an -cutset, removing the edges of from yields two connected components and such that belongs to and belongs to ; see Figure4(a).
Let be the graph consisting of , the vertex , and the edges having as their tail (these are the edges in , which are not part of ).
Also, let be the graph obtained by removing from the vertex and the edges in (i.e., these are the edges outgoing from ); see Figure4(b).
We have that and do not share any vertex, since and do not share any vertex, since and since the only vertex in is , which does not belong to . Moreover, by construction , in particular the only edges connecting vertices in with vertices in are those in , which have their tails in and their heads in . Also, we have that belongs to and belongs to . To prove that is an -cutset of , it only remains to argue that each of and is connected.
Since and since is connected, we have that every pair of vertices distinct from is connected by an undirected path in . Also, the heads of the edges outgoing from belong to and, by construction, such edges belong to . Hence, there exists an undirected path in between and every vertex of . Therefore, is connected.
Suppose now, for a contradiction, that is not connected and thus there exists a vertex which is not in the same connected component as in . Since is a planar -graph, it contains a directed path from to . If such a path does not belong entirely to , it contains an edge which is directed from a vertex not in to a vertex in . Moreover, such an edge belongs to , however we already observed that all the edges in are outgoing from the vertices in , a contradiction.
Consider the set consisting of the points in whose -coordinates are smaller than . We have the following crucial observation.
{observation}
if and only if there exists some key , with , such that , the edges in are drawn in as in , the edges in have their heads mapped by on and their tails on a point in .
In view of Section4, we can now define a procedure to compute and . Assume that the edges are ordered so that the edges of precede those of . By Section4, if , then we leave and unchanged, i.e., and .
In fact, in this case, there are not enough points in to map the tails of the edges in .
Otherwise, let be the set of all permutations with repetitions of points from . We define a set of keys that, for each , contains a key such that:
(i)
;
(ii)
for any , the triple containing in is the same as the triple containing in (note that );
(iii)
for any , the triple containing in has , and (note that ); and
(iv)
for every and , it holds if and only if and have the same tail.
Let .
By Section4, we have if and only if . Thus, we set and .
We say that stems from any key with .
We now upper bound the sizes of and and the time needed to compute them.
Claim 2.
Tables and have size in and , respectively.
Proof 4.2.
First, we give an upper bound on the number of entries of (and, thus, of ), which we denote by .
Each entry of is associated with a key defined by an -cutset of size at most , a permutation (possibly with repetitions) of points in describing a mapping of the tails of the edges in with points in , and a permutation (possibly with repetitions) of points in describing a mapping of the heads of the edges in with points in .
Recall that , that , and that the number of permutations with repetition of elements from a set is .
Therefore, we have that . Since , we thus have .
We can now upper bound the size of and .
Since each entry of stores a single bit, we immediately have that has size.
Instead, each entry of table stores keys of size ; thus, has size.
The upper bound on the number of keys comes from the number of ways to map the tails of the at most edges incoming into on the points of , which has size ; this number is . The upper bound on the size of each key comes from the fact that it consists of at most triplets each containing an identifier of edges and two identifiers of points.
Claim 3.
Table and can be computed in and time, respectively.
Proof 4.3.
We determine the time needed to compute, for each key , the value and .
For each key , we need to verify whether the segments intersect at a point different from a common endpoint, which can be tested in time [31]. Moreover, if , computing requires accessing the value of up to entries of , and verifying whether at least one of them contains the value True. Since , the term in the running time is dominated by the term, hence the time needed to compute each entry is thus .
Since, by Claim2, there are keys , it follows that can be computed in overall time. On the other hand, the time needed to compute each entry is upper bounded by the time needed to write the keys contained in , each of which has size, i.e., time per entry.
It follows that can be computed in overall time.
Finally, recall that in order to verify whether admits an UPSE on , we need to check whether .
Computing the maximum size of an -cutset of a planar -graph 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 (between the vertices representing the left and right outer faces of this embedding) [12, 14].
Therefore, the overall running time to test whether admits an UPSE on is dominated by the time needed to compute , that is, time.
To obtain an UPSE of on , if any, we proceed as follows.
Suppose that the algorithm terminates with a positive answer and let be any key in .
We initialize to a drawing of the edges in , where each edge is drawn as in .
Then, in time, we can search in a key with such that stems from , and update to include a drawing of the edges in , where each edge is drawn as in ; note that the edges in are drawn in as they are drawn in . Iteratively apply such a procedure until a key is reached such that and is the set of edges incident to . This yields the desired UPSE of on . As the depth of the recursion is linear in the size of , we can therefore compute in time.
From the above discussion, we have the following theorem.
Theorem 4.4.
Let be an -vertex planar -graph whose maximum -cutset has size and let be a set of points. UPSE Testing can be solved for in time and space; if an UPSE of on 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 on . The algorithm exploits the table and the set . By Claims2 and 3, these can be computed in time and space. Our enumeration algorithm defines and explores an acyclic digraph . The nodes of the digraph correspond to the keys of the dynamic programming table such that , plus a source and a sink . Let and be two keys of such that and , and let and be the nodes corresponding to and in , respectively. There exists an edge directed from to in if . Also, there exists an edge directed from to each node such that . Finally, there exists an edge directed to from each node such that .
Note that is the unique source of , is the unique sink of , and has no directed cycle.
Hence, is an -graph.
The exploration of performed by our enumeration algorithm is a depth-first traversal, in which every distinct path from to corresponds to an UPSE of on . We initialize a current UPSE of on as (where no edge of is drawn). When the visit traverses an edge of directed from a node to a node , it adds to the edges in , drawn as in . Note that these are all the edges in if and it is an empty set if . Whenever the traversal reaches , it outputs the constructed UPSE of on . When the visit backtracks on a node coming from an edge , it removes from the edges in .
To prove the correctness of the algorithm, we show what follows:
(i)
Distinct -paths in correspond to different UPSEs of on .
(ii)
For each UPSE of on , there exists in an -path corresponding to it.
For a directed path in , let be the set that contains all the edges in the sets , where is any key corresponding to a node in .
•
To prove Itemi, we proceed by contradiction. Let be an UPSE of on that is generated twice by the algorithm, when traversing distinct -paths and . Let be the closest node to in and such that is an edge in and is an edge in , with , where , , and are keys of . Note that, since the path from to (possibly such a path is a single node if ) is the same in and , the restriction of to the edge set is also the same in and . Hence, the tail with largest -coordinate of an edge in is uniquely defined by . This implies that the edge sets and coincide, as they are both obtained from by replacing the edges outgoing from with the edges incoming into in . Since and , it follows that and must differ in the way such keys map the tails of the edges incoming into to the points of . Then the UPSEs yielded by and are different, a contradiction.
•
To prove Itemii, we show that, if there exists an UPSE of on , then there exists a path in from to that yields . For , let be the set that consists of the lowest points of . Also, for , let be the restriction of to the vertices of mapped to and to all their incident edges, including those whose other end-vertex is not in . We claim that there exists a path in that starts from a node and ends at such that: (1) the set coincides with the set of edges that are embedded in ; (2) the embedding of the edges in defined by the keys corresponding to nodes in is the same as in ; and (3) let be the key corresponding to , then contains all and only the edges of such that an end-vertex of is mapped by to a point in and the other end-vertex of is mapped by to a point not in . The claim implies Itemii, as when , we have that is the edge set of , by (1), and that the embedding of the edges in defined by the keys corresponding to nodes in is , by (2), hence is the desired path from to that yields .
In order to prove the claim, we proceed by induction. In the base case, we have , hence consists only of the point and is the restriction of to all the edges incident to . Since is an UPSE, is an embedding of such edges in which lies on and any two heads of such edges are not aligned with . Hence, by construction, there is a key such that consists of the set of edges incident to , such that , and such that the embedding of the edges in on defined by is . It follows that contains a node corresponding to , and thus a path with the properties required by the claim.
For the inductive case, we have . Let be the point of with highest -coordinate and let be the vertex of mapped to by . By induction, there exists a path in that starts from a node and ends at such that: (1) the set is the set of edges embedded in ; (2) the embedding of the edges in defined by the keys corresponding to nodes in defines ; and (3) let be the key corresponding to , then contains all and only the edges whose end-vertices are mapped by one to a point in and the other to a point not in . Note that (3) ensures that all the edges incoming into are in .
Consider the edge set composed of the edges outgoing from and of the edges in , except for those incoming into . We prove that is an -cutset. Indeed, by (3), every edge of that in starts from a point below and ends at a point above is in . Then comprises all the edges that start from or from a point below and end at a point above . Hence, the removal of the edges of splits into two connected subgraphs, one induced by the vertices (including ) mapped by to , and one induced by the vertices (including ) mapped by to the points above .
Since is an -cutset, there exists a key such that and the edges of are embedded in as in . Note that is the tail of an edge in with largest -coordinate, hence our algorithm, starting from the -cutset , removes the edges outgoing from , and adds the edges incoming into , thus it constructs the -cutset and, from there, the key in which the edges of are mapped as in . The algorithm then inserts in , and hence the digraph contains the edge , where is the node of corresponding to . This completes the induction, hence the proof of the claim and the one of Itemii.
It remains to discuss the running time of our enumeration algorithm. Concerning the set-up time, the table can be constructed in time, by Claim3. Also, the digraph can be constructed in linear time in the size of , which is by Claim2; indeed, the edges outgoing from a node in are those toward the nodes whose corresponding keys are in . Concerning the space usage, again by Claim2, we have that and have size. Finally, we discuss the delay of our algorithm. The paths from to have size. Between an UPSE and the next one, at most two paths are traversed (one to backtrack and one to again reach ). The total number of edges which are deleted from or added to the current embedding when traversing such paths is in , hence the delay of our algorithm is . We get the following.
Theorem 4.5.
Let be a -vertex planar -graph whose maximum -cut has size and let be a set of points. It is possible to enumerate all UPSEs of on with delay, using space, after 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 Theorem4.4, namely the one in which the underlying graph of the given planar -graph is a cycle. Applying Theorem4.4 to this setting would yield an -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 are in general position.
Theorem 5.1.
Let be an -vertex planar -graph consisting of two -paths and , and let be a pointset with points in general position. We have that admits an UPSE on with to the left of if and only if
and .
Also, it can be tested in time whether admits an UPSE on .
Proof 5.2.
Provided the characterization in the statement holds, we can easily test whether admits an UPSE on by computing the convex hull of (which can be done in time), deriving the sets and (which can be done in time, by scanning ), and finally comparing
their sizes with the ones of and (which can be done in time). Therefore, in the following we focus on proving the characterization.
For the necessity, suppose for a contradiction that there exists an UPSE on with to the left of and that ; the case in which is analogous. Since , a vertex of must be drawn on a point in . Consider the subpath of between and . The drawing of splits into two closed regions, to the left and to the right of . In any UPSE of on with to the left of , we have that lies in both regions, namely it lies in the region to the left of with the edge incident to and it lies in the region to the right of at . Hence, the drawing of crosses the drawing of , and thus the one of , a contradiction.
In the following, we prove the sufficiency by induction on the size of (and, thus, of ). We give some preliminary definitions; see Figures5, 6 and 7.
Let and be the south and north extreme of , respectively.
Consider the line through and .
Let () be the set consisting of the points of lying in the closed half-plane delimited by that includes all points that lie to the left (resp. right) of , including and .
Note that and . Moreover, since is in general position, it holds that .
Figure 5: Illustration for the base case of Theorem5.1.
In the base case, it either holds that (a) and , or (b) and . We discuss the former case (see Figure5), as the latter case is symmetric.
In this case, an UPSE of on clearly exists and is, in fact, unique. In particular, the drawing of in coincides with the right envelope of , while the drawing of in is the -monotone polyline that assigns to the -th internal vertex of (when traversing from to ) the point of with the -th smallest -coordinate. Since each of such paths is -monotone, it is not self-crossing. Also, no edge of crosses an edge of , as the drawing of in coincides with .
If the base case does not hold, then we distinguish two cases based on whether both and contain a vertex different from and (Case A), or only one of them does (Case B). In the following, we assume that in Case B the set contains a vertex different from and , the case in which only contains a vertex different from and can be treated symmetrically. More formally, in Case A we have that and , whereas in Case B we have that and . 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 holds.
(a)
(b)UPSE of on
(c)UPSE of on
Figure 6: Illustrations for Case A in the proof of Theorem5.1. In (a), the boundary of is dashed green, whereas the boundary of is dashed orange.
If Case A holds, we distinguish two subcases. In Case A1, it holds , whereas
in Case A2, it holds . We discuss Case A1 (see Figure6); Case A2 can be treated symmetrically, given that in this case it holds that .
Suppose that Case A1 holds true. Then contains
a point different from and ; see Figure6(a). Since by the hypotheses of this case and , we have that contains at least one internal vertex. Let , let be an -path with , and let be the planar -graph .
Since and since , we have that .
Thus, the graph and the pointset satisfy the conditions of the statement.
By induction, we have that admits an UPSE on , see Figure6(b).
We show how to modify to obtain an UPSE of on as follows; see Figures6(b) and 6(c). The drawing of is the same in as in .
Let be the horizontal line passing through . Since is an UPSE of on and since , we have that intersects the drawing of in a single point. Such a point belongs to a segment that is the image of an edge of . Let and be the extremes of such a segment that are the images of the tail and of the head of in , respectively. We show how to modify the drawing of to obtain a -monotone drawing of that does not intersect .
To this aim, we replace the drawing of with the -monotone polyline composed of the segments and . Note that such a polyline lies in the interior of the region delimited by the segment (representing ) and by the horizontal rays originating at and and directed leftward. Due to the fact that is represented as a -monotone polyline in , such a region is not traversed by the drawing of any edge. Thus, is an UPSE of on .
We refer to the described procedure as the -leftward-outer-extension of ; a -rightward-outer-extension of is defined symmetrically.
If Case B holds, recall that , and since the base case does not apply, we have that . Let be any point in and .
By the conditions of Case B, the path contains at least one internal vertex. We let be an -path with , and we let be the -graph .
We distinguish two cases based on the size of .
In Case B1, it holds , whereas in Case B2, it holds .
(a)
(b)UPSE of on
(c)UPSE of on
Figure 7: Illustrations for Case B2 in the proof of Theorem5.1.
In Case B1, the pair 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 (and ), we can inductively construct an UPSE of on , and obtain an UPSE of on via a -rightward-outer-extension of .
In Case B2, which is the most interesting, we proceed as follows; see Figure7. Let be the point of with the smallest -coordinate and above and let be the point of with the largest -coordinate and below . Let be the set of points of that lie in the interior of the triangle , including and and excluding . Clearly, the right envelope of forms a subpath of the right envelope of .
The set consists of , , and of vertices not belonging to , depicted as squares in Figure7(a). Denote by the number of points in the interior of that need to be the image of a vertex of in an UPSE of on . Observe that holds true. Indeed, holds true since does not satisfy the conditions of the base case, and holds true since does not satisfy the conditions of Case B1.
Let be the point of with the smallest -coordinate and above , and let be the point with the largest -coordinate and below .
Up to renaming, let be the subsequence of points of encountered when traversing from to and observe that these points have decreasing -coordinates.
Similarly, let be the subsequence of points of encountered when traversing from to and observe that these points have increasing -coordinates.
We define the set as follows. If , then let and , otherwise let and . In both cases, let .
Observe that . Also, by the definition of , the path contains internal vertices and since in Case B, we have that contains at least internal vertices.
Let , let be an -path with vertices, and let be the -graph . We have that the pair satisfies the conditions of the statement, and in particular the base case. In fact, , and by the definition of , we have that . Moreover, by construction, , since the vertices of lie in the interior of . Thus, since , by induction admits an UPSE on ; see Figure7(b).
We now show how to transform into an UPSE of on . Since the base case applies to , we have that the endpoints of the edges of are consecutive along . In particular, there exist two adjacent edges and of such that the tail of is mapped to , the head of , which is the tail of , is mapped to , and the head of is mapped to . Therefore, the UPSE of on can be obtained from as follows; see Figure7(c). We initialize .
The drawing of is the same in as in . Next, we show how to modify the drawing of to obtain a -monotone drawing that does intersect the drawing of and uses the same points as and the points in .
To this aim, we replace the drawing of with the (unique) -monotone polyline connecting and that passes through all the points in .
Also, we replace the drawing of with the (unique) -monotone polyline connecting and that passes through all the points in ; note that might be empty, in which case the polyline still coincides with the drawing of . This concludes the construction of . To see that is an UPSE of on observe that the above polylines (i) are each non-self-crossing, as they are -monotone, (ii) do not cross with each other as they entirely lie either above or below (and only meet at ), and (iii) do not cross any edge of as they lie in the region (shaded gray in Figures7(b) and 7(c)) obtained by subtracting from the triangle (interpreted as a closed region) all the points of . Indeed, observe that in , the region is not traversed by any edge and that the only points of that lie on the boundary of are and the points in .
Theorem5.1 allows us to test whether an -vertex planar -graph composed of two -paths can be embedded as a non-crossing monotone Hamiltonian cycle on a set of points. We now show an efficient algorithm for enumerating all the non-crossing monotone Hamiltonian cycles on . Figure8 shows two non-crossing monotone Hamiltonian cycles on a pointset.
(a)
(b)
(c)
Figure 8: Two non-crossing monotone Hamiltonian cycles on the same pointset.
Theorem 6.1.
Let be a set of points. It is possible to enumerate all the non-crossing monotone Hamiltonian cycles on with delay, using space, after set-up time.
Let be the points of , ordered by increasing -coordinates. This order can be computed in time. For , let . A bipath on consists of two non-crossing monotone paths and on , each of which might be a single point, such that (see Figure9):
(i)
and start at ;
(ii)
each point of is the image of an endpoint of a segment of ; and
(iii)
if and both have at least one segment, then is to the left of .
(a)
(b)
(c)
Figure 9: Three bipaths on . The first two bipaths are extensible, while the third one is not.
Dotted lines complete non-crossing Hamiltonian cycles on whose restriction to is the bipath.
We say that a bipath is extensible if there exists a non-crossing monotone Hamiltonian cycle on whose restriction to is .
Consider a bipath on with . Let and be the endpoints of and with the highest -coordinate, respectively. Suppose first that , that is, is higher than . Then note that ; also, it might be that . Consider the ray ; recall that this is the rightmost ray starting at and passing through a point of . We denote by the open region of the plane strictly to the right of and strictly above the horizontal line through ; see Figure10(a). Similarly, if is higher than , then is the open region of the plane strictly to the left of the leftmost ray from through a point of and strictly above the horizontal line through ; see Figure10(b).
(a)
(b)
Figure 10: (a) Region for a bipath with . (b) Region for a bipath with .
For any , we say that a bipath on is safe if:
(i)
; or
(ii)
, is higher than , and ; or
(iii)
, is higher than , and .
We have the following lemma.
Lemma 6.2.
A bipath is extensible if and only it is safe.
Proof 6.3.
First, we prove the necessity. Suppose that is extensible and let be any non-crossing monotone Hamiltonian cycle on whose restriction to is . Also suppose, for a contradiction, that is not safe, which implies that . Assume that is higher than , as the other case is symmetric. Then we have . Let be the segment of such that . Since all points in belong to , we have lies strictly above the horizontal line through . This, together with the fact that
contains no point strictly above the horizontal line through and to the right of the ray , implies that the ray lies to the left of the ray , which implies that the segment crosses the path , a contradiction to the fact that is non-crossing.
Figure 11: Since the point on the ray defines a segment which is on the boundary of the convex hull of (the convex hull is shaded light-gray), we can complete via the boundary of the convex hull and via the remaining points.
Second, we prove the sufficiency. Suppose that is safe. We show how to construct a non-crossing monotone Hamiltonian cycle on whose restriction to is .
Assume first that . Then can be constructed as the union of two monotone paths. The first path is one of the two paths between and on the boundary of the convex hull of . The second path from to traverses all the points of that are not on the first path, in increasing order of -coordinate.
Assume next that and refer to Figure11. Assume also that is higher than , as the other case is symmetric. Then contains some points of . Consider the rightmost ray starting from and passing through a point in . Observe that is a segment on the boundary of the convex hull of . Hence, we can augment so that it becomes a monotone path from to , by adding to it the part of the boundary of the convex hull of from to (by proceeding in counter-clockwise direction on this boundary from to ). Also, we can augment so that it becomes a monotone path from to by making it pass through all the points in that are not used by , and finishing at .
We now describe our algorithm. The algorithm implicitly defines and explores a search tree . The leaves of have level and correspond to non-crossing monotone Hamiltonian cycles on . The internal nodes at level correspond to extensible bipaths on and have at most two children each. The exploration of performed by our enumeration algorithm is a depth-first traversal. When a node is visited, the number of its children is established. If has at least one child, the visit proceeds with any child of . Otherwise, is a leaf; then the visit proceeds with any unvisited child of the ancestor of that has largest level, among the ancestors of that have unvisited children.
•
The algorithm starts at the root of , which corresponds to the (unique) safe bipath on .
•
At each node at level of , corresponding to a bipath , we construct either one or two bipaths on , associated with either one or two children of , respectively. Let and be the left and right non-crossing monotone paths composing , respectively, and let and be the endpoints of and with the highest -coordinate, respectively. If does not cross , then let . We test whether is a safe bipath and, in the positive case, add to a child corresponding to . Analogously, if does not cross , then we test whether is a safe bipath and, in the positive case, add to a child corresponding to . Note that the algorithm guarantees that each node at a level smaller than or equal to of is safe, and thus, by Lemma6.2, extensible.
•
Finally, at each node at level , we add a leaf to corresponding to the non-crossing monotone Hamiltonian cycle . Note that, since is extensible, such a cycle is indeed non-crossing.
In order to complete the proof of Theorem6.1, we show what follows:
(i)
Each node of at level is internal.
(ii)
Each leaf corresponds to a non-crossing monotone Hamiltonian cycle on .
(iii)
Distinct leaves correspond to different non-crossing monotone Hamiltonian cycles on .
(iv)
For each non-crossing monotone Hamiltonian cycle on , there exists a leaf of corresponding to it.
(v)
Using pre-processing time and space, the algorithm enumerates each non-crossing monotone Hamiltonian cycle on with delay.
•
To prove Itemi, we show that the leaves of have all level . Consider a node of with level , we prove that it has a child in . Recall that is safe, otherwise it would not had been added to , and thus, by Lemma6.2, it is extensible. Hence, there exists a non-crossing monotone Hamiltonian cycle on whose restriction to is . Also, the restriction of to is a bipath on which coincides with , except that it contains either the segment or the segment . Since is the restriction of to , it is extensible and thus, by Lemma6.2, it is safe. It follows that has a child corresponding to , which is inserted in when adding either the segment or the segment to . The proof that a node with level is not a leaf is analogous.
•
To prove Itemii, consider a leaf and its parent in . Note that is associated with a safe bipath on ; by Lemma6.2, we have that is extensible. Since is extensible, the (unique) monotone Hamiltonian cycle on whose restriction to is is non-crossing. This cycle corresponds to and is added to when visiting .
•
To prove Itemiii, suppose for a contradiction that there exist two leaves and associated with two monotone Hamiltonian cycles and , respectively, with . Let be the lowest common ancestor of and in . Let be the level of . Denote by the child of leading to , with . By the construction of , we have that exactly one of the bipaths and contains the segment , while the other one contains the segment . This contradicts the fact that .
•
To prove Itemiv, let be a non-crossing monotone Hamiltonian cycle on . Consider the safe bipath on obtained by removing from the point , together with its two incident segments. It suffices to show that contains a node such that . In fact, in this case, is an extensible node of level whose unique child in is the leaf corresponding to .
To prove that contains such a node , we prove by induction that, for every level , the tree contains a node corresponding to the restriction of to .
The base case trivially holds.
For the inductive case, suppose that contains a node whose associated bipath is . Then is obtained by adding either the segment or the segment to . Since is extensible, by Lemma6.2 it is safe, and hence has a child in corresponding to .
•
Finally, we prove Itemv. To this aim, we compute in time a table of size that allows us to test in time whether a bipath on , with , is safe.
This, together with the fact that has levels, implies that the algorithm’s delay is in .
The table is indexed by triples , where with and . Each entry of contains a Boolean value defined as follows.
-
Suppose that . Consider the rightmost ray starting from and passing through a point in . We denote by the open region of the plane strictly to the right of and strictly above the horizontal line through .
Then, if and only if .
-
Suppose now that . Consider the leftmost ray starting from and passing through a point in . We denote by the open region of the plane strictly to the left of the ray and strictly above the horizontal line passing through .
Then, if and only if .
For each fixed , we show how to compute all the entries with in overall time. This sums up to time over all the entries of with and . The computation of the entries of is done symmetrically.
(a)
(b)
Figure 12: (a) For any , we have that is in . (b) For any , we have that is empty. Region is shaded gray.
We compute the point with such that the ray is the rightmost among the rays starting from and passing through a point in . This can be done in time by inspecting the points . Then, we set for all the points with and for all the points with . Indeed, for any , we have that is in , since it is strictly above the horizontal line through (given that ) and strictly to the right of the ray (given that is the rightmost among the rays starting from and passing through a point in ); see Figure12(a). Also, for any , we have that is in , and, by definition of , no point is strictly to the right of the ray , hence is empty; see Figure12(b).
Itemsi, ii, iii and iv prove the correctness of the enumeration algorithm, while Itemv proves its efficiency. This concludes the proof of Theorem6.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 -graphs composed of internally-disjoint -paths and for directed trees composed of directed root-to-leaf paths.
For planar -graphs, we showed that UPSE Testing can be solved in time, where is the maximum -cutset of , and we provided an algorithm to enumerate all UPSEs of on with worst-case delay. We also showed how to enumerate all monotone polygonalizations of a given pointset with 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 on vertices and a set of points in general position, is it \NP-hard to decide whether has an UPSE on ?
•
Can UPSE testing be solved in polynomial time or does it remain \NP-hard if the input is a maximal planar -graph?
•
We proved that UPSE testing for a planar -graph is in XP with respect to the size of the maximum -cutset of . Is the problem in FPT with respect to the same parameter? Are there other interesting parameterizations for the problem?
•
Let be a pointset and be a non-crossing path on a subset of . Is it possible to decide in polynomial time whether can be extended to a polygonalization of ? 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.
[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.
[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.
[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.
[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.
[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(n) 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.
[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.