§6. Наилучший выбор: сколько женихов пропустить
Финал главы — сказка, но с самой настоящей математикой внутри.
В некотором царстве жила-была царевна. Приехали к ней свататься добры молодцы, один другого лучше. Заходили женихи в палаты по очереди да кланялись. Беда в том, что добры молодцы были больно обидчивы: не дала царевна согласия сразу — садились на коня и уезжали восвояси, назад не вернёшь. А заранее о женихах ничего не известно, только сколько их всего приехало. Как царевне выбрать самого достойного?
По-дворовому та же история — съём хаты: смотришь варианты по одному, отказался — её тут же забрали, и сравнивать можно только с тем, что уже видел.
Модель
Пусть женихов , и они встают в очередь в случайном порядке — все перестановок равновероятны. Царевна видит только, кто лучше, а кто хуже среди уже прошедших. Цель — остановиться именно на самом лучшем.
Стратегия «осмотрись, потом бери»
Взять первого попавшегося — шанс всего . Умнее так: пропустить первых женихов (просто посмотреть, какие вообще бывают), а потом взять первого, кто окажется лучше всех предыдущих. Если такой не найдётся — достанется последний. Конечно, можно упустить лучшего, если он был среди первых . Вопрос — какое выбрать.
Считаем шанс
Пусть — событие «остановились на -м женихе» (). Это значит: все с номерами от до оказались хуже лучшего из первых , а -й — лучше всех предыдущих. Посчитав, куда может встать каждая следующая «точка» в порядке, Лагутин получает
Пусть — «выбрали самого лучшего». Остановка на -м даёт лучшего, если -й ещё и абсолютный лидер, тогда . Складываем по всем (формула полной вероятности):
По кирпичикам:
- — растёт с : чем больше осмотрелся, тем выше планка, тем меньше шанс схватить середнячка.
- — падает с : чем больше пропустил, тем выше риск, что лучший был среди пропущенных.
- Два эффекта тянут в разные стороны, значит есть золотая середина .
Ответ: пропусти примерно
Таблица оптимальных и шансов :
| 2 | 3 | 4 | 5 | 7 | 10 | 20 | 50 | 100 | 1000 | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 1 | 2 | 2 | 3 | 7 | 18 | 37 | 368 | |
| 0,5 | 0,5 | 0,458 | 0,433 | 0,414 | 0,399 | 0,384 | 0,374 | 0,371 | 0,368 |
Шанс убывает с ростом , но не к нулю, а к . Почему: сумму можно зажать интегралом, , и тогда . Функция достигает максимума в точке , и сам максимум равен .
Вывод: пропусти примерно женихов, потом бери первого, кто лучше всех увиденных. Даже если женихов тысяча, шанс выбрать самого лучшего — больше трети. Без всякой информации о них заранее!
Покрути виджет: двигай и , смотри, где у кривой вершина, и сравни формулу с симуляцией.
Та же стратегия в коде:
Если знаешь больше
Отдельно Лагутин замечает: если про женихов известно больше — например, их «качества» это выборка из равномерного закона на , и царевна видит сами числа, а не только порядок, — то есть стратегия с шансом не меньше 0,58. Чем больше информации, тем точнее выбор. Но даже вслепую правило работает железно.