 # Planar Bichromatic Bottleneck Spanning Trees

Given a set P of n red and blue points in the plane, a planar bichromatic spanning tree of P is a spanning tree of P, such that each edge connects between a red and a blue point, and no two edges intersect. In the bottleneck planar bichromatic spanning tree problem, the goal is to find a planar bichromatic spanning tree T, such that the length of the longest edge in T is minimized. In this paper, we show that this problem is NP-hard for points in general position. Moreover, we present a polynomial-time (8√(2))-approximation algorithm, by showing that any bichromatic spanning tree of bottleneck λ can be converted to a planar bichromatic spanning tree of bottleneck at most 8√(2)λ.

## Authors

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1 Introduction

Let be a bi-colored set of red and blue points in the plane and let . A bichromatic spanning tree of is a spanning tree of whose edges are straight-line segments connecting between points of different colors. A spanning tree is planar if its edges do not cross each other. Borgelt et al.  studied the problem of computing a minimum-weight planar bichromatic spanning tree, and showed that the problem is NP-hard. Moreover, for points in general position, they gave an -approximation algorithm, and for points in convex position, they gave an exact cubic-time algorithm. Biniaz et al.  studied the problem of computing a maximum-weight planar bichromatic spanning tree and gave a -approximation algorithm for the problem.

Algorithmic problems on bichromatic geometric input have appeared in many problems, including, e.g., trees [1, 12, 15], matchings [13, 17], and partitionings . Often the bichromatic input is referred to as “red-blue” input, e.g. in red-blue intersection [4, 22], red-blue separation [9, 14, 16, 19], and red-blue connection problems [5, 10]. For a survey of many geometric problems on bichromatic (red-blue) points, see Kaneko and Kano .

Many of the structures studied in computational geometry are planar, including minimum spanning trees, minimum weight matchings, Delaunay/Voronoi diagrams, etc. Therefore, the planarity requirement is quite natural, and indeed many researchers have considered geometric problems dealing with crossing-free configurations in the plane; see, e.g. [2, 3, 6, 7, 8].

In this paper, we study the problem of computing a bottleneck planar bichromatic spanning tree of , in which we seek a planar bichromatic spanning tree that minimizes bottleneck, i.e., the length of the longest edge. To the best of our knowledge, this problem has not been considered before.

Our results. In Section 2, we prove that the problem of computing a bottleneck planar bichromatic spanning tree is NP-hard. Our proof is based on a reduction from the planar 3-SAT problem, and is influenced by the proof of Borgelt et al. . As a corollary we obtain that the problem does not admit a PTAS. Next, in Section 3, we present a polynomial-time algorithm for computing a planar bichromatic spanning tree of bottleneck at most times the bottleneck of a bottleneck planar bichromatic spanning tree. We first compute a bottleneck bichromatic spanning tree having bottleneck that may have crossings. Then, we use the length to define a partition of the plane into convex cells, and to partition into subsets according to these cells. Next, we construct planar bichromatic trees for each subset, and we connect these trees to obtain a planar bichromatic spanning tree of . We show that this tree has a bottleneck at most .

## 2 Hardness Proof

In this section, we prove the following theorem.

###### Theorem 2.1.

Let be a set of red and blue points in the plane. Then, computing a bottleneck planar bichromatic spanning tree of is NP-hard.

###### Proof.

We adapt the proof of Borgelt et al. , making modifications necessary to address the bottleneck version. For completeness, we explain the ingredients required for the proof.

The proof is based on a reduction from the planar 3-SAT problem. Given a 3-CNF formula with variables and clauses , let be the graph of , i.e., and . If is planar, then is called a planar 3-CNF formula. The planar 3-SAT problem is to determine whether a given planar 3-CNF formula is satisfiable; the problem is NP-complete .

Let be a planar 3-SAT formula. We construct, in polynomial time, a set of red and blue points in the plane, such that is satisfiable if and only if there exists a planar bichromatic spanning tree of of bottleneck 1. Consider the graph . It is well known that can be embedded in the plane in polynomial time.

The construction is based on chains of pairs of red and blue points. We call the pairs in the chain sites. The distance between the points in each site is less than 1, and the distance between two points of different colors in consecutive sites is exactly 1; see Figure 1(a). Now, for every two consecutive sites, there are two possible edges to connect them: we either connect the blue point of the first site with the red point of the second site, or the other way around. Moreover, the chain is constructed in such a way that if we connect the blue point in the leftmost site to the red point in the next site, this forces the choice of connections in one direction along the chain; see Figure 1(b).

Variables. Each variable is represented by a circular chain of sites, a special red point , and a red-blue path; see Figure 2. The addition of the red-blue path to the variable gadget of  is required, since without it the special red point can be connected to both sides of the chain without increasing the bottleneck, which is not the case in the minimum weight version. The red-blue path forces to be connected exactly to one side. Figure 2: The trees corresponding to the true and the false assignments of xi.

The sites on the circular chain are located on two (inner and outer) circles. We locate the points in such a way that the distance between each consecutive sites on the circular chain, the distance between and its neighboring sites in the chain, and the distance between the endpoints of the red-blue path and the chain is exactly 1. Moreover, the points are located such that, there are only two possible optimal trees (i.e., planar bichromatic spanning trees of bottleneck 1) of the points, depending on the connection of to the chain. In both trees, is connected to exactly one site of the chain. We arbitrarily associate one of them with the assignment , and the other with the assignment ; see Figure 2. Thus, the value of will determine the tree of these points, and vice virsa. Moreover, if (resp., ), then the red points on the right (resp., on the left) of the inner circle are free to be connected to points outside the gadget, and the red points on the left (resp., on the right) of the inner circle cannot be connected to points outside the gadget without crossing, and vice versa.

Clauses. Each clause is represented by a single red point and three chains that will be connected to the respective variables of ; see Figure 3(a). The distance between and each chain is 1. In any optimal tree, will be connected to at least one of the three chains. However, it cannot be connected to any chain if all the chains are connected to variables that are in the wrong state; see Figure 3(b).

We connect between the variables and the clauses such that, in any optimal tree, one of the three chains of the clause has to be connected to a red point on the inner circle of the corresponding variable. Assume that appears unnegated in a clause and negated in a clause , i.e., and . We connect the chain of that is respective to to a site on the right of the inner circle of the gadget , and we connect the chain of that is respective to to a site on the left of the inner circle of the gadget ; see Figure 4. This connection ensures that, if is assigned , then the red point on the right of the inner circle of is free to be connected to the chain of , and this connection can produce a path through the chain that ends at . On the other hand, if is assigned , then the red point on the left of the inner circle of cannot be connected to the chain of , which does not allow a connection between the chain and . The same argument holds when is assigned . Figure 4: The connection between the variable xi and the clauses Cj and Ck.

Finally we need to connect all variables to each other by some fixed part of the tree, because the whole construction needs to be a tree and not a forest. These connections can easily be made using red-blue chains having distance at most 1 between every two consecutive points in the path. Also, we need to make sure that the distance between different parts of the construction is large enough to avoid shortcuts. ∎

Notice that in the reduction we proved that if the 3-SAT formula is not satisfiable, then any planar bichromatic spanning tree of has an edge of length greater than 1. Actually, we can push the length of this edge to be closed to . That is, we can draw the connection between each clause and its corresponding variables, such that the distance between each chain of the clause and the corresponding site on the inner circle of the variable is 1, and the distance between each chain of the clause and the sites on the outer circle of the variable is at least , for any ; see Figure 4. This implies that the bottleneck planar bichromatic spanning tree problem cannot be approximated within a factor less than , unless .

###### Corollary 2.2.

The bottleneck planar bichromatic spanning tree problem cannot be approximated within a factor less than , unless . In particular, there is no PTAS (unless ).

## 3 Approximation Algorithm

Let be a set of red and blue points in the plane and let . Let be a bichromatic spanning tree of of minimum bottleneck ( may have crossings and can be computed in time ). Let denote the bottleneck of , i.e., the length of the longest edge in . Notice that is the lower bound for any bichromatic spanning tree of , in particular for any planar bottleneck bichromatic spanning tree of . In this section, we show how to compute a planar bichromatic spanning tree of , such that its bottleneck is at most .

Our algorithm partitions the plane into disjoint cells satisfying the following properties:

1. Each cell is convex and contains points of both colors.

2. In each cell, the distance between any two points is bounded by .

3. The cells are connected, i.e., if we consider the graph with the cells as its vertices and there is an edge between two cells if they are adjacent (sharing a common boundary), then this graph is connected.

4. We can construct a planar bichromatic spanning tree of the points in each cell and we can connect them without crossings.

Assume, w.l.o.g., that . We begin by laying an axis-parallel grid, such that each (square) cell is of edge length and the points of are in the interior (not on the boundary) of these cells; see Figure 5. We say that a cell is bichromatic if it contains points of both colors and we say that is monochromatic (red or blue) if all of the points in have the same color, otherwise, we say that is an empty cell.

Our algorithm consists of two stages. In Stage 1, we modify the grid cells to satisfy properties (1)-(3), and, in Stage 2, we construct a planar bichromatic spanning tree of the points in each cell and connect between these trees to obtain a planar bichromatic spanning tree of .

### Stage 1

In this stage, we consider the monochromatic cells and we partition and merge portions of them in order to obtain a subdivision in which all cells are convex and bichromatic. Let be a cell of the grid. Since is a cell, is the union of 9 unit sub-cells, labelled , for , as shown in Figure 6(a). Notice that, since is a monochromatic cell, the points of are of distance at most 1 from the boundary of , and therefore, is empty of points of . The region is the union of four trapezoids , , , and , such that (resp., , , and ) is the trapezoid obtained by connecting the left (resp., right, top, and bottom) corners of by diagonals to the left (resp., right, top, and bottom) corners of ; see Figure 6(b). Figure 6: (a) The 9 unit sub-cells of cell Ci,j. (b) The trapezoids Tli,j, Tri,j, Tti,j, and Tbi,j.
##### Stage 1.1

In this stage, we introduce a directed graph in which the vertices are the monochromatic cells and the edges are defined as follows. Let be a monochromatic cell, and let , , be the set of cells that share a grid edge with . Let be a monochromatic cell and assume, w.l.o.g., that . There is a directed edge from to if and only if and are of different colors and the trapezoid is not empty of points of ; see Figure 7. Figure 7: Directed edges between monochromatic cell Ci,j and its monochromatic neighbors (Ci,j−1, Ci−1,j, Ci,j+1).
##### Stage 1.2

In this stage, we modify the grid cells by partitioning and merging some of the monochromatic cells with their neighbors, guided by the directed edges introduced in Stage 1.1. Before describing how to modify the grid cells, we describe the following cell partition procedure that we will apply in this stage to the empty and some of the monochromatic cells.

Cell partition procedure. For a monochromatic cell , partition into trapezoids , , , and , and merge them with the cells , , , and , respectively; see Figure 8(b). Figure 8: (a) din(Ci,j)=0 and dout(Ci,j)>0. (b) Partitioning and merging Ci,j with its neighbors.

Let (resp., ) denote the in-degree (resp., the out-degree) of the vertex corresponding to the monochromatic cell in the graph . We apply the following three steps on the monochromatic cells.

Step 1. We apply this step as long as there exists a cell with and . For each such cell, we apply the cell partition procedure on and remove the out-going edges from and from its neighbors , , , and ; see Figure 8.

Step 2. We apply this step on the monochromatic cells with . Consider the grid as an arbitrary white-black chessboard. For each white cell with , we apply the cell partition procedure on .

Step 3. We apply this step on the empty and the monochromatic cells with and (that are not considered in the previous steps). For each such cell, we apply the cell partition procedure on .

We call a cell a partitioned cell if has been partitioned (using the cell partition procedure), and we call it an extended cell otherwise. If we have two adjacent partitioned cells and , then we call the merged area of the two trapezoids and a lune; see Figure 9.

At the end of this stage, we have three types of non-empty convex cells: original cells, extended cells, and lunes. Clearly, each original cell is bichromatic, otherwise, it would have been partitioned or extended in Steps 1–3. Observe that each extended cell is bichromatic, since . Observe also that each non-empty lune is monochromatic. To see this, assume, w.l.o.g., that was obtained by partitioning the cells and and merging the trapezoids and . Thus, cannot be bichromatic, since otherwise, there would be a directed edge from to and vice versa, which means that one of the cells and (the black one in the chessboard) is extended in Step 2.

##### Stage 1.3

In this stage, we get rid of the lunes, by partitioning each lune into sub-pieces and merging the sub-pieces with adjacent extended cells as follows. Let be a vertical lune obtained by merging two adjacent trapezoids and ; see Figure 9(a). (A horizontal lune will be treated analogously.) As observed above, is monochromatic (or empty) which means that the subregion is empty of points of .

We consider the four triangles obtained by removing from and removing from , and we merge them with the cells , , , and according to the following cases. We describe how to merge the top triangles with and . (Merging the bottom triangles with , and is done analogously.) Let be the top vertex of ; see Figure 10.

• If both and are extended cells, then we merge the top-left triangle with and the top-right triangle with ; see Figure 10(a).

• If is a partitioned cell and is an extended cell, then we have another horizontal lune between and ; see Figure 10(b). Notice that the union of the top-left triangle of and the right-bottom triangle of is exactly the sub-cell . Notice also that is monochromatic and has the same color as . Thus, the points of in are of distance 1 from . In this case, we merge the top-right triangle of and the right-top triangle of with . Moreover, we merge the region of intersecting the disk of radius 1 centered at with ; see Figure 10(b). Figure 10: Merging the top triangles of L1 with the cells Ci−1,j and Ci−1,j+1. The gray and the green regions are part of vertical and horizontal lunes, respectively, and the light blue regions are empty of points of P.
• If is an extended cell and is a partitioned cell, then this case is symmetric to the previous case; see Figure 10(c).

• If both and are partitioned cells, then we have four lunes incident to ; see Figure 10(d). Since all of the lunes are monochromatic and have the same color, the triangles of these lunes that are incident to are empty of points of and, therefore, we remove these triangles from the division.

Moreover, in each partitioned cell such that , , , or , we treat the trapezoids adjacent to the boundary of the grid as half-lunes and we merge them with their adjacent extended cells as in the lunes case.

Notice that, at the end of this stage, we have two types of non-empty cells: original cells and extended cells, and both types are convex and bichromatic cells; see Figure 11. From now on, we refer to both types of these cells as extended cells and denote them by . That is, is either an original cell or an extended cell obtained by merging with trapezoids from its neighbors. Figure 11: A subdivision obtained at the end of Stage 1. The light blue regions are empty of points of P.

### Stage 2

In this stage, we construct a planar bichromatic spanning tree in each (extended) cell and connect them to each other to obtain, overall, a planar bichromatic spanning tree of . For each cell , we denote by the set of points of lying in . If has been partitioned, then we set .

##### Stage 2.1

In each cell , we construct a planar bichromatic spanning tree of as follows. We select an arbitrary red point as a center of the tree and connect it to each blue point in the cell to produce a star. We extend the edges of the star to partition the cell into convex cones, possibly except one cone; see Figure 12. If we have a non-convex cone, then we divide it into two convex cones by adding its bisector, as shown in Figure 12(right). Then, we connect all the red points in each cone to one of the blue points on the lines bounding the cone. Figure 12: Constructing a planar bichromatic spanning tree in a cell.
###### Lemma 3.1.

Let be a tree constructed in Stage 2.1 in cell . Any (red or blue) point in the plane can be connected to without crossing the edges of .

###### Proof.

Let be the center of and recall that its color is red. Consider the cones produced by the rays between and the blue points of . Let be the cone containing and let and be the two blue points defining . By the way we constructed , all the points in are red and connected to exactly one of the points and , assume, w.l.o.g., . We distinguish between two cases with respect to the color of .
Case 1: is a blue point. If the edge does not cross the edges of , then we connect to . Otherwise, we connect to the endpoint of the first edge (from ) crossing ; see Figure 13(a).
Case 2: is a red point. In this case, we connect to ; see Figure 13(b). ∎ Figure 13: (a) p and s are of different colors. (b) p and s are of the same color.
##### Stage 2.2

In this stage, we connect between the trees that are constructed in Stage 2.1 to obtain a planar bichromatic spanning tree of . Let and be two (extended) cells. We say that is a side adjacent (or s-adjacent for short) cell of , if one of the following holds:

• and , or

• and ,

and we say that is a diagonal adjacent (or d-adjacent for short) cell of , if one of the following holds:

• , , and and have been partitioned, or

• , , and and have been partitioned.

We construct a bichromatic spanning tree of by traversing the cells starting from an arbitrary (non-empty) cell (in breadth first search (BFS) manner). That is, we first initiate a tree by an arbitrary tree that is constructed in a cell . Then, we connect to all the trees constructed in the cells adjacent to , and proceed from these trees. More precisely, in each step, we consider a tree , which is already connected to , and we connect to all of the trees constructed in the cells adjacent to via (if they are not connected yet to ). In the following, we describe how to connect to all the trees constructed in the cells adjacent to .

Let be a cell adjacent to , such that the tree constructed in is not connected yet to . Let , , , and be the top-right, top-left, bottom-right, and bottom-left vertices of the grid incident to , respectively; see Figure 14. We distinguish between two cases.
Case 1: is a d-adjacent cell of . Assume, w.l.o.g., that . Then, the boundaries of and share a common (diagonal) edge ; see Figure 14. Moreover, the convex hull of does not contain any point of (this can be seen clearly in Figure 11). Let be the closest point to the line passing through , such that no edge of crosses the triangle . By Claim 3.2, such a point exists. Then, any edge connecting to any point of does not cross any non-empty cell except and . Therefore, by Lemma 3.1, we can connect to without crossing any other edge of . Figure 14: Illustration of Case 1. We connect Ti−1,j+1 to Ti,j via p.

Case 2: is an s-adjacent cell of . Assume, w.l.o.g., that . Let be the rightmost point in , such that no edge of crosses the triangle ; see Figure 15. By Claim 3.2, such a point exists. Let be the convex hull of . We consider two sub-cases.
Case 2.1: (i.e., does not contain any point of that is not in ); see Figure 15. Therefore, by Lemma 3.1, we can connect to via , without crossing any other edge of . Figure 15: The convex hull H of ^Pi,j+1∪{p} (consisting of green segments) does not contain any point of P that is not in ^Pi,j∪^Pi,j+1. We connect Ti,j+1 to Ti,j via p.

Case 2.2: (i.e., contains a point of that is not in ). In this case, contains a point in or in . Assume, w.l.o.g., that contains a point in ; see Figure 16. Notice that exactly one of the sets or is an empty set, since, in this case, exactly one of the cells or has been partitioned. We further distinguish between two cases.

1. ; see Figure 16(a). In this case we first connect to as follows. Let be the closest point to the line passing through the boundary edge between and . Then, the convex hull of does not contain any point of that is not in . Therefore, by Lemma 3.1, we can connect to via , without crossing any other edge of .

Moreover, if is not connected yet to , then we apply Case 2 on to connect to . Figure 16: (a) H contains points from ^Pi−1,j. We connect Ti,j+1 to Ti−1,j via q. (b) H contains a point z from ^Pi−1,j+1. We connect Ti−1,j+1 to Ti,j via q and we connect Ti,j+1 to Ti−1,j+1 via z.
2. . If is not connected yet to , then we first connect to as follows. Let be the closest point to the line passing through the boundary edge between and ; see Figure 16(b). Then, the convex hull of does not contain any point of that is not in . Therefore, by Lemma 3.1, we can connect to via , without crossing any other edge of .

Moreover, we connect to as follows. Let be the bottom-right corner of . Thus, and . Let be the bottommost point in , such that no edge of crosses the triangle ; see Figure 16(b). By Claim 3.2, such a point exists. Then, the convex hull of does not contain any point of that is not in . Therefore, by Lemma 3.1, we can connect to via , without crossing any other edge of . (Notice that the two edges added in this case do not cross each other.)

#### Correctness Proof

Recall that is a bichromatic spanning tree of of minimum bottleneck . In this section, we prove that is a planar bichromatic spanning tree of of bottleneck at most . Notice that every point is contained in a bichromatic cell and hence, it is connected to , the tree constructed in Stage 2.1 in . Therefore, to show that is a bichromatic spanning tree of , it is sufficient to show that each tree is connected to .

###### Claim 3.2.

Let be the tree constructed at some step during Stage 2.2 and assume that is planar. Let be a tree constructed in and is already connected to . Let be an adjacent cell of that shares an edge with and let be the tree constructed in , and assume that is not connected yet to . Then, there exists a point in , such that no edge of crosses the triangle .

###### Proof.

Assume, w.l.o.g., that , , and ; see Figure 17. The following procedure shows the existence of such a point . We sweep leftwards in with a vertical line , starting from until we meet a point, or an edge of . If we first meet a point, then this point satisfies the claim. Otherwise, we first meet an edge of ; see Figure 17. This could only be when exactly one of the endpoints or is outside . Let and be the two sub-cells obtained by partitioning with the line that goes through the points and . Let be the sub-cell containing and . We keep sweeping leftwards only inside . As before, if we first meet a point, then this point satisfies the claim. Otherwise, we meet an edge of before we meet a point. Then, one of the endpoints or is outside . Let and be the two sub-cells obtained by partitioning with the line that goes through the points and . Let be the sub-cell containing and . We keep sweeping leftwards only inside , until we meet a point, and this point satisfies the claim. Notice that, in the last sweep we meet a point before we meet an edge of . This follows from the planarity of . ∎

###### Lemma 3.3.

Let be a tree constructed in in Stage 2.1 and assume that is already connected to . Then, at the end of Stage 2.2, all the trees that are constructed in the cells adjacent to are connected to as well.

###### Proof.

Let be an adjacent cell of . We distinguish between two cases.
Case 1: is a d-adjacent cell of . Assume, w.l.o.g., that . Then, in Stage 2.2, Case 1, we connect between and .
Case 2: is an s-adjacent cell of . Assume, w.l.o.g., that . As described in Stage 2.2, we select a point and compute the convex hull of . Then, we consider two cases. In Case 2.1, when does not contain any point of , we connect directly to (via ). And, in Case 2.2, when contains a point of , we connect to via the tree , in case that contains a point of (or via the tree , in case that contains a point of ).
In the case that contains a point of (symmetrically, contains a point of ), we connect to via the tree . If is already connected to , then we are done. Otherwise, since is an s-adjacent cell of , we will try to connect to in the next iteration in Stage 2.2 (by applying Case 2 once again). In the next iteration, either we connect to in one of the cases described above or we end up by connecting to . In the latter case, if is already connected to , then we are done. otherwise, is already connected to . In this case, we connect to either directly or via , and we are done. ∎

###### Lemma 3.4.

Let and be two points of , such that and are of different colors, and belongs to . Then, also belongs to .

###### Proof.

Since , either and are in the same cell or they are in adjacent cells. If they are in the same cell , then, after Stage 2.1, they are connected in , and the lemma holds. Otherwise, assume, w.l.o.g., that and , where is adjacent to . Then, after Stage 2.1, belongs to and belongs to , the tree constructed in . Since is part of and is adjacent to , by Lemma 3.3, is connected to and therefore belongs to . ∎

###### Lemma 3.5.

Let be a tree constructed in . Then, is connected to .

###### Proof.

Assume by contradiction that is not connected to . Let be a point from and let be a point from . Since is a bottleneck bichromatic spanning tree of , there is a path between and in . Let be the last point (from ) on that belongs to , i.e., no point of appears on the sub-path of between and . Since does not belong to , such a point exists. Let be the point between and on that is connected to . By the selection of , does not belong to . Since the bottleneck of is , we have . Therefore, by Lemma 3.4, and are connected in , which contradicts that does not belong to . ∎

is planar.

###### Proof.

Each is planar. We start with , where is an arbitrary tree constructed in , and in each step, we extend by connecting it to the trees corresponding to the cells adjacent to the current cell. We connect to a “new” tree by picking a point in , such that the convex hull of is empty of any other points and no edge of crosses . In Claim 3.2, we showed that such a point always exists. Thus, connecting to any point of will not cross any other edge of nor of any other tree. Moreover, in Lemma 3.1, we show that we can always connect to without crossing any of the edges of . Therefore, connecting to does not produce any crossing. ∎

###### Lemma 3.7.

The bottleneck of is at most .

###### Proof.

Consider Figure 11. After Stage 1, each extended cell is contained in a square of size , and hence the bottleneck of each tree constructed in Stage 2.1 is at most . Moreover, every two d-adjacent cells are contained in a square of size and every two s-adjacent cells are contained in a square of size . Thus, each edge added in Stage 2.2 is of length at most . Therefore, each edge in is of length at most . ∎

The algorithm consists of two main stages, and each one of them can be implemented in polynomial time. Therefore, the total running time of the algorithm is polynomial. The following theorem summarizes the result of this section.

###### Theorem 3.8.

Let be a set of red and blue points in the plane. One can compute in polynomial time a planar bichromatic spanning tree of of bottleneck at most times the bottleneck of an optimal bichromatic spanning tree of .

## References

•  M. Abellanas, J. Garcia-Lopez, G. Hernández-Peñalver, M. Noy, and P. A. Ramos. Bipartite embeddings of trees in the plane. Discr. Appl. Math., 93(2-3):141–148, 1999.
•  A. K. Abu-Affash, A. Biniaz, P. Carmi, A. Maheshwari, and M. Smid. Approximating the bottleneck plane perfect matching of a point set. Comput. Geom., 48(9):718–731, 2015.
•  A. K. Abu-Affash, P. Carmi, M. J. Katz, and Y. Trabelsi. Bottleneck non-crossing matching in the plane. Comput. Geom., 47(3):447–457, 2014.
•  P. K. Agarwal. Partitioning arrangements of lines II: Applications. Discr. Comput. Geom., 5(1):533–573, 1990.
•  P. K. Agarwal, H. Edelsbrunner, and O. Schwarzkopf. Euclidean minimum spanning trees and bichromatic closest pairs. Discr. Comput. Geom., 6(1):407–422, 1991.
•  O. Aichholzer, S. Cabello, R. Fabila-Monroy, D. Flores-Peñaloza, T. Hackl, C. Huemer, F. Hurtado, and D. R. Wood. Edge-removal and non-crossing configurations in geometric graphs. In EuroCG, pages 119–122, 2008.
•  N. Alon, S. Rajagopalan, and S. Suri. Long non-crossing configurations in the plane. In SoCG, pages 257–263, 1993.
•  G. Aloupis, J. Cardinal, S. Collette, E. D. Demaine, M. L. Demaine, M. Dulieu, R. Fabila-Monroy, V. Hart, F. Hurtado, S. Langerman, M. Saumell, C. Seara, and P. Taslakian. Matching points with things. In LATIN, volume 6034 of LNCS, pages 456–467, 2010.
•  S. Arora and K. L. Chang. Approximation schemes for degree-restricted MST and red–blue separation problems. Algorithmica, 40(3):189–210, 2004.
•  M. J. Atallah and D. Z. Chen. On connecting red and blue rectilinear polygonal obstacles with nonintersecting monotone rectilinear paths. Int. J. Comput. Geom. Appl., 11(4):373–400, 2001.
•  A. Biniaz, P. Bose, K. Crosbie, J.-L. De Carufel, D. Eppstein, A. Maheshwari, and M. H. M. Smid. Maximum plane trees in multipartite geometric graphs. Algorithmica, 81(4):1512–1534, 2019.
•  A. Biniaz, P. Bose, D. Eppstein, A. Maheshwari, P. Morin, and M. H. M. Smid. Spanning trees in multipartite geometric graphs. Algorithmica, 80(11):3177–3191, 2018.
•  A. Biniaz, A. Maheshwari, and M. Smid. Bottleneck bichromatic plane matching of points. In CCCG, 2014.
•  J.-D. Boissonnat, J. Czyzowicz, O. Devillers, J. Urrutia, and M. Yvinec. Computing largest circles separating two sets of segments. Int. J. Comput. Geom. Appl., 10(1):41–53, 2000.
•  M. G. Borgelt, M. Van Kreveld, M. Löffler, J. Luo, D. Merrick, R. I. Silveira, and M. Vahedi. Planar bichromatic minimum spanning trees. J. Discrete Algorithms, 7(4):469–478, 2009.
•  E. D. Demaine, J. Erickson, F. Hurtado, J. Iacono, S. Langerman, H. Meijer, M. H. Overmars, and S. Whitesides. Separating point sets in polygonal environments. Int. J. Comput. Geom. Appl., 15(4):403–420.
•  A. Dumitrescu and R. Kaye. Matching colored points in the plane: some new results. Comput. Geom., 19(1):69–85, 2001.
•  A. Dumitrescu and J. Pach. Partitioning colored point sets into monochromatic parts. Int. J. Comput. Geom. Appl., 12(05):401–412, 2002.
•  H. Everett, J.-M. Robert, and M. J. van Kreveld. An optimal algorithm for the (<= k)-levels, with applications to separation and transversal problems. Int. J. Comput. Geom. Appl., 6(3):247–261, 1996.
•  A. Kaneko and M. Kano. Discrete geometry on red and blue points in the plane – a survey. Discr. Comput. Geom., 25:551–570, 2003.
•  D. Lichtenstein. Planar formulae and their uses. SIAM J. Comput., 11(2):329–343, 1982.
•  H. G. Mairson and J. Stolfi. Reporting and counting intersections between two sets of line segments. In Theoretical Foundations of Computer Graphics and CAD, volume 40 of NATO ASI Series, pages 307–325, 1988.