Логические игры

         

Мы не знаем, что ответили


49. Еще более интересный случай.

   Мы не знаем, что ответили A и B, поэтому нам необходимо рассмотреть четыре возможных случая: 1) A и B оба сказали "да":
2) A сказал "нет", B сказал "да";
3) A сказал "да", B сказал "нет";
4) A и B оба сказали "нет".
   Все эти четыре случая встретятся нам и в следующих двух задачах, поэтому мы тщательно проанализируем их сейчас.

   Случай 1:


   Случай 1:

A и B оба сказали "да". Так как A утверждает, что он шпион, то A либо лжец, либо шпион (рыцарь не станет называть себя шпионом). Если A лжец, то он солгал и в том случае, когда утверждал., что занимается шпионажем. Следовательно, B солгал, утверждая, что A сказал правду. Значит, B не рыцарь, а поскольку A лжец, то B шпион, и, наконец, C должен быть рыцарем. Таким образом, если A лжец, то B шпион, а C рыцарь.
   Предположим теперь, что A шпион. Тогда он сказал правду, поэтому B, утверждая, что A сказал правду, не погрешил против истины. Следовательно, B должен быть рыцарем. Но тогда C может быть только рыцарем. Таким образом, если A лжец, то B шпион, а C рыцарь. Запишем оба возможных варианта (1а и 1б) случая 1 в следующем виде:


  A B C
Рыцарь Шпион Рыцарь
Шпион Рыцарь Лжец

Случай 2:


Случай 2:

A сказал "нет", B сказал "да". Так как A отрицает, что он шпион, то A либо рыцарь, либо шпион (лжец солгал бы и сказал бы о себе, что он шпион). Если A рыцарь, то он сказал правду. Значит, B также сказал правду, когда заявил, что A сказал правду, поэтому B не может быть лжецом.
   Следовательно, B должен быть шпионом. Но тогда C может быть только лжецом.
   Если A шпион, то он солгал. Следовательно, B также солгал, когда утверждал, что A сказал правду. Значит, B лжец, и тогда C может быть только рыцарем. Оба возможных варианта случая 2 (2а и 2б) запишем в следующем виде:
  A B C
Рыцарь Шпион Лжец
Шпион Лжец Рыцарь

Случай 3:


Случай 3:

A сказал "да", B сказал "нет". Так как A утверждает о себе, что он шпион, то (как и в случае 1) A должен быть лжецом или шпионом. Если A лжец, то он солгал, но тогда B сказал правду. Значит, либо B рыцарь (и C шпион), либо B шпион (и C  рыцарь). Если A шпион, то он сказал правду, но тогда B солгал. Значит, B лжец и C рыцарь. Таким образом, в случае 3 возможны три варианта:
  A B C
Лжец Рыцарь Шпион
Лжец Шпион Рыцарь
Шпион Лжец Рыцарь

Случай 4:


Случай 4:

A и B оба сказали "нет". Так как A  отрицает, что он шпион, то (как в случае 2) A либо рыцарь, либо шпион. Предположим, что A рыцарь. Тогда A сказал правду, а B солгал. Следовательно, B лжец (а C шпион) или B шпион (а C лжец).  Предположим, что A шпион. Тогда он сказал правду. Значит, B также сказал правду, поэтому B рыцарь (а C лжец). Таким образом, в случае 4 возможны три варианта (как и в случае 3):
  A B C
Рыцарь Лжец Шпион
Рыцарь Шпион Лжец
Шпион Рыцарь Лжец
  Для удобства сведем все четыре случая в одну таблицу.
  A B C
Рыцарь Шпион Рыцарь
Шпион Рыцарь Лжец
       
Рыцарь Шпион Лжец
Шпион Лжец Рыцарь
       
Лжец Рыцарь Шпион
Лжец Шпион Рыцарь
Шпион Лжец Рыцарь
       
Рыцарь Лжец Шпион
Рыцарь Шпион Лжец
Шпион Рыцарь Лжец

   Обратимся снова к условиям задачи. После того как A и B ответили на вопросы судьи, тот сумел установить, что C не шпион. В случае 3 судья не мог бы установить, шпион ли C или рыцарь. В случае 4 судья не смог бы установить, шпион ли C или лжец. Но судья со всей определенностью заявил, что C не шпион. Значит, случаи 3 и 4 отпадают и остается либо случай 1, либо случай 2.
   Когда судья утверждает, что C не шпион, ему известно, что A сказал правду. Тем самым судье известно, что A либо рыцарь, либо шпион. В случае 2 судья не смог бы определить, рыцарь ли A или шпион, и установить, кто шпион. Таким образом, остается только случай 1: судья знал, что A не мог быть лжецом (так как A сказал правду). Следовательно, A должен был быть шпионом.