Số điều hòa - Bài toán thu thập thẻ quà

💡
Hãng bánh kẹo SOGEL vừa tung ra một chiến dịch quảng cáo rằng trong mỗi gói bánh sẽ có một thẻ quà tặng là một trong 5 chữ cái S,E,G,O,L. Những ai thu thập đủ cả 5 chữ cái sẽ được tặng một phần quà lớn. Hỏi rằng trung bình phải mua bao nhiêu gói bánh cho đến khi thu thập đủ tất cả các chữ cái trên?

Bên trên là một bài toán kinh điển tựa đề là The coupon collector problem. Bài viết này mình sẽ giải bài toán này và nhân tiện giới thiệu với các bạn khái niệm Chuỗi điều hòa (harmonic series).

Giả sử rằng bạn mua các gói bánh một cách ngẫu nhiên và độc lập, và không chơi trò hợp tác với người nào khác để trao đổi.

Gọi \(X\) là biến ngẫu nhiên đại diện chó số gói bánh bạn đã mua cho đến khi bạn thu thập đủ thẻ quả. Mục tiêu là chúng ta sẽ phải xác định kỳ vọng \(E[X]\).

Gọi \(X_i\) là biến ngẫu nhiên đại diện cho số gói bánh đã mua khi bạn đã thu thập được \(i-1\) thẻ quà phân biệt (\(X_1 = 1\)). Vậy:

$$E[X] = \sum_{i=1}^n E[X_i] \quad \stackrel{(*)}{}$$

Sau khi đã thu thập được \(i-1\) thẻ quà phân biệt đã đạt được, như vậy sẽ còn \(n-(i-1) = n-i+1\) thẻ quà chưa thu thập được. Gọi \(A_i\) là sự kiện nhận được thẻ quà thứ \(i\) trong lần mua tiếp theo, ta có: \(\displaystyle P(A_i) = \frac {n-i+1} {n}\). Vậy:

$$E[X_i] = \frac 1 {P(A_i)} = \frac n {n-i+1}$$

Theo \(\stackrel{(*)}{}\),

$$E[X] = \sum_{i=1}^n \frac n {n-i+1} = n(\frac 1 n + \frac 1 {n-1} + \dots + \frac 1 2 + \frac 1 1)= \boxed {n \sum_{i=1}^n \frac 1 {i}}$$

Số điều hòa \(H_n=\sum_{i=1}^n \frac 1 i\)

Tổng \(\displaystyle \sum_{i=1}^n \frac 1 i\) được gọi là một số điều hòa \(H_n\) trong chuỗi điều hòa có dạng:

$$\begin{align*} H_1 &= 1 \\ H_2 &= H_1 + \frac 1 2 \\ H_3 &= H_2 + \frac 1 3 \\ \dots \\ H_n &= H_{n-1} + \frac 1 n \end{align*}$$

Về cơ bản \(\displaystyle H_n \approx \ln n + \gamma + \frac 1 {2n}\), với \(\gamma\) là hằng số Euler-Mascheroni, \(\gamma \approx 0.577216\). Phần tiếp theo ta sẽ tìm hiểu công thức tính \(H_n\).

Ta có, \( \displaystyle \frac 1 x\) đơn điệu giảm \((x\gt0)\), ta có (tích phân Riemann trái):

$$\ln n = \int_1^n\frac 1 x dx \le \sum_{i=1}^n \frac 1 i$$

và (tích phân Riemann phải)

$$\sum_{i=2}^n \frac 1 i \le \int_1^n \frac 1 x dx = \ln n$$

Vậy: \(\ln n \le H_n=\sum_{i=1}^n \frac 1 i \le \ln + 1\).

Về sau, nhà toán học Euler và Mascheroni đã cải tiến công thức tính số điều hòa bằng xấp xỉ \(H_n = \ln n + \gamma + \frac 1 {2n}\) như đã đưa ở trên.