воскресенье, 6 мая 2012 г.

Гномы и колпаки

Людоеды поймали 1000 гномов и объявили, что на следующий день им предстоит испытание.

Всех гномов построят в колонну по одному и наденут всем колпаки красного и синего цветов в произвольном порядке. При этом каждый гном будет видеть, какого цвета колпаки у всех, кто стоит перед ним, но не будет знать свой собственный цвет. После этого людоед подойдёт к последнему гному в колонне и предложит ему угадать цвет своего колпака. Если гном угадает, его отпустят, если нет - убьют и съедят. После этого вопрос будет задан гному, который был предпоследним, а теперь оказался последним в очереди, и так до тех пор, пока в ней не останется гномов.

У гномов есть возможность посовещаться до начала испытания и договориться о стратегии. Как им нужно поступить, чтобы спаслось как можно больше? Передача информации интонацией запрещена: гном имеет право только сказать "красный" или "синий" максимально нейтральным тоном. Впрочем, он может сказать это достаточно громко, чтобы услышали все стоящие впереди.

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

Решение
Гном, оказавшийся последним в очереди, не имеет никакой информации о цвете своего колпака, поэтому вынужден угадывать. Ему, в сущности, без разницы, какой цвет называть: в любом случае шансы выжить 50/50. Тем не менее, своим ответом он может помочь выжить остальным.

Например, он может посчитать количество красных колпаков перед ним, ведь он стоит последним и видит всех остальных. Если оно нечётное, он говорит "красный". Если чётное - "синий".

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

Например, если гном слышал, что до него назвали 4 красных колпака, перед собой он насчитал ещё 10 красных, а общее количество красных колпаков чётное, он может понять, что его цвет - синий.

Таким образом, 999 гномов спасутся наверняка, а последний, 1000-й, спасётся с вероятностью 50%.

3 комментария:

  1. Вариация: гномов стоит бесконечное (счетное) количество. Как сделать так, чтобы погибло только конечное число.

    Дополнительный твист: количество цветов тоже бесконечное (счетное).

    ОтветитьУдалить
  2. Назвать цвет впереди стоящего гнома:
    - первый 50/50
    - последующие 100 ;))

    ОтветитьУдалить
    Ответы
    1. Красный, синий, красный, синий...
      При таком раскладе выживет только один гном в начале очереди.

      Удалить