Однажды два программиста играли в мультивселенной в «Поле чудес», и ведущий Леонид Ятессерактович предложил им такую игру. Перед ними было пять коробок из разных вселенных. В одной из коробок был приз. Один программист знал форму коробки с призом, а второй — цвет коробки. Можно было однажды назвать одну коробку, и если ты угадал — ты забираешь приз.
Вот какие были коробки:
Ведущий спросил: «Кто-то из вас знает, где приз?». Оба программиста промолчали.
Ведущий спросил снова: «А сейчас? Кто-то уже понял, где приз?» И снова оба промолчали.
Ведущий спросил в третий раз: «Ну а сейчас?». И в этот момент оба программиста одновременно дали правильный ответ, и мультивселенная схлопнулась, обнажив трещины в ткани реальности. В коробке была квантовая капуста.
Как программистам удалось найти правильную коробку в мультивселенной безумия?
Когда будете решать эту задачу, помните, что это те же самые два программиста, которые считали возраст сыновей, а потом попали в лапы бандитов.
Для решения этой задачи нам нужно понять, чем вызвано молчание программистов и какую информацию каждый из них понял из молчания соперника.
Так как перед началом первый знал только форму, а второй — цвет коробки, то вот какой информацией они обладали:
Первый вопрос
Когда ведущий первый раз спросил, знают ли они ответ, оба промолчали. Это значит, что раз первый программист не назвал единственную синюю коробку, то форма коробки с призом — точно не квадрат, а треугольник или круг, в котором по два варианта. То же самое и со вторым программистом — он не назвал единственную жёлтую коробку, а значит, приз или в зелёных, или в синих коробках.
Отсюда каждый из них сделал такой вывод:
Но так как оба были умны и умели анализировать и делать выводы из молчания друг друга, то второй понял, что первый не назвал синий квадрат, а значит, приз точно не там. И первый точно так же понял, что второй не назвал жёлтый круг, а значит, приз точно не там. Вот какие у них данные были после первого вопроса:
Второй вопрос
Когда ведущий второй раз спросил, знает ли кто-то, где лежит приз, оба снова промолчали. Так как первый не выбрал единственный оставшийся круг, то приз точно не в круглой коробке, а в одной из двух треугольных. Точно так же и второй — раз он не назвал единственный оставшийся синий треугольник, то приз точно не в синей коробке, а в одной из двух зелёных:
Но так как оба были умны, то каждый смог сделать те же самые выводы из молчания другого. Поэтому первый тоже убрал у себя синий треугольник, а второй — зелёный круг:
Третий вопрос
Когда ведущий в третий раз спросил, знает ли кто-то правильный ответ, то у обоих программистов остался только один вариант — зелёная треугольная коробка. Поэтому они оба одновременно дали правильный ответ и каждый получил свою капусту. Потому что в квантовом мире так можно.