Логика для всех / Учебные материалы

 

Грустная история

о том, как один лицеист очень хотел подарить "валентинку" любимой девочке. Он так сильно спешил, что подбегая к крыльцу физфака подскользнулся и... упал (растянувшись рядом с машиной декана). Придя в себя, он никак не мог вспомнить, кому он хотел отправить "валентинку". В голове крутились имена: Таня, Лена, Аня, Катя и Марина. Но вспомнить нужно только одно.
Напрягая свою память так, что можно было услышать шелест извилин в голове, несчастному влюбленному удалось установить следующее.

  1. Если я люблю Таню, то я люблю Лену или Аню.
  2. Если я люблю Лену, то я люблю Аню и Катю.
  3. Если я люблю Аню или Катю, то я не люблю Марину.
  4. Если я не люблю Катю, то я люблю Таню и Марину.

Помогите, пожалуйста, найти ему свою любовь.

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

Итак, есть пять имен (Таня, Лена, Аня, Катя и Марина) и, соответственно, пять простых высказываний (Т, Л, А, К, М):

Представим условие задачи в символьном виде:

1. Если я люблю Таню, то я люблю Лену или Аню. T => (Л v A)
2. Если я люблю Лену, то я люблю Аню и Катю. Л => (A & K)
3. Если я люблю Аню или Катю, то я не люблю Марину. (A v K) => ~M
4. Если я не люблю Катю, то я люблю Таню и Марину. ~K => (T & M)

Построим для каждого условия таблицу истинности (в первой строке обозначена последовательность выполнения). Нет необходимости выписывать таблицы полностью (для трех входящих высказываний - 8 строчек, а для пяти - 32), достаточно рассмотреть случаи, когда ровно одно из высказываний истинно.

 2 1 
T=>ЛvA
10000
01110
01011
01000
 2 1 
Л=>A&K
10000
01100
01001
01000
 1 21 
AvK=>~M
110110
011110
000101
000110
1 2 1 
~K=>T&M
011000
100100
100001
100000

Легко заметить что в третьей таблице всегда получается истина (действительно, если "я люблю" кого-то из двух, то "я не могу любить" кого-то третьего :) ), то есть это условие практически никак не влияет на решение. А вот в четвертой таблице только один "истинный случай" (т.к. следствие импликации ложное (нельзя любить сразу двух), то импликация будет истинной, только когда основание тоже ложное (а основание представляет "~К"), т.е. когда истинно высказывание "К"). Сверяя этот случай с первой и второй таблицей, находим ответ: "Я люблю Катю".

Можно построить таблицу истинности для всех четырех условий сразу (ограничиваясь пятью строчками). Вот как это будет выглядеть (все условия объединяются посредством конъюнкции):

        2 1  3 2 1  3 1 2  3 2 1 
TЛAKM  (T=>ЛvA) &(Л=>A&K) &(AvK=>~M) &(~K=>T&M)
100001 10000 001000 000011 010100
010002 01110 010000 000011 010000
001003 01011 001100 011011 010000
000104 01000 101001 101111 101000
000015 01000 001000 000010 010001

В четвертой строке таблицы (K == 1) все условные высказывания истинные.

 

TopList

Сайт управляется системой uCoz