Блог пользователя AlexSkidanov

Автор AlexSkidanov, 13 лет назад, По-русски
Давно я не задавал тут старых классических задачек.

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

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

У задачи два варианта -- в одном в начале лампочка выключена, во втором в случайном состоянии.

  • Проголосовать: нравится
  • +35
  • Проголосовать: не нравится

13 лет назад, # |
Rev. 2   Проголосовать: нравится -7 Проголосовать: не нравится
За спойлером решение
13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
За спойлером продолжение рассуждений.
13 лет назад, # |
Rev. 4   Проголосовать: нравится +1 Проголосовать: не нравится

В 1 правке решение, вроде бага не вижу. Подходит к первой вариации.

Upd: решение совпало с анонимусом.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Помнится, видел эту задачу в одной из книжек по подготовки к интервью :) вроде даже "cracking google interview".) 
13 лет назад, # |
Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

У меня решение тоже совпало с анонимусом, но оно вроде верно, только если охранники заводят чуваков в комнату так, чтобы каждый чувак побывал в ней в итоге бесконечное количество раз(точнее, если в какой-то момент времени чувак вошел, то существует в будущем такие моменты, когда войдут все остальные).
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Без этого условия нет шансов. Кстати, посмотрите мой второй пост.

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

    Одно и то же (равносильное утверждение - уточнение).

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Думаю, надо доказать, что вероятность такого события есть 1. Выглядит правдоподобно, но как доказать - непонятно...
  • 13 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

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

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

13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
забавно, мы давали эту задачу на собеседовании на фупм в этом году
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Я прошел? :)
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    По-моему, нормально эта задача решается 1) либо в предположении, что все узники будут вызваны бесконечное число раз; 2) при знании теорвера. Где я ошибаюсь?
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      конечно, узники вызываются конечное число раз. Причем гарантируется, что каждый узник будет вызван бесконечное число раз (ну или гарантировано большое по сравнению с числом узников количество раз)
13 лет назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

Для решивших.

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

13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Узникам ведь ничто не запрещает оставить после себя какое-то сообщение другим способом, нежели включением/выключением лампочки(в условии нет запрета на это). Может оказатся приемлимым решение вроди такого: узник делает пометку на стене(чёрточку), если он тут первый раз.Дальше всё понятно. Зная, что это решение покажется глупым, скажу, что в некоторых задачах такого типа бывает, что "входными данными" пользоваться не обязательно(или ненадо вообще). А так согласен с решением Анонимуса.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +19 Проголосовать: не нравится
    В математических задачах изначально подразумевается, что читерить нельзя. Так предлагалось интересное решение - пусть лампочка полностью выкручивается при помощи поворота на . Тогда каждый участник может поворачивать один раз лампочку на , и в нужный момент лампочка окажется у узника в руках.