Сегодня наткнулся на анализ одной задачи и ее решения. Сама идея задачки - стандартная для информатиков, ничего особенного, но автор приводит одно интересное наблюдение...
Задача:
N детей играли в песочнице, из них K испачкали себе лоб грязью. почему именно лоб - чтоб сами не видели свою грязь. дети между собой не переговариваются, вредные очень.
Приходит отец, вещает на весь двор "по крайней мере один из вас испачкал себе лоб". Потом отец, будучи неизлечимым философом, начинает задавать один и тот же вопрос: "можете ли вы доказать испачканность собственного лба". Он продолжает задавать вопрос, пока все испачканные не скажут "да" а все не-испачканные "нет".
Решение:
Если дети умные и правдивые и рациональные создания, то ровно после K вопросов все испачканные смогут доказать свою испачканность.
Логика такая.
Для одного испачканного ребенка - тривиально. На первый же вопрос ответит "да", потому что в группе должен быть хоть один испачканный, а он испачканных не видит.
Допустим испачканы двое детей.
Тогда, после первого вопроса, все не-испачканные скажут
нет, и двое испачканных тоже скажут
нет, потому что ни один из них не знает сколько в группе испачканных - один (не он), или двое (он и тот другой испачканный).
После второго вопроса, каждый испачканный ребенок подумает "раз единственный испачканный которого я вижу не сказал "да", значит я тоже испачкан".
То есть после второго вопроса двое испачканных сказали "да", все остальные - "нет".
Та же логика распространяется на случай K детей. На первые K-1 вопросов все хором отвечают "нет", на K-й вопрос все испачканные отвечают уже "да".
Странное наблюдение:
Для всех случаев (кроме тривиального K=1), первое предложение отца не говорит детям ничего нового. То есть каждый ребенок видит хотя бы одного испачканного в группе, так что предложение "по крайней мере один из вас испачкал себе лоб" новой информации не несет.
Скажем испачканы 12 детей из 20. То что отец говорит "хотя бы один из вас испачкан", это ни испачканным, ни не-испачканным ничего не говорит. Ведь испачканные и так видят что полно испачканных, а не-испачканные тем более
С другой стороны можно доказать, что если бы отец не произнес это первое предложение, то на его последующие вопросы "можете ли вы доказать испачканность собственного лба" дети всегда отвечали бы "нет". До бескончености
Какие выводы можно сделать?