Library · Geometric Probability · Chapter 16

Two random arcs on a circle

Revised Report an error

Problem 16.1

Two arcs, each of length aa (with a≤12a \leq \tfrac12), are placed independently at uniformly random positions on a circle of unit circumference. What is the probability that they overlap?

Solution. Parametrise each arc by the position of its centre on the circle; measure positions as fractions of the total circumference, so each centre is uniform on [0,1)[0, 1), and positions are taken modulo 11.

By rotational symmetry, fix the first arc’s centre at 00: it then covers the set [−a/2,a/2][-a/2, a/2] (mod 11). Let U∈[0,1)U \in [0, 1) be the uniform position of the second arc’s centre; the second arc covers [U−a/2,U+a/2][U - a/2, U + a/2] (mod 11).

The two arcs overlap iff their centres are within aa of each other on the circle, i.e., iff U∈[−a,a]U \in [-a, a] (mod 11), which is the set [0,a]∪[1−a,1)[0, a] \cup [1 - a, 1) of total length 2a2a. (Here we use a≤12a \leq \tfrac12 so the two pieces do not overlap.)

Hence P(overlap)=2a.■\boxed{\mathbb{P}(\text{overlap}) = 2a.} \qedhere

Two arcs of length a = 0.25 (proportion of circumference). Arc 1 is fixed, arc 2 is placed with centre at u = 0.15 . Since |0.15| a as a circular distance, the arcs overlap in the rose region.
Two arcs of length a=0.25a = 0.25 (proportion of circumference). Arc 1 is fixed, arc 2 is placed with centre at u=0.15u = 0.15. Since ∣0.15∣<a|0.15| < a as a circular distance, the arcs overlap in the rose region.

Variation. If there are nn independent arcs of length aa, the probability that no two overlap is 1−n(n−1)a+O(a2)1 - n(n-1) a + O(a^2) for small aa (union bound). The exact formula is more involved. A classical generalisation is Stevens’s 1939 theorem: nn iid arcs of length aa on a unit circle cover the entire circle with probability ∑k=0⌊1/a⌋(−1)k(nk)(1−ka)n−1,\sum_{k = 0}^{\lfloor 1/a \rfloor} (-1)^k \binom{n}{k} (1 - k a)^{n-1}, a remarkable closed form.

import numpy as np
a, N = 0.2, 10**7
# First arc centred at 0; second arc centred at uniform u on unit circle
u = np.random.rand(N)  # fraction of circumference
# Circular distance between centres
d = np.minimum(u, 1 - u)
p = (d <= a).mean()
print(f"sim: {p:.5f}   exact: {2*a:.5f}")
# sim: 0.39998   exact: 0.40000
Report an error on this page

Reports are stored by Netlify. See the privacy note.