Понятие логической задачи можно описать разными способами. Но чаще всего это та задача, которая решается методом математической логики. Поэтому для того, чтобы приступить к теме логических задач, необходим набор определений, которые более подробно будут рассмотрены в тематических материалах. Для работы над задачами нам необходимы следующие понятия:
Алгебра логики - раздел математики, изучающий логические операции и отношения между высказываниями. Основывается на законах логики и представляет высказывания и их связи в виде алгебраических структур, таких как булевы функции и логические выражения. Используется для анализа и упрощения логических задач, а также в цифровой технике и программировании.
Высказывание - это утверждение, которое может быть либо истинным, либо ложным, но не одновременно обоими. Например, «2 + 2 = 4» является истинным высказыванием, а «2 + 2 = 5» — ложным. В логике высказывания обозначаются символами и используются как основа для построения сложных выражений.
Конъюнкция (логическое сложение) - логическая операция, которая объединяет два или более высказываний с помощью союза «и». Результат конъюнкции будет истинным, только если все входящие в неё высказывания истинны. Например:
Высказывания: «Идет дождь» (истина) и «Дует ветер» (ложь).
Конъюнкция: «Идет дождь и дует ветер» (ложь).
Обозначить логическое сложение можно при помощи \/ или +. Можно дополнить пример таблицей истинности для высказывания.
Дизъюнкция (логическое умножение) - операция, которая объединяет два или более высказываний с помощью союза «и». Результат конъюнкции будет истинным, только если все входящие в неё высказывания истинны. Например:
Высказывания: «Идет дождь» (истина) и «Дует ветер» (ложь).
Конъюнкция: «Идет дождь и дует ветер» (ложь).
Обозначить умножение можно, как /\ или *. У логического умножения имеется своя таблица истинности.
Отрицание - логическая операция, которая изменяет значение высказывания на противоположное. Если высказывание истинно, его отрицание будет ложным, и наоборот. Например:
Высказывание: «Сегодня тепло» (истина).
Отрицание: «Сегодня не тепло» (ложь).
Его можно обозначить в записи как «-»
При помощи правил алгебры логики задачи можно записывать в виде набора высказываний, между которыми применяются различные логические операции, способные привести выражение к единственно верному ответу.
Для лучшего понимания стоит рассмотреть простой пример с погодой.
На улице можно наблюдать три явления:
Идет дождь (обозначим как A).
Светит солнце (обозначим как B).
Дует ветер (обозначим как C).
Известно:
A * C — истина (дождь идет и дует ветер).
-B — истина (солнце не светит).
A+B+C — истина (идет дождь, или светит солнце, или дует ветер).
Является ли истиной утверждение B * C (светит солнце и дует ветер)?
Является ли ложным утверждение -C + А (ветра нет или идет дождь)?
Каково общее состояние погоды?
Попробуем разобраться с выражениями и ответить по очереди на вопросы задачи, учитывая факты, указанные в самой задаче, игнорируя погоду в реальной жизни. Ответим на первый вопрос.
Если А * С – истинное выражение, то, согласно правилам дизъюнкции, истинность конечного выражения зависит от истинности составных выражений. То есть, если A * C – истина, тогда А – истина, и С – тоже истина. При этом известно, что -В – тоже истина. В этом случае дополнительным отрицанием получаем, что ложным будет выражение В. Если мы хотим узнать результат выражение В * С, то мы используем операцию логического умножения на ЛОЖЬ (В) и ИСТИНУ (С), то есть мы по всем правилам дизъюнкции получаем ЛОЖЬ.
Рассматривая второе утверждение -С + А, стоит вспомнить, что выражение будет истинным, если истинно хотя бы одно из составляющих высказываний. Доказав, что истинно А или истинно -С, мы докажем истинность выражения -С + А. Но нам требуется доказать ложность высказывания. Поэтому нам необходимо, согласно законам логики, доказать ложность каждого из высказываний. Попробуем доказать ложность выражения -С. Это просто – вернемся к поиску ответа на первый вопрос, где мы доказали, что С – истинно. Следовательно, -С будет ложно. Теперь нам надо доказать, выражение А – также ложно. Но из пункта 1 мы помним, что А – истинно. Это означает, что выражение -С + А будет истинным. То есть, нет ветра либо идет дождь.
Чтобы ответить на третий вопрос, необходимо составить верное логическое выражение. Его не потребуется упрощать или преобразовывать. Имея три факта: про солнце, про ветер и про дождь – составляем выражение с дизъюнкцией. Составив его с конъюнкцией, мы будем отвечать на совсем иной вопрос. Состояние погоды не может быть двойственным, поэтому однозначно используется дизъюнкция. Для решения возьмем выражение, которое рассматривалось уже дважды: А * С. К нему следует добавить еще один известный факт: -В. Получим -В * А * С. Записав состояние погоды в виде выражения, теперь можно расшифровать его словами. Получили: солнце не светит (-В), идет дождь (А) и дует ветер (С).
Мы ответили на три вопроса поставленной задачи. Она действительно несложная, но подход с построением выражений может показаться трудоемким. Имеются и иной способ решения логических задач. В рамках подготовки к экзаменам стоит решать задания к ЕГЭ несколькими способами. Это поможет проверить правильность решения.
Подготовка к ЕГЭ обязательно включает логические задачи и в более сложных версиях. Для этого предлагаю в качестве домашнего задания решить некоторые логические задачи самостоятельно.
В электрической цепи три компонента:
Лампа работает (обозначим как A).
Выключатель включен (обозначим как B).
Провод не поврежден (обозначим как C).
Известно:
Лампа работает, только если выключатель включен и провод не поврежден (A <-> B/\C).
Выключатель включен (B — истина).
Провод поврежден (-C — истина).
Вопросы:
Работает ли лампа (A)?
Является ли истиной утверждение A \/ -B (лампа работает или выключатель выключен)?
Какое условие необходимо изменить, чтобы лампа заработала?
Студент решает тест, состоящий из трех задач:
Первая задача решена правильно (обозначим как A).
Вторая задача решена правильно (обозначим как B).
Третья задача решена правильно (обозначим как C).
Известно:
Чтобы сдать тест, студент должен решить хотя бы две задачи (A/\B) \/ (A/\C) \/ (B/\C)
Студент решил первую задачу правильно (A — истина).
Студент не решил вторую задачу (-B— истина).
Вопросы:
Сдал ли студент тест, если он решил третью задачу (C)?
Является ли ложным утверждение A\/B\/C (студент решил хотя бы одну задачу)?
Какой минимальный набор задач студенту нужно решить, чтобы сдать тест?
В здании установлены три датчика:
Датчик движения в коридоре (обозначим как A).
Датчик открытия двери (обозначим как B).
Датчик разбития стекла (обозначим как C).
Известно:
Сработала тревога (T), если сработал хотя бы один из датчиков (T <-> A\/B\/C).
Датчик движения не сработал (-A).
Датчик двери сработал (B).
Датчик разбития стекла не сработал (-C).
Вопросы:
Сработала ли охранная система (T)?
Является ли истиной утверждение -B /\ C (датчик двери не сработал, но сработал датчик стекла)?
Можно ли утверждать, что тревога была вызвана только одним датчиком?