Как посчитать вероятность события?
DOM и браузер
Вероятность события считают как отношение благоприятных исходов к общему числу: `P = favorable / total`. Для эмпирической — по частоте наблюдений. Диапазон [0, 1].
Классическая вероятность
Отношение благоприятных исходов к общему числу равновозможных:
// P(выпадения 6 на кубике) = 1/6
const probability = favorable / total; // 1 / 6 ≈ 0.167P в диапазоне [0, 1] (0 — невозможно, 1 — достоверно).
Эмпирическая (частотная)
По результатам наблюдений — частота события:
// Из 1000 запросов 50 упали
const errorRate = 50 / 1000; // 0.05 (5%)В коде (пример симуляции)
function estimateProbability(trials, event) {
let count = 0;
for (let i = 0; i < trials; i++) {
if (event()) count++;
}
return count / trials; // эмпирическая вероятность
}
// Вероятность выпадения орла
estimateProbability(10000, () => Math.random() < 0.5); // ~0.5Комбинации событий
- И (независимые):
P(A и B) = P(A) × P(B). - ИЛИ (несовместные):
P(A или B) = P(A) + P(B). - Условная:
P(A|B) = P(A и B) / P(B).
В контексте фронтенда/бэкенда
- A/B-тесты, распределение нагрузки, вероятность ошибки/повтора, случайная выборка (feature-флаги на % пользователей):
if (Math.random() < 0.1) enableFeature(); // 10% пользователейКоротко для собеседования
Вероятность события: классическая — P = благоприятные / общее (диапазон [0,1]); эмпирическая — частота по наблюдениям (ошибки / всего). Комбинации: И (независимые) — умножение, ИЛИ (несовместные) — сложение. В коде — симуляция (count / trials) или Math.random() < p для события с вероятностью p (feature-флаги на % пользователей).