Задача о 100 узниках и лампочке

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Задача о 100 узниках и лампочке — известная задача из области динамической эпистемической логики на придумывание протокола обмена информацией.

Формулировка[править | править код]

В тюрьму поступили 100 узников. Их рассадят по одиночным камерам и будут по одному приводить в комнату, где нет ничего, кроме одной лампочки, которую узнику разрешается включить или выключить; изначально лампочка выключена. Гарантируется, что рано или поздно каждый из узников побывает в комнате с лампочкой сколько угодно раз. В любой момент узник, приведённый в комнату с лампочкой, может объявить, что все заключенные уже побывали в комнате хотя бы по одному разу; если он прав, то всех узников отпустят, если нет — казнят. До распределения по одиночным камерам у узников есть возможность договориться между собой. Требуется придумать стратегию, которая позволит им освободиться[1][2].

Классическое решение[править | править код]

Из числа узников выбирают одного, называемого счётчиком. Обычный узник действует в комнате с лампочкой следующим образом: если он видит выключенную лампочку и он ни разу не включал лампочку, то он включает её; в противном случае ничего не делает. Счётчик же, наоборот, реагирует только на включённую лампочку: он выключает её и запоминает, который раз по счёту это произошло. После того, как он выключит лампочку в 99-й раз, он может быть уверен, что все узники уже побывали в комнате хотя бы по разу[1][2].

Варианты, обобщения и связь с другими задачами[править | править код]

Если добавить условие, что в комнату с лампочкой приводят ровно одного узника в день, использовать определённые предположения о виде распределения вероятностей выбора узника и/или рассматривать стратегии, которые гарантируют освобождение с вероятностью, немного меньшей 1, то становятся возможны более простые или более эффективные стратегии[1][2]. Также возможно обобщение на случай нескольких комнат и более чем двух положений выключателя, а также необходимости посетить каждую комнату некоторое количество раз и т. п. Кроме того, задача значительно усложняется при введении требования, чтобы стратегия заключённых была симметричной, то есть чтобы все заключённые следовали одному и тому же алгоритму, если при этом начальное положение выключателя(-ей) неизвестно. Задача с симметричной стратегией для нескольких комнат и двух выключателей в каждой комнате связана с «задачей пробуждения» (англ. wakeup problem) для распределённых вычислений[3].

Происхождение[править | править код]

Автор задачи неизвестен. Она появилась не позже 2001 года[1][2].

Примечания[править | править код]

  1. 1 2 3 4 van Ditmarsch & Kooi, 2015.
  2. 1 2 3 4 Wu.
  3. Daniel M. Kane, Scott Duke Kominers. Prisoners, Rooms, and Light Switches // El. J. Comb. — 2021. — Vol. 28, no. P1.27. — doi:10.37236/9905.

Ссылки[править | править код]

  • Задача 105155. problems.ru. Дата обращения: 28 апреля 2019.
  • К. Кноп. Заключенные и переключатель. Элементы (2011). Дата обращения: 28 апреля 2019.
  • William Wu. 100 prisoners and a light bulb. Дата обращения: 28 апреля 2019.
  • Majerech, Vladan (2022). "100 prisoners and a lightbulb -- looking back". arXiv:2208.00771 [cs.DM].

Литература[править | править код]

  • Hans van Ditmarsch, Barteld Kooi. One Hundred Prisoners and a Light Bulb. — Springer, 2015. — Errata. — ISBN 9783319166940.