логическая задачка
Apr. 26th, 2004 03:09 pmБулос (Boolos) предлагает следующую задачку в качестве “The Hardest Logical Puzzle Ever”. Это, на мой взгляд, несколько преувеличено, но задачка действительно очень непростая. Придумал её Смаллиан (Smullyan) , а ещё более усложнил Джон Маккарти (John McCarthy, который изобретатель компьютерного языка Лисп).
Условие:
Вашу незначительную персону почтили своим присутствием трое богов. Их зовут True, False и Random. Бог по имени True всегда говорит правду, бог по имени False всегда лжёт, а бог по имени Random отвечает на все вопросы совершенно случайным образом.
К сожалению, вы не знаете, кто из них кто. Обозначим троих богов буквами A, B и C. Вы не знаете, кто из A, B и C на самом деле True, кто False, а кто Random. Сами боги это знают (о себе и других).
У вас есть возможность задать им три вопроса, на каждый из которых можно ответить только “да” или “нет”. Необязательно задавать каждому богу по одному вопросу; вы можете, если вам хочется, задать все три вопроса одному и тому же богу, или ещё как-нибудь. Вопросы задаются по порядку, то есть, например, в зависимости от ответа на первый вопрос вы можете выбрать, кому задавать второй вопрос и каким он будет.
Боги понимают ваш язык и ваши вопросы, но отвечают всегда на своём языке. В этом языке вместо “да” и “нет” говорят “oui” и “ja”. К сожалению, вы не знаете, что из них означает что — может быть, “oui” это “да”, а “ja” — “нет”, а может и наоборот.
Ваша задача: с помощью этих трёх вопросов точно определить, кто из них кто.
Условие:
Вашу незначительную персону почтили своим присутствием трое богов. Их зовут True, False и Random. Бог по имени True всегда говорит правду, бог по имени False всегда лжёт, а бог по имени Random отвечает на все вопросы совершенно случайным образом.
К сожалению, вы не знаете, кто из них кто. Обозначим троих богов буквами A, B и C. Вы не знаете, кто из A, B и C на самом деле True, кто False, а кто Random. Сами боги это знают (о себе и других).
У вас есть возможность задать им три вопроса, на каждый из которых можно ответить только “да” или “нет”. Необязательно задавать каждому богу по одному вопросу; вы можете, если вам хочется, задать все три вопроса одному и тому же богу, или ещё как-нибудь. Вопросы задаются по порядку, то есть, например, в зависимости от ответа на первый вопрос вы можете выбрать, кому задавать второй вопрос и каким он будет.
Боги понимают ваш язык и ваши вопросы, но отвечают всегда на своём языке. В этом языке вместо “да” и “нет” говорят “oui” и “ja”. К сожалению, вы не знаете, что из них означает что — может быть, “oui” это “да”, а “ja” — “нет”, а может и наоборот.
Ваша задача: с помощью этих трёх вопросов точно определить, кто из них кто.
no subject
Date: 2004-04-26 05:23 am (UTC)Зачем же звать его Смульяном.
no subject
Date: 2004-04-26 05:29 am (UTC)no subject
It was "da" and "ja" in the original article.
no subject
Date: 2004-04-26 05:45 am (UTC)no subject
Date: 2004-04-26 05:46 am (UTC)no subject
Date: 2004-04-26 05:51 am (UTC)no subject
Date: 2004-04-26 07:55 am (UTC)Есть 3! = 6 разных комбинаций (вариантов кто есть кто), из которых надо найти 1.
Дано 3 вопроса, что соответственно 2^3 = 8 комбинаций ответов. Значит в принципе можно сделать покрытие из 8 в 6.
Но это значит что выяснить что такое "да" и что такое "нет" не удасться (да и не требуется) т.к. это уже требует из 8 последовательностей ответов найти одну из 2*3!=12 комбинаций
(no subject)
From:no subject
Date: 2004-04-26 05:49 am (UTC)no subject
Date: 2004-04-26 05:52 am (UTC)no subject
Date: 2004-04-26 05:56 am (UTC)no subject
Date: 2004-04-26 05:59 am (UTC)no subject
Date: 2004-04-26 05:56 am (UTC)no subject
Date: 2004-04-26 05:59 am (UTC)no subject
Date: 2004-04-26 06:20 am (UTC)Ответы Random могут в точности совпадать с ответами True и False, так что даже если вычислить False или True (вопросами типа 2+2=4?), то затем отличить Random от оставшегося бога невозможно.
Любопытно посмотреть на правильные вопросы.
no subject
Date: 2004-04-26 06:23 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2004-04-26 06:30 am (UTC)no subject
Date: 2004-04-26 06:36 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2004-04-26 07:19 am (UTC)если спросить всех троих, например: "бог ли вы?", то один из трёх даст ответ, отличный от двух других. это будет либо А, ответивший "да", либо В, сказавший "нет".
если этого одного спросить: "вы А?", то в обоих случаях ответ будет "да", следовательно, если на первый вопрос был дан тот же ответ, что и на второй, то, значит, перед нами А.
а уж зная А это или В, мы можем спокойно спросить, указав на одного из двух оставшихся: "это С?" и получить заведомо правдивый или заведомо ложный ответ.
no subject
Date: 2004-04-26 08:01 am (UTC)----- [ just kiddin' ] -----
I try to make everyone's day a little more surreal.
----- [ stop kiddin' ] -----
(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2004-04-26 07:28 am (UTC)Например вопрос "Ответит ли Рэндом правильно на следующий вопрос" должен быть легитимен...
впрочем это мало чего дает... просто нужно очень много вероятностей перебрать...
в данный момент - мне слабо:)
no subject
Date: 2004-04-26 07:32 am (UTC)Computer! pleathe perform thith tathk for me - and fatht, cauthe i'm in a hurry!
no subject
Date: 2004-04-26 09:00 am (UTC)no subject
Date: 2004-04-26 07:50 am (UTC)Правда, язык выучить не требуется, так что надежда есть :)
no subject
Date: 2004-04-26 09:13 am (UTC)no subject
Date: 2004-04-26 08:20 am (UTC)no subject
Date: 2004-04-26 09:00 am (UTC)no subject
Date: 2004-04-26 08:25 am (UTC)мой вариант:
1. to A: (A=True iff oui=yes) iff C=Random
2. if answer is oui (if ja then ask C the same)
to B: 2=2 iff oui=yes
3. to B: A=Random iff oui=yes
no subject
Date: 2004-04-26 08:58 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2004-04-26 09:59 am (UTC)Получается, что если мы локализуем не глухого(мне "Глухой" больше нравится, чем "Рандом"), мы сможем задать ему два вопроса об именах остальных(или его и еще одного), и будем знать все. Задача, значит, за один вопрос найти не глухого. Спрашивать человека о нем самом -- бессмысленно, т.к. у обоих неглухих результаты опыта просто совпадут, а у глухого таки останется случайным. Но ежели спросить "ответишь ли ты "куку", если тебя спросят, глухой ли вон тот чувак", то, если спрошенный не глухой, мы точно узнаем, где оставшийся не глухой(если звуки совпали -- глух тот, о ком мы спрашивали, а значит, третий -- таки не глухой, а если разные -- значит, не глух тот, о ком мы спрашивали). Если же спрашиваемый оказался глухим, то мы, вычисляя неглухого из оставшихся(исходя по-прежнему из неглухости спрашиваемого), не можем промахнуться, бо они оба неглухие. Ну вот, значит, заведомо не глухого нашли одним вопросом, и дальше зададим ему оставшиеся два вопроса об именах(например, один -- о его имени, которое уже либо Тру, либо Фолс, второй -- об имени любого оставшегося, которое уже либо Рандом, либо Тру/Фолс, в зависимости от результата первого вопроса).
Замечательная задачка, ага. Смаллианова революционность -- в вовлечении глухого, который, на первый взгляд, вносит нерешаемость, а на самом деле -- не меняет ровно ничего. Но все-таки не устаешь поражаться, насколько исходная классическая задачка(врун и честный и развилка) избыточна:и двоих не надо, и значения сигналов знать не надо -- а это все заметил еще Гарднер, еще когдаааа...
no subject
Date: 2004-04-27 06:14 am (UTC)(no subject)
From:(no subject)
From: (Anonymous) - Date: 2004-04-27 10:31 am (UTC) - Expand(no subject)
From:(no subject)
From: (Anonymous) - Date: 2004-04-27 03:09 pm (UTC) - ExpandВы нe правы ... и eщe oдна идeя рeшeния.
From:Re: Вы нe правы ... и eщe oдна идeя рeшeния.
From: (Anonymous) - Date: 2004-04-27 09:40 pm (UTC) - ExpandRe: Вы нe правы ... и eщe oдна идeя рeшeния.
From:Re: Вы нe правы ... и eщe oдна идeя рeшeния.
From: (Anonymous) - Date: 2004-04-28 10:26 am (UTC) - ExpandВы правы - извинитe за тупость; усилeниe условия
From:(no subject)
From:no subject
Date: 2004-04-26 10:27 am (UTC)no subject
Date: 2004-04-26 10:50 am (UTC)Solution - funny
Date: 2004-04-26 11:02 am (UTC)1. Спрашиваeм бога А: отвeтят ли два других одно и то жe на вопрос, правда ли, что 2х2=4. Eсли получаeм отвeт, то мы спросили у Random.
Два других нe могут "шутить" с прeдсказаниями. Рассматриваeм только сложнeйший вариант, когда отвeта нeт - что означаeт, мы спросили
либо у True , либо у False
2. Тeпeрь надо отдeлить True от False. Это дeлаeтся с помощью вопроса об истинности прeдиката:
Спрашиваeм того жe бога (True от False): Истинно ли высказываниe " Из отвeта бога нe-Random из оставшeйся пары на вопрос '2х2=4?'
СЛEДУEТ отвeт бога-Random на тот жe вопрос" ?
Очeвидно, только True сможeт отвeтить ДА (oui or ja ) на вопрос об истинности этого прeдиката: ибо из лжи слeдуeт всe, что угодно. False
отвeтить нe сможeт, ибо истинность прeдиката True -> (?) зависит от отвeта Random.
3. Послeдний вопрос, когда мы нашли True, тривиалeн: спросить eго про любого из оставшихся богов, кто тот eсть....
Re: Solution - funny
Date: 2004-04-26 12:03 pm (UTC)Re: Solution - funny
From:Re: Solution - funny
From:Re: Solution - funny
From: (Anonymous) - Date: 2005-02-05 12:21 pm (UTC) - Expandno subject
Date: 2004-04-27 08:47 am (UTC)не знаете ли вы, что случилось с ЖЖ Романа Лейбова?
журнал r_l был удалён им самим? почему?!
no subject
Date: 2004-04-27 01:57 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2004-04-28 11:20 am (UTC)1. Добавляя к вопросу xor (ja="да"), мы можем добиться того, что oui будет означать "да", а ja - "нет".
2. Добавляя к вопросу xor (ты=False), мы можем добиться того, что False будет отвечать так же, как и True - т. е. говорить правду.
3. Итак задача сводится к следующей: есть три бога, 2 говорят правду (и ответы их нам понятны), а третий бредит.
4. Зададим первому вопрос, не является ли второй Random'ом.
5. Если он ответит утвердительно, из этого можно сделать вывод, что либо он сам не понимает, что говорит, либо второй действительно Random. Важно то, что третий бог в этом случае быть Random'ом не может.
6. Если он ответит отрицательно, то есть два варианта: либо он говорит правду, и второй бог не Random, либо он несет чушь и второй бог опять-таки не Random, потому что Random - первый.
7. Итак, теперь мы знаем одного бога, которому можно доверять. Ему-то мы и зададим оставшиеся нам два вопроса. Сначала спросим его, True он или False. Потом спросим про одного из его приятелей, Random ли он.
8. Полученной информации достаточно для выводов.
9. Я нигде не ошибся?
10. Спасибо за внимание.
no subject
Date: 2005-02-05 12:14 pm (UTC)5. А если он врун и второй действительно глухой?
Короче дерьмо ты придумал!
Проверяйте себя перед ответами!
пункт 2, имхо, не верен
From:Сорри, нагнал. Всё верно.
From:(no subject)
From: (Anonymous) - Date: 2005-02-05 05:51 pm (UTC) - Expand(no subject)
From: (Anonymous) - Date: 2005-02-06 04:37 pm (UTC) - Expand