Текстовые логические задачи

Задача. Петя, Вася и Маша остались дома одни. Кто-то из них ел варенье. На вопрос мамы, кто это сделал, они сказали:
а) Петя: "Я не ел. Маша тоже не ела."
б) Вася: "Маша действительно не ела. Это сделал Петя"
в) Маша: "Вася врет. Это он съел."

Выясните, кто ел варенье, если известно, что двое из них оба раза сказали правду, а третий один раз соврал, а один раз сказал правду.
Решение:
Обозначим за П значение утверждения "Петя ел", за В - значение утверждения "Вася ел", а за М значение утверждения "Маша ела".
Первое Петино высказывание: "Я не ел". Значение этого высказывания противоположно П. Действительно, если П равно 1, то Петя ел варенье, тогда первое Петино утверждение неверно; если же П равно 0, то Петя не ел варенье, значит, Петя сказал правду.
Таким образом, значение первого Петиного высказывания равно
Аналогичными рассуждениями можно показать, что значения второго Петиного высказывания и первого Васиного высказывания равны , второго Васиного высказывания равно П, второго Машиного высказывания равно В.
Осталось оценить первое утверждение Маши: "Вася врет". Оно означает, что Васино высказывание неверно, то есть что выражение (П) ложно. Получается, что значение первого Машиного утверждения равно значению выражения
Составим таблицу истинности для высказываний всех детей:

Петя ел ел Вася ел Маша ела Петины утверж
Вас утверины
Машины утвержд.
П В М


П
В
0 0 0 1 1 1 0 1 0
0 0 1 1 0 0 0 1 0
0 1 0 1 1 1 0 1 1
0 1 1 1 0 0 0 1 1
1 0 0 0 1 1 1 0 0
1 0 1 0 0 0 1 1 0
1 1 0 0 1 1 1 0 1
1 1 1 0 0 0 1 1 1

Нас интересуют те варианты значений П, В и М, при которых два ребенка сказали правду, а третий - один раз соврал, а один раз сказал правду. Такие варианты соответствуют тем строкам таблицы, которые имеют пять единиц и один ноль в шести последних колонках.

 

Таких строк в таблице только одна (третья), соответствующая значениям П = 0, В = 1, М == 0.
За П мы обозначили значение утверждения "Петя ел". П = 0 означает, что это утверждение ложно, то есть Петя не ел варенье.
В = 1 означает, что утверждение "Вася ел" истинно, то есть Вася ел варенье.
М = О означает, что утверждение "Mania ела" ложно, то есть Маша не ела варенье.
Получается, что условие задачи (2 ребенка сказали правду, а третий один раз соврал) выполняется только для ситуации, в которой Петя и Маша не ели варенье, а Вася ел.
Ответ. Варенье ел Вася, так как только при одном (третьем) варианте возможных значений ответ двоих - 1 и 1, а ответ одного - 0 и 1.

Другие записи

10.06.2016. Преобразование логических выражений
В задачах на преобразование логических выражений требуется привести выражение либо к дизъюнктивной нормальной форме, либо к конъюнктивной нормальной форме. Дизъюнктивная нормальная форма выражения f(x1,X2...,Xn)- это…
10.06.2016. Построение функции по таблице истинности
В задаче дается таблица истинности некоторой функции. Требуется найти эту функцию. Самый простой способ нахождения функции - построение дизъюнктивной нормальной формы (ДНФ) этой функции. Каждой комбинации…