Ответ на задачуВсё-таки хочу написать несколько слов о парадоксах.
А до этого дам ответ на задачу, приведенную раньше.
Условие здесьВ тюрьме содержится заключенный, и при нем два стражника. Один говорит только правду, а другой всегда лжет. Дежурят они посменно: сутки один, сутки — другой.
Если заключенный узнает, кто из них кто, он сможет счастливо избежать своей участи; в противном случае его казнят. Он может задавать каждому стражнику любые вопросы, требующие односложного ответа: да/нет, касающиеся только одного аспекта: узнавания врет этот стражник и его напарник или нет.
И он узнал!
Как ему удалось?Чем-то эта задача пересекается с парадоксом лжеца.
Поэтому я о ней и вспомнила.
А ответ таков.
...У любого из стражников нужно спросить:
Если бы я спросил позавчера "ты лжешь?", ты бы ответил "да"? (Или, как вариант: "нет"? Но это сейчас трогать не будем: здесь всё абсолютно аналогично)
И тот и другой будут вынуждены дать "честный" ответ, то есть, их ответ будет соответствовать действительности, и не только на позавчерашний день, но и на сегодняшний.
Рассмотрим обе возможности.
1. Если мы спрашиваем честного стражника, то на наш вопрос мы получили бы ответ "нет". Так он ответил бы позавчера, так он отвечает и сейчас.
То есть, если у нас есть функция F, которая выдает значение истинности высказывания, содержащегося в вопросе, то имеем (обозначим такую функцию для первого стражника через F1):
F1(x) = x (какова истинность высказывания, таково и значение функции).
Применяя ее дважды (один раз к "позавчерашнему вопросу", другой раз к данному на него ответу), получим:
F1(F1(x)) = x
2. Если мы спрашиваем лживого стражника, мы имеем следующую картину.
Если бы мы задали позавчера ему тот же вопрос, мы получили бы лживый ответ. Т.е. на вопрос "ты лжешь?" он (как и честный стражник) ответил бы "нет"! Значит, теперь (когда мы спрашиваем про позавчерашний ответ), ему надо соврать нам еще раз и изменить свой тогдашний ответ на противоположный. Т.е. он ответит нам "да"! (По известному логическому закону — отрицание лжи есть правда).
Для этого стражника функция F уже имеет другой вид (обозначим ее через F2).
Если мы для любого значения истинности х обозначим противоположное ему значение как -х, получим:
F2(x) = -x
Зато применяя эту функцию дважды, мы получим совсем другую картину:
F2(F2(x)) = (вместо F2(x) подставим ее значение: -х) = F2(-x) = (вспомним, что каждое значение меняется на противоположное) = x
То есть:
F2(F2(x)) = x
И в первом и во втором случаях получили чистую правду!
)))
@темы:
Парадоксы,
Головоломки и занимательные задачи,
Amicus Plato
Вопрос: "Если я спрошу у второго стражника, всегда ли ты лжошь, то что он скажет?"
Спросив у честного - он подумает, и поймёт что второй зная что он честный, скажет да, и тебе скажет тот же ответ, то есть - ДА.
Спросив у лжеца - он подумает, и поймет что второй зная что он лжец, скажет да, но сказать тебе да он не сможет, так как пересказивать правду это правда, а он всегда врёт. по этому он скажет - НЕТ.
ну, я же не говорила, что мой ответ единственный )))
Это тоже верный ответ!
И заметь: принцип тот же самый: двойное применение некоторой функции, которая выдает значение истинности высказывания ))
Об этом как раз и речь была!