Задача о стражнике и дверях (именно об одном стражнике и двух дверях)

Здесь можно поговорить о чём угодно и сколько угодно.

Модератор: Модераторы разделов

apprentice
Сообщения: 595
ОС: Debian 6

Re: Задача о стражнике и дверях

Сообщение apprentice »

/dev/random писал(а):
07.03.2011 16:34
Нет. Это _классический_ ответ. ЕМНИП, автор задачи предлагал именно его.


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

Впрочем это решение не верно по сути. в ответ на вопрос.

/dev/random писал(а):
07.03.2011 16:34
"Если бы я тебя спросил где рай, что бы ты мне ответил?"


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


Впрочем, если составить вопрос иначе:

"На какую из этих двух дверей ты бы указал, если бы я спросил где рай".

Но даже эта формулировка не может считаться решением т.к. лжец в ответ на этот вопрос вообще ничего не должен отвечать так как что бы он ни ответил это будет правдой а он должен лгать.


Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5282
ОС: Gentoo

Re: Задача о стражнике и дверях

Сообщение /dev/random »

apprentice писал(а):
07.03.2011 16:47
/dev/random писал(а):
07.03.2011 16:34
Нет. Это _классический_ ответ. ЕМНИП, автор задачи предлагал именно его.


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

Я не об авторе темы, а об авторе задачи. Много лет (или веков?) назад. Во всех сборниках логических задач предлагается именно этот ответ, слово в слово.

apprentice писал(а):
07.03.2011 16:47
"На какую из этих двух дверей ты бы указал, если бы я спросил где рай".

Но даже эта формулировка не может считаться решением т.к. лжец в ответ на этот вопрос вообще ничего не должен отвечать так как что бы он ни ответил это будет правдой а он должен лгать.

Если уж на то пошло, то лжец может вообще на любой вопрос сделать дикие глаза и сказать "патамушта гладиолус!", и тогда задача не имеет решения. Но ни это, ни ваши рассуждения не укладываются в модель "острова рыцарей и лжецов", которую подразумевают все подобные задачи.
Спасибо сказали:
Grom
Сообщения: 260
ОС: Debian Etch, RHEL-5.4

Re: Задача о стражнике и дверях

Сообщение Grom »

Задача по формальной логике, очень близка к древней задаче, где есть две деревни. В одной живут лжецы, а жители другой всегда говорят правду. Правильный вопрос: "Что ответит житель твоей деревни, если его спросить....". То есть создается последовательная цепочка из двух тождественных элементов либо "ДА"+"ДА", либо "НЕТ"+"НЕТ". На выходе всегда получаем правильный ответ.

В даноом случае имеется только один элемент (стражник), поэтому надо организовать отднократный рекурсивный вызов, чтобы получить правильный ответ.
"Если бы я тебя спросил где рай, что бы ты мне ответил?"
как раз и есть такой вопрос, который организует однотактную рекурсию. Здесь вопрошается не о том, где правильная дверь, а об ответе стражника на вопрос.
Послужной список: Slackware-3.x, RedHat-4.x,5.x,6.x,7.x, FedoraCore-3, Debian Etch/Lenny
Осваиваю: RHEL-5.4
Спасибо сказали:
Alecksei
Сообщения: 66

Re: Задача о стражнике и дверях

Сообщение Alecksei »

Всё на много легче! Допустим человек (мужчина) попал в любую дверь он говорит
-Я мужского пола???
-Да - правдивый
-Нет - лжец
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Задача о стражнике и дверях

Сообщение Stauffenberg »

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

Стражник врун:
неааа, не нужен мне твой скоч... рай вон там //показывает на дверь, за которой ад.
false - false

Стражник нормальный мужик:
О! Прикольно. Ну давай... рай вон там //показывает на рай.
true - true
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5282
ОС: Gentoo

Re: Задача о стражнике и дверях

Сообщение /dev/random »

Alecksei писал(а):
12.03.2011 22:30
Всё на много легче! Допустим человек (мужчина) попал в любую дверь он говорит
-Я мужского пола???
-Да - правдивый
-Нет - лжец

Вы задачу читали? Он ещё ни в какую дверь не попал, и задача его - не выяснить, лжец ли стражник, а выяснить в какую дверь идти.

Stauffenberg писал(а):
13.03.2011 00:50
Вопрос:
У меня тут осталась бутылка первоклассного шотландского скоча. Если хочешь, чтобы я оставил ее тебе, скажи - дык за какой же дверью рай?

Стражник врун:
неааа, не нужен мне твой скоч... рай вон там //показывает на дверь, за которой ад.
false - false

Стражник нормальный мужик:
О! Прикольно. Ну давай... рай вон там //показывает на рай.
true - true

В таких задачах предполагается не "живая беседа", а один вопрос - один ответ. В вашем же случае ответов два - насчёт бутылки и насчёт двери. Кроме того, стражник может оказаться непьющим.
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Задача о стражнике и дверях

Сообщение Stauffenberg »

/dev/random писал(а):
13.03.2011 02:47
Кроме того, стражник может оказаться непьющим

o_0
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Alecksei
Сообщения: 66

Re: Задача о стражнике и дверях

Сообщение Alecksei »

Ещё одна бредовая мысль от меня
- Ты лживый стражник и эта дверь ведёт в рай?
Лжец скажет - да
Правдивый - нет
Логика такая, лживый стражник стоящий возле двери в рай - этого нет в условии => правдивый учтёт что он не лжец и скажет - нет , а лжец учтёт что он стоит не возле дверей в рай, он подумает тоже нет, но он должен соврать и скажет - да
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5282
ОС: Gentoo

Re: Задача о стражнике и дверях

Сообщение /dev/random »

Alecksei писал(а):
13.03.2011 10:09
Ещё одна бредовая мысль от меня
- Ты лживый стражник и эта дверь ведёт в рай?
Лжец скажет - да
Правдивый - нет

Во-первых, это не так. Правдивый в любом случае скажет "нет", а лживый может сказать как "да", так и "нет", в зависимости от того, куда ведёт дверь.
Во-вторых, повторяю ещё раз, прочитайте наконец условие. Не требуется определять, лжец ли он. Требуется определить, за какой дверью рай.
Спасибо сказали:
Alecksei
Сообщения: 66

Re: Задача о стражнике и дверях

Сообщение Alecksei »

/dev/random писал(а):
13.03.2011 10:44
Alecksei писал(а):
13.03.2011 10:09
Ещё одна бредовая мысль от меня
- Ты лживый стражник и эта дверь ведёт в рай?
Лжец скажет - да
Правдивый - нет

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

Ну вопрос - Ты лживый стражник и эта дверь ведёт в рай? имеет в себе 2 части -Ты лжец? и -Дверь ведёт в рай? , можно определить
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5282
ОС: Gentoo

Re: Задача о стражнике и дверях

Сообщение /dev/random »

Alecksei писал(а):
13.03.2011 11:02
Ну вопрос - Ты лживый стражник и эта дверь ведёт в рай? имеет в себе 2 части -Ты лжец? и -Дверь ведёт в рай? , можно определить

Нельзя. Правдивый на этот вопрос в любом случае ответит "нет", независимо от того, куда ведёт дверь.
Спасибо сказали:
Alecksei
Сообщения: 66

Re: Задача о стражнике и дверях

Сообщение Alecksei »

А вообще разгатка есть?? :mellow:
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5282
ОС: Gentoo

Re: Задача о стражнике и дверях

Сообщение /dev/random »

Alecksei писал(а):
13.03.2011 11:13
А вообще разгатка есть?? :mellow:

Прочитайте внимательно тему. В ней приведено по крайней мере 2 корректных решения, одно из которых - классическое, публикуемое в качестве решения во всех сборниках логических задач.
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Задача о стражнике и дверях

Сообщение deadhead »

/dev/random писал(а):
13.03.2011 02:47
Alecksei писал(а):
12.03.2011 22:30
Всё на много легче! Допустим человек (мужчина) попал в любую дверь он говорит
-Я мужского пола???
-Да - правдивый
-Нет - лжец

Вы задачу читали? Он ещё ни в какую дверь не попал, и задача его - не выяснить, лжец ли стражник, а выяснить в какую дверь идти.

я думаю Alecksei имел ввиду случай когда мы стоим перед стражником. Если мы знаем, что перед нами стражник мы можем спросить: "Ты стражник?" для выявления морального облика стражника, с последующей постановкой "правильного" вопроса... ведь неявно в предложенных вопросах выясняется кто же перед нами...
Варианты в духе "где твое место?" могут сработать если стражник имеет понятие о рае и аде, а также в состоянии проанализировать свой моральный облик... как бы ни что не мешает ему лгать и полагать, что его место в раю... по крайней мере в реальной жизни такое сплошь и рядом ;-)
[x] close
Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)
Контактная информация:

Re: Задача о стражнике и дверях

Сообщение Voral »

Вообще не существует такого вопроса, чтобы в нем не содержалось бы еще скрытых вопросов. Тот же классический:
Стражник должен решить две задачи:
1. Что бы он ответил если бы был задан вопрос
2. Что ответить на прозвучавший вопрос

Немного логических операций и битовой логики
Хотим услышать правду значит 1 на входе.

Если пропускаем биты через лгуна. Лгун ее скажет не правду значит на выходе 0. Логическое НЕТ
Если пропускаем биты через Правдивого. Лгун ее скажет правду значит на выходе 1. Логическое И

Следовательно, чтобы получить правильный ответ от обоих нужно по схеме классического ответа построить вопрос с четным количеством завуалированных задач. В ответ на каждый из этих вопросов/задач нужно желать правдивый ответ.

Лгун на входе 1 на выходе после первого ответа 0 после второго 1
Правдивого на входе 1 на выходе после первого ответа 1 после второго 1


ЗЫ Я ни чего не курил :crazy:
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Задача о стражнике и дверях

Сообщение ormorph »

Хм похоже что это просто функция о двух аргументах где первый аргумент указывает на того кто перед нами лжец или правдолюб.
Второй аргумент ответ самого стражника 1-я или 2-я двери.
например вопрос за какой дверью ад.
пример на lisp:

Код: Выделить всё

(defun hell (x y) (cond
                 ((eq x t) (if (eq y 1)
                       (format t "дверь-1 ведет в ад")
                       (format t "дверь-2 ведет в ад")))
                 (t(if (eq y 1)
                   (format t "дверь-2 ведет в ад")
                   (format t "дверь-1 ведет в ад")))))

Просто в первом случае если стражник правдолюб {пример (hell t 1) } выполняется утверждение
Во втором случае если стражник лжец выполняется отрицание {пример (hell nil 1) }
Спасибо сказали:
Irina76
Сообщения: 1

Re: Задача о стражнике и дверях

Сообщение Irina76 »

Вообще-то загадка не правильно составлена. На самом деле в ней не один страж, а два. Один из них патологический правдолюб, а второй патологический лжец. Ответ: Надо спросить на какую дверь укажет ДРУГОЙ где дверь в ад и лжец и правдолюб укажут на дверь где выход в рай
Спасибо сказали:
Ответить