Вероятность совпадения пола среди трёх людей

В комнате три человека. Какова вероятность того, что хотя бы двое из них одного пола? То есть два и более.

Теория: принцип Дирихле

Принцип Дирихле (его также называют принципом «ящиков и шаров») формулируется так: если объектов больше, чем категорий, то какая-то категория получит минимум два объекта.

Применение к задаче:

  • Категории (ящики): 2 пола (М и Ж).
  • Объекты (шары): 3 человека.

При распределении 3 людей по 2 категориям неизбежно найдутся минимум двое, попавшие в одну и ту же категорию (то есть одного пола). Следовательно, событие «хотя бы двое одного пола» происходит всегда, а вероятность равна 1.

Если постановка задачи меняется (например, вводится больше двух категорий или другая модель определения пола), то и ответ может измениться; в стандартной школьной постановке с двумя полами ответ остаётся равным 1.

Решение через исходы

Чтобы увидеть это «в лоб», удобно перечислить все возможные комбинации полов трёх людей, считая, что каждый может быть М или Ж.

Количество исходов: (2^3 = 8).

Исход (по порядку людей)«Хотя бы двое одного пола»?Объяснение
1МММДаТрое мужчин
2ММЖДаДвое мужчин
3МЖМДаДвое мужчин
4ЖММДаДвое мужчин
5ЖЖЖДаТрое женщин
6ЖЖМДаДвое женщин
7ЖМЖДаДвое женщин
8МЖЖДаДвое женщин

Во всех 8 случаях условие выполняется, значит вероятность равна (8/8 = 1).

Дополнительный способ (через противоположное событие):

  • Искомое событие: A = «хотя бы двое одного пола».
  • Противоположное событие: (\overline{A}) = «все трое разных полов».
  • При двух полах событие «все трое разных полов» невозможно, значит (P(\overline{A}) = 0).
  • Тогда (P(A) = 1 - 0 = 1).

Схема (идея «ящиков и шаров»):

  • Ящики: М, Ж
  • Шары: человек1, человек2, человек3 Три шара не могут разложиться по двум ящикам так, чтобы в каждом ящике было не больше одного шара.

Проверка моделированием (JavaScript)

Моделирование (Монте‑Карло) не является строгим доказательством, но хорошо показывает, что частота успеха стремится к 1.

function trial() {
  // 0 = М, 1 = Ж
  const a = Math.random() < 0.5 ? 0 : 1
  const b = Math.random() < 0.5 ? 0 : 1
  const c = Math.random() < 0.5 ? 0 : 1

  // событие "хотя бы двое одного пола"
  return (a === b) || (a === c) || (b === c)
}

function simulate(N = 1_000_000) {
  let ok = 0
  for (let i = 0; i < N; i++) {
    if (trial()) ok++
  }
  return ok / N
}

console.log(simulate())

Ожидаемый результат: число очень близкое к 1 (иногда будет выводиться ровно 1 из‑за того, что событие всегда истинно при данной логике проверки).

Даже если в симуляции изменить вероятность рождения/появления мужчин и женщин с 0.5 на любое другое значение (например, 0.6/0.4), ответ всё равно останется 1, потому что совпадение следует из количества категорий, а не из конкретных вероятностей.

Итого: при двух возможных полах среди любых трёх людей совпадение пола у хотя бы двух неизбежно, поэтому вероятность равна 1 (вариант 1).