Решение логических задач средствами алгебры логики

Обычно используется следующая схема решения:
  • изучается условие задачи;
  • вводится система обозначений для логических высказываний;
  • конструируется логическая формула, описывающая логические связи между всеми высказываниями условия задачи;
  • определяются значения истинности этой логической формулы;
  • из полученных значений истинности формулы определяются значения истинности введённых логических высказываний, на основании которых делается заключение о решении.
Задача.
Три свидетеля дорожного происшествия сообщили сведения о скрывшемся нарушителе. Боб утверждает, что тот был на красном «Рено», Джон сказал, что нарушитель уехал на синей «Тойоте», а Сэм показал, что машина была точно не красная, и по всей видимости, это был «Форд».
Когда удалось отыскать машину, выяснилось, что каждый из свидетелей точно определил только один из параметров автомобиля. А в другом ошибся, какая и какого цвета была машина у нарушителя?
Ответ записать в виде двух слов, разделенных пробелом: МАРКА, ЦВЕТ.
Решение.
Обозначим высказывания:
A = «машина красного цвета»;
B = «машина была «Рено»;
C = «машина синего цвета»;
D = «машина была «Тойота»;
E = «машина была «Форд».
Согласно условию:
из показаний Боба следует, что A \/ B истинно;
из показаний Джона следует, что C \/ D истинно;
из показаний Сэма следует, что ¬A \/ E истинно.
Следовательно, истинна конъюнкция (A \/ B) /\ (C \/ D) /\ (¬A \/ E) = 1
Раскрывая скобки, получаем:
(A \/ B) /\ (C \/ D) /\ (¬A \/ E) = (A /\ C \/ A /\ D \/ B /\ C \/ B /\ D) /\ ( ¬A \/ E) =
A /\ C /\ ¬A \/ A /\ D /\ ¬A \/ B /\ C /\ ¬A \/ B /\ D /\ ¬A \/ A /\ C /\ E \/ A /\ D /\ E \/ B /\ C /\ E \/ B /\ D /\ E = 1.
Из полученных восьми слагаемых семь (согласно условию) являются ложными. Остается единственное истинное слагаемое:
B /\ C /\ ¬A = 1.
Значит, нарушитель скрылся на автомобиле «Рено» синего цвета.
Ответ: РЕНО, СИНИЙ.


Пример.

Трое друзей, болельщиков автогонок "Формула-1", спорили о результатах предстоящего этапа гонок.
— Вот увидишь, Шумахер не придет первым, — сказал Джон. Первым будет Хилл.
— Да нет же, победителем будет, как всегда, Шумахер, — воскликнул Ник. — А об Алези и говорить нечего, ему не быть первым.
Питер, к которому обратился Ник, возмутился:
— Хиллу не видать первого места, а вот Алези пилотирует самую мощную машину.
По завершении этапа гонок оказалось, что каждое из двух предположений двоих друзей подтвердилось, а оба предположения третьего из друзей оказались неверны. Кто выиграл этап гонки?

Решение.




Введем обозначения для логических высказываний:
Ш — победит Шумахер;
Х — победит Хилл;
А — победит Алези.
Реплика Ника "Алези пилотирует самую мощную машину" не содержит никакого утверждения о месте, которое займёт этот гонщик, поэтому в дальнейших рассуждениях не учитывается.
Зафиксируем высказывания каждого из друзей:

Учитывая то, что предположения двух друзей подтвердились, а предположения третьего неверны, запишем и упростим истинное высказывание

Высказывание истинно только при Ш=1, А=0, Х=0.

Ответ.

Победителем этапа гонок стал Шумахер.



Задача для самопроверки:
На перемене в кабинете биологии 8 ребят баловались и разбили дорогой микроскоп. Их всех вызвали к директору и выслушали:
Ира: Это Антон разбил.
Наташа: Нет, Антон не бил!
Сергей: А я тоже знаю, что это Наташа разбила!
Антон: Нет, ни Наташа, ни Сергей этого не делали!
Оля: А я видела, что разбил Сергей!
Максим: Это кто-то чужой!
Костя: Это либо Наташа, либо Сергей – больше некому!
Кто разбил микроскоп, если известно, что из этих восьми высказываний истинны только два?
Ответ записать в виде первой буквы имени.
 

Комментариев нет:

Отправить комментарий