?

Log in

No account? Create an account

masterok


Мастерок.жж.рф

Хочу все знать


Previous Entry Share Next Entry
Не понял задачку, которую решал весь интернет!
masterok


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

Все уже знают ответы, но в логике решения я так и не понял один момент. Перерыл кучу описаний алгоритмов решения, но нет. Может тут с переводом что то не так?

Вот сама задача и решение:

Альберт и Бернард только что встретили Шерил. «Когда у тебя день рождения?» — спросил Альберт у Шерил. Шерил секунду подумала и сказала: «Я вам не скажу, но дам несколько подсказок». Она написала список из десяти дат:

15 мая — 16 мая — 19 мая
17 июня — 18 июня
14 июля — 16 июля
14 августа — 15 августа — 17 августа

«Одна из этих дат — мой день рождения», сказала она.
Затем Шерил шепнула Альберту на ухо месяц — только месяц, — в котором у нее день рождения. Бернарду она шепнула число, и только число.
«Теперь ты можешь догадаться?» — спросила она у Альберта.

Альберт: Я не знаю, когда у тебя день рождения, но я знаю, что Бернард тоже не знает.
Бернард: Сначала я не знал, но теперь знаю.
Альберт: Что ж, теперь и я знаю!

Когда у Шерил день рождения?


Вот такой ответ:



Про даты согласен, 18 и 19 сказать Бернарду не могли, иначе он сразу бы знал ответ. Но почему они исключили сразу два месяца полностью со всеми вариантами? Логичнее было бы исключить только две даты.



А почему не принять такой случай, что Бернарду шепнули 15, а Альберту например май. Тогда на начальном этапе ни один ни другой не будет знать точную дату дня рождения и условие выполняется - "Альберт: Я не знаю, когда у тебя день рождения, но я знаю, что Бернард тоже не знает" . И тут вдруг май и июнь полностью вычеркивают.

На каком основании?

Или суть загадки в том, что Шерил СПЕЦИАЛЬНО задавала ее с таким условием, что будет возможно ее решить обязательно? И тогда логика разгаки должна строится на том, что тупиковые варианы просто вычеркиваются, т.к. разгадать можно обязательно.


Subscribe to  masterok

Posts from This Journal by “Задача” Tag


promo masterok январь 2, 12:00 46
Buy for 300 tokens
Вот так выглядит ушедший от нас 2017 год. А вот кстати, начало 2018 года показывает еще больший трафик, чем декабрь 2017: И вот один из дней - рекордсменов за всю историю журнала тоже уже в 2018 году: Красная цифра - это общее количество уникальных посетителей попавших в блог. В…

  • 1
Суть загадки в том, что составители специально такое условие придумали!

А ещё брешут, что во время (холодной) войны фашистские (или, соответственно, американские) диверсанты специально разбрасывали около научных центров Советского Союза школьные тетрадки, где корявым детским почерком были написаны условия неразрешимых задачек - чтобы учёные принимали вызов и тратили своё бесценное процессорное время на всякую заведомую фигню, вместо того, чтобы ковать щит родины.

Май исключается полностью, т.к. если бы Альберт знал, что месяц май, то число может быть названо "19". А значит Бернард по одному числу может вычислить ДР и нельзя однозначно утверждать, что "я знаю, что Бернард тоже не знает".

ну что значит "может быть 19" , ну может быть 19, а может и не 19. А если бы она назвала 15 и май?

Как утверждение "может быть 19" укладывается в условие задачи?

Edited at 2018-08-14 02:22 pm (UTC)

Если возможно "19", то невозможно сказать, что "Бернард тоже не знает", потому что при существовании такой возможности это утверждение будет ложным.

говоря "я знаю, что Бернард не знает" он может иметь ввиду только то, что это не 19 и не 18 число, т.к. тогда бы "Бернард знал"

Правильно. Но если месяц май, то он не мог бы выдвинуть такое утверждение.

"А если бы она назвала 15 и май? "
То у Альберта не было бы оснований говорить "я знаю, что Бернард тоже не знает". Он так мог сказать, только видя что в месяце нет числа, однозначно дающего правильный ответ.

говоря "я знаю, что Бернард не знает" он может иметь ввиду только то, что это не 19 и не 18, т.к. тогда бы "Бернард знал"

"он может иметь ввиду только то, что это не 19 и не 18"
Не может, он не знает чисел. Он только знает месяцы, в которых эти числа встречаются на основании общей информации и месяц, когда день рождения.
И даёт подсказку: "Месяц такой, что в нём нет числа, по которому ты мог бы его определить".
И получает обратную подсказку: "Раз из двух оставшихся, то этот месяц я определить могу, зная число, которое мне сказали".

Допустим, 15 мая.
Б не знает, т.к. 15 неоднозначно. И молчит.
А не знает, т.к. май неоднозначно. Но в мае есть 19 - и если бы Б получил 19, то Б знал бы. Поэтому А не может уверенно сказать "но я знаю, что Б не знает".
Для него молчание Б не информативно: то ли Б тупит, то ли просто не его очередь говорить (скорее всего), то ли действительно не знает.

Так что 15 мая не подходит.

ну Б молчит просто потому что не 19, а 14,15,16,17 или 18

Что за бессвязный набор слов и цифр вы сейчас написали?

Ещё раз и внимательно.

Вы делаете ДОПУЩЕНИЕ, что ответ - "15 мая". И исходя из этого допущения посмотрим, можно ли сыграть пьесу по указанному сценарию.

1) Шерил сказала А "мая", Б "15".
2) Б молчит просто потому, что не его очередь говорить.
3) А не может сказать свою фразу, - я объяснил почему.
Всё. Пьеса сломалась.
Следовательно, допущение ложно. Берём любое другое допущение и проверяем.

Задачи с небольшим количеством вариантов ответа можно решать таким способом: делать допущения и проверять.
Более того! Эта задача именно так и решается, просто для неё есть лёгкий способ проверять допущения массированно. Взяли, сделали все допущения, а затем на каждом шаге отсеяли.

Я вот сейчас порешал, и думаю, что у вас проблемы с логикой.

После ответа Альберта остаются июль и август - это очевидно.

У Бернарда четыре варианта, причем 14 число попадает и на июль и на август. Значит, если бернард говорит - "я по прежнему не знаю", значит, это 14 число, и тогда на следующем шаге Альберт уже знает точно (но Бернард все равно никогда не узнает).

Говоря "сначала я не знал, но теперь знаю", Барнард говорит Алберту, что у него 15, 16 или 17 число.

А теперь смотри.

Если у Альберта июль - то у него один вариант, и он знает. Если у Альберта август - то он по-прежнему не знает, так как два числа получается. В этом случае Бернард точно узнает месяц, и точно знает, но Альберт уже не узнает никогда. Когда Альберт говорит, что знает, значит, есть единственное число, и это число 16.

---Или суть загадки в том, что Шерил СПЕЦИАЛЬНО задавала ее с таким условием, что будет возможно ее решить обязательно? И тогда логика разгаки должна строится на том, что тупиковые варианы просто вычеркиваются, т.к. разгадать можно обязательно.

Конечно, Шерил специально задала задачку таким образом. Потому что если два мальчика ее решат, и это потребует от них напряжения ума, то тогда они будут видеть в Шерил умную и сообразительную девочку, способную озадачить.

А если Шерил задаст задачку, которая не решается - значит она тупая самовлюбленная дегенеративная дура, и мальчикам следует от нее держаться подальше... :)

Такое объяснение поведения Шерил тебя устраивает? :)

"Конечно, Шерил специально задала задачку таким образом." - ну тогда понятно.

Я предполагал, что задача была задана с целью труднорешаемости, а не для того, что бы они обязательно ее решили и половину вариантов выкинули просто потому, что "ну тогда непонятно"

Задачка задавалась не из-за труднорешаемости, а чтобы закадрить сразу двух губошлепов-ботаников, тем самым приобретя авторитет в классе и возможные иные ништяки. Ты что, в школе не учился? :)

но мне кажется это не правильно строить логическую цепочку на основании того, что если есть неопределенность или непонятность - исключаем, т.к. задумывалось, что мы ее решим обязательно.

Дополним задачку. Пусть Шерил назвала ещё даты 13 и 14 сентября.

А: "я знаю, что Б не знает" - вычёркиваем 18 июня и 19 мая (уникальные даты) - вычёркиваем май и июнь.
Б: "тогда я знаю" - вычёркиваем 14 (июля, августа, сентября), оставляем 13 сентября, 15 августа, 16 июля, 17 августа.
А: "тогда и я знаю" - вычёркиваем август (15 и 17), оставляем 13 сентября и 16 июля.

А и Б знают день рождения, сторонний наблюдатель остаётся в глубоком недоумении! АХАХА.

---
Поскольку задачу дополнил я, то искушённый наблюдатель всё-таки сможет узнать правильный ответ.

Edited at 2018-08-14 02:36 pm (UTC)

МАЙ ИЮНЬ ИЮЛЬ АВГУСТ

14 Х Х
15 Х Х
16 Х Х
17 Х Х
18 Х
19 Х

1)Альберт: не знаю, когда у тебя день рождения, но я знаю, что Бернард тоже не знает.

Так как Альберт знает месяц, а Бернард - число, то очевидно, что дата рождения не 19 и 18, так как на эти числа не имеют пары, для неопределенности, и Бернард бы сразу знал дату.

МАЙ ИЮНЬ ИЮЛЬ АВГУСТ

14 Х Х
15 Х Х
16 Х Х
17 Х Х

Но это так же означает, что месяц не май и не июнь.

ИЮЛЬ АВГУСТ

14 Х Х
15 Х
16 Х
17 Х

2) Бернард: Сначала я не знал, но теперь знаю.

Так как в списке остаются только два месяца, то остается понять, о какой дате говорит Бернард.

Это не 14 число, так как остается неизвестность с месяцем, а ее не должно быть, ведь Бернард знает только число, и если это 14 - то месяц он не вычислит.

ИЮЛЬ АВГУСТ

15 Х
16 Х
17 Х

3) Альберт: Что ж, теперь и я знаю!

Так как если бы Альберту сказали месяц август, то осталась неопределенность - две даты в августе - 15 и 17 число, а значит даже после комментария Бернарда, Альберт бы не мог сказать что он тоже узнал дату, то единственной датой остается 16 ИЮЛЯ.


ну т.е если бы у Альберта был май, то он бы мог предполагать, что Бернард знает, но он бы точно то не знал этого! В таком случае Бернард мог знать, а мог же и не знать.

Хотя да, если 100% утверждать что Бернард не знает, то это минус два месяца, понятно. Ок. Спасибо

Edited at 2018-08-14 02:52 pm (UTC)

да, рассуждения такие. Альберт знает только месяц. Если этот месяц май или июль, то предположительно Бернард мог бы сразу знать верную дату рождения из-за уникальных дат 18 и 19. Остальные даты пересекаются с другими месяцами, но чтобы уверенно (чтобы утверждение было истиной) говорить о том, что Бернард точно не знает, месяц Альберта должен быть точно не май и июль.

Т.е. нам предлагают проверить каждую дату в мае и июле на истинность утверждения "Бернард не знает", и на 18 и 19 числе утверждение равно ложь.

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

Гораздо более крутая вариация из Кванта:

http://kvant.mccme.ru/1977/03/mnogo_bitov_iz_nichego.htm


Раз уж эта задача озаглавлена "много битов из ничего", то предлагаю посчитать, чему (в битах, если нравится двоично-логарифмическая шкала) равны порции информации π1, σ1, π2, σ2, которыми математики обменялись между собой и вами, читатель.
Сумма их, очевидно, равна log2100 ≈ 6.6

Почему "равна", а не "больше чем"?

Потому что мы никакую другую информацию сверх того, что узнали решение, тут не получили?

Это совсем неочевидно, и как минимум требует доказательства.

Не, там понятно. Другой источник сообщения.
Бернард и так знает, что он не знает, и вообще можно заключить, что Ш. такого числа не даст, и 18,19 - паленые числа.

Так что А. сказал то, что все и так знали, и только то отличается, что сказал это ОН. Человек с месяцем на руках. "Месяц" (целиком) сообщил, что в нем нет решаемых чисел. Аааа, сказали ежики, мусоля карандаш на языке, ну тогда вычеркиваем.

"А почему не принять такой случай, что Бернарду шепнули 15, а Альберту например май"
=
"Альберт: Я не знаю, когда у тебя день рождения, но я знаю, что Бернард может знать."

понял, спасибо

  • 1