Собесов

zadachi_ds: Сломанная палка — вероятность треугольника

Статистика и теорверГеометрическая вероятностьСредняяMiddle

Условие

Палку длины 1 ломают в двух независимых равномерно распределённых точках. Какова вероятность, что из трёх получившихся кусков можно сложить треугольник?

Решение

Подход — геометрическая вероятность

Пусть X, Y ~ U(0,1) — координаты двух точек разлома, независимые.

Без потери общности рассмотрим a = min(X, Y), b = max(X, Y). Длины кусков:

L1 = a
L2 = b - a
L3 = 1 - b

Условие треугольника (неравенство треугольника): каждый кусок меньше суммы двух других, эквивалентно L_i < 1/2 для всех i. Получаем:

a < 1/2
b - a < 1/2  ⇔ b < a + 1/2
1 - b < 1/2  ⇔ b > 1/2

Геометрия

В плоскости (a, b) область определения — треугольник 0 ≤ a ≤ b ≤ 1 (половина квадрата с площадью 1/2).

Область «треугольник возможен» определена тремя неравенствами выше:

  • a < 1/2
  • b > 1/2
  • b - a < 1/2

Это маленький треугольник с вершинами (0, 1/2), (1/2, 1/2), (1/2, 1). Его площадь = 1/2 · 1/2 · 1/2 = 1/8.

Вероятность = площадь(благоприятная) / площадь(всей области определения) = (1/8) / (1/2) = 1/4.

Ответ: 1/4

Симуляция

import numpy as np
rng = np.random.default_rng(0)
N = 1_000_000
xy = rng.random((N, 2))
a = xy.min(axis=1); b = xy.max(axis=1)
L1, L2, L3 = a, b - a, 1 - b
ok = (L1 < 0.5) & (L2 < 0.5) & (L3 < 0.5)
print(ok.mean())                    # ≈ 0.250

Альтернативная формулировка

«Палку ломают на три куска двумя последовательными случайными разломами»:

  • Сначала ломают на два куска: точка X ~ U(0,1).
  • Потом случайно выбирают один из двух кусков и ломают его в равномерной точке.

Вероятность треугольника тогда другая (часто 0.193, зависит от правил выбора куска). Уточнять формулировку.

Обобщение: разлом на n кусков

Если палку ломают на n кусков (n−1 точек разлома), вероятность, что из них складывается «полигональная» фигура (sum max < total/2 уже не работает; правильнее: max < sum/2 в общем виде, что эквивалентно max(L_i) < 1/2) — есть формула:

P(max L_i < 1/2) = 1 - n · (1/2)^(n-1)

Для n=3: 1 - 3 · 1/4 = 1/4. ✓ Для n=4: 1 - 4 · 1/8 = 1/2. Для n=5: 1 - 5 · 1/16 = 11/16.

Подводные камни

  1. Условие треугольника: a + b > c для каждой пары — эквивалентно max(a, b, c) < (a+b+c)/2 = 1/2. Один кусок > 1/2 → не складывается.
  2. Симметрия min/max: если не упорядочить X и Y, есть два «зеркальных» случая. Удобнее работать с a = min, b = max.
  3. «Сначала первый разлом, потом второй на одном из кусков» — другая задача, другое распределение длин. Не путать.
  4. Без потери общности упорядочение даёт фактор 2 в площади, но также делит обе площади в одном и том же отношении — итог не меняется.
  5. Численное моделирование без проверки граничных случаев: a = 0.5 exactly — на границе; в плавающей арифметике практически не встречается.
  6. Парадокс Бертрана — похожая задача про «случайную хорду» имеет несколько ответов в зависимости от уточнения «случайной». Здесь однозначно: X, Y ~ U(0,1) независимо.

Эталонный ответ

P = 1/4.

Подход: условие треугольника эквивалентно «каждый кусок < 1/2». В плоскости (min(X,Y), max(X,Y)) благоприятная область — треугольник площади 1/8 внутри области определения площади 1/2. Их отношение = 1/4.

Обобщение для n кусков: P = 1 - n · (1/2)^(n-1).

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти