Логика для всех / Учебные материалы
Грустная история
о том, как один лицеист очень хотел подарить "валентинку" любимой девочке. Он так сильно спешил, что подбегая к крыльцу физфака подскользнулся и... упал (растянувшись рядом с машиной декана). Придя в себя, он никак не мог вспомнить, кому он хотел отправить "валентинку". В голове крутились имена: Таня, Лена, Аня, Катя и Марина. Но вспомнить нужно только одно.
Помогите, пожалуйста, найти ему свою любовь. |
(представленное ниже решение не является оптимальным,
оно приведено в качестве поучительного разбора).
Итак, есть пять имен (Таня, Лена, Аня, Катя и Марина) и, соответственно, пять простых высказываний (Т, Л, А, К, М):
- Т - "я люблю Таню"
- Л - "я люблю Лену"
- А - "я люблю Аню"
- К - "я люблю Катю"
- М - "я люблю Марину"
Представим условие задачи в символьном виде:
1. | Если я люблю Таню, то я люблю Лену или Аню. | T => (Л v A) |
2. | Если я люблю Лену, то я люблю Аню и Катю. | Л => (A & K) |
3. | Если я люблю Аню или Катю, то я не люблю Марину. | (A v K) => ~M |
4. | Если я не люблю Катю, то я люблю Таню и Марину. | ~K => (T & M) |
Построим для каждого условия таблицу истинности (в первой строке обозначена последовательность выполнения). Нет необходимости выписывать таблицы полностью (для трех входящих высказываний - 8 строчек, а для пяти - 32), достаточно рассмотреть случаи, когда ровно одно из высказываний истинно.
|
|
|
|
Легко заметить что в третьей таблице всегда получается истина (действительно, если "я люблю" кого-то из двух, то "я не могу любить" кого-то третьего :) ), то есть это условие практически никак не влияет на решение. А вот в четвертой таблице только один "истинный случай" (т.к. следствие импликации ложное (нельзя любить сразу двух), то импликация будет истинной, только когда основание тоже ложное (а основание представляет "~К"), т.е. когда истинно высказывание "К"). Сверяя этот случай с первой и второй таблицей, находим ответ: "Я люблю Катю".
Можно построить таблицу истинности для всех четырех условий сразу (ограничиваясь пятью строчками). Вот как это будет выглядеть (все условия объединяются посредством конъюнкции):
2 | 1 | 3 | 2 | 1 | 3 | 1 | 2 | 3 | 2 | 1 | ||||||||||||||||||
T | Л | A | K | M | (T | => | Л | v | A) | & | (Л | => | A | & | K) | & | (A | v | K | => | ~M) | & | (~K | => | T | & | M) | |
1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 |
0 | 1 | 0 | 0 | 0 | 2 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 3 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 4 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 1 | 5 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
В четвертой строке таблицы (K == 1) все условные высказывания истинные.