hina_chleck (hina_chleck) wrote,
hina_chleck
hina_chleck

Про две задачки и мои недодумывания

(Интересно не всем будет).
Первая из разряда – три ящика с разной логикой (на один вход: "да", "нет", "да/нет"). Выбрать ящик с жесткой логикой за один вопрос одному из них вслепую с незнанием языка (то есть, произнесено в ответ "да" или "нет" - неизвестно)
Исходный аналог: задача про двух братьев и две дороги.

Моя ошибка ==Неа, все равно, как ни строй многоэтажную конструкцию вопроса, выходит неполнота. Ну, сделаю я: "Если бы вы были лгун, то на вопрос, ведет ли эта дорога в город, произнесете ли вы "пиц-поц", при условии, что это значит "нет"? Уф.==
Но наличие многих неизвестных, оказывается, необязательно означает невозможность построения логической однозначной конструкции:

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

Мой тяжкий ход мыслей
==Мне непонятно: вот есть два чела и есть четыре комбинации из 0 и 1.
Допустим, они выберут какую-то стратегию (для первого, например) в зависимости от числа на колпаке другого. Но как определить, какая стратегия будет выбрана, если они не могут подавать сигналы?
...Значит... должен быть единственный вариант...
...Есть смутная идея, что должен быть кто-то ведущий. Лидер. Обама, короче. Вышло так для двоих: ведомый, всегда не думая, пишет то, что видит у ведущего.
Ведущий же должен подумать и написать то, что должно скомпенсировать неверный ответ ведомого (в сумме, чтобы была единица).
Ну, если одинаковые у обоих О/1 - то ясно и так, а если разные - ведомый напишет заведомо неверный ответ, Обама думает тогда: "Если он напишет неверно, то я остаюсь один, который может верно написать. Исходя из компенсации ошибки, лидер теперь пишет, глядя на цифру ведомого - пишу наоборот. Если у меня единица - угадаю я, если же ноль - угадает он.
Для трех - непонятно пока, как один скомпенсирует ошибки двоих...
Или тогда цепочка начинается: ведомый-ведущий со сдвигом по людям?==

Ответ мне:
==Вы же уже почти сами доехали, просто не сообразили, как по-другому назвать "разные" и "одинаковые". Как только это сообразится -- общий случай станет очевиден.
Так вот, "разные" -- это "сумма равна 1". "Одинаковые" -- "сумма равна 0". Все, естественно, по модулю 2, и пара 1-2 заменена на 0-1. Очевидно тогда, что в общем случае каждый должен предполагать разную сумму по модулю N. То бишь, попросту, чуваки должны рассчитаться по порядку номеров, и каждый свой номер запомнить. Потом, глядя на шапки товарищей, каждый в уме проговаривает: "я предполагаю, что полная сумма равна К(где К -- запомненный номер); коль скоро это так -- мой шапка равен К минус сумма товарищей"(естественно, все по модулю N). Поскольку общая сумма чему-то, да равна, а все ее возможные значения чуваки зацапали, то кто-то обязательно выйдет прав, а значит, и шапку свою вычислит правильно.

На самом деле интересная по-настоящему -- только задачка про пару, потому что пока не поймешь, что события "разные" и "одинаковые" образуют полное -- остается ощущение такого странного бреда, кролика из шляпы. Как так, мол -- я говорю, как вижу, а он наоборот, и вдруг оказывается, что один всегда попадет...==

Разъяснение на примере для 121
==Итак:
По порядку номеров они уже рассчитаны -- 1, 2, 3. Вычтем единичку у каждого, чтоб удобней было с числами по модулю работать.

Первый будет полагать сумму равной 0 по модулю 3.
Второй будет полагать сумму равной 1 по модулю 3.
Третий будет полагать сумму равной 2 по модулю 3.

Из всех шапочных номеров для удобства будем вычитать единичку, чтобы говорить не об 1, 2, 3, а об 0, 1, 2. Мы потом ее восстановим.
Впрочем, можно этого и не делать, поскольку сумма всех трех -- так и так три эти лишние единички занулит. Тогда в логике у каждого единичку обратно добавлять не надо, а если получился 0 -- заменять на тройку.

Смотрят на соседей.
Первый: я вижу 2 и 1, то бишь, 1 и 0. Их сумма по модулю 3 равна 1, я загадал 0, значит, мой номер 0-1 = -1 = 2(арифметика же -- по модулю 3), то бишь, добавив обратно единичку, 3.
Второй: я вижу 1 и 1, то бишь, 0 и 0. Их сумма по модулю 3 равна 0, я загадал 1, значит, мой номер 1-0 = 1, то бишь, добавив обратно единичку, 2.
Третий: я вижу 1 и 2, то бишь, 0 и 1. Их сумма по модулю 3 равна 1, я загадал 2, значит, мой номер 2-1 = 1, то бишь, добавив обратно единичку, 2.

Значит, догадки: 3, 2, 2. Второй угадал. Сумма шляп по модулю 3 есть(что вычитай единички, что не) (1+2+1)(mod 3)=1. То бишь, та самая, на которую и закладывался второй.==
Tags: техницкое
Subscribe

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 8 comments