Русская Википедия:Задача о 100 узниках и лампочке

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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

Формулировка

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

Классическое решение

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

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

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

Происхождение

Автор задачи неизвестен. Она появилась не позже 2001 годаШаблон:SfnШаблон:Sfn.

Примечания

Шаблон:Примечания

Ссылки

Литература