1 Introduction

Let P be a finite set of points in the plane. Two distinct points v and w in the plane are visible with respect to P if no point in P is in the open line segment vw. The visibility graph of P has vertex set P, and an edge between two vertices if and only if they are visible with respect to P.

Visibility graphs have interesting graph-theoretic properties and give rise to several challenging open problems. For example, Kára, Pór and Wood [5] showed that K 4-free visibility graphs are 3-colourable. They also conjectured that visibility graphs with bounded collinearities and bounded clique number have a bounded number of vertices. See [5, 10, 13] for further results and conjectures about the clique and chromatic number of visibility graphs. Further related results can be found in [1, 3, 8]. The study of visibility graphs is a natural extension of point-line incidence geometry where the order of points on a line is taken into account. Visibility graphs appear implicitly in Székely’s celebrated paper [14]. For example, Székely’s proof of the Szemeredi–Trotter theorem could be summarised as, “apply the crossing lemma to a certain subgraph of the visibility graph”. We therefore consider the fundamental graph-theoretic properties of visibility graphs to be worthy of study.

The purpose of this paper is to study the edge- and vertex-connectivity of visibility graphs. A graph G on at least k+1 vertices is k-vertex-connected (k-edge-connected) if G remains connected whenever fewer than k vertices (edges) are deleted. Menger’s theorem says that this is equivalent to the existence of k vertex-disjoint (edge-disjoint) paths between each pair of vertices. Let κ(G) and λ(G) denote the vertex- and edge-connectivity of a graph G. Let δ(G) denote the minimum degree of G. Then κ(G)≤λ(G)≤δ(G).

If a visibility graph G has n vertices, at most of which are collinear, then \(\delta(G) \geq\frac{n-1}{\ell-1}\). We will show that both edge- and vertex-connectivity are at least \(\frac{n-1}{\ell-1}\) (Theorem 4 and Corollary 11). Since there are visibility graphs with \(\delta= \frac{n-1}{\ell-1}\) these lower bounds are best possible.

We will refer to visibility graphs whose vertices are not all collinear as non-collinear visibility graphs. Non-collinear visibility graphs have diameter 2 [5], and it is known that graphs of diameter 2 have edge-connectivity equal to their minimum degree [11]. We strengthen this result to show that if a graph has diameter 2 then for all vertices v and w with deg(v)≤deg(w), there are deg(v) edge-disjoint vw-paths of length at most 4 (Theorem 2).

With regard to vertex-connectivity, our main result is that \(\kappa\geq\frac{\delta}{2} +1\) for all non-collinear visibility graphs (Theorem 9). This bound is qualitatively stronger than the bound \(\kappa\geq\frac{n-1}{\ell-1}\) since it is always within a factor of 2 of being optimal. In the special case of at most four collinear points, we improve this bound to \(\kappa \geq\frac{2\delta+1}{3}\) (Theorem 13). We conjecture that \(\kappa\geq\frac{2\delta+1}{3}\) for all visibility graphs.

This bound would be best possible since, for each integer k, there is a visibility graph with a vertex cut of size 2k+1, but minimum degree δ=3k+1. Therefore the vertex-connectivity is at most \(2k+1 =\frac{2\delta+1}{3}\). Figure 1 shows the case k=4.

Fig. 1
figure 1

A visibility graph with vertex-connectivity \(\frac{2\delta+1}{3}\). The black vertices are a cut set. The minimum degree δ=3k+1 is achieved, for example, at the top left vertex. Not all edges are drawn

A central tool in this paper, which is of independent interest, is a kind of bipartite visibility graph. Let A and B be disjoint sets of points in the plane. The bivisibility graph \(\mathcal {B}(A,B)\) of A and B has vertex set AB, where points vA and wB are adjacent if and only if they are visible with respect to AB. The following simple observation is used several times in this paper.

Observation 1

Let G be a visibility graph. Let {A,B,C} be a partition of V(G) such that C separates A and B. If \(\mathcal{B}(A,B)\) contains t pairwise non-crossing edges, then |C|≥t since there must be a distinct vertex in C on each such edge.

2 Edge-Connectivity

Non-collinear visibility graphs have diameter at most 2 [5]. This is because even if two points cannot see each other, they can both see the point closest to the line containing them. Plesník [11] proved that the edge-connectivity of a graph with diameter at most 2 equals its minimum degree. Thus the edge-connectivity of a non-collinear visibility graph equals its minimum degree. There are several other known conditions that imply that the edge-connectivity of a graph is equal to the minimum degree; see for example [2, 12, 16]. Here we prove the following strengthening of the result of Plesník.

Theorem 2

Let G be a graph with diameter 2. Then the edge-connectivity of G equals its minimum degree. Moreover, for all distinct vertices v and w in G, if d:=min{deg(v),deg(w)} then there are d edge-disjoint vw-paths of length at most 4, including at least one of length at most 2.

Proof

First suppose that v and w are not adjacent. Let C be the set of common neighbours of v and w. For each vertex cC, take the path (v,c,w). Let A be a set of d−|C| neighbours of v not in C. Let B be a set of d−|C| neighbours of w not in C. Let M 1 be a maximal matching in the bipartite subgraph of G induced by A and B. Call these matched vertices A 1 and B 1. For each edge abM 1, take the path (v,a,b,w). Let A 2 and B 2, respectively, be the subsets of A and B consisting of the unmatched vertices. Let D:=V(G)∖(A 2B 2∪{v,w}). Let M 2 be an arbitrary pairing of vertices in A 2 and B 2. For each pair abM 2, take the path (v,a,x,b,w), where x is a common neighbour of a and b (which exists since G has diameter 2). Since x is adjacent to a, xw, and by the maximality of M 1, \(x\not\in B_{2}\). Similarly, xv and \(x\not\in A_{2}\), and so xD. Thus there are three types of path, namely (v,C,w), (v,A 1,B 1,w), and (v,A 2,D,B 2,w). Paths within each type are edge-disjoint. Even though D contains A 1 and B 1, edges between each pair of sets from {A 1,B 1,A 2,B 2,C,D,{v},{w}} occur in at most one of the types, and all edges are between distinct sets from this collection. Hence no edge is used twice, so all the paths are edge-disjoint. The total number of paths is |C|+|A 1|+|A 2|=d. This finishes the proof if v and w are not adjacent. If G does contain the edge vw then take this as the first path, then remove it and find d−1 paths in the same way as above. □

Note that the lengths of the paths found in Theorem 2 cannot be improved, as shown by the following example. For integers γ≥1 and δ≥3, let G be the graph obtained from a 5-cycle (v,w,x,y,z) by replacing x by a (δ−1)-clique X, replacing y by a γ-clique Y, replacing z by a (δ−1)-clique Z, and replacing edges between these vertices with complete bipartite subgraphs. Each vertex in X is adjacent to w and to each vertex in Y. Each vertex in Z is adjacent to v and to each vertex in Y. Thus G has minimum degree δ and diameter 2. Note that deg(v)=deg(w)=δ. In fact, by choosing γ large, we can make v and w the only vertices of degree δ and every other vertex have arbitrarily large degree. Consider a set S of δ edge-disjoint paths between v and w. One path in S is the edge vw, while every other path has length at least 4. Thus the paths found in Theorem 2 are best possible. A further example, in which u and v are not adjacent, can be constructed by taking two disjoint (δ+1)-cliques and identifying a vertex from each. Suppose u and v come from different cliques and are not the identified vertex. Then there are δ−1 vw-paths of length 4 and one of length 2. Alternatively, one can take δ−2 vw-paths of length 4 and two of length 3.

Theorem 2 implies the following corollary for visibility graphs.

Corollary 3

Let G be a non-collinear visibility graph. Then the edge-connectivity of G equals its minimum degree. Moreover, for distinct vertices v and w, there are min{deg(v),deg(w)} edge-disjoint vw-paths of length at most 4, including at least one of length at most 2.

The full version of this paper [9] extends Corollary 3 to prove that every minimum edge-cut in a non-collinear visibility graph is the set of edges incident to some vertex.

We now show that not only is the edge-connectivity as high as possible, but it is realised by paths with at most one bend.

Theorem 4

Let G be a visibility graph with n vertices, at most of which are collinear. Then G is \(\protect\lceil\frac{n-1}{\ell-1}\rceil \)-edge-connected, which is best possible. Moreover, between each pair of vertices, there are \(\protect\lceil\frac{n-1}{\ell-1}\rceil\) edge-disjoint 1-bend paths.

Proof

Let v and w be distinct vertices of G. Let V be the set of vertices of G not on the line vw. Let m:=|V |. Thus mn.

Let \(\mathcal{L}\) be the pencil of lines through v and the vertices in V . Let \(\mathcal{M}\) be the pencil of lines through w and the vertices in V . Let H be the bipartite graph with vertex set \(\mathcal{L}\cup\mathcal{M}\), where \(L\in\mathcal{L}\) is adjacent to \(M\in\mathcal{M}\) if and only if LM is a vertex in V .

Thus H has m edges, and maximum degree at most −1. Hence, by König’s theorem [6], H is (−1)-edge-colourable. Thus H contains a matching of at least \(\frac{m}{\ell-1}\) edges. This matching corresponds to a set S of at least \(\frac{m}{\ell-1}\) vertices in V , no two of which are collinear with v or w.

For each vertex xS, take the path in the visibility graph from v straight to x and then straight to w. These paths are edge-disjoint. Adding the path straight from v to w, we get at least \(\frac{m}{\ell-1} +1\) paths, which is at least \(\frac{n-1}{\ell-1}\). Figure 2(a) shows that this bound is best possible.

Fig. 2
figure 2

(a) If each ray from v through V(G) contains vertices, the degree of v is \(\frac{n-1}{\ell-1}\). (b) Two properly coloured non-crossing geometric graphs with no black-white edge between them

 □

3 A Key Lemma

We call a plane graph drawn with straight edges a non-crossing geometric graph. The following interesting fact about non-crossing geometric graphs will prove useful. It says that, except for some degenerate cases, two properly coloured non-crossing geometric graphs that are separated by a line can be joined by an edge such that the union is a properly coloured non-crossing geometric graph. Note that this is false if the two graphs are not separated by a line, as demonstrated by the example in Fig. 2(b).

Lemma 5

Let G 1 and G 2 be two properly coloured non-crossing geometric graphs with at least one edge each. Suppose their convex hulls are disjoint and that V(G 1)∪V(G 2) is not collinear. Then there exists an edge eV(G 1V(G 2) such that G 1G 2∪{e} is a properly coloured non-crossing geometric graph.

Proof

Let h be a line separating G 1 and G 2. Assume that h is vertical with G 1 to the left. Let G:=G 1G 2.

Call a pair of vertices v 1V(G 1) and v 2V(G 2) a visible pair if the line segment between them does not intersect any vertices or edges of G. We aim to find a visible pair with different colours, so assume for the sake of contradiction that every visible pair is monochromatic.

We may assume that G 1 and G 2 are edge maximal with respect to the colouring, since the removal of an edge only makes it easier to find a bichromatic visible pair.

Suppose the result holds when there are no isolated vertices in G. Then, if there are isolated vertices, we can ignore them and find a bichromatic visible pair (v 1,v 2) in the remaining graph. If the edge v 1 v 2 contains some of the isolated vertices, then it has a sub-segment joining two vertices of different colours. If these vertices lie on the same side of h then the graphs were not edge maximal after all. If they are on different sides, then they are a bichromatic visible pair. Thus we may assume that there are no isolated vertices in G.

Let l be the line containing a visible pair (v 1,v 2), then the height of the pair is the point at which l intersects h. Call the pair type-1 if v 1 and v 2 both have a neighbour strictly under the line l (Fig. 3(a)). Call the pair type-2 if there are edges v 1 w 1 in G 1 and v 2 w 2 in G 2 such that the line g containing v 1 w 1 intersects v 2 w 2 (call this point x), w 2 lies strictly under g, and the closed triangle v 1 v 2 x contains no other vertex (Fig. 3(b)). Here x may equal v 2, in which case g=l. A visible pair is also type-2 in the equivalent case with the subscripts interchanged.

Fig. 3
figure 3

Proof of Lemma 5. The shaded areas are empty. (a) A type-1 visible pair. (b) A type-2 visible pair. (c) The highest visible pair. (d) The lowest pair is type-1. (e) The lowest pair is type-2

A particular visible pair may be neither type-1 nor type-2, but we may assume there exists a type-1 or type-2 pair. To see this, consider the highest visible pair (v 1,v 2) and assume it is neither type-1 nor type-2 (see Fig. 3(c)). Note that v 1 v 2 is an edge of the convex hull of G. Since all of G lies on or below the line l containing v 1 v 2, both vertices must have degree 1 and their neighbours w 1 and w 2 must lie on l. For i=1,2, let x i be a vertex of G i not on l that minimizes the angle ∠v i w i x i . Since V(G) is not collinear, at least one of x i exists. By symmetry, we may assume that either only x 1 exists, or both x 1 and x 2 exist and \(\operatorname{dist}(x_{1},l)\leq\operatorname{dist}(x_{2},l)\). In either case, (x 1,v 2) and (x 1,w 2) are visible pairs and at least one of them is bichromatic.

So now assuming there exists a type-1 or type-2 visible pair, let (u 1,u 2) be the lowest such pair:

Case (i) The pair (u 1,u 2) is type-1 (see Fig. 3(d)). Let u 1 w 1 be the first edge of G 1 incident to u 1 in a clockwise direction, starting at u 1 u 2. Let u 2 w 2 be the first edge of G 2 incident to u 2 in a counterclockwise direction, starting at u 2 u 1. Let x be the point on the segment u 1 w 1 closest to w 1 such that the open triangle u 1 u 2 x is disjoint from G. Similarly, let y be the point on the segment u 2 w 2 closest to w 2 such that the open triangle u 1 u 2 y is disjoint from G.

Without loss of generality, the intersection of u 1 y and u 2 x is to the left of h, or on h. Therefore the segment xu 2 is disjoint from G 2. Let vV(G 1) be the vertex on xu 2 closest to u 2. Thus (v,u 2) is a visible pair of height less than (u 1,u 2). We may assume that vw 1, otherwise (v,u 2) would be bichromatic. The point w 2 is under the line vu 2 and v has no neighbour above the line vu 2. Hence v either has a neighbour under the line vu 2 and (v,u 2) is type-1, or v has a neighbour on the line vu 2 and (v,u 2) is type-2. This contradicts the assumption that (u 1,u 2) was the lowest pair of either type.

Case (ii) The pair (u 1,u 2) is type-2 with neighbours w 1 and w 2, such that the line u 2 w 2 intersects the edge u 1 w 1 at some point x (see Fig. 3(e)). Let y be the point on the segment u 1 w 1 closest to w 1 such that the open triangle u 1 u 2 y is disjoint from G. Note y is below x by the definition of type-2.

First assume that G 2 intersects yu 2. Let v 2 be the closest vertex to u 2 on yu 2. Thus (u 1,v 2) is a visible pair of height less than (u 1,u 2). Let z be a neighbour of v 2. If z is under the line u 1 v 2 then (u 1,v 2) is type-1 since w 1 is also under this line. Note z cannot lie above the line yu 2 since u 1 and u 2 see each other and the open triangle u 1 u 2 y is empty. Furthermore, if z lies on yu 2 then z=u 2 and (u 1,v 2) is bichromatic. Thus if z is not under the line u 1 v 2, the line v 2 z must intersect the edge u 1 w 1 at a point above y, so (u 1,v 2) is a type-2 pair. Hence the pair (u 1,v 2) is type-1 or type-2, a contradiction.

Now assume that yu 2 does not intersect G 2, and therefore does intersect G 1, and let v 1V(G 1) be the vertex on yu 2 closest to u 2. Thus (v 1,u 2) is a visible pair of height less than (u 1,u 2). We may assume that v 1w 1, otherwise (v 1,u 2) would be bichromatic. Since w 2 is under the line v 1 u 2, if v 1 has a neighbour under the line v 1 u 2 then (v 1,u 2) is a type-1 pair. Otherwise the only neighbour of v 1 is on the line v 1 u 2 which makes (v 1,u 2) a type-2 pair. Hence the pair (v 1,u 2) is type-1 or type-2, a contradiction. □

4 Vertex-Connectivity

As is common practice, we will often refer to vertex-connectivity simply as connectivity. Connectivity of visibility graphs is not as straightforward as edge-connectivity since there are visibility graphs with connectivity strictly less than the minimum degree (see Fig. 1). Our aim in this section is to show that the connectivity of a visibility graph is at least half the minimum degree (Theorem 9). This follows from Theorem 8, which says that bivisibility graphs contain large non-crossing subgraphs. In the proof of Theorem 8 we will need a version of the Ham Sandwich Theorem for point sets in the plane, and also Lemma 7.

Theorem 6

(Ham Sandwich. See [7])

Let A and B be finite sets of points in the plane. Then there exists a line h such that each closed half-plane determined by h contains at least half of the points in A and at least half of the points in B.

Lemma 7

Let A be a set of points lying on a line l. Let B be a set of points, none of them lying on l. Let |A|≥|B|. Then there is a non-crossing spanning tree in the bivisibility graph of A and B.

Proof

We proceed by induction on |B|. If |B|=1 then the point in B sees every point in A, and we are done. Now assume 1<|B|≤|A|.

First suppose that all of B lies to one side of l and consider the convex hull C of AB. An end point a of A is a corner of C and there is a point b of B visible to it in the boundary of C. There exists a line h that separates {a,b} from the rest of AB. Applying induction and Lemma 5 we find a non-crossing spanning tree among AB∖{a,b} and an edge across h to the edge ab, giving a non-crossing spanning tree of \(\mathcal{B}(A,B)\).

Now suppose that there are points of B on either side of l. Then we may apply the inductive hypothesis on each side to obtain two spanning trees. Their union is connected, and thus contains a spanning tree. □

Theorem 8

Let A and B be disjoint sets of points in the plane with |A|=|B|=n such that AB is not collinear. Then the bivisibility graph \(\mathcal{B}(A,B)\) contains a non-crossing subgraph with at least n+1 edges.

Proof

We proceed by induction on n. The statement holds for n=1, since no valid configuration exists. For n=2, any triangulation of AB contains at least five edges. At most one edge has both endpoints in A, and similarly for B. Removing these edges, we obtain a non-crossing subgraph of \(\mathcal{B}(A,B)\) with at least three edges. Now assume n>2.

Case (i) First suppose that there exists a line l that contains at least n points of AB. Let A 0:=Al, B 0:=Bl, A 1:=Al and B 1:=Bl. Without loss of generality, |A 0|≥|B 0|.

If |A 0|>|B 0| then |A 0|+|B 1|>|B 0|+|B 1|=n. Since |A 0|+|B 0|≥n=|B 1|+|B 0| we have |A 0|≥|B 1|, so we may apply Lemma 7 to A 0 and B 1. We obtain a non-crossing subgraph of \(\mathcal{B}(A,B)\) with |A 0|+|B 1|−1≥n edges, and by adding an edge along l if needed, we are done.

Now assume |A 0|=|B 0|. We apply Lemma 7 to A 0 and B 1, obtaining a non-crossing subgraph with n−1 edges, to which we may add one edge along l. We still need one more edge. Suppose first that one open half-plane determined by l contains points of both A 1 and B 1. Let a and b be the furthest points of A 1 and B 1 from l in this half-plane. Since |A 0|=|B 0| we may assume that a is at least as far from l as b. Then we may add an edge along the segment ab, because none of the edges from A 0 to B 1 cross it. It remains to consider the case where l separates A 1 from B 1. Then applying Lemma 7 on each side of l we find a non-crossing subgraph with 2n−1 edges: |A 0|+|B 1|−1 on one side, |B 0|+|A 1|−1 on the other side, and one more along l.

Case (ii) Now assume that no line contains n points in AB. By Theorem 6 there exists a line h such that each of the closed half-planes determined by h contains at least \(\frac{n}{2}\) points from each of A and B. Assume that h is horizontal. Let A + be the points of A that lie above h along with any that lie on h that we choose to assign to A +. Define A , B + and B in a similar fashion. Now assign the points on h to these sets so that each has exactly \(\protect\lceil\frac{n}{2}\rceil\) points. In particular, assign the required number of leftmost points of hA to A + and rightmost points of hA to A . Do the same for hB with left and right interchanged. If n is even then A +A and B +B are partitions of A and B. If n is odd then |A +A |=|B +B |=1.

Since there is no line containing n points of AB, the inductive hypothesis may be applied on either side of h. Thus there is a non-crossing subgraph with \(\protect\lceil\frac {n}{2}\rceil+1\) edges on each side. The union of these subgraphs has at least n+2 edges, but some edges along h may overlap. Due to the way the points on h were assigned, one of the subgraphs has at most one edge along h. (If n is odd, this is the edge between the two points that get assigned to both sides.) Deleting this edge from the union yields a non-crossing subgraph of \(\mathcal{B}(A,B)\) with at least n+1 edges. □

Theorem 9

Every non-collinear visibility graph with minimum degree δ has connectivity at least \(\frac{\delta}{2} +1\).

Proof

Suppose {A,B,C} is a partition of the vertex set of a non-collinear visibility graph such that C separates A and B, and |A|≤|B|. By considering a point in A we see that δ≤|A|+|C|−1. By removing points from B until |A|=|B| whilst ensuring that AB is not collinear, we may apply Theorem 8 and Observation 1 to get |C|≥|A|+1. Combining these inequalities yields \(|C| \geq\frac{\delta}{2}+1\). □

5 Vertex-Connectivity with Bounded Collinearities

For the visibility graphs of point sets with n points and at most collinear, connectivity is at least \(\frac{n-1}{\ell-1}\), just as for edge-connectivity. Bivisibility graphs will play a central role in the proof of this result. For point sets A and B an AB-line is a line containing points from both sets.

Theorem 10

Let AB be a non-trivial partition of a set of n points with at most on any AB-line. Then the bivisibility graph \(\mathcal{B}(A,B)\) contains a non-crossing forest with at least \(\frac{n-1}{\ell-1}\) edges. In particular, if =2 then the forest is a spanning tree.

Proof

The idea of the proof is to cover the points of AB with a large set of disjoint line segments each containing an edge of \(G:= \mathcal{B}(A,B)\). Start with a point vA. Consider all open ended rays starting at v and containing a point of B. Each such ray contains at least one edge of G and at most −1 points of (AB)∖v. For each ray r, choose a point wBr. Draw all maximal line segments with an open end at w and a closed end at a point of A in the interior of the sector clockwise from r. Figure 4 shows an example. If one sector S has central angle larger than π then some points of A may not be covered. In this case we bisect S, and draw segments from each of its bounding rays into the corresponding half of S (assign points on the bisecting line to one sector arbitrarily). Like the rays, these line segments all contain at least one edge of G and at most −1 points of (AB)∖{v,w}. Together with the rays, they are pairwise disjoint and cover all of (AB)∖v. Hence the edges of G contained in them form a non-crossing forest with at least \(\frac{n-1}{\ell-1}\) edges. Note that if =2 we have a forest with n−1 edges, hence a spanning tree.

Fig. 4
figure 4

Covering AB with rays and segments (a), each of which contains an edge of the bivisibility graph (b)

 □

Note that the =2 case of Theorem 10 is well known [4].

Corollary 11

Let G be the visibility graph of a set of n points with at most collinear. Then G has connectivity at least \(\frac{n-1}{\ell-1}\), which is best possible.

Proof

Let {A,B,C} be a partition of V(G) such that C separates A and B. Consider the bivisibility graph of AB. Applying Observation 1 and Theorem 10 (with n′=n−|C| and ′=−1) yields \(|C| \geq \frac{n-|C|-1}{\ell-2}\), which implies \(|C| \geq \frac{n-1}{\ell-1}\). As in the case of edge-connectivity, the example in Fig. 2(a) shows that this bound is best possible. □

The following theorem yields an improvement of Theorem 9 for visibility graphs with at most four collinear vertices. Lemma 5 is an important tool in the proof.

Theorem 12

Let A and B be disjoint point sets in the plane with |A|=|B|=n such that AB has at most three points on any AB-line. Then the bivisibility graph \(\mathcal{B}(A,B)\) contains a non-crossing spanning tree.

Proof

We proceed by induction on n. The statement is true for n=1. Apply Theorem 6 to find a line h such that each closed half-plane defined by h has at least \(\frac{n}{2}\) points from each of A and B. Assume that h is horizontal. The idea of the proof is to apply induction on each side of h to get two spanning trees, and then find an edge joining them together. In most cases the joining edge will be found by applying Lemma 5.

We will construct a set A + containing the points of A that lie above h along with any that lie on h that we choose to assign to A +. We will also construct A , B + and B in a similar fashion. By the properties of h, there exists an assignmentFootnote 1 of each point in h∩(AB) to one of these sets such that \(|A^{+}|=|B^{+}| = \protect\lceil\frac{n}{2}\rceil\) and \(|A^{-}|=|B^{-}| = \protect\lfloor\frac{n}{2}\rfloor\).

Consider the sequence s h of signs (+ or −) given by the chosen assignment of points on h from left to right. If s h is all the same sign, or alternates only once from one sign to the other, then it is possible to perturb h to h′ so that A +B + lies strictly above h′ and A B lies strictly below h′. Thus we may apply induction on each side to obtain non-crossing spanning trees in \(\mathcal {B}(A^{+},B^{+})\) and \(\mathcal{B}(A^{-},B^{-})\). Then apply Lemma 5 to find an edge between these two spanning trees, creating a non-crossing spanning tree of \(\mathcal{B}(A,B)\).

Otherwise, s h alternates at least twice (so there are at least three points on h). This need never happen if there are only points from one set on h, since the points required above h can be taken from the left and those required below h from the right. Without loss of generality, the only remaining case to consider is that h contains one point from A and two from B. If the two points from B are consecutive on h, then without loss of generality s h =(+,−,+) and the points of B are on the left. In this case the signs of the points from B may be swapped so s h becomes (−,+,+). If the point from A lies between the other two points, it is possible that s h must alternate twice. In this case, use induction to find spanning trees in \(\mathcal{B}(A^{+},B^{+})\) and \(\mathcal{B}(A^{-},B^{-})\). These spanning trees have no edges along h, so we may add an edge along h to connect them, as shown in Fig. 5.

Fig. 5
figure 5

The only case in which h may not be perturbed to separate the points assigned above h from those assigned below

 □

Theorem 13

Let G be a visibility graph with minimum degree δ and at most four collinear vertices. Then G has connectivity at least \(\frac{2\delta+1}{3}\).

Proof

Let {A,B,C} be a partition of V(G) such that C separates A and B and |A|≤|B|. By considering a point in A we can see that δ≤|A|+|C|−1. If necessary remove points from B so that |A|=|B|. Applying Theorem 12 and Observation 1 yields |C|≥2|A|−1. Combining these inequalities yields \(|C| \geq \frac{2\delta+1}{3}\). □

It turns out that Theorem 13 is best possible. There are visibility graphs with at most three collinear vertices and connectivity \(\frac{2\delta+1}{3}\). The construction was discovered by Roger Alperin, Joe Buhler, Adam Chalcraft and Joel Rosenberg in response to a problem posed by Noam Elkies. Elkies communicated their solution to Todd Trimble who published it on his blog [15]. Here we provide a brief description of the construction, but skip over most background details. Note that the original problem and construction were not described in terms of visibility graphs, so we have translated them into our terminology.

The construction uses real points on an elliptic curve. For our purposes a real elliptic curve \(\mathcal{C}\) is a curve in the real projective plane (which we model as the Euclidean plane with an extra ‘line at infinity’) defined by an equation of the form y 2=x 3+αx+β (see Fig. 6(a)). The constants α and β are chosen so that the discriminant Δ=−16(4α 3+27β 2) is non-zero, which ensures that the curve is non-singular. We define a group operation ‘+’ on the points of \(\mathcal{C}\) by declaring that a+b+c=0 if the line through a and b also intersects \(\mathcal{C}\) at c, that is, if a, b and c are collinear. The identity element 0 corresponds to the point at infinity in the ±y-direction, so that for instance a+b+0=0 if the line through a and b is parallel to the y-axis. Furthermore, a+a+b=0 if the tangent line at a also intersects \(\mathcal{C}\) at b. It can be shown that this operation defines an Abelian group structure on the points of \(\mathcal{C}\).

Fig. 6
figure 6

(a) The elliptic curve y 2=x 3x. (b) The black points separate the white points from the grey points

We will use two facts about real elliptic curves and the group structure on them. First, no line intersects an elliptic curve in more than three points. Second, the group acts continuously: adding a point e which is close to 0 to another point a results in a point close to a (in terms of distance along \(\mathcal{C}\)).

Proposition 14

(Alperin, Buhler, Chalcraft and Rosenberg) For infinitely many integers δ, there is a visibility graph with at most three vertices collinear, minimum degree δ, and connectivity \(\frac{2\delta+1}{3}\).

Proof

Begin by choosing three non-zero collinear points a, b and c on a real elliptic curve \(\mathcal{C}\), such that c lies between a and b (see Fig. 6(b)). Choose a point e very close to 0. Define A:={a+ie:0≤im−1}, B:={b+je:0≤jm−1} and C:={−(a+b+ke):0≤k≤2m−2}. Let G be the visibility graph of ABC. Since the points are all on \(\mathcal{C}\), G has at most three vertices collinear. Observe that the points a+ie and b+je are collinear with the point −(a+b+(i+j)e). Since e was chosen to be very close to 0, by continuity the set A is contained in a small neighbourhood of a, and similarly for B and C. Therefore, the point from C is the middle point in each collinear triple, and so C is a vertex cut in G, separating A and B.

By choosing a, b and c away from any points of inflection, we can guarantee that there are no further collinear triples among the sets A, B or C. Thus a point in A sees all other points in AC, a point in B sees all other points in BC, and a point in C sees all other points. Therefore the minimum degree of G is δ=3m−2, attained by the vertices in AB. Hence (also using Theorem 13) the connectivity of G is \(|C|=2m-1 = \frac{2\delta+1}{3}\). □

We close with the following conjecture.

Conjecture 15

Every visibility graph with minimum degree δ has connectivity at least \(\frac{2\delta+1}{3}\).