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