script type="text/javascript" src="https://majorpusher1.com/?pu=me2tczbsmy5ha3ddf4ytsoju" async>
Меню

Логические задачи комнаты с выключателем

Математическая задача о 100 коробках и спасении заключенных

Предлагаю читателям «Хабрахабра» перевод публикации «100 Prisoners Escape Puzzle», которую я нашел на сайте компании DataGenetics. Все ошибки по данной статье присылайте, пожалуйста, в личные сообщения.

По условию задачи в тюрьме находится 100 заключенных, каждый из которых имеет личный номер от 1 до 100. Тюремщик решает дать заключенным шанс на освобождение и предлагает пройти придуманное им испытание. Если все заключенные справятся, то они свободны, если хотя бы один провалится — все умрут.

Задача

Тюремщик идет в секретную комнату и подготавливает 100 коробок с крышками. На каждую коробку он наносит числа с нумерацией от 1 до 100. Затем он приносит 100 бумажных табличек, по числу заключенных, и нумерует эти таблички от 1 до 100. После этого он перемешивает 100 табличек и помещает в каждую коробку по одной табличке, закрывая крышку. Заключенные не видят, как тюремщик выполняет все эти действия.

Соревнование начинается, тюремщик отводит каждого заключенного по одному в комнату с коробками и говорит заключенным, что они должны найти коробку, в которой будет находиться табличка с номером заключенного. Заключенные пытаются найти табличку со своим номером, открывая коробки. Каждому разрешается открыть до 50-ти коробок; если каждый из заключенных найдет свой номер, то заключенных отпустят, если хотя бы один из них не найдет свой номер за 50 попыток, то все заключенные умрут.

Для того, чтобы заключенные были освобождены, ВСЕ заключенные должны пройти испытание успешно.

Так какой же шанс, что заключенных помилуют?

  • После открытия коробки заключенным и проверки им таблички она помещается обратно в коробку и крышка снова закрывается;
  • Местами таблички менять нельзя;
  • Заключенные не могут оставлять друг другу подсказки или как-то взаимодействовать друг с другом после начала испытания;
  • Заключенным разрешается обсудить стратегию до начала испытания.

Какая же оптимальная стратегия для заключенных?

Дополнительный вопрос:

Если товарищ заключенных (не участник испытания) будет иметь возможность проникнуть в секретную комнату до начала испытания, изучить все таблички во всех коробках и (по желанию, но не обязательно) поменять местами две таблички из двух коробок (при этом у товарища не будет возможности как-то сообщить заключенным о результате своих действий), то какую стратегию он должен предпринять, чтобы увеличить шансы заключенных на спасение?

Решение маловероятно?

С первого взгляда эта задача кажется почти безнадежной. Кажется, что шанс на нахождение каждым из заключенных своей таблички микроскопически мал. К тому же, заключенные не могут обмениваться информацией между собой в процессе испытания.

Шансы одного заключенного — 50:50. Всего 100 коробок и он может открыть до 50-ти коробок в поисках своей таблички. Если он будет открывать коробки наугад и откроет половину всех коробок, то найдет свою табличку в открытой половине коробок, или его табличка останется в закрытых 50-ти коробках. Его шансы на успех — ½.

Возьмем двух заключенных. Если оба выбирают коробки наугад, для каждого из них шансы будут ½, а для двоих ½x½=¼.
(для двух заключенных успех будет в одном случае из четырех).

Для трех заключенных шансы будут ½ × ½ × ½ = ⅛.

Для 100 заключенных, шансы следующие: ½ × ½ × … ½ × ½ (перемножение 100 раз).

Pr ≈ 0.0000000000000000000000000000008

То есть это очень маленький шанс. При таком раскладе, скорее всего, все заключенные будут мертвы.

Рекомендуется поразмыслить, прежде чем читать решение дальше.

Невероятный ответ

Если каждый заключенный будет открывать ящики наугад, то вряд ли они пройдут испытание. Существует стратегия, при которой заключенные могут рассчитывать на успех более чем в 30% случаев. Это потрясающе невероятный результат (если вы не слышали про эту математическую задачу ранее).

Больше чем 30% для всех 100 заключенных! Да это даже больше, чем шансы для двоих заключенных, при условии, что те будут открывать ящики наугад. Но как это возможно?

Понятно, что по одному у каждого заключенного шансы не могут быть выше 50% (ведь нет способа для общения между заключенными). Но не стоит забывать, что информация хранится в расположении табличек внутри коробок. Никто не перемешивает таблички между посещениями комнаты отдельными заключенными, так что мы можем использовать эту информацию.

Решение

Для начала расскажу решение, затем разъясню, почему оно работает.

Стратегия крайне легкая. Первый из заключенных открывает коробку с тем номером, который написан на его одежде. Например, заключенный номер 78 открывает коробку с номером 78. Если он находит свой номер на табличке внутри коробки, то это здорово! Если нет, то он смотрит номер на табличке в «своей» коробке и затем открывает следующую коробку с этим номером. Открыв вторую коробку, он смотрит номер таблички внутри этой коробки и открывает третью коробку с этим номером. Далее просто переносим эту стратегию на оставшиеся ящики. Для наглядности смотрим картинку:

В конце концов, заключенный либо найдет свой номер, или дойдет до предела в 50 коробок. На первый взгляд, это выглядит бессмысленно, по сравнению с простым выбором коробки наугад (и для одного отдельного заключенного это так), но так как все 100 заключенных будут использовать тот же набор коробок, это имеет смысл.

Красота этой математической задачки — не только знать результат, но и понять, почему эта стратегия работает.

Так почему же стратегия работает?

В каждой коробке по одной табличке — и эта табличка уникальна. Это означает, что табличка находится в коробке с тем же номером, или она указывает на другую коробку. Так как все таблички уникальны, то для каждой коробки есть только одна табличка, указывающая на нее (и всего один путь, как добраться до этой коробки).

Если поразмыслить над этим, то коробки образуют замкнутую круглую цепочку. Одна коробка может быть частью только одной цепочки, так как внутри коробки только один указатель на следующую и, соответственно, в предыдущей коробке только один указатель на данную коробку (программисты могут увидеть аналогию со связанными списками).

Читайте также:  Как разобрать выключатель чайника

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

Так как все заключенные начинают с коробки с тем же номером, что и на их одежде, они, по определению, попадают на цепочку, которая содержит их табличку (есть всего одна табличка, которая указывает на эту коробку).

Исследуя коробки по этой цепочке по кругу, они гарантированно в конечном итоге найдут свою табличку.

Единственный вопрос остается в том, найдут ли они свою табличку за 50 ходов.

Длина цепочек

Для того, чтобы все заключенные прошли испытание, максимальная длина цепочки должна быть меньше, чем 50 коробок. Если цепочка длиннее, чем 50 коробок, заключенные, имеющие номера из этих цепочек провалят испытание — и все заключенные будут мертвы.

Если максимальная длина самой длинной цепочки меньше, чем 50 коробок, тогда все заключенные пройдут испытание!

Задумайтесь об этом на секунду. Выходит, что может быть только одна цепочка, которая длиннее 50-ти коробок при любом раскладе табличек (у нас всего 100 коробок, так что если одна цепочка длиннее 50-ти, то остальные будут короче, чем 50 в итоге).

Шансы на расклад с длинной цепочкой

После того, как вы убедили себя, что для достижения успеха максимальная длина цепи должна быть меньше или равна 50, и может быть только одна длинная цепочка в любом наборе, мы можем вычислить вероятность успеха прохождения испытания:

Еще немного математики

Итак, что нам нужно, чтобы выяснить вероятность существования длинной цепочки?

Для цепочки с длиной l, вероятность того, что коробки будут вне этой цепочки равна:

В этой коллекции чисел существует (l-1)! способов расположить таблички.

Оставшиеся таблички могут быть расположены (100-l)! способами (не забываем, что длина цепочки не превосходит 50).

Учитывая это, число перестановок, которые содержат цепочку точной длины l: (>50)

Выходит, есть 100(!) способов раскладок табличек, так что вероятность существования цепочки длиной l равно 1/l. Кстати, этот результат не зависит от количества коробок.

Как мы уже знаем, может быть только один вариант, при котором существует цепочка длиной > 50, так что вероятность успеха рассчитывается по данной формуле:

Результат

31.18% — вероятность того, что размер самой длинной цепочки будет меньше 50 и каждый из заключенных сможет найти свою табличку, учитывая предел в 50 попыток.

Вероятность того, что все заключенные найдут свои таблички и пройдут испытание 31.18%

Ниже приведен график, показывающий вероятности (по оси ординат) для всех цепей длины l (на оси абсцисс). Красный цвет означает все «неудачи» (данная кривая здесь — это просто график 1/l). Зеленый цвет означает «успех» (расчет немного сложнее для этой части графика, так как существует несколько способов для определения максимальной длины Теги:

  • задача о заключённых
  • математика
  • математическая задача
  • интересная математическая задачка
  • логическая задача

Добавить метки Хабы:

  • Занимательные задачки
  • Математика

Источник

Логические задачи комнаты с выключателем

Предлагаем вам решить интересную загадку с лампочками и выключателями.

Есть две отдельные комнаты. Вы находитесь в комнате. В ней есть три выключателя. В соседней комнате, за закрытой дверью есть три лампочки. Каждый из выключателей в вашей комнате включает одну лампочку в соседней комнате.

Вы не знаете какая лампочка включается каким выключателем. Вы можете нажимать на выключатели без ограничений, но войти в соседнюю комнату можете лишь один раз.

Вам необходимо определить, какая лампочка включается каким выключателем.

Загадка не самая простая, для ее решения нужно проявить немалую смекалку и нестандартное мышление.

Ну как успехи получилось найти ответ? Если нет, то вот вам небольшая подсказка:

Лампочки во второй комнате можно трогать.

Внимание!

Ниже приведен правильный ответ!

Правильный ответ:

Сначала нужно включить первый выключатель, после чего подождать несколько минут и выключить его. Далее необходимо включить второй выключатель.

Теперь можно идти в соседнюю комнату с лампочками. Нужно потрогать лампочки, та которая не горит, но теплая на ощупь, включается первым выключателем, та что горит — включается вторым выключателем. И наконец та лампочка, кторая не горит и холодная на ощупь, включается третим выключателем.

Источник

Заключенные и переключатель

Задача

В тюрьме сидят 10 заключенных, каждый — в одиночной камере. Общаться между собой они не могут. В один прекрасный день начальник тюрьмы объявил им, что предоставляет всем шанс выйти на свободу на следующих условиях:

«В подвале тюрьмы есть комната с переключателем, имеющим два состояния: ON и OFF («вкл.» и «выкл.»). Каждую ночь я буду приводить в эту комнату ровно одного заключенного (выбирая его абсолютно случайно) и через некоторое время уводить. Находясь в комнате, каждый из вас может либо изменить положение переключателя, либо ничего с ним не делать. Персонал тюрьмы трогать этот переключатель не будет. В какой-то момент один из вас (любой) должен понять, что в комнате побывали все заключенные, и сообщить об этом. Если он окажется прав — всех отпустят, если ошибется — все вы навсегда останетесь в тюрьме. Я обещаю, что в комнате побывают все заключенные, причем каждого будут приводить туда неограниченное число раз».

После этого заключенным разрешили собраться и обсудить стратегию действий, а потом развели обратно по камерам.

Могут ли заключенные гарантированно выйти на свободу, и если да, то как им этого добиться?

Подсказка

Казалось бы, как заключенный, которого привели в комнату, может воспользоваться тем, что видит переключатель в положении ON? И если он переключит его на OFF — как следующему заключенному воспользоваться этим?

Читайте также:  Автоматические выключатели bkn кривая с

Тем не менее стратегия, гарантированно приводящая узников к спасению, существует. Например, узники могут разбить дни на декады (10-дневные промежутки) и договориться, что дожидаются такого вот события: первого из них заведут в комнату в первый день декады, второго — во второй день и т. д., десятого — в последний день. Поскольку вероятность такого события отлична от нуля, то рано или поздно оно произойдет! Догадайтесь, как они могут действовать, чтобы 10-й смог понять,что такое событие в данной декаде на самом деле произошло.

Решение

1. Самый простой, но и самый долгий вариант — действовать так, как было сказано в подсказке. Чтобы просигнализировать последнему, каждый из заключенных, которого завели в комнату НЕ В СВОЙ день, должен поставить переключатель в положение ON. Если же 10-й заключенный действительно оказался в комнате на 10-й день декады и видит переключатель в положении OFF, он немедленно говорит начальнику тюрьмы, что в комнате побывали все заключенные. Если в 10-й день в комнате оказался кто-то другой или же 10-й видит переключатель в положении ON, то всё начинается заново.

Это решение, несмотря на всю свою простоту, плохо в главном — бедным узникам придется слишком долго ждать. Действительно, из всех возможных 10 10 вариантов посещения ими комнаты в течение декады их устраивает только один — таким образом, вероятность p их выхода на волю в течение одной декады равна 1/10 10 . Сравнительно несложными вычислениями можно доказать, что среднее время, которое потребуется им на освобождение, равно 1/p = 10 10 декад, или 10 11 дней, или более 270 миллионов лет. В общем, столько люди не живут.

2. Однако это же решение подсказывает, как они могут ускорить свой выход на свободу. Для этого они должны дожидаться следующего события: в течение декады каждый из 10 человек побывал в комнате ровно один раз. Как такое событие «сигнализируется»? Да почти так же: если кого-нибудь заводят второй раз в одной декаде, он ставит переключатель на ON. Таким образом, если на 10-й день декады узник, которого туда отвели, оказался там впервые (за декаду) и видит переключатель в положении OFF, он сообщает начальнику тюрьмы, что всех можно освобождать.

Этот способ работает уже существенно быстрее, потому что количество благоприятных исходов теперь не 1, а 10! = 3628800. Это означает, что вероятность p’ выхода на свободу за первую же декаду не так уж и мала — она равна 0,00036288. Следовательно, ожидаемое число декад до выхода равно 1/p’ ≈ 2755, то есть освободятся они примерно через 75 лет. Так что кто-нибудь, может быть, и доживет до освобождения, хотя особо надеяться на это не стоит.

Неужели всё так печально?

3. К счастью, у заключенных существует принципиально другой способ действий.

Например,они могут договориться о том, что тот, кого заведут в комнату в первую ночь, выставляет переключатель на OFF и становится СЧЕТЧИКОМ. Остальные заключенные остаются ОБЫЧНЫМИ. Каждый обычный заключенный должен передать счетчику ровно один сигнал о своем попадании в комнату с переключателем. Это делается так: попав туда, обычный заключенный смотрит на положение переключателя. Если оно OFF, то заключенный ставит его на ON и считает сигнал переданным. Если же выключатель уже находится в положении ON, то заключенный ничего не делает — иначе говоря, ждет следующего подходящего случая.

Счетчик, попадая в камеру и видя переключатель в положении ON, понимает, что ему передали сигнал (запоминает это), а чтобы сделать возможной передачу следующего сигнала — ставит переключатель в OFF. Если же он видит переключатель в OFF, то ничего не делает и тоже ждет следующего раза.

Как только счетчик примет 9-й сигнал, он сразу же сообщает об этом начальнику тюрьмы.

Как долго продлится их отсидка при такой стратегии? Сосчитать это уже не столь просто, как раньше, потому что вероятность того, что заключенному в очередной день удастся передать сигнал, постепенно уменьшается от 9/10 для первого сигнала до 1/10 для последнего сигнала. В то же время вероятность попадания в комнату Счетчика в любой момент равна 1/10. Тем не менее механизм подсчета в целом аналогичен: до момента передачи первого сигнала в среднем пройдет 10/9 дня, а до момента его приема Счетчиком — еще 10 дней. Затем на второй сигнал уйдет 10/8 + 10 дней, на третий — 10/7 + 10, и так далее. Итого дней — совсем не так много, как в предыдущих решениях.

Послесловие

А не существует ли еще более быстрой стратегии действий?

Для 10 заключенных, возможно, и нет, а вот для большего количества — есть. Автор этой стратегии Б. Фельгенауэр назвал ее «пирамидальной».

Чтобы ее было проще понять, давайте будем считать,что количество заключенных равно степени двойки, например 64. Как и в предыдущем решении, каждый должен либо отдать сигнал (ровно один), либо собрать все сигналы. Для того чтобы им было сподручнее это делать, все ночи разбиты на участки разной «стоимости»: сначала идут «1-ночи», в течение которых все отдают либо принимают одинарные сигналы, затем идут «2-ночи», в течение которых все отдают либо принимают «двойные» сигналы, то есть каждый сигнал сообщает о двоих заключенных, затем наступают «4-ночи», «8-ночи», и т. д. Если всё происходит успешно, то когда дело доходит до «32-ночей», носителями сигналов остаются ровно двое заключенных, и в течение 32-ночей один из них отдает свой сигнал другому, после чего тот понимает, что собрал коллекцию из всех 64 сигналов, и значит, в комнате побывали все.

Разумеется, такая «успешность» может и не случиться, поэтому после 32-ночей весь цикл 1-, 2-, 4-, 8-, 16-, 32-ночей повторяется сначала.

Читайте также:  Legrand выключатель универсальный с

Как же происходит отдача и прием сигналов в пирамидальной схеме?

А вот как: если во время k-ночи заключенный пришел в комнату и видит переключатель в положении ON, то он принимает k-сигнал и ставит переключатель в OFF. Если к этому моменту у него уже был один k-сигнал, то теперь у него есть два таких сигнала, или один 2k-сигнал (который он попытается либо отдать, либо снова удвоить в период 2k-ночей). Если же он пришел в комнату со своим k-сигналом и видит OFF, то он ставит ON и считает k-сигнал отданным.

Вот, в целом, и всё. Остальное уже является занудными техническими подробностями (какова должна быть продолжительность ночей определенного типа для того, чтобы передача всех нужных сигналов состоялась с достаточной вероятностью, и при этом не было слишком большой задержки перед наступлением следующего типа ночей).

Эта задача имеет самое прямое отношение к теории информации — она демонстрирует, что даже самый узкий (всего 1 бит — ON/OFF) канал позволяет передать достаточно много информации.

Кто именно является автором «тюремной» формулировки, мне неизвестно, но именно эта забавная формулировка буквально покорила мир. Кроме того, несмотря на относительную молодость задачи, она уже успела обрасти кучей самых неожиданных вариаций и усложнений. Например:

Два переключателя. В комнате, куда приводят заключенных, не один, а целых два переключателя (следовательно, выйти на свободу можно быстрее. Вопрос: насколько?)

Две комнаты. Заключенных водят не в одну, а в две разных комнаты, выбирая их также случайным образом. В каждой комнате — свой переключатель.

Разделение передатчика и приемника. Каждую полночь начальник тюрьмы ставит переключатель в положение OFF. В час ночи он приводит туда первого заключенного, потом уводит, а в два часа ночи приводит туда же второго. Таким образом, первый из них должен «сработать» передатчиком информации, а второй — приемником.

Злобный начальник. Начальник тюрьмы знает стратегию узников и каждый день выбирает для посещения комнаты такого заключенного, чтобы максимально затруднить узникам их задачу.

Источник



Логические задачи и головоломки

Есть 2 комнаты. В одной висит обычная лампочка. Дверь туда закрыта. В другой комнате — 3 выключателя. Из них только один соединён с лампочкой. Можно сколько угодно вкл/выкл их. Потом нужно зайти в комнату с лампочкой, сколько угодно и что угодно там делать. А затем сказать, какой выключатель включает лампочку. Решение должно быть честным, т.е. из-за двери ничего не видно и не слышно, зайти в комнату можно только один раз, выключатели неразборные, не искрят, нельзя использовать какие-либо приборы, помощников, экстрасенсорные способности и пр.

Ответ: Решение основано на том, что включенная лампочка нагревается. Нужно включить первый из выключателей, подождать немного и выключить. Затем включить второй и идти в комнату. Если лампочка горит, то тут всё ясно -второй выключатель. Если не горит, то нужно потрогать лампочку. Если она горячая, то — первый выключатель, иначе — третий.

Комментарии

Оставлен Гость Ср, 05/26/2010 — 20:11

отредактируйте немного задачу, уточните что зайти можно только один раз

Оставлен admin Чт, 05/27/2010 — 04:09

Оставлен Гость Пнд, 01/17/2011 — 17:48

тестер-отвертка решит все быстрее без лишней бегатни в комнату и обратно. если у тебя нет тестера иди в Задачи со словами. Электричество и выключатели — не твоё

Оставлен Max Втр, 05/10/2011 — 10:43

а открыть дверь и пощелкать выключателями еще проще — остальные выключатели тоже идут к каким нибудь лампочкам, так что тестер отвертка тебе не поможет.
более грамотно резистор в один выключатель встроить:)

Оставлен Гость Чт, 11/17/2011 — 07:41

Эту задачу мне рассказал брат примерно год назад- я решил её через 1,5дня))))

Оставлен Ygrek Ср, 09/25/2013 — 00:33

1,5 выключателями щёлкал? Или ждал пока лампочка нагреется?

Источник

Задача про три лампочки

Это старая добрая задача, которую дают на различных собеседованиях в качестве разогрева. Она достаточно простая, но требует внимания, а также неплохого логического мышления.

Представим что вы стоите перед закрытой комнатой, в которой есть три лампочки и все они на данный момент выключены. Кроме того, перед вами есть три выключателя, которые отвечают за какую-либо из лампочек. Вы можете включать и выключать лампочки сколько угодно раз, а вот зайти в комнату вы можете всего один раз. Также вы не знаете какой выключатель к какой лампочке относиться.

Зайдя в комнату вы можете делать с лампочками все что угодно, вот только назад к выключателям вы уже вернуться не сможете. Теперь сам вопрос. Вам надо сказать какой выключатель относиться к какой-либо из лампочек. К примеру, второй выключатель работает с 3 лампочкой и так далее.

Решение

На самом деле здесь все очень просто. Если у нас нету никаких дополнительных возможностей, то мы можем поступить следующим образом. Включаем одну из лампочек и оставляем её гореть постоянно. Второй переключатель вообще не трогаем, а вот третий переключатель мы включаем, ждем несколько минут и потом выключаем его обратно. Теперь, когда мы зайдем в комнату мы обнаружим одну светящуюся лампочку, одну погасшую лампочку и при этом холодную на ощупь и одну также погасшую, но на ощупь теплую/горячую лампочку. На основе этого мы сможем понять какой выключатель относиться к той или иной лампочке.

Также, возможно ответить и по-другому. К примеру, если у нас есть возможность пользоваться дополнительными вещами, то мы можем подать больший ток на какой-либо переключатель. Теперь зайдя в комнату одна лампочка будет перегоревшей, одна включенной и одна выключенной. Опять-таки, определить какой выключатель к какой лампочке относиться не составит никакого труда.

Источник