Вы здесь

Задача об островитянах (по главе 3)

5 сообщений / 0 новое
Последнее сообщение
Аватар пользователя Мария Перминова
Мария Перминова
ТУСУР
Не в сети
Задача об островитянах (по главе 3)

Перед нами три островитянина: α, β и γ. Двое из них высказывают следующие утверждения:

  • α сказал: «Мы все лжецы»;
  • β сказал: «Один из нас рыцарь»;

Кто из них рыцарь, а кто лжец?

Аватар пользователя MOSFET
MOSFET
Не в сети

Допустим, α - рыцарь. Тогда его высказывание - истина и все трое лжецы - в том числе и он. Получили противоречие, поэтому α может быть только лжецом. Тогда из его высказывания следует, что хотя бы один из β и γ рыцарь. Возможны такие варианты:

1. β - рыцарь, γ - лжец
2. β - лжец, γ - рыцарь
3. β - рыцарь, γ - рыцарь

Пусть β - рыцарь, тогда это варианты 1 и 3. Его высказывание истинно и остается вариант 1. Это решение согласуется с условием.
Допустим теперь β - лжец, тогда это вариант 2. В этом случае его высказывание ложно и оно соответствует варианту 3. Это опять противоречие.
Вывод: задача имеет единственное решение: α - лжец, β - рыцарь, γ - лжец.

Аватар пользователя MOSFET
MOSFET
Не в сети

Можно решить задачу с помощью таблицы истинности. Обозначим:
X1, X2, X3 - островитяне α, β и γ являются рыцарями, соответственно.
A - высказывание жителя α,
B - высказывание жителя β.

Составим таблицу истинности для всех комбинаций X1, X2 и X3. Вычислим истинность высказываний A, B и их отрицаний
(для наглядности 0 = Л, 1 = И):

X1, X2, X3:     A, !A, B, !B
--------------------------------------
0, 0, 0:     1, (0), 0, (1)
0, 0, 1:     0, (1), 1, (0)
0, 1, 0:     0, (1), (1), 0   (+)
0, 1, 1:     0, (1), (0), 1
1, 0, 0:     (0), 1, 1, (0)
1, 0, 1:     (0), 1, 0, (1)
1, 1, 0:     (0), 1, (0), 1
1, 1, 1:     (0), 1, (0), 1

Так как в зависимости от значений переменных X1, X2, X3 следует брать значение либо исходного высказывания, либо его отрицания (жители могут говорить правду либо лгать), нужные результаты заключены в скобки. Например, для комбинаций, где α - рыцарь, отмечаем высказывание A, а где он лжец, то !A. Аналогично с высказыванием B.
Теперь находим все строки, где оба значения в скобках равны 1 (истина). Такая строка во всей таблице только одна (третья), ей соответствует X1, X2, X3 = 0, 1, 0, т.е. задача имеет единственное решение - α - лжец, β - рыцарь, γ - лжец.

Аватар пользователя Linzmen
Linzmen
Не в сети

Я решал задачу так:
α(альфа) сказал: «Мы все лжецы»;  Отсюда следует что альфа - лжец. В противное не возможно по определению того, что рыцари всегда говорят правду.

Остаётся разобрать пару β(бетта) и γ(гамма)
β сказал: «Один из нас рыцарь»
Если бетта сказал ложь, тогда получаем что все - альфа, бетта и гамма, - лжецы. Но мы знаем что как минимум альфа лжец, значит бетта сказав ложь говорит правду, что является противоречием. Остаётся вариант что бетта сказал правду. Следовательно получаем что бетта рыцарь, гамма лжец.

 

Аватар пользователя MOSFET
MOSFET
Не в сети

> Если бетта сказал ложь, тогда получаем что все - альфа, бетта и гамма, - лжецы.

Не только. Отрицанию выражения "Один из нас рыцарь" также соответствуют случаи "Двое из нас рыцари" (в трех вариантах) и "Все трое рыцари". Всего пять случаев.