Форум студентов МТИ

Форум студентов МТИ (http://mti.prioz.ru/index.php)
-   Общение (http://mti.prioz.ru/forumdisplay.php?f=4)
-   -   Логическая задача. (http://mti.prioz.ru/showthread.php?t=1535)

Stavyr 21.06.2015 19:24

Логическая задача.
 
Ребята, помогите, пожалуйста, решить задачу при помощи алгебры логики:

На острове, на котором жили два племени: аборигены (всегда говорят правду) и пришельцы (всегда врут) произошла кража. Под подозрение попали двое.

1-ый подозреваемый (А) утверждает, что вор - пришелец.
2-ый подозреваемый (В) утверждает, что он не вор.

НУжно найти вора. Подскажите пожалуйста, как правильно составить логические высказывания.
Спасибо.

МихаилТарасов 24.02.2016 20:47

Определим аборигенов за множество X, пришельцев - Y.
Заметим, что объединение X и Y составляет все население острова XY. Это значит, что в логических высказываниях одно из множеств можно заменить отрицанием другого.
1) A принадлежит X => A говорит правду
2) A не принадлежит X => A не говорит правду
и
3) В принадлежит X => В говорит правду
4) В не принадлежит X => В не говорит правду

Заметим, что
(1) & (2) => false
(3) & (4) => false
из-за противоречия - существо может быть либо аборигеном, либо пришельцем, но никак одновременно.

Точно также запишем и показания подозреваемых. В обоих случаях показание может быть либо истинным, либо ложным.
5) (1) => вор - пришелец
6) (2) => вор - абориген

7) (3) => В - не вор
8) (4) => В - вор

Из-за противоречия, приведенного выше
(5) & (6) => false
(7) & (8) => false

Получается, только два условия из пары могут быть истинны одновременно
((5) & (7)) || ((5) & (8)) || ((6) & (7)) || ((6) & (8)) => true

Рассмотрим каждый компонент отдельно -
((5) & (7))
((A принадлежит X => A говорит правду) => вор - пришелец) & ((В принадлежит X => В говорит правду) => В - не вор) => true
Противоречие - А абориген, говорит правду, что вор - пришелец. Но В тоже абориген.

((5) & (8))
((A принадлежит X => A говорит правду) => вор - пришелец) & ((В не принадлежит X => В не говорит правду) => В - вор) => true
А абориген, говорит правду, что вор - пришелец. В пришелец, говорит неправду, что он не вор. Противоречия нет, вор пришелец В.

Но проверим еще две последних версии
((6) & (7))
((A не принадлежит X => A не говорит правду) => вор - абориген) & ((В принадлежит X => В говорит правду) => В - не вор) => true
А пришелец, говорит неправду, что вор - пришелец. В абориген, говорит правду, что он не вор. Противоречие - вор абориген, но в то же время абориген говорит правду, что он не вор.

((6) & (8))
((A не принадлежит X => A не говорит правду) => вор - абориген) & ((В не принадлежит X => В не говорит правду) => В - вор) => true
А пришелец, говорит неправду, что вор - пришелец. Противоречие - В тоже пришелец. Аборигены вне подозрения.

Получается, что только условия ((5) & (8)) истинны.
((5) & (7)) || ((5) & (8)) || ((6) & (7)) || ((6) & (8)) => true
false || true || false || true => true

Вор - пришелец В.

LadaJkl 17.05.2016 02:00

Как классно!

Marinkina 19.05.2016 03:38

Занятно.


Текущее время: 00:38. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot