Another proof of Fibonacci sequence in classic probability puzzle

Recently Scientific American reported that Fibonacci sequence appears as an answer to the following problem:

If I have n sticks with random lengths between 0 and 1, what is the probability that no three of those sticks can form a triangle?

The answer to this puzzle is Πi=1n1Fi=111112…1Fn\Pi_{i=1}^n \frac{1}{F_i} = \frac{1}{1} \frac{1}{1} \frac{1}{2} \dots \frac{1}{F_n} where FiF_i is the i-th Fibonacci number. This is the Arxiv link for the paper which contains a proof of it. Someone posted a novel proof of this puzzle which is more linear algebraic in nature. I made a small modification on top of this proof which is what I present here. Most of the credit to this proof goes to the Reddit user.


0. Outline of the proof

Here is the overall idea - sort the lengths lil_i from shortest to longest. The vector of sorted lengths can be shown to be a linear combination of a certain basis. Once we get this basis, we use it express the longest length lnl_n in terms of it. Finally we use the condition that longest length≤1\text{longest length} \le 1 to get a simplex.

Step 1 Step 2 Step 3 Step 4 Sort stick lengths l₁ ≤ l₂ ≤ ... ≤ lₙ Express as linear combination of basis Express lₙ in terms of basis Apply condition lₙ ≤ 1 → simplex l = (l₁,l₂,...,lₙ) l = Σ cᵢbᵢ ln = Σ dibni Σ dibni ≤ 1

These steps are implemented below:


1. Steps 1 and 2 - Expressing sorted stick lengths as a matrix-vector product

We do this for two cases - the case where the lengths can not form a triangle and the general case (the lengths may or may not form a triangle).

1.1 Lengths which cannot form a triangle

Given the shortest length is l1=ε1l_1 = \varepsilon_1, we have that l2=l1+ε2l_2 = l_1 + \varepsilon_2. Note that l3l_3 has to be bigger than l1+l2=2l1+ε2l_1 + l_2 = 2l_1 + \varepsilon_2. We can assume that l3=2l1+ε2+ε3l_3 = 2l_1 + \varepsilon_2 + \varepsilon_3. Using the same argument, the next three lengths can be written down as:

l4=3l1+2ε2+ε3+ε4l_4 = 3l_1 + 2\varepsilon_2 + \varepsilon_3 + \varepsilon_4 l5=5l1+3ε2+2ε3+ε4+ε5l_5 = 5l_1 + 3\varepsilon_2 + 2\varepsilon_3 + \varepsilon_4 + \varepsilon_5 l6=8l1+5ε2+3ε3+2ε4+ε5+ε6l_6 = 8l_1 + 5\varepsilon_2 + 3\varepsilon_3 + 2\varepsilon_4 + \varepsilon_5 + \varepsilon_6 ⋯\cdots ln=Fnl1+Fn−1ε1+Fn−2ε2+⋯+εn−1l_n = F_nl_1 + F_{n-1}\varepsilon_1 + F_{n-2}\varepsilon_2 + \cdots + \varepsilon_{n-1}

Thus the vector of sorted lengths can be written down as:

l=[100...00110...00211...00321.....................10FnFn−1Fn−2...11][ε1ε2ε3...εn]l = \begin{bmatrix} 1 & 0 & 0 & ... & 0 & 0 \\ 1 & 1 & 0 & ... & 0 & 0 \\ 2 & 1 & 1 & ... & 0 & 0 \\ 3 & 2 & 1 & ... & ... & ... \\ ... & ... & ... & ... & 1 & 0 \\ F_n & F_{n-1} & F_{n-2} & ... & 1 & 1 \end{bmatrix} \begin{bmatrix} \varepsilon_1 \\ \varepsilon_2 \\ \varepsilon_3 \\ ... \\ \varepsilon_n \end{bmatrix}

1.2 Any arbitrary vector of lengths

This case is much simpler. As before, start with l1=ε1l_1 = \varepsilon_1. Then since l2≥l1l_2 \ge l_1, we have that l2=l1+ε2l_2 = l_1 + \varepsilon_2 and so on. For sake of completion, the remaining lengths look something like:

l3=l1+ε2+ε3l_3 = l_1 + \varepsilon_2 + \varepsilon_3 l4=l1+ε2+ε3+ε4l_4 = l_1 + \varepsilon_2 + \varepsilon_3 + \varepsilon_4 ⋯\cdots ln=l1+ε2+ε3+⋯+εnl_n = l_1 + \varepsilon_2 + \varepsilon_3 + \cdots + \varepsilon_n

In this case, the vector of sorted lengths can be written down as:

l=[100...00110...00111...00111.....................10111...11][ε1ε2ε3...εn]l = \begin{bmatrix} 1 & 0 & 0 & ... & 0 & 0 \\ 1 & 1 & 0 & ... & 0 & 0 \\ 1 & 1 & 1 & ... & 0 & 0 \\ 1 & 1 & 1 & ... & ... & ... \\ ... & ... & ... & ... & 1 & 0 \\ 1 & 1 & 1 & ... & 1 & 1 \end{bmatrix} \begin{bmatrix} \varepsilon_1 \\ \varepsilon_2 \\ \varepsilon_3 \\ ... \\ \varepsilon_n \end{bmatrix}

2. Step 3 - largest length in each case

2.1 First case

In this case, the largest length is ∑i=1nFiyi\sum_{i=1}^n \textcolor{#b45309}{F_i}y_i for positive coefficients yiy_i.

2.2 Second case

In this case, the largest length is ∑i=1nxi\sum_{i=1}^n x_i for positive coefficients xix_i.


3. Step 4 - obtain simplexes for each case

Since these lengths are sampled from the interval [0,1][0,1], they have to be less than or equal to one. Applying this condition to each of the largest lengths above we get:

i) ∑i=1nFiyi≤1\sum_{i=1}^n \textcolor{#b45309}{F_i} y_i \le 1: the points that satisfy this condition form a volume V1V_1. This is the volume of the simplex formed by origin and vectors 1Fiei⏟standard basis vector scaled by 1/Fi\underbrace{\frac{1}{F_i} \textcolor{#b45309}{e_i}}_{\text{standard basis vector scaled by} \ 1/F_i} for ii from 1 to n.

ii) ∑i=1nxi≤1\sum_{i=1}^n x_i \le 1: this is the standard simplex and has a volume V2V_2 of 1n!\frac{1}{n!}. The exact volume is not needed for the proof though.


4. Final step

The probability is given by V1V2\frac{V_1}{V_2}. How do we find V1V_1 in terms of V2V_2? By defining a map yi=xi/Fiy_i = x_i / F_i. It is easy to see that the determinant of Jacobian of this map is ∣J∣=Πi1Fi|J| = \Pi_i \frac{1}{F_i}. Thus the volume V1=∣J∣V2V_1 = |J|V_2. This gives us the probability to be:

Πi=1n1Fi\Pi_{i=1}^n \frac{1}{F_i}