Логика. Рыцари и лжецы.
1. Логика. Правдивые и ложные утверждения.
Логика — это раздел математики, который изучает различные утверждения и связи между ними.
Утверждение — это предложение, в котором что-то утверждается.
Например:
«Сейчас осень» — это утверждение
«Выходи гулять» — не утверждение.
«Сколько тебе лет?» — не утверждение.
Если в утверждении говорится правда, то оно называется правдивым или истинным. Если в утверждении говорится неправда, то оно называется ложным.
Например:
«Ни один слон не умеет летать» — это правдивое утверждение.
«Все пингвины разговаривают по-английски» — это ложное утверждение.
Некоторые утверждения всегда ложны или всегда истинны.
Например, эти утверждения всегда ложные:
«Земля имеет форму куба».
«Все тигры — рогатые».
А эти утверждения всегда истинные:
«Дважды два — четыре».
«У некоторых животных есть копыта».
Некоторые утверждения могут быть истинными или ложными в зависимости от обстоятельств, в которых они сказаны.
Например:
«Меня зовут Петя» — истинное утверждение, если его сказал Петя, и ложное, если его сказал не Петя.
«Сейчас зима» — истинное утверждение, если оно сказано зимой, и ложное, если оно сказано не зимой.
При решении логических задач нужно уметь делать логические выводы, то есть на основе утверждений задачи формулировать другие правдивые утверждения.
Задача 1.
Как известно, когда Пиноккио врет, его нос удлиняется.
Однажды Пиноккио сказал: «Сегодня будний день или суббота», и его нос немедленно вырос.
Какой на самом деле был день недели?
Решение.
Поскольку нос Пиноккио вырос, то он соврал.
Значит, «Сегодня будний день или суббота» — ложное утверждение, оно говорит неправду.
Значит, этот день был не будний и не суббота. Поскольку день не будний, то это выходной: суббота или воскресенье. Но поскольку этот день — не суббота, то остается только один вариант — воскресенье.
Ответ: воскресенье.
2. Рыцари и лжецы.
В задачах этой темы действие происходит на вымышленном острове, где живут два племени людей: рыцари и лжецы. Рыцари всегда говорят только правду и никогда не могут солгать. А лжецы, наоборот, всегда говорят только ложь и никогда не могут сказать правду, даже если им это выгодно.
Если жителя острова спросят, кто он, что ответит рыцарь?
Рыцарь ответит: «Я — рыцарь!», так как рыцари всегда говорят только правду.
А что ответит лжец? Это удивительно, но он тоже скажет: «Я — рыцарь!», так как всегда лжет.
На самом деле, рыцари и лжецы выглядят как обычные люди, рыцари не носят доспехи, а лжецы могут и не краснеть, когда лгут.
Поэтому по внешнему виду определить, кто рыцарь, а кто лжец, невозможно.
Упражнение 1.
Может ли житель острова сказать «Я — лжец»?
Решение.
Рыцарь не может сказать, что он лжец, потому что это неправда, а он никогда не лжет.
Но если это скажет лжец, это будет правдой, а лжец никогда не говорит правду, поэтому он тоже не может так сказать.
Значит, никакой житель острова не может сказать «Я — лжец».
Ответ: нет, не может.
Упражнение 2.
А как можно узнать, кто перед вами: рыцарь или лжец?
Решение.
Поскольку по внешнему виду рыцаря и лжеца определить невозможно, то нужно сделать так, чтобы житель острова сказал какое-нибудь утверждение.
Например, можно задать жителю вопрос.
Если он ответит правду, то он рыцарь, если соврёт, то он лжец.
Но для этого мы должны знать правдивый ответ на свой вопрос, чтобы суметь сравнить его с ответом жителя.
Например, если жителя спросить «Что ты ел сегодня на завтрак?», то любой ответ может быть как правдивым, так и ложным. Если мы не знаем точно, чем завтракал житель, то и не сможем определить, правду он сказал или ложь.
Бесполезными окажутся и вопросы «Ты рыцарь?» или «Ты лжец?». Как мы уже выяснили, и рыцарь, и лжец на первый вопрос ответят «Да», на второй — «Нет». По ответу мы мне сможем определить, кто перед нами.
А если спросить: «Сколько будет 2+2?», то по ответу жителя легко определить, рыцарь он или лжец. Если житель скажет «Четыре», то он рыцарь, в любом другом случае — лжец.
Ответ: попросить ответить на вопрос, на который точно известен правильный ответ.
Задача 2.
Встретились двое жителей острова. Первый из них сказал: «Мы с тобой оба рыцари». Второй ответил: «Хотя бы один из нас — лжец». Кто из них кто на самом деле?
Решение.
Эту задачу, как и большинство задачи про рыцарей и лжецов, можно решать двумя способами. Рассмотрим их.
1 способ — предположения и рассуждения.
Если первый житель — это рыцарь, то он говорит правду, и тогда второй тоже рыцарь. Но тогда утверждение второго жителя — ложь, а рыцарь лгать не может. Получили противоречие. Значит, первый житель — не рыцарь.
Если первый житель лжец, то утверждение второго — правда. Значит, второй — рыцарь. Заметим, что утверждение первого в этом случае ложно, так как они не оба являются рыцарями. Противоречия нет.
Мы сделали предположения для первого жителя (рыцарь он или лжец), в первом случае получили противоречие, во втором противоречия нет. Значит, единственное решение задачи — первый лжец, второй рыцарь.
2 способ — перебор вариантов пар жителей.
Для двух жителей острова возможны такие варианты:
- оба рыцари,
- оба лжецы,
- первый рыцарь, второй лжец,
- первый лжец, второй рыцарь.
Проверим, будут ли соответствовать утверждения жителей этим вариантам:
- Если оба рыцари, то первый говорит правду, второй лжёт, а должны оба говорить правду. Значит, этот вариант не является решением.
- Если оба лжецы, то первый лжёт, второй говорит правду, а должны оба лгать. Значит, этот вариант не является решением.
- Если первый рыцарь, второй лжец, то первый лжёт, второй говорит правду, а должны наоборот. Значит, этот вариант не является решением.
- Если первый лжец, второй рыцарь, то первый лжёт, второй говорит правду, то есть высказывания жителей соответствуют этому варианту. Это и будет решением задачи.
Второй способ решения в этом случае более громоздкий, но в ряд случаев его применять удобнее, чем первый способ.
Ответ: первый — лжец, второй — рыцарь.
Иногда в задачах про рыцарей и лжецов участвуют шпионы или хитрецы — люди, которые могут говорить как правду, так и ложь, в зависимости от ситуации.
Это существенно усложняет задачу.
Задача 3.
Встретились шпион и рыцарь. Один из них сказал другому: «Ты — рыцарь». А второй промолчал. Кто из них рыцарь, а кто шпион?
Решение.
Предположим, что первый — рыцарь. Тогда он сказал правду и они оба рыцари, а это противоречит условию.
Значит, первый шпион, а рыцарь — второй. Таким образом, шпион в этой задаче сказал правду.
Ответ: первый — шпион, второй — рыцарь.