Продолжаю публикацию интересных математических задач.
5 рациональных пиратов (А, Б, В, Г и Д) должны разделить 100 золотых монет. Иерархия: А — самый старший, Д — самый младший. Старший предлагает план дележа. Если за него проголосует хотя бы половина пиратов (включая его самого), план принимается. Если нет — старшего выбрасывают за борт, и право предложить план переходит к следующему. Как пират А должен разделить золото, чтобы остаться в живых и получить максимум?
Решение: Нужно рассуждать с конца. Если останутся только Г и Д, Г заберет всё (его голоса хватит для 50%). Чтобы этого не допустить, В должен предложить Д хотя бы 1 монету, чтобы тот поддержал его. Пират А знает это и предлагает: 98 — себе, 0 — Б, 1 — В, 0 — Г, 1 — Д. В и Д согласятся, так как при отказе и переходе хода к Б они могут не получить ничего или меньше.
Вам нужно платить слуге по 1 золотому кольцу в день в течение 7 дней. У вас есть цепь из 7 колец. Какое минимальное количество колец нужно распилить, чтобы расплачиваться ежедневно (принимая сдачу)?
Решение: Одно кольцо (третье). Получатся сегменты: 1, 2 и 4 кольца. День 1: даете 1. День 2: даете 2, забираете 1. День 3: даете 1 к имеющимся 2. И так далее.
У вас есть монета, которая смещена (орёл выпадает чаще, чем решка). Как с её помощью получить абсолютно честный результат «50 на 50»?
Решение: Бросаем монету дважды. Если выпало О-Р — это результат А. Если Р-О — это результат Б. Если О-О или Р-Р — перебрасываем. Вероятность комбинации О-Р равна вероятности Р-О (p x (1 - p)), поэтому шансы А и Б равны.
Условие: Есть 1000 одинаковых с виду бутылок вина. В одной из них напиток отравлен смертельным ядом, достаточно даже одной капли. Яд действует ровно через 24 часа. У вас есть 10 крыс, которым можно давать вино на пробу. Как найти отравленную бутылку в течение 24 часов, если начать отсчет с момента, когда “дегустация” уже завершилась?
Решение: Присвоим каждой бутылке десятизначный код в двоичной системе счисления, добавляя нули в начале числа при необходимости. Первая бутылка будет иметь № 0000000001, вторая № 0000000010 и так далее. У каждой бутылки будет уникальный номер, так как количество комбинаций из двух цифр (0 и 1) для десятизначного числа = 1024 (два в степени 10). Выстроим 10 крыс в ряд. Каждая крыса «отвечает» за свой разряд в двоичном числе (первая — за первый, вторая — за второй и так далее). Каждая крыса должна выпить по капле из всех бутылок, в двоичном коде которых на её «позиции» стоит единица. Через 24 часа соберется код из погибших крыс. Если крыса умерла — записываем 1. Если выжила — записываем 0. Допустим, через сутки умерли 3-я, 6-я и 8-я крысы. Значит, отравлена бутылка под № 0010010100. Если бы у нас в распоряжении было 20 крыс, мы могли бы найти отравленную из миллиона бутылок (два в степени 20 = 1 048 576).
По дну реки (поперёк) проложен кабель. В нём 120 изолированных проводов. Все провода имеют изоляцию одного цвета и их нельзя отличить друг от друга. Электрик должен перенумеровать одинаковыми числами соответствующие концы проводов (с обеих сторон). В распоряжении у него есть бирки, которые можно подписать, мультиметр и лодка. Он может как угодно скручивать провода между собой. Возможно ли решить данную задачу за две переправы (переплыв на другой берег и вернувшись обратно)?
Решение: Маркируем любой провод цифрой 1. Соединяем два других провода между собой и маркируем каждый из них цифрой 2. Далее берем еще три любых провода, соединяем их между собой и маркируем их цифрой 3. Соединяя кабеля аналогичным образом, получим в итоге 15 групп кабелей. В последней группе будет 15 скрученных между собой кабелей. Переплываем на другую сторону. Находим одиночный кабель (он не “прозванивается” ни с одним другим) и присваиваем ему № 1. Находим группу из двух кабелей (каждый из них “прозванивается” только с одним кабелем) и присваиваем им № 2. Аналогично находим и маркируем оставшиеся кабели. Теперь у нас есть одинаковая маркировка групп кабелей с обоих концов. Теперь расширим маркировку. 15 кабелей, каждый из которых помечен как № 15, пронумеруем 15-1, 15-2, 15-3 и так далее. Кабели группы из 14 кабелей пронумеруем 14-2, 14-3, 14-4 и так далее. Таким образом, одиночный кабель получит № 1-15. Соединим все кабели, у которых вторая цифра маркировки одинакова. Это снова разделит кабели на 15 групп, каждая из которых будет разного размера. Причем количество кабелей в группе будет равно второй цифре номера каждого кабеля, находящегося в этой группе. Возвращаемся на лодке обратно и отсоединяем все кабели друг от друга. Используя мультиметр, находим группу из двух кабелей и добавляем к номеру каждого цифру 2. Затем находим группу из трех кабелей и аналогично добавляем к их номерам цифру 3. Завершив этот процесс, получим уникальную маркировку для каждого кабеля, совпадающую с обоих концов.
На палке длиной 1 м сидят 10 муравьев. Они ползут с одинаковой постоянной скоростью 1 см/сек — либо влево, либо вправо. При столкновении друг с другом они оба разворачиваются и ползут обратно. Когда муравей доходит до любого из концов палки, он падает с нее. Через какое максимальное время все муравьи упадут с палки?
Решение: Столкновение двух муравьев, движущихся навстречу друг другу, эквивалентно тому, что они просто прошли бы “сквозь” друг друга. Так как все муравьи абсолютно одинаковы, разворот при столкновении ничего не меняет с точки зрения физики. Тот муравей, который должен был упасть первым, просто передает свой импульс и направление другому. Поведение муравьев можно свести к тому, как если бы они просто ползли каждый в свою сторону, не обращая внимания на соседей. Чтобы узнать точное время, достаточно посмотреть на муравья, который находится дальше всего от конца палки, к которому ползет.
Комментарии (45)

CorwinH
19.05.2026 11:16Чтобы узнать точное время, достаточно посмотреть на муравья, который находится дальше всего от ближайшего к нему конца палки и ползет от этого конца. Максимальное время падения — это время, которое потребуется самому далекому муравью, чтобы доползти до ближайшего края.
Почему дальше всего от ближайшего к нему конца палки? Ближе всего. Например, если муравей сидит на самом конце, то "он" (с учётом нашей трактовки столкновений) проползёт по всей палке (он ползёт от от ближайшего конца к дальнему).

CorwinH
19.05.2026 11:16дел (не туда ответил)

Akina
19.05.2026 11:16А теперь сделайте следующий логический шаг. И учитывайте, что А не хочет оказаться за бортом.

CorwinH
19.05.2026 11:16И учитывайте, что А не хочет оказаться за бортом.
Если пирата А выкинут за борт, то предлагать будет пират Б. Тогда пираты В и Д получат 0 монет. Им выгоднее согласиться на предложение пирата А.

vadimr
19.05.2026 11:16Г может не согласиться с Б и выкинуть того за борт за неравноценный делёж. Понимая это, А и Б с самого начала должны быть щедрее.
Проще говоря, с фига ли пираты в своей стратегии учитывают только последний ход?
Допустим, я пират Г, и я с самого начала говорю: "я выкину за борт каждого, кто мне предложит меньше 20 монет". Пират В тогда будет рассуждать так же. Вот и пусть думают А и Б.

teleomoon
19.05.2026 11:16В этом случае пиратам В и Д будет выгоднее в последний момент нарушить договоренность и все-таки забрать свою монету, потому что иначе они могут остаться вообще ни с чем. Например, если пират В верит договоренности, голосует против предложения А и того выбрасывают за борт, то затем пират Б не предложит ему вообще ничего и легко купит еще один недостающий голос за 1 монету.

vadimr
19.05.2026 11:16Нет смысла продавать голос за 1 монету. А и Б - вообще смертники, им надо о цене своей жизни думать, а не об экономии.

CorwinH
19.05.2026 11:16я с самого начала говорю: "я выкину за борт каждого, кто мне предложит меньше 20 монет"
В Вашей интерпретации это больше походит на "Golden Balls", где каждый из двух финалистов выбирает между "украсть" и "поделить". Причём, с точки зрения рациональной игры нет никакого смысла выбирать "поделить".

vadimr
19.05.2026 11:16Ну я же имею право выбрать такую стратегию. И она вполне рациональна. Причём, даже если мы запретим коммуникацию, А и Б обязаны учитывать возможность такого моего выбора. А коль скоро они учитывают, то матожидание у меня (Г) уже больше единицы.

axion-1
19.05.2026 11:16Интересные вариации задачи про пиратов получаются если монет всего две или одна )
Akina
Они же рациональные, причём все. И совершенно глупо считать, что Д в предложенном раскладе удовлетворится одной монетой. Во всяком случае, он должен рассуждать так: "Пока что мне светит либо 0 монет, либо 1 монета. Надо получить хотя бы 2. Если А даст мне 1 монету, а проголосую против него. Тогда Б, если не идиот, а он не идиот, должен понимать, что я и его прокачу точно так же и по тем же соображениям (тогда В мне просто обязан будет дать 1 монету, я ничего не теряю), и, чтобы этого избежать, даст мне минимум 2 монеты."
И это только самое начало рассуждений.
vadimr
Совершенно верно, подобные задачи можно возгонять в бесконечную рефлексию по логике всё возрастающих порядков.
На самом деле непонятно, почему В должен соглашаться с А на 1 монету, если, прокатив А и Б, он может получить гораздо большую сумму.
Alexandroppolus
Пусть осталось всего 3 чувака: В, Г, Д, и прямо сейчас будет делить В.
Д конечно может заранее сказать, что поддержит вариант, только если ему дают не менее двух монет. Заявив, что для него это прямо красная линия)) Но что, если В все равно предложит "99, 0, 1", поставив Д перед фактом и отрезав себе возможность поменять расклад? Теперь если Д пойдет на принцип и откажется, он остается ни с чем. Поэтому Д примет и такой вариант - получить хоть какие-то деньги для него важнее, чем "по-пацански ответить за базар" и отомстить за несправедливую дележку. Игрок В, понимая это, предлагает "99, 0, 1" и предложение прокатывает. Аналогично можно размотать и для 5 игроков.
vadimr
Чтобы осталось всего 3 чувака, А и Б должны вести себя нерационально, что противоречит условиям задачи.
На самом деле А должен предложить сразу такие условия, которые заведомо устроят ещё минимум двоих, а это непростое дело. Притом, что ситуация ВГД в ваших стратегиях заведомо лучше для всех живых, чем АБВГД.
Alexandroppolus
Давайте по порядку. Предположим, что чуваков исходно всего 3. Вы согласны с моими доводами о том, почему "99, 0, 1" в таком кейсе гарантированно принимается?
vadimr
Согласен.
И сразу скажу, что не готов рассматривать задачу с 4 чуваками, потому что она сложнее задачи с 5.
Alexandroppolus
Я всё-таки хочу попробовать рассмотреть 4 )
Итак, Б, В, Г, Д. Если игрок Б предлагает "99, 0, 1, 0", то игрок Г, ранее тоже размахивавший красными линиями, либо примет вариант, либо остается ни с чем (потому что "99, 0, 1", как установлено выше, гарантированно прокатывает). Поэтому он принимает такой вариант. Правильно?
vadimr
Неправильно. Гораздо лучше будет на месте Г, например, подбросить монетку. Допуская, что Г будет подбрасывать монетку в случае 99-0-1-0, Б скорее всего предложит ему больше, например пусть 20 монет. Тогда матожидание выигрыша Г будет больше 1. Тут есть какой-то оптимум, но он явно отличается от 99-0-1-0.
Alexandroppolus
А толку с этой монетки? Г не имеет механизма, который бы ограничил ему свободный выбор - принимать или не принимать. Потому, как бы он ни понтовался заранее, он всё равно согласится на 1. Даже если подброшенная им монетка выпадет так, чтобы не брать.
Вот если бы такой неотменяемый самоограничивающий механизм для Г существовал, и Г успел его запустить до внесения предложения от Б - тогда да, уже Б был бы поставлен перед фактом.
vadimr
Так суть любой игры можно выхолостить до распасов. Если он будет соглашаться на 1 монету, то он больше и не получит. Тут действует антипричинность.
Но в варианте с 5 игроками обычная причинность.
Alexandroppolus
Я, видимо, не понимаю идею. Опишите вариант, где кто-нибудь из игроков, кроме самого первого, может взять 2 монеты.
vadimr
Допустим, А предлагает вариант 98-0-1-0-1. Тогда Б, Г и Д, руководствуясь моей логикой, голосуют против (Б и Г – потому что ничего не получают, а Д – потому что ему некуда торопиться), и А убивают. Тогда Б понимает, что, если он предложит 99-0-1-0, то возможно Г будет против, Б убьют, а выигрыш распределится либо 0-0-99-1-0, либо 0-0-99-0-1. Тогда Б вынужден был бы предлагать Г или Д такую сумму, которая заведомо сделает одного из них его союзником, то есть минимум 2. А это уже безусловно лучше для Б и в матожидании не хуже для Г и Д, чем предложение А (у каждого из Г и Д получается 50% вероятность получить 2 вместо 100% вероятности получить 1).
Возвращаемся назад. Понимая всё это, А видит, что его скорее всего убьют, если он предложит 98-0-1-0-1, и получат лучшее предложение от Б. Тогда А должен предложить такое распределение, которое не только не даст оснований отвергнуть его, просто чтобы запугать Б, но и будет лучше распределения В, что (схватка А с В), вообще говоря, непросто для А.
Короче говоря, убивая А с предложением 98-0-1-0-1, тройственное большинство БГД ничего не теряет, а поэтому такое предложение неприемлемо для А.
Alexandroppolus
Так если Г выскажется против, то дальше он остается с нулем, это я уже писал ранее. Значит именно этот вариант Б и предложит.
Зная об этом, Д и В поддержат 98-0-1-0-1.
vadimr
Г никогда не остаётся с нулём, в худшем случае у него 50% шанс получить минимальную ставку (так как в эндшпиле ВГД - Г и Д равны). Даже если он прокатит Б, то всё ещё мог бы получить от В. Более того, со стороны В логично предпочесть именно Г, которому он обязан выигрышем. А минимальная ставка в этом варианте развития событий должна быть не меньше 2, чтобы Б был уверен в принятии своего предложения.
Это как в преферансе выгоднее валить играющего, чем вистующего.
vadimr
Тут я ошибся, конечно, Г и Д не равны в эндпиле, так как в ВГД для Г нет смысла в выживании В.
Тем не менее, всё же видя смерть А, рационально мыслящий Б не станет повторять его опыт. Б будет рассуждать таким образом: "Мой расчёт показывает, что коллектив должен был согласиться с предложением А, однако, как видим, это не так. Расчёт моих товарищей имеет какую-то другую природу. Что мне надо сделать, чтобы не повторить судьбу А?"
Как я уже сказал, вычисление правильного хода за Б в таком случае выше моих способностей. Однако это и не нужно, потому что рационально мыслящий А не должен довести дело до своей смерти.
Думаю, что тут надо расписывать всё дерево игры и считать, сколько какие ходы кому принесли. Может быть, можно сократить при этом общее количество монет, однако тоже не факт – возможна какая-то экспоненциальная зависимость ставок.
Можно сказать короче: предложение Б:99-0-1-0, рассмотренное в авторском решении, противоречит условиям задачи, так как подразумевает нерациональность А.
Deosis
Ничему не противоречит. А должен рассмотреть наилучшую стратегию для Б для вырабатывания собственной.
CorwinH
Б не будет предлагать 1 монету пирату Д. Ему (кроме своего) нужен всего 1 голос. Он предложит монету пирату Г. Пират Г согласится, потому что пират В предложит ему 0 монет.
vadimr
Зачем пирату Г соглашаться на 1 монету от пирата Б, если, допуская для себя возможность более агрессивной стратегии, он мог бы рассчитывать на большую щедрость Б?
Решение выше базируется на предположении, что пираты будут пассивно соглашаться на варианты во вред себе только потому, что они самые хорошие из оставшихся. Это не рационально в логике более высокого порядка.
axion-1
Затем что если он не согласится, право раздела перейдёт к В, который не даст ему ничего.
Это кажется нерациональным только с позиции житейской логики, потому что в реальной жизни делёжка по таким строго формальным правилам никогда не происходит.
vadimr
Вы тут рассматриваете пиратов как конечные автоматы, которые ничего не знают о предыстории и не прогнозируют будущее. А для этого в условиях задачи нет никаких предпосылок.
Допуская, что пират Г может не согласиться на 1 монету, пират Б вынужден будет предложить пирату Г больше. Поэтому выигрышная стратегия для Б, В и Г должна быть направлена на шантаж предыдущих пиратов, а не на подбирание объедков.
Тем более формально неверно как базу для индукции рассматривать заведомо недостижимую в дереве игры ситуацию дележа между Г и Д.
axion-1
Рациональная стратегия для пиратов была бы изначально сговориться и потребовать больше у А, но это уже будет не по условию задачи.
Представьте что пиратов только трое, В, Г, Д. Вы - Д и В вам предлагает одну монету. Согласитесь? )
vadimr
В ситуации ВГД на месте Д я соглашусь на 1 монету. Но ситуация ВГД недостижима из АБВГД при рациональной стратегии А.
Тут же можно разматывать не только справа, но и слева, что гораздо осмысленнее.
Им не надо сговариваться для того, чтобы действовать против А.
axion-1
Здесь суть как раз в том что пиратов нужно воспринимать не как живых людей с чувством справедливости, а как логических автоматов, предпочитающих получить одну монету чем ничего и знающих что все остальные из них принимают решения строго по тому же принципу.
Ловушка, кмк в том что монет по условию 100. Если бы их было всего 3 или 4, решение было бы куда очевиднее.
vadimr
Этого нет в условиях задачи.
В условиях задачи "рациональное" решение. Рационально тут склонить Б к более-менее справедливому дележу показательной казнью А. И А в таких условиях надо очень немало поразмыслить, чтобы остаться в живых и оставить себе хотя бы 1 монету.
Мы же вроде как матожидание выигрыша максимизируем, а не находим гарантированный локальный максимум?
axion-1
Нет, задачка не на распределение вероятностей. Она полностью логическая с единственным верным решением.
vadimr
Единственно верное решение у такой задачи может быть только в том случае, если заранее обязать пиратов пользоваться одним алгоритмом, известным друг другу.
Большинство игровых задач вероятностны.
axion-1
Хорошо, не буду спорить )
Соглашусь с тем что условие в статье могло быть сформулировано точнее.
В целом, задача достаточно известная и многократно разобранная. Для неё даже отдельная статья в русской и английской вики есть.
https://en.wikipedia.org/wiki/Pirate_game
vadimr
В формулировках в Википедии говорится, что пираты при принятии решения ограничиваются только предложенным планом раздела. Это существенное уточнение.
Deosis
Так как пираты рациональные, то они могут поставить себя на место других и провести те же рассуждения с другой точки зрения. Так что они логически придут к одному алгоритму
vadimr
Только если алгоритм единственный.
ksbes
Короче - надо честно строить многомерную матрицу зависимости ожидаемого выигрыша пиратов от стратегий (минимального количества монет, которое согласен получить пират на каждой итерации) каждого из них и смотреть оптимальную стратегию для каждого. Там всего 6 пиратов - нампай легко справится!
Eleve
Это не так
Пират Б вообще ничего предлагать Д не будет, ему хватит голоса пирата Г, что бы разделить.
Там верное решение, просто большая часть итераций пропущена.
Ну и идея в четности: если один из пиратов с 1 монеткой не согласится, то очередь перейдёт к пирату, который им вообще ничего предлагать не будет.