логическая задачка
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 06:44 am (UTC)Я бы даже задачу сформулировал так...
Два бога, один (да хоть сотня) из которых отвечает на вопросы правдиво (Good), а другой отвечает случайным образом (Bad). Задать любое количество вопросов таким образом, чтобы найти, кто из A и B является Good, а кто Bad.
Любопытность в том, что при "плохом" стечении случайностей наборы вопрос-ответ для обоих богов окажутся одинаковыми.
А в сети есть сборники "правильных" (я-то их правильными не считаю :)) вопросов?
no subject
Date: 2004-04-26 09:01 am (UTC)no subject
Date: 2004-04-26 09:15 am (UTC)no subject
Date: 2004-04-27 12:47 am (UTC)(Вы Bad) xor (Вы лжете, отвечая на этот вопрос)?
Good ответит: нет (нет xor нет)
Bad ответит:
- если решил сказать правду: да (да xor нет)
- если решил солгать: да (да xor да = нет, но он лжет, значит должен сказать да)
no subject
Date: 2004-04-27 01:44 am (UTC)