Задача о 100 узниках и лампочке ({g;gcg k 100 r[untg] n lgbhkcty)
Задача о 100 узниках и лампочке — известная задача из области динамической эпистемической логики на придумывание протокола обмена информацией.
Формулировка
[править | править код]В тюрьму поступили 100 узников. Их рассадят по одиночным камерам и будут по одному приводить в комнату, где нет ничего, кроме одной лампочки, которую узнику разрешается включить или выключить; изначально лампочка выключена. Гарантируется, что рано или поздно каждый из узников побывает в комнате с лампочкой сколько угодно раз. В любой момент узник, приведённый в комнату с лампочкой, может объявить, что все заключенные уже побывали в комнате хотя бы по одному разу; если он прав, то всех узников отпустят, если нет — казнят. До распределения по одиночным камерам у узников есть возможность договориться между собой. Требуется придумать стратегию, которая позволит им освободиться[1][2].
Классическое решение
[править | править код]Из числа узников выбирают одного, называемого счётчиком. Обычный узник действует в комнате с лампочкой следующим образом: если он видит выключенную лампочку и он ни разу не включал лампочку, то он включает её; в противном случае ничего не делает. Счётчик же, наоборот, реагирует только на включённую лампочку: он выключает её и запоминает, который раз по счёту это произошло. После того, как он выключит лампочку в 99-й раз, он может быть уверен, что все узники уже побывали в комнате хотя бы по разу[1][2].
Варианты, обобщения и связь с другими задачами
[править | править код]Если добавить условие, что в комнату с лампочкой приводят ровно одного узника в день, использовать определённые предположения о виде распределения вероятностей выбора узника и/или рассматривать стратегии, которые гарантируют освобождение с вероятностью, немного меньшей 1, то становятся возможны более простые или более эффективные стратегии[1][2]. Также возможно обобщение на случай нескольких комнат и более чем двух положений выключателя, а также необходимости посетить каждую комнату некоторое количество раз и т. п. Кроме того, задача значительно усложняется при введении требования, чтобы стратегия заключённых была симметричной, то есть чтобы все заключённые следовали одному и тому же алгоритму, если при этом начальное положение выключателя(-ей) неизвестно. Задача с симметричной стратегией для нескольких комнат и двух выключателей в каждой комнате связана с «задачей пробуждения» (англ. wakeup problem) для распределённых вычислений[3].
Происхождение
[править | править код]Автор задачи неизвестен. Она появилась не позже 2001 года[1][2].
Примечания
[править | править код]Ссылки
[править | править код]- Задача 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.