Visibility Graphs of Point Sets in the Plane
Discrete Comput Geom
Visibility Graphs of Point Sets in the Plane
Florian Pfender
The visibility graph V (X) of a discrete point set X ⊂ R2 has vertex set X and an edge xy for every two points x, y ∈ X whenever there is no other point in X on the line segment between x and y. We show that for every graph G, there is a point set X ∈ R2, such that the subgraph of V (X ∪ Z2) induced by X is isomorphic to G. As a consequence, we show that there are visibility graphs of arbitrary high chromatic number with clique number 6 settling a question by Kára, Pór and Wood.

1 Introduction
The concept of a visibility graph is widely studied in discrete geometry. You start with
a set of objects in some metric space, and the visibility graph of this configuration
contains the objects as vertices, and two vertices are connected by an edge if the
corresponding objects can “see” each other, i.e., there is a straight line not intersecting
any other part of the configuration from one object to the other. Often, there are extra
restrictions on the objects and on the direction of the lines of visibility.
Specific classes of visibility graphs which are well studied include bar visibility
graphs (see [3]), rectangle visibility graphs (see [6]) and visibility graphs of polygons
(see [1]). In this paper we consider visibility graphs of point sets.
Let X ⊂ R2 be a discrete point set in the plane. The visibility graph of X is the
graph V (X) with vertex set X and edges xy for every two points x, y ∈ X whenever
there is no other point in X on the line segment between x and y, i.e., when the point
x is visible from the point y and vice versa.
Supported by the DFG Research Center MATHEON (FZT86).
Kára et al. discuss these graphs [4], and make some observations regarding the
chromatic number χ (V(X)) and the clique number ω(V(X)), the order of the largest
clique. In particular, they characterize all visibility graphs with χ (V(X)) = 2 and
χ (V(X)) = 3, and in both cases, ω(V(X)) = χ (V(X)). Similarly, they show the
following proposition.
Proposition 1 Let Z2 be the integer lattice in the plane, then ω(V(Z2)) =
χ (V(Z2)) = 4.
Note that V(Z2) is not perfect as it contains induced 5cycles. Further, it is not true
in general that ω(V(X)) = χ (V(X))—there are point sets with as few as nine points
with ω(V(X)) = 4 and χ (V(X)) = 5.
For general graphs, there are examples with χ (G) = k and ω(G) = 2 for any k,
one famous example is the sequence of graphs Mk−2 by Mycielski [5]. No
similar construction is known for visibility graphs with a bounded clique number. As
their main result, Kára et al. construct a family of point sets with χ (V(X)) ≥
(c1 log ω(V(Xi )))c2 log ω(V(Xi)) for some constants c1 and c2 and with ω(V(Xi ))
getting arbitrarily large. Our main result is the following theorem.
Theorem 2 For every graph G, there is a set of points X ⊂ R2 such that the subgraph
of V(X ∪ Z2) induced by X is isomorphic to G.
Let Gk be a graph with χ (Gk) = k and ω(Gk) = 2, and let Xk be the
corresponding set given by Theorem 2. Let Yk ⊂ Xk ∪ Z2 be the subset of points
contained in the convex hull of Xk . Then χ (V(Yk)) ≥ χ (Gk) = k and ω(V(Yk)) ≤
ω(Gk) + ω(V(Z2)) = 6, so we get the following corollary settling the question from
above raised by Kára et al.
Corollary 3 For every k, there is a finite point set Y ⊂ R2, such that χ (V(Y )) ≥ k
and ω(V(Y )) = 6.
2 Proof of Theorem 2
Let G be a graph with vertex set V (G) = {1, 2, . . . , n} and edge set E(G). We prove
the following lemma in Sect. 3.
Lemma 4 For M large enough, there is a set of prime numbers {pij : 1 ≤ i < j ≤ n}
with the following properties:
1. 2M < pij < 2M+1.
2. For 1 ≤ k ≤ n, let Pk = 2nk ik=−11 pik jn=k+1 pkj , and choose nk ∈ Z such that
log2 Pk = nM + 2k. Then pk is the only number in {pij : 1 ≤ i < j ≤ n} which
divides P − Pk for 1 ≤ k < ≤ n.
Note that ik=−11 pik jn=k+1 pkj < 2(n−1)(M+1) < 2nM , and thus nk > 0 and
Pk ∈ Z for all k. From this, we can construct the set of points X in Theorem 2:
X = {xi : 1 ≤ i ≤ n} ⊂ R2,
with xi =
2−nM Pi , i
k<j (Pj − Pk)
kj∈E(G) pkj
.
Before we prove the lemma, we show that this point set has the properties stated in
the theorem. For 1 ≤ i < ≤ n, let mi be the slope of the line through xi and x .
Then
− i
mi = P − Pi ·
2nM
k<j (Pj − Pk)
kj∈E(G) pkj
.
There are no three collinear points in X, as
2nM+2i+1 ≤ Pi+1 − Pi < 2nM+2i+3,
thus mi(i+1) > m(i+1)(i+2), and therefore mi > mik for i < < k. Thus, V(X) is
complete, and it remains to show that there is an integer point on the line segment
between xi and x if and only if i ∈/ E(G). To establish this goal, we look at the
intersections of the line segment from xi to x (i < ) with the integer gridlines parallel
to the yaxis.
Let s ∈ Z, with 2−nM Pi < s < 2−nM P < 22n+1. As 22j ≤ 2−nM Pj < 22j+1 for
every j , such an s exists. Let zis = (s, yis ) be a point on the line segment from xi
to x . Then
yis = i
= i
k<j (Pj − Pk)
kj∈E(G) pkj
k<j (Pj − Pk)
kj∈E(G) pkj
(
1
)
− i
+ Pi P − Pi ·
+ (s − 2−nM Pi )mi
− i
+ s P − Pi ·
k<j (Pj − Pk)
kj∈E(G) pkj
.
(
3
)
2nM
(
2
)
k<j (Pj − Pk)
kj∈E(G) pkj
Expression (
1
) is an integer since pkj divides Pj − Pk . By the same argument, (
3
) is
an integer—just note further that pi divides Pi . It remains the analysis of (
2
).
If i ∈/ E(G), then (
2
) is an integer. Therefore, zis ∈ Z2, and xi x ∈/ E(V(X ∪ Z2)).
If i ∈ E(G), observe that pi > 2M > max{ − i, s}, so pi does not divide s or − i.
Clearly, pi does not divide 2nM , and, by Lemma 4, it does not divide any of the
Pj − Pk other than P − Pi . Thus, (
2
) is not an integer, zis ∈/ Z2 for all s considered,
and xi x ∈ E(V(X ∪ Z2)), proving Theorem 2.
3 Proof of Lemma 4
By an inequality of Finsler [2], there are more than 2M /(3(M + 1) ln 2) > 2n3 prime
numbers in the interval from 2M to 2M+1.
We pick the pij sequentially in the order p12, p13, . . . , p1n, p23, . . . , p(n−1)n, with
the following conditions given by the lemma:
(a) pij is a prime number with 2M < pij < 2M+1.
(b) pij is different from all the primes picked before.
(c) pij does not divide Pk − P for all 1 ≤ < k < i.
(d) If j = n, no pk divides Pi − Pr for {k, } = {i, r}.
Assume that we have picked numbers up to but not including pij according to (a)–(d),
and we want to pick pij . Consider first the case that j < n. There were less than
n primes selected before, and each Pk − P has at most n prime divisors greater
2
than 2M , thus at most
of the choices are blocked, and we can find pij according to (a)–(c).
If j = n, pick pij according to (a)–(c), and assume that pk divides Pi − Pr for
some {k, } = {i, r} (i.e., condition (d) is violated). We have k = i as all pi divide Pi ,
otherwise pi also divides Pr and thus r = , a contradiction. Similarly, = i.
Pick another number pij according to (a)–(c). If pk divides Pi − Pr , then pk
divides Pi − Pi = (pij − pij )Pi /pij , and thus pk divides pij − pij . However, this
is impossible since pij − pij  < 2M < pk . Therefore, each pk can block at most
one choice for pij this way, so in total at most n2 further choices are blocked by
condition (d), and we can always find a number pij with (a)–(d). This concludes the
proof of the lemma.
4 Further Questions
We have shown that there are visibility graphs with χ (V(X)) ≥ k and ω(V(X)) = 6
for every k. For all visibility graphs with ω(V(X)) ≤ 3, we know that χ (V(X)) =
ω(V(X)). The only cases left to consider are ω(V(X)) = 4 and ω(V(X)) = 5. A
similar technique of combining a visibility graph with ω(V(X)) = 3 with a graph G with
ω(G) = 2 and a large chromatic number will not work, since the visibility graphs
with ω(V(X)) = 3 are too simple (all but at most two of their vertices are collinear
unless V(X) is a special graph on six vertices). It would be no surprise to us if the
chromatic number of visibility graphs with ω(V(X)) = 5 is bounded.
Finally, one could look for smaller point sets with χ (V(X)) ≥ k and ω(V(X)) = 6,
as our sets tend to be very large.
1. Abello , J. , Kumar , K. : Visibility graphs and oriented matroids . Discrete Comput. Geom . 28 , 449  465 ( 2002 )
2. Finsler , P. : Über die Primzahlen zwischen n und 2n . In: Festschrift zum 60. Geburtstag von Prof. Dr. Andreas Speiser , pp. 118  122 . Füssli, Zürich ( 1945 )
3. Hutchinson , J.P.: A note on rectilinear and polar visibility graphs . Discrete Appl . Math. 148 , 263  272 ( 2005 )
4. Kára , J. , Pór , A. , Wood , D.R. : On the chromatic number of the visibility graph of a set of points in the plane . Discrete Comput. Geom . 34 , 497  506 ( 2005 )
5. Mycielski , J.: Sur le coloriage des graphs . Colloquium Math. 3 , 161  162 ( 1955 )
6. Streinu , I. , Whitesides , S. : Rectangle visibility graphs: characterization, construction, and compaction . In: Proc. of the STACS 2003. Lecture Notes in Computer Science , vol. 2607 , pp. 26  37 . Springer, Berlin ( 2003 )