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

 

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

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

  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