Approximating the Bundled Crossing Number

Bundling crossings is a strategy which can enhance the readability of drawings. In this paper we consider good drawings, i.e., we require that any two edges have at most one common point which can be a common vertex or a crossing. Our main result is that there is a polynomial time algorithm to compute an 8-approximation of the bundled crossing number of a good drawing (up to adding a term depending on the facial structure of the drawing). In the special case of circular drawings the approximation factor is 8 (no extra term), this improves upon the 10-approximation of Fink et al. (Bundled crossings in embedded graphs, Proc. Latin'16). Our approach also works with the same approximation factor for families of pseudosegments, i.e., curves intersecting at most once. We also show how to compute a 9/2-approximation when the intersection graph of the pseudosegments is bipartite.


Introduction
The study of bundled crossings is a promising topic in Graph Drawing due to its practical applications in Network Visualization and the rich connections with related areas such as Topological Graph Theory.One of the mantras motivating the study of crossing numbers is that reducing crossings can improve the readability of a drawing, leading to better representation of graphs.The study of bundled crossings provides an alternative way to assess readability by allowing crossings of a drawing to be bundled into regular grid-patterns with the goal of minimizing the number of bundled crossings instead of minimizing the number of individual crossings.
The crossing number of a graph G is the minimum integer cr(G) for which G has a drawing on the sphere with cr(G) crossings.Computing the crossing number of a graph is a notoriously hard problem.There are long standing conjectures regarding the crossing numbers of complete graphs [19,4] and complete bipartite graphs [28].Another family whose crossing numbers have been intensely studied are Cartesian products of two cycles C m □C n .It is conjectured that their crossing number is cr(C m □C n ) = (m − 2)n for, 3 ≤ m ≤ n [20].Figure 1(left) indicates how to draw the product C m □C n with only (m − 2)n crossings, hence cr(C m □C n ) ≤ (m − 2)n.
Figure 1: The crossing number of C 4 □C 4 is 8 (left) but there is a drawing with 16 crossings which can be viewed as a single bundled crossing (right).
To define bundled crossings, we consider the planarization of a drawing D on the sphere, this is the plane graph obtained by replacing crossings by degree-4 vertices (we assume that the drawing is simple, i.e., a crossing point belongs to only two edges).A bundled crossing or bundle of D is a subgraph of the planarization of D isomorphic to an n × m-grid graph (n, m ≥ 1), whose vertices are exclusively crossings.A drawing of C 4 □C 4 where all crossings can be assigned to a single bundle is shown in Figure 1

(right).
A bundling of a drawing D is a partition of the crossings of D into disjoint bundles.The bundled crossing number bc(D) of D is the minimum number of bundles in any bundling of D, whereas the bundled crossing number bc(G) of a graph G is the minimum bc(D) taken over all drawings D of G. From the fact that C 4 □C 4 is not planar and Figure 1, it follows that bc(C 4 □C 4 ) = 1.Indeed, bc(C m □C n ) = 1 for n, m ≥ 3.

Previous work
In his survey on crossing number problems [27] Schaefer suggests to consider bundlings of crossings.Alam et al. [1] were the first to study the problem from a graph drawing point of view.Later, Fink and coauthors considered the problem of computing bc(•) both in the free-drawing variant, when a graph G is the input, and the goal is to compute bc(G), and in the fixed-drawing variant, where a simple drawing D is the input, and the goal is to find bc(D), i.e., to assign the crossings to as few bundles as possible.In this work we will focus on the fixed-drawing variant for simple drawings which are connected in the sense that the boundary of every cell of the drawing is connected.
Fink et al. [14] showed that computing bc(•) is NP-hard in the fixed-drawing variant of the problem.The hardness of computing bc(•) in the free-drawing variant has been shown by Chaplick et al. [5].An algorithm that computes a 10-approximation of bc(D) for circular drawings was presented by Fink et al. [14]; here a circular drawing of a graph is one where vertices are drawn on a circle and edges are drawn inside the circle, more precisely they consider circular drawings in which (0) there are no self-intersections of edges; (1) any two edges intersect at most once; (2) the intersection between any two edges is either a common vertex or a crossing; and (3) no three edges share a crossing.Our work was motivated by the question of whether bc(D) can be approximated on more general classes of drawings of graphs.

Related concepts and applications
Bundling the edges of a graph is a commonly used simplification technique in the visualization of large and dense graphs or networks.Together with van Wijk, Holten introduced the idea of edge bundling to the area of information visualization [21,22].Subsequently the concept was studied by many researchers, see for example [17,18,24,26,6,13,3,25,31,30].In contrast to the concept of the bundled crossing number most algorithms used in information visualization for edge bundling are of heuristic nature and do not provide any guarantees on the quality of the solution.
A related definition to bundled crossings are block crossings.This notion was studied in the context of layouts of metro maps [15] and storyline visualizations [29].It can be viewed as the minimization of bundled crossings for a family of paths on a plane graph.Another approach to formalize the idea of edge bundling are so-called confluent drawings.Here, edges are drawn as continuous curves that are allowed to merge and split similar to switches in a train network.These drawings were introduced by Dickerson et al. [7] and subsequently studied by the graph drawing community [12,10,11,16,23,2].Recently, these drawings were also picked up in more applied contexts, using heuristic approaches [3,31].

Our contribution
To prepare for the statement of our main results we first show how to reduce the problem of computing bc(•) for a graph drawing D to computing bc(•) for a set of strings.We then introduce special configurations called toothed-faces which play a special role in this work.In fact toothedfaces cause an additive term which interferes with the approximation factor in some of our results.
To a graph drawing D we associate a set E of strings obtained in two steps: first, delete all the uncrossed edges of D; second, for each edge e of D, remove a small bit of e at each endpoint to obtain a string (a closed arc).This results in a set E of strings which is the drawing of a matching, thus bc(E) is well-defined.Moreover, the bundlings of D are in one-to-one correspondence with the bundlings of E, so often in this work we restrict ourselves to study bundlings of sets of strings.
In connection with the crossing number minimization problem it is natural to restrict the attention to simple drawings, in this context they are often referred to as good drawings.The set of strings associated with a good drawing turns out to be a family of pseudosegments, i.e., it is a set of strings with the property that no string self-intersects and no two strings cross more than once.
Any set of strings divides the plane into open regions called faces.A string ends in a face F if one of its endpoints is incident with the boundary of F .Before defining toothed-faces, keep in mind that the boundary of a face is not necessarily the same as the boundary of its closure.For instance, Figure 2 shows two examples of faces where their boundaries include pieces of strings ending in the face while their closure is bounded by only four pieces of strings.A toothed-face is a face F of a set of strings such that (1) at least one string ends in F ; (2) the closure F is bounded by exactly four pieces of strings; and (3) all the crossings between the strings ending in F and the boundary of F occur in only two opposite string-pieces among the four stringpieces bounding F .For each set of strings E we will let t(E) be the number of toothed-faces.If E is associated to a drawing D, then we let t(D) := t(E).The next is our first main result.
Theorem 1 For a connected good drawing D with t = t(D) there is a polynomial-time algorithm to compute a bundling with at most 8bc(D) + t bundles.
The algorithm used in Theorem 1 is a simple greedy approach that has been known for some time.In the next section we will informally explain this greedy algorithm.
Our main contribution is to improve upon the 10-approximation of Fink et al. on two fronts.First, since circular drawings do not induce toothed-faces, Theorem 1 shows that the greedy approach produces an 8-approximation instead of a 10-approximation: Corollary 1 For circular drawings there is a polynomial-time algorithm to compute a bundling with at most 8bc(D) bundles.
Theorem 1 also extends the guarantee of obtaining an approximate solution to the more general class of simple drawings.The proof of our results is based on the same greedy approach as the approximation algorithm of Fink et al. [14]; the difference is in the datails of the analysis.
In a separate section we discuss further consequences from the proof of Theorem 1.In particular we show that by starting the greedy algorithm with a suitably chosen set of cut-segments it is possible to get rid of the additive t in the approximation.The cost for finding the initial set of segments, however, is an exponential function of t.The result is a FPT algorithm (FPT = fixed-parameter tractable).
Theorem 2 For a connected good drawing D there is a FPT algorithm with parameter t = t(D) which computes a bundling with at most 8bc(D) bundles.
In our second main result we improve the approximation factor when the drawing D is as in Theorem 1 and has the additional property that the intersection graph of the edges of D is bipartite.In such case we call D a bipartite instance.
Theorem 3 If D is a bipartite instance with t = t(D) toothed-faces, then there is a polynomialtime algorithm to compute a bundling with at most 9  2 bc(D) + 1 2 t bundles.

An easy example: Bundling bi-laminar families of chords
In this section, in an informal approach, we consider a concrete example that captures many of the concepts that will be used in the later parts of the paper.
A laminar family of chords is a collection of pairwise disjoint chords in a circle such that for any three chords one of them separates the other two.A bi-laminar instance is a circle together with a red and a blue laminar family of chords such that any two chords have at most one crossing (Figure 3a).
A bi-laminar instance can be converted, by an appropriate crossing-preserving transformation, into a family of blue vertical chords and red horizontal chords drawn inside an orthogonal polygon P , i.e., a polygon whose edges are parallel to the x-and y-axis (Figure 3b).Moreover, the polygon and the chords can be chosen so that the chords are evenly spaced forming a regular grid inside P .With the tranformed instance in hand, we can now subdivide the interior of P into squares, each of them containing a crossing in its center.We will refer to the green graph obtained from the union of P and the perimeter of the squares as the dual net of the instance (Figure 3c).A bundled crossing corresponds to a collection of squares in the dual net forming a rectangle (Figures 3d-3e); moreover, a bundling of the new instance corresponds to a partition of the squares of the dual net into rectangles.Any such partition is called a rectangulation of P , and a minimal bundling corresponds to a rectangulation using a minimum number of rectangles.
The problem of rectangulating an orthogonal polygon into the minimum number of rectangles was solved by at least three independent groups in the 80's, Eppstein [9] provides the relevant references.We next describe a polynomial-time algorithm for finding a minimal rectangulation.
The segments added to the polygon P to obtain a rectangulation are either horizontal or vertical (red bi-arrows in Figure 3e).In a rectangulation with R rectangles and S segments, the relation R = S + 1 holds.Therefore, the problem of finding a minimal rectangulation is equivalent to the problem of adding a set of segments of minimum cardinality that induces a rectangulation of P .
Each concave corner v of P (red vertices in Figure 3c) must be incident with at least one segment of any rectangulation.We call this the requirement at v (the requirement is related to what we later call the exponent of v).A good segment is a segment connecting two concave corners; it is called good because it satisfies the requirement of two corners.Figure 3f shows the given polygon together with all the good segments.The example shows that pairs of segments may cross or share an endpoint, we say that they are in conflict.
Ultimately the rectangulation problem for P reduces to studying a conflict graph C whose vertices are the possible good segments.Two good segments in C are joined by an edge, when they are in conflict.The conflict graph is bipartite, with blue segments on one side and red segments on the other.A minimum family of segments that yields a rectangulation corresponds to a maximum independent set I of C plus a set of segments covering the corners which are not incident with elements in I. Since computing a maximum independent set in a bipartite graph can be done in polynomial-time, the same holds true for computing a minimum family of segments rectangulating P .
Although we know how to find an exact solution for rectangulating P , we now describe how to find an approximate solution to illustrate the algorithm we will use to prove Theorem 1.Let S be a set of segments which is initially empty.Consider the concave corners of P one by one.If the current corner v is not incident to a segment in S choose a direction d (horizontal or vertical) and shoot a segment in direction d from v, i.e., let s v be the segment with one end at v extending into the interior of P and ending at the first point which belongs to a segment in S or the boundary of P .This segment s v is added to S. From the discussion it should be clear that for laminar families of chords this process yields a rectangulation that uses at most twice as many segments as an optimal one, i.e., it is a 2-approximation for the number of segments and also for the number of rectangles.We refer to this approach as the greedy strategy.Fink et al. [14] analyze this strategy in the setting where the input of the bundling problem is a circular drawing.They show that it yields a 10-approximation for the number of bundles.In Sections 4-6 we analyze the greedy strategy for the bundling problem for good drawings and show that this simple-minded strategy guarantees an 8-approximation (Theorem 1).In Section 7 we discuss how to benefit by deviating from the pure greedy strategy.In particular this leads to FPT algorithms with a slightly improved approximation quality.
In Section 8, we study biparte collections of strings; this is closer to the laminar family studied here.There we show that a slightly modified greedy strategy produces a solution which is a 3  2approximation for the number of segments needed to rectangulate P .The key is to first compute a set of segments of one color which maximizes a parameter called marginal gain.This set is extended using the greedy strategy until a rectangulation is obtained.

Strings and Nets
We now begin with the discussion of concepts and ideas which will eventually (at the send of Section 6) lead to the proof of Theorem 1, our main approximation result for the bundeled crossing number We think of a bundling instance as a set of strings, i.e., as a set of simple curves in the plane.Throughout this paper, unless otherwise stated, we assume that the endpoints of any two strings are different and the union of the strings forms a connected set.A set E of strings is grounded in B (see Figure 4a) if B is a set of pairwise disjoint simple closed curves, such that (1) each string has its ends in the union of the boundary curves; (2) boundary curves only intersect the strings at their ends; (3) each boundary curve contains at least one end of a string; and (4) no two boundary curves are incident with the same cell of E ∪ B. The curves of such a family B are denoted as boundary curves of E, in our figures we use the color blue for boundary curves.
One can always turn a set of strings into a grounded one by adding a single blue curve in each face where strings end (Figure 4a).Henceforth, unless otherwise stated, any set of strings we consider is grounded.To a set of strings E grounded in B we associate a plane graph which is called the dual net or just the net.The net N is obtained by placing a vertex in each cell which is not bounded by a single closed curve in B and by adding an edge between two vertices whenever their corresponding cells share a segment of a string connecting two consecutive intersection points.We will draw our dual net as in Figure 4c so that each vertex corresponding to a cell incident to a boundary curve is drawn on the boundary curve, and edges connecting two consecutive vertices in the same boundary curve are also drawn along the boundary curve.Note that boundary curves containing one or two ends of strings cause loops and double-edges in the net.
The faces of N come in two kinds: boundary-holes, defined as the faces bounded by the boundary blue curves; and faces of degree four which enclose a crossing, which will be called squares.
A rectangle in the dual net of a grounded set of strings is a set of squares which can be labeled with a vertex-set of an n × m-grid, so that any two squares adjacent in the grid share an edge of their boundaries.A bundle of a set of strings corresponds to a rectangle in the dual net.Hence, a bundling of a set of strings corresponds to a rectangulation, i.e., a partition of the squares into rectangles.A rectangulation is optimal if it corresponds to a bundling with a minimum number of bundles.

Segments and Holes
In this section we consider a fixed set of grounded strings with its dual net N = (V, E).The border of N is the subgraph induced by vertices and edges drawn on boundary curves.Any vertex or edge of N not on the border is interior.A degree-4 interior vertex is called regular and any other interior vertex is a vertex-hole.A hole is a vertex or face of N that is either a vertex-hole or a boundary-hole.
A path of N is straight if all its inner vertices are regular and any two consecutive edges are opposite in the rotation at their common vertex.Since a single edge has no inner vertex it qualifies as straight path.A cut-set is a set S of interiorly-disjoint straight-paths where every end of a path is either on a hole or in the interior of another path of S. We refer to the elements of a cut-set as segments.
Given a rectangulation R of N , an edge of E is separating if it belongs to the boundary of two squares belonging to different rectangles.A cut-set delimits R if its segments only include separating edges and each separating edge is included in a segment.
Given R it is easy to iteratively build a delimiting cut-set: The first segment s 1 is obtained by considering any edge e 1 in the set E ′ ⊆ E of separating edges, and by maximally extending e 1 into a straight path of edges in E ′ .In the i-th step, s i is obtained by maximally extending an edge e i of E ′ which is not covered by , into a straight path that is interiorly-disjoint from s 1 ,. .., s i−1 .This is done until all the edges of E ′ are covered by segments.
If there is no regular vertex v whose four incident edges are separating, then the cut-set delimiting R is unique.Otherwise, for any such vertex v, one can choose the pair of opposite edges which belong to a common segment, the other two segments end at v.This binary choice at any such vertex v may give rise to exponentially many delimiting cut-sets.In practice we can choose and fix an arbitrary cut-set of R. With this in mind, we can now refer to the segments of R as the segments of the chosen cut-set delimiting R.
Figure 5a shows a rectangulation delimited by a cut-set consisting of 10 segments and Figure 5b shows the corresponding bundling of the crossings with 6 bundles.(1) To prove Lemma 1, we associate a cubic plane graph Γ = Γ(R) to a rectangulation R of a net N .The construction will be used again in Section 5.
Construction of Γ: First, we consider the subgraph H of N obtained from the union of the delimiting segments in R and the border of N .Color the edges of H included in segments such that for each segment all the edges on the segment have the same color and the colors used for different segments are distinct.
Next, we apply a local transformation at each vertex v ∈ V (H): If v is a regular vertex, then we keep v unchanged unless deg H (v) = 4.In this case we split v into two vertices v 1 , v 2 joined by an edge as in Figure 6, where each v i has degree 3 and the color of v 1 v 2 is the color of the unique segment having v in its interior.If v belongs to the border and deg H (v) ≥ 4 or if v is a vertex-hole of arbitrary degree we split v as follows.Let ρ H (v) = (e 1 , . . ., e d ) be its rotation, i.e. the circular order of edges around v, in H, so that if v is on the border edges e 1 and e d also belong to the border.Subdivide each edge e i by adding a degree-2 vertex v i close to v in e i .Remove v and all the edges v i v incident with v. Next, add a path (v 1 , . . ., v d ) or a cycle (v 1 , . . ., v d , v 1 ) depending whether v is in the border or not.
Finally, we suppress degree-2 vertices, i.e., if v is a vertex with only two incident edges e 1 , e 2 , then we delete v and make e 1 , e 2 a single edge.This yields Γ. Figure 7 shows an example.Before concluding this section, we make some remarks about Γ that will be used later.We let Γ * denote the plane dual of Γ and note that both Γ and Γ * may in general have multi-edges.
Remark 1 (i) Each face of Γ corresponds to a hole or to a rectangle.
(ii) Γ * is a plane triangulation, i.e., the boundary of each face consists of three edges.
(iii) Γ and its planar dual Γ * are simple graphs when every hole is incident with at least three segments of R (otherwise Γ has multi-edges and/or loops).
(iv) The vertices of Γ * corresponding to holes form an independent set in Γ * .

Approximating the Number of Segments
Let N = (V, E) be a net and B ⊂ E be the set of edges in the border of N .An edge-set E 0 ⊆ E saturates a vertex v ∈ V if each angle induced by the edges of E 0 ∪ B at v contains a corner of at most two squares of N , or, if v is regular and no edge of E 0 is incident with v.Moreover, E 0 saturates N if every vertex is saturated by E 0 .Naturally, the (edge-set of the) segments of a rectangulation saturate N .The next lemma shows that saturation is also sufficient to induce a rectangulation.
Lemma 2 A set of edges is saturating a net N if and only if it is an edge-set delimiting a rectangulation.
Before proving Lemma 2, we observe that this lemma does not extend to more general systems of curves.In Figure 8a we show a system of five curves one of them being closed.The corresponding dual net is saturated by ∅ whereas ∅ does not induce a rectangulation of the net.

Figure 8
The dual nets of Figure 8a and 8b contain special configurations of squares forbidden in nets of strings: A square-ring is a circular sequence (s 0 , s 1 , . . ., s m , s 0 ) of squares, where s i is glued to s i−1 and s i+1 by using opposite sides of s i .A square-loop is similar to a square-ring, except that one square is glued by using two consecutive sides instead of opposite sides.
Proof: [Proof of Lemma 2] A set of edges delimiting a rectangulation can be partitioned to make a set S of segments.If S is delimiting a rectangulation, then each vertex is saturated by the edges of S whence the set of edges of the segments is saturating.Now let S be a saturating edge-set, let B be the set of boundary-edges, and let U ⊂ E \ (B ∪ S) be the set of interior edges of the net that are not covered by S ∪ B. We proceed by induction on |U |.If |U | = 0, then each boundary edge of each square is either in the border or in S. In this case S induces a rectangulation.Now let F be a face of the subgraph induced by B ∪ S, such that F contains at least one edge from U .We have to show that F is a rectangle.Let (e 1 , . . ., e m ) be a counterclockwise boundary walk of F (where e i is the i-th edge encountered in the walk).Let e 0 = e m and define W = (e 0 , e 1 , . . ., e m ).Since S is saturating, at most one edge of U is pointing into the interior of F between any pair e i and e i+1 of edges.A square of N is a corner of F , if it is contained in F and two of its boundary edges are consecutive in W . Consider the set S W of squares incident to the edges in W , if S W contains less that two corner squares, then S W forms square-ring (O corners) or a square-loop (1 corner).It follows that F has at least two corner squares.
Let s and s ′ be consecutive corners along W and let u 1 , . . ., u r be the sequence of edges pointing into F between s and s ′ along W and let u 0 and u r+1 be the edges opposite to u 1 and u r on s and s ′ respectively.Note that u 0 and u r+1 belong to W .Let s 0 = s and s r = s ′ and for 1 ≤ i < r let s i be the square incident to u i and u i+1 .By relabeling W , we may assume that edge e i is incident with s i for i = 0, . . ., r.We let e ′ i be the edge opposite to e i in s i .If an e ′ i edge is in U , then all the e ′ i edges must be in U , or else a vertex incident with two e ′ i s, one in U and one not in U , would not be a saturated by S. To see this note that such a vertex x is incident to an edge not in U , and x has an angle which contains the corner of at least three squares.
If all the e ′ i edges are in B ∪ S, then W = (e 1 , . . ., e r , u r+1 , e ′ r , . . ., e ′ 1 , u 0 ) and F = r i=0 s i .In this case F is a rectangle.Otherwise all the e ′ i edges are in U .In this case we add all the edges e ′ i to S to obtain S ′ .Since S was saturating we easily conclude that S ′ is saturating as well.By induction S ′ delimits a rectangulation.One rectangle of this rectangulation is F = r i=0 s i .Let F ′ be the rectangle covering the square on the other side of e ′ 1 .For each i let s ′ i be the square opposite of s i at e ′ i .The saturation property of the vertices on the path e ′ 1 , . . ., e ′ r implies that all the interior vertices of this path are of degree four in the net with all incident edges in U .At the end vertices of the path we find that s ′ 1 and s ′ r are consecutive corner squares of F ′ .Hence the union of F and F ′ is a rectangle delimited by S. □ In Section 3 we have seen that from a set of edges delimiting a rectangulation we can build a set of segments.We call a set of segments saturating if the underlying set of edges is saturating.With this definition Lemma 2 has a corresponding version for segments: S is saturating if and only if S is delimiting a rectangulation.
The following definition will be crucial for finding lower bounds on the size of saturating families of segments which has implications on the number of rectangles.
Definition 1 (Exponent) Given a net N = (V, E) and v ∈ V , the exponent of v is the minimum number of edges in an edge-set S v saturating1 v .Hence exp(v) = 0 if v is a regular vertex and v is a vertex-hole.
The greedy strategy: Let v 1 , . . ., v k be an arbitrary linear order on the vertices of N with positive exponent.The strategy is adding segments at vertices in the given order.When it comes to v i some incident edges may already be contained in segments belonging to earlier vertices.Select a minimal set of edges not covered by the segments such that shooting segments from these edges results in an edge set saturating v i .The number of segments introduced to saturate v i is upper bounded by exp(v i ).Here is an illustrating example: Let v i be a vertex hole of degree 9 with incident edges e 0 , e 1 , . . ., e 8 in clockwise order, exp(v i ) = 5 .Suppose that when it comes to process v i the edges e 0 and e 3 already belong to segments.Now the algorithm will shoot segments in the directions of e 5 , e 7 , and in the direction of either of e 1 or e 2 , three segments in total.
Henceforth, we will denote the number of rectangles and segments in an optimal rectangulation of N by R opt and S opt , respectively.Likewise, we let R greed and S greed be the number of rectangles and segments, respectively, obtained after a run of the greedy strategy in N .
Proof: Item (i) directly follows from the definition of the greedy strategy.Since each segment of a rectangulation contains at most two vertices of positive exponent, (ii) holds because a segment has only two ends.□

Rectangles and Holes
In this section we collect a few facts about rectangles and holes that will be used in our approximations.It is important to observe that a greedy rectangulation approximates the optimal when R greed is bounded by a constant factor of R opt .The next observation already gives a related bound by adding the holes.
Proof: Apply Lemma 1 to both sides of Observation 1.(iii).□ Our task of approximating R opt now reduces to understand under which circumstances H = O(R opt ).We begin with a general observation about triangulations: Observation 3 In a simple plane triangulation with n vertices, an independent set has size at most 2 3 (n − 2).
Proof: The degree of a vertex in a simple triangulation is at least 3. Hence, each vertex of the independent set is incident to at least three triangles.Each triangle sees at most one vertex from the independent set I. Hence we get 3|I| Given a rectangulation R of N , let δ(R) denote the minimum number of segments of R incident to any hole of H (δ(R) is the same as the minimum degree among the vertices of Γ * (R) that represent holes).We let δ(N ) be the minimum integer k for which there is an optimal rectangulation R 0 of N with δ(R 0 ) = k.
Note that when h is a vertex-hole, then deg Γ * (R) (h) ≥ exp(h).For boundary-holes a corresponding lower bound is given by the sum of exponents of the incident vertices.Figure 9 shows that there are examples where δ(N ) is much larger than given by these lower bounds.
Observation 4 Let R opt be an optimal rectangulation of a net N with δ(N ) ≥ 2. If H >2 = H >2 (R opt ) is the number of holes incident to at least three segments of R opt , then Proof: Let Γ = Γ(R opt ) be the auxiliary 3-regular graph introduced in Section 3, page 440.For each hole incident to exactly two segments delete the hole and replace the two segments by a single one.The resulting 3-regular graph Γ >2 has no loops and no multiedges.Hence, its dual Γ * >2 is a simple triangulation and the holes counted in H >2 are an independent set in Γ * >2 .From Observation 3 and Remark 1.(i) it follows that H and the following directly follows from Observation 4. In Observation 5 we saw that if all holes are incident with at least three segments, then H is O(R opt ).Unfortunately, it is not true in general that H is O(R opt ): Figure 10 shows that H can be arbitrarily large compared to R opt .With the next lemma we prove that the unboundedness of H in terms of R opt can always be attributed to the presence of toothed-faces.

Toothed-holes and toothed-faces
The proof of this lemma is given at the end of the section.As we are now dealing with nets, let us introduce the dual counterpart of a toothed-face: Definition 3 A toothed-hole of N is a boundary-hole h for which all the vertices on its boundary satisfy one of the two conditions:(a) one vertex has degree 7 while the rest has degree 3; or (b) two vertices have degree 5 while the rest has degree 3. See Figure 11.We let t(N ) the number of toothed-holes in N (equal to t(E) the number of toothed-faces in E).Given a rectangulation R, a hole h is incident to a corner if there is a vertex v in the net which is a corner of a rectangle of R and either h = v (vertex-hole) or v is a vertex on the boundary of h (boundary-hole).
Lemma 4 Let N be the dual net of a set of pseudosegments with an optimal rectangulation R opt .Suppose that H 2 = H 2 (R opt ) is the number of holes incident to at most two segments in R opt .Then the following hold: Figure 12: Three forbidden situations in the dual net of an arrangement of pseudosegments Proof: Let h be a hole incident with at most two segments but not incident with a corner.We will show that h is toothed.This is enough to prove (i) because then every hole counted in H 2 is either incident to a corner (and there are at most 4R opt of them) or is toothed.First, suppose by contradiction that h is a vertex-hole.How small can deg N (h) be?If deg N (h) = 1, then the only square incident to h contains a self-intersecting string as shown in Figure 12a, such a string is not a pseudosegment.If deg N (h) = 2, then two squares incident with v contain two pieces of strings forming a lense as shown in Figure 12b, this is not allowed for pseudosegments.If deg N (h) ≥ 3, then deg N (h) cannot be odd, as otherwise h would be incident to a corner.Hence deg N (h) must be even, and because h is a hole, deg N (h) ≥ 6.However, this implies that exp(h) ≥ 3, showing that h is incident with at least three segments, a contradiction.Thus h is a boundary hole.
Consider the vertices of N on the boundary ∂h of h.Since h is a vertex hole which is incident to no corner the vertices on ∂h have odd degree, indeed a vertex of even degree would be incident to an odd number of squares of the net, whence any saturating set of edges would induce a corner.Since h is incident to at most 2 segments, the sum of their exponents of the vertices on ∂h is at most 2.This restricts the degrees of the vertices on ∂h to be arranged as one of the following kinds: (a) exactly one vertex has degree 7 while the rest has degree 3; (b) two vertices have degree 5 while the rest has degree 3; (c) exactly one vertex has degree 5 while the rest has degree 3; (d) all vertices have degree 3.If either (a) and (b) occurs, then h is toothed; it remains to show that neither (c) nor (d) occurs.
If (d) occurs, then the squares incident with h would form a square-ring, which would correspond to a cyclically closed string, not a pseudosegment.If (c) occurs, then, as illustrated in Figure 12c, the squares incident to the vertices in h would induce a pair of strings that cross at least twice, a contradiction.Thus, h is toothed, ultimately implying (i).
Now we turn into proving (ii).For contradiction, suppose that R opt ≥ 2 and that N has a hole h incident with less than 2 segments.As shown in (i), it follows that h must be a boundary-hole.Since h is incident with less than 2 segments there is a rectangle r in the rectangulation whose boundary contains ∂h.
If h has no incident segments, then ∂h is a component of the boundary of a rectangle.This is is only possible if ∂h is the outer boundary-hole and all the pseudosegments form a single bundle, i.e., there is only one rectangle in the rectangulation.This contradicts the assumption that R opt ≥ 2. Now suppose that h has a single incident segment s.There is a rectangle r in the rectangulation whose boundary contains ∂h and continues along s on both sides.Let σ ∈ E be the first string crossing s when s is oriented away from its end in h.The intersection of σ with the rectangle r can only consist of one connected piece, otherwise σ would have a selfintersection in r or have two crossings with some other pseudosegment.This, however, implies that σ is a closed loop and not a pseudosegment.Hence every hole is incident to at least two segments.□ Proof: [Proof of Lemma 3] If R opt = 1, then Lemma 3 holds true because N is a grid and H = 1.Suppose R opt ≥ 2. Consider an optimal rectangulation R opt .From Lemma 4.(ii) we know that every hole is incident to at least two segments.Let H 2 be the number of holes incident with 2 segments and let H >2 = H − H 2 be the number of holes incident to at least three segments.

Approximations for the Number of Rectangles
The first proposition in this section states that the greedy strategy results in a 4-approximation when δ(N ) ≥ 3. Two families of strings whose elements have a dual net satisfying this condition are circular drawings with a bipartite sets of pseudosegments and triangle-free hyperbolic line arrangements.For references to triangle-free hyperbolic line arrangements we refer to Eppstein [9, Section 7] and his figure [8] in the Wikipedia article on circle graphs.
Proof: Apply Observations 2 and 5. □ Condition δ(N ) ≥ 3 is restrictive as it forbids in a set of strings the existence of a cell bounded by three pieces of strings.The next lemma handles very general sets of strings at the expense of a larger approximation factor.
Lemma 5 If N is the dual net of a set of pseudosegments, then R greed ≤ 8R opt + t(E) − 6.
Proof: Apply Observation 2 and Lemma 3. □ For convenience we restate our main theorem which is an immediate corollary of our findings.
Theorem 1 For a connected good drawing D with t = t(D) there is a polynomial-time algorithm to compute a bundling with at most 8bc(D) + t bundles.
Proof: Apply the greedy strategy and Lemma 3 to each connected component of the set of strings E associated to D to obtain the desired bundling.□

Discussion and FPT-Algorithms
In Section 4 we established the inequality S greed ≤ 2 • S opt .It is based on the observation that a segment can reduce the exponent of a net by at most two while each segment added in the greedy solution reduces the exponent of a net by at least one.
Let us review the notion of adding segments to a net.If we add a segment s to net N we decide to use s as a boundary for the rectangulation.In the primal set E of pseudosegments we can model this by breaking pseudosegments into two at each intersection with s.Applying this surgery to E makes s into a boundary hole, this hole is being merged with holes at the ends of s.See Figure 13 for an example.In this example the exponent of the vertex hole (left) is 3 and sum of the exponents of the vertices of the boundary hole (right) is 2, after adding the segment the exponents of the vertices of the new boundary hole add up to 3, i.e., adding the segment has reduced the exponent of the net by two.It may also happen, that a segment has both ends at the same hole, in this case the number of holes remains the same but the number of components increases by one.It is clear that in order to get a bundling of the crossings of an instance E with few bundles it is advisable to give preference to segments which reduce the exponent of the net by two.However, as we have already seen in our introductory example two such segments can cross whence they are in conflict and at most one of them can be added.Also, if two segments end at the same vertex v of the net and both reduce exp(v) by one it may happen that adding the two segments together also reduces exp(v) by only one.In the next section we introduce the notion of the marginal gain of a set of segments.From the discussion following Observation 6 it follows that finding a set of segments which maximizes the marginal gain is equivalent to finding one with S opt segments, i.e., to finding an optimal solution.Since the ends of segments can also be on other segments the JGAA, 27(6) 433-0 (2023) 449 number of segments which may potentially be part of a collection of maximal marginal gain can be very large.Still by looking at all the subsets of possible segments we can optimally solve the NP-hard problem with an FPT algorithm where the parameter is the number of segments which may be used by an optimal solution.
We now proceed to show our second theorem.
Theorem 2 For a connected good drawing D there is a FPT algorithm with parameter t = t(D) which computes a bundling with at most 8bc(D) bundles.
Proof: Let h be a toothed-hole of N .The exponent of h is two and there is a unique way of saturating the exponent with just two edges, see Figure 14.
Figure 14: Saturating toothed-holes with two segments can only be done by using the segments starting with the red arrows.
For each toothed-hole consider these two segments maximally extended until they hit another hole and let C be the collection of these segments, clearly |C| ≤ 2t.Among all possible ways of adding uncrossed segments from C in linear order, consider the way that maximizes |X| − K X where X is the set of segments that reduce the exponent by 2 when they are added in this linear order and K X is the number of components of the net N X obtained from N by applying the surgery for all segments of X.There is some function f such that this set X can be found in time f (t) and that the size of N X is at most twice the size of N .By definition we have exp(N X ) = exp(N ) − 2|X|.Let S ′ greed be a greedy set of segments that saturates the exponents of N X , i.e., X ∪ S ′ greed is the set of segments of a rectangulation of N , and let S = X ∪ S ′ greed .Imagine applying the surgery involved in adding all the segments of X one by one to N .Each addition reduces the number of holes by one or increases the number of components by one.If H X is the number of holes and K X the number of components of N X , then |X| = (H −H X )+(K X −1), i.e., H X = H + K X − |X| − 1.The choice of X also implies that |S| = |X ∪ S ′ greed | ≤ exp(N ) − |X|.We let R S denote the number of rectangles obtained with S. Using the identity of Lemma 1 for each component of N X we obtain |S ′ greed | = R S + H X − 2K X .Now consider an optimal solution with a set S opt of segments.Let T be the set of toothed-holes of N which are incident to only two of the segments of S opt and let S T be the set of segments of S opt incident to a hole in T .Finally let S ′ opt = S opt − S T .The segments in S T are partitioned into two sets Y and Z as follows.Starting from N we add the segments of S T one by one and put them in Y if the exponent is reduced by two and in Z if the exponent is only reduced by one.Let N Y be the net obtained after adding the segments of Y to N and let K Y be its number of components.Let N Y Z be the net obtained after adding the segments of Z to N Y and let K Y Z be its number of components.The choice of X and Since Using the previously established indentity We have already established the inequality To see this we have to go into the proofs of the previous sections.
We consider N Y Z .If N Y Z has several components the following argument can first be used for each component, then the addition of the result for the components yields the claim.From Observation 4 we obtain that the number of holes of N Y Z incident to at least 3 segments is upper bounded by 2R opt .Recall the proof of Lemma 4 where the key of the argument was to assign corners of the R opt rectangles to holes.In the proof of the lemma it was shown that among the holes incident with only two segments only toothed-holes fail to have an assigned corner.Due to the addition of the segments in Y and Z there are no such toothed-holes whence H Y Z ≤ 6R opt .Now look at the holes of N Y Z which include a segment from Z 0 .These are segments whose second end is on some other segment of S opt , hence, the segment and thus the hole is incident to at least two corners of rectangles.This shows that H Y Z + |Z 0 | ≤ 6R opt as claimed.
Altogether we have shown that R S ≤ 8 • R opt .This completes the proof of Theorem 2. □

Approximating bipartite instances
A set of strings is bipartite if the strings can be colored blue and red, so that the only crossings are between a blue and a red string.A dual net N is bipartite, if it is the net of a bipartite set of strings.In this section, N = (V, E) will always be a bipartite instance.The edges of N inherit a coloring from the strings when we color an edge crossed by a red string red and an edge crossed by a blue string blue.Note that on the boundary of each square of N and around each regular vertex of N the colors alternate.In particular every straight-path of N is either blue or red.Our ultimate goal in this section is to prove Theorem 3.This theorem will follow easily from the approximation for the number of segements in such instanced.

A 3/2-approximation for segments in bipartite instances
Our goal in this section is to approximate the minimum number S opt of segments needed to rectangulate a bipartite instance.By first selecting an initial set of good segments and then applying the greedy strategy to extend this set into a rectangulation, we will prove the following: Theorem 4 Let N = (V, E) be a bipartite dual net.Then there exists a cut-set A such that starting the greedy strategy from A produces a saturated cut-set S A with at most 3  2 • S opt segments.
Definition 4 (Relative Exponent) Given an edge-set E 0 ⊂ E of N = (V, E), the exponent of v relative to E 0 , denoted exp E0 (v), is the minimum number of edges at v that need to be added to E 0 so that the resulting edge-set saturates v.We let exp E0 (N ) := v∈V exp E0 (v).We extend this notation to cut-sets S, so that exp S (v) := exp E0 (v), where E 0 is the edge-set of the segments in S.
We now introduce the marginal gain of a collection S of segments, measuring how good it is to use S as the start of a greedy strategy.Let the marginal gain of S be the following Observation 6 Let S 0 be a set of segments in a net N .If S is an extension of S 0 obtained from S 0 by applying some steps of the greedy strategy, then g(S 0 ) ≤ g(S).Moreover, if S induces a rectangulation, then |S| = exp(N ) − g(S) ≤ exp(N ) − g(S 0 ).
Proof: By induction, it suffices to consider a 1-step greedy extension S 1 of S 0 with S 1 = S 0 + s.Greedy says that there is a vertex v 1 such that the exponent at v is decreased by one upon adding segment s while exp ) ≥ g(S 0 ).Finally, the moreover part follows from the fact that exp S (N ) = 0 when S induces a rectangulation.□ Observation 6 converts the problem of finding a cut-set with S opt segments into the problem of maximizing g: Suppose that S * 0 maximizes g and let S * be a greedy extension of S * 0 inducing a rectangulation.Observation 6 implies g(S * ) = g(S * 0 ), moreover We do not know how to compute an optimum S * 0 , however, to prove Theorem 4 it will be sufficient to find a monochromatic set A such that g(A) ≥ 1 2 g(S opt ).The following considerations are motivated by the aim of finding a minimal set of blue segments of maximum marginal gain.
Let B be the set of all blue segments in N .Since a blue segments will never hit another blue segment, all the segments in B connect two holes, they are the maximal straight-paths of blue edges.Any set S of blue segments is a subset of B.
We divide the vertices v of V with exp(v) > 0 into two classes: a vertex v is weak if deg N (v) is odd, v is a boundary vertex of N , and the two boundary edges at v are red.The rest of the vertices are strong2 .In a bipartite instance every square of the net has the property that the colors red and blue alternate around the square.This alternation property also holds at vertices, in particular every vertex-hole is of even degree.Hence, the set of blue edges is a minimum saturating set for every vertex-hole.In the case of a vertex v incident to a boundary-hole the set of blue edges is a subset of a minimum saturating set unless the two boundary edges at v are red, i.e., v is a weak vertex.
Let S ⊂ B be a set of blue segments and let v be a vertex with exp(v) > 0 incident to k segments of S. Then The distinction between weak and strong is helpful to understand the marginal gain g.For instance, if we add a blue segment s between two strong vertices to a set S, then the marginal gain is increased by 1.Moreover, g({s}) > 0 if and only if s connects two strong vertices.So, it would be natural to think that adding segments between pairs of strong vertices is the only way to increase g.However, we will see that it is possible to add sets of segments S where no gain is produced from adding individual edges from S, but only by adding S as a whole.
To facilitate the computation of g we consider an auxiliary multigraph G B = (V B , E B ).The vertex-set V B consist of the vertices of N with positive exponent.The edge-set E B is the disjoint union B ∪L, where B are the blue segments in N (each joining its corresponding ends in V B ) and L is a set of loops, one at each strong vertex of N .The subgraph of G B induced by the edges in S is denoted as G B [S].We ease our notation by letting We remark that a loop at v contributes 2 to the degree of v.If S ⊆ B, then let S be obtained from S by adding all the loops from L at the strong vertices in V (S).The next lemma translates g(S) as a function of G B .
Lemma 6 Given S ⊆ B, then where tc( S) is the number of connected components in G B [ S] isomorphic to a tree.Second, suppose that G B [ S] has an edge xy for which x is a leaf.Let s ∈ S be the segment connecting x and y and let S ′ = S − s.Since x has no loop in G B [ S] it is weak, since s it the only segment in S incident to x we have exp S ′ (x) − exp S (x) = 0. Therefore, g(S) − g(S ′ ) = exp S ′ (y) − exp S (y) − 1.From Equation 3 it follows that g(S) − g(S ′ ) = 0 unless y is weak and a leaf, in this case g(S) − g(S ′ ) = −1.On the other hand f (S) − f (S ′ ) = −tc( S) + tc( S ′ ).Hence, g(S) − g(S ′ ) and f (S) − f (S ′ ) are equal to 0 or −1 depending on whether y is a leaf in G B [ S] or not.
Finally, suppose that G B [ S] neither has leafs nor cycle components.In this case, we pick any s ∈ S and let S ′ = S −s.Since the endpoints x and y of s are not leafs, exp S ′ (z)−exp S (z) is either 1 or 0 depending whether z ∈ {x, y} or not.This implies that g(S) − g(S ′ ) = 1.Since G B [ S] neither has cycle components nor leafs, tc( S) = 0 = tc( S ′ ) and V (S) = V (S ′ ).Therefore f (S)−f (S ′ ) = 1, and we are done.□ JGAA, 27(6) 433-0 (2023) 453 With the help of Lemma 6 we can now build examples of sets S ⊆ B with g(S) > 0 but where segments in S are not necessarily between strong vertices.A bicycle is a connected graph with no degree-1 vertices that has exactly two cycles.Every bicycle is one of three kinds: a thetagraph, obtained from a cycle by adding a path connecting two vertices of the cycle; an eight-graph, obtained by gluing two disjoint cycles at exactly one vertex; or a barbell, obtained by joining two disjoint cycles by a path.Bicycles are the circuits of a matroid and although we will not use Matroid Theory here, some of the concepts that we define next are well known in this context.
A pseudoforest is a graph where each connected component has at most one cycle.Given the graph G B = (V B , E B ), its bicircular matroid is the pair M = (E B , I) where I is the set of subsets of E B inducing a pseudoforest in G B .In the matroid context, the subsets of E B in I are called independent while the subsets not in I are called dependent.Indeed, the bicycles of G B are the minimal dependent sets of M , known as circuits.The rank function rk(•) : 2 E B → Z ≥0 assigns to each S ⊆ E B the size rk(S) of a maximum independent set of M contained in S. The nullity of S is defined as null(S) = |S| − rk(S).
We will use two basic properties of bicircular matroids whose simple proofs are left to the reader: Proof: We start by pruning E B , that is, we iteratively remove edges incident with leaves until no leaf remains.Afterwards, we remove all the connected components isomorphic to cycles.The resulting edge-set A is the one we are looking for.Note that P1 implies that the nullity of a set does not change after removing a cycle component, or after pruning a leaf, this also holds when pruning the only edge of a tree.Thus, g(A) = null(A) − 0 = null(E B ). Now Observation 7 and P2 imply that for S ⊆ B, g(S) ≤ null( S) ≤ null(E B ) = g(A). □ We now turn our head back to the proof of Theorem 4 where also red segments are considered.Analogous to B, we let R be the set of red segments connecting vertices with positive exponent.
Given a saturating set of segments S (not necessarily monochromatic), a blue-red split is a partition S B , S R of S, where S B are the blue segments and S R are the red segments.Note that the straight-paths in S B or in S R do not necessarily have ends in holes.
(a) strings and grounded strings (b) strings and net (c) net

Figure 4 :
Figure 4: From a set of strings to its net.
(a) A rectangulation with 10 segments.Holes are blue.(b) The corresponding bundling of the strings.

Figure 5 :
Figure 5: A rectangulation of a net and the corresponding bundling of strings.Next we relate the number of rectangles and the number of segments in a rectangulation.Let H = H(N ) denote the number of holes of N .Lemma 1 In a net N with H holes the numbers R of rectangles and S of segments satisfy: R − S + H = 2.(1)

v v 1 v 2 Figure 6 :
Figure 6: Local transformation when v is regular and deg H (v) = 4.

Figure 7 :
Figure 7: The graph Γ corresponding to the rectangulation of Figure 5a.Vertices obtained by splitting vertex-holes or vertices on boundaries are shown in light blue.

JGAA, 27 Figure 9 :
Figure 9: A set of strings (a) and its dual net (b).The red segments induce an optimal rectangulation, indeed δ(N ) = 4. Since the exponents of all vertices at the inner hole are 0, the exponents only imply δ(N ) ≥ 0.

Figure 10 :
Figure 10: An example where R opt = 2 and H is arbitrarily large.
(a) A one-sided toothed hole, one vertex of degree 7.(b) A two-sided toothed hole, two vertices of degree 5.

Figure 11 :
Figure 11: The two kinds of toothed-holes.Plain and with the local configutation of strings.

Figure 13 :
Figure 13: Adding a segment connecting two holes to a net yields the merge of the holes.
segments in Z only reduce the exponent by one we have exp(N ) ≤ 2|S opt | − |Z|.Partition the segments in Z into the set Z 1 consisting of segments having their second end at a hole of N and Z 0 where the second end is on some other segment of S opt .If H Y Z is the number of holes and K Y Z is the number of components of N Y Z , then H Y Z = H + K Y Z − |Y | − |Z 1 | − 1.From an application of Lemma 1 we also get |S ′ opt | = R opt + H Y Z − 2K Y Z .Now we follow the scheme used for the proof of Theorem 1, |S| + |X| ≤ exp(N ) ≤ 2|S opt | − |Z| whence |S ′ greed | + 2|X| ≤ exp(N ) ≤ 2|S opt | − |Z| = 2|S ′ opt | + 2|Y | + 2|Z| − |Z|.This implies 0 ≤ 2|S ′ opt | − |S ′ greed | + 2|Y | + |Z| − 2|X| and consequently

Proof:
We proceed by induction on |S|.Let f (S) be the right-hand side of Equation 4. For the base case note that g(∅) = 0 = f (∅).Now consider a non-empty set S ⊆ B. By induction assume that g(S ′ ) = f (S ′ ) for every proper subset S ′ ⊂ S. Thus, to show g(S) = f (S) it is enough to find a proper subset S ′ ⊂ S for which g(S) − g(S ′ ) = f (S) − f (S ′ ).First, suppose that S has a subsetC such that G B [C] is a connected component in G B [ S]isomorphic to a cycle of length at least 3, i.e., all the vertices in V (C) are weak.Then g(S) − g(S \ C) = v∈V (C) (exp S (v) − exp S\C (v)) + |C| = v∈V (C) (−1) + |C| = 0. On the other hand, because |C| = |V (C)|, f (S) − f (S \ C) = 0. Therefore, assuming g(S \ C) = f (S \ C) we obtain g(S) = f (S).

Lemma 7
(P1) rk(S) = |V (S)| − tc(S) where tc(S) is the number of tree components of G B [ S]; and (P2) null(S 1 ) ≤ null(S 2 ) for S 1 ⊆ S 2 .The next observation follows from Lemma 6 and P1: Observation 7 For S ⊆ B, g(S) = null( S) − 2 • tc( S).□We are now ready for finding a blue set maximizing g: There is a unique set A ⊆ B such that for all S ⊂ B, g(S) ≤ g(A).Moreover, A can be obtained in O(|E B |) time.

Lemma 8
Let S B , S R be a blue-red split of a saturating cut-set S. Then g(S B ) + g(S R ) ≥ g(S).Proof: From the definition of g(•) (Eq.2) and since |S B | + |S R | = |S| it is enough to show that for every v with exp(v) > 0,