1. Введение в логику: высказывания и базовые операции (инверсия, конъюнкция, дизъюнкция)
Введение в логику: высказывания и базовые операции (инверсия, конъюнкция, дизъюнкция)
Добро пожаловать в курс «Основы алгебры логики и логические операции». Мы начинаем наше путешествие с фундамента, на котором строится вся современная вычислительная техника, программирование и значительная часть математических рассуждений. Этот фундамент — алгебра логики.
Многие считают, что логика — это просто умение здраво рассуждать. Однако в математике и информатике логика — это строгая наука со своими законами, формулами и операциями. В этой статье мы разберем, что такое логическое высказывание, как превратить человеческую речь в математические символы и как работают три главных «кита» логики: инверсия, конъюнкция и дизъюнкция.
Что такое алгебра логики?
Алгебра логики (или булева алгебра, названная в честь математика Джорджа Буля) — это раздел математики, который изучает высказывания и операции над ними. В отличие от обычной алгебры, где мы работаем с числами (1, 5, 100, 3.14), в алгебре логики мы работаем со значениями истинности.
В классической логике существует всего два возможных значения:
Это двоичная система, которая идеально подходит для компьютеров, где — это наличие электрического сигнала, а — его отсутствие.
Понятие высказывания
Прежде чем производить вычисления, нам нужно понять, над чем мы будем их производить. Основным объектом алгебры логики является высказывание.
> Высказывание — это повествовательное предложение, о котором можно однозначно сказать, истинно оно или ложно.
Давайте разберем это на примерах, чтобы почувствовать разницу.
Примеры высказываний: «Москва — столица России».* (Это высказывание, его значение — Истина или ). «В сутках 30 часов».* (Это тоже высказывание, хотя оно и неверное. Его значение — Ложь или ). «Число 5 больше числа 3».* (Высказывание, значение — ).
Примеры предложений, не являющихся высказываниями: «Который час?»* (Это вопрос, он не может быть истинным или ложным). «Сделайте домашнее задание!»* (Это побуждение/приказ). «x + 5 = 10».* (Это не высказывание, пока мы не знаем, чему равен . Если , то это истина, если — ложь. Такие конструкции называют предикатами, но о них мы поговорим позже).
В алгебре логики простые высказывания обычно обозначают заглавными латинскими буквами: и так далее.
Например: * «На улице идет дождь». * «Я взял зонт».
Теперь, имея эти «кирпичики», мы можем строить из них сложные конструкции с помощью логических операций.
!Визуальное представление базовых логических гейтов, используемых в схемотехнике и логике.
Базовые логические операции
Существует три основные операции, с помощью которых можно описать любую, даже самую сложную логическую функцию. Это инверсия, конъюнкция и дизъюнкция.
1. Инверсия (Логическое НЕ)
Инверсия — это самая простая операция, так как она применяется к одному высказыванию (является унарной операцией). Она меняет значение высказывания на противоположное.
Определение: Инверсией высказывания называется новое высказывание, которое истинно, если ложно, и ложно, если истинно.
В естественном языке этой операции соответствует частица «НЕ» или слова «неверно, что...».
Обозначение: В литературе и информатике можно встретить разные варианты записи: * (математический стандарт) * (черта сверху) * (в программировании)
Мы будем часто использовать черту сверху или знак .
Таблица истинности для инверсии: Таблица истинности показывает, какой результат дает операция при всех возможных значениях исходных переменных.
| | | |:---:|:---:| | 0 | 1 | | 1 | 0 |
Пример: Пусть «Сегодня пятница». Тогда «Неверно, что сегодня пятница» (или просто «Сегодня не пятница»). Если сегодня действительно пятница (), то будет ложью ().
2. Конъюнкция (Логическое И)
Конъюнкция объединяет два высказывания в одно. Это операция строгого соответствия.
Определение: Конъюнкцией двух высказываний и называется новое высказывание, которое истинно только тогда, когда истинны оба исходных высказывания одновременно.
В естественном языке соответствует союзу «И».
Обозначение: * (классический математический знак) * (точка, как умножение) * (амперсанд, часто в программировании) *
Часто конъюнкцию называют логическим умножением. Это название не случайно: если посмотреть на таблицу истинности, результат операции полностью совпадает с обычным арифметическим умножением нулей и единиц.
Таблица истинности для конъюнкции:
| | | | |:---:|:---:|:---:| | 0 | 0 | 0 | | 0 | 1 | 0 | | 1 | 0 | 0 | | 1 | 1 | 1 |
Обратите внимание: результат равен только в одной строке из четырех — когда и , и .
Пример: Пусть «У меня есть яблоко», «У меня есть груша». Высказывание «У меня есть яблоко И груша». Это будет правдой только в том случае, если у вас в карманах лежат оба фрукта. Если есть только яблоко, но нет груши — высказывание ложно.
3. Дизъюнкция (Логическое ИЛИ)
Дизъюнкция — это операция выбора или объединения возможностей.
Определение: Дизъюнкцией двух высказываний и называется новое высказывание, которое истинно, если истинно хотя бы одно из исходных высказываний.
В естественном языке соответствует союзу «ИЛИ».
Обозначение: (напоминает латинскую 'v' от слова vel* — или) * (плюс, как сложение) * (вертикальная черта) *
Дизъюнкцию называют логическим сложением. Однако здесь есть отличие от обычной арифметики: в логике равно (Истина + Истина = Истина), а не .
Таблица истинности для дизъюнкции:
| | | | |:---:|:---:|:---:| | 0 | 0 | 0 | | 0 | 1 | 1 | | 1 | 0 | 1 | | 1 | 1 | 1 |
Результат равен (Лжи) только в одном случае — когда оба исходных высказывания ложны.
Пример: Пусть «Я выпью чай», «Я выпью кофе». Высказывание «Я выпью чай ИЛИ кофе». Это высказывание будет истинным, если вы выпьете только чай, только кофе, или и то и другое вместе. Ложным оно будет только если вы не выпьете ни того, ни другого.
Приоритет логических операций
Как и в обычной алгебре, где умножение выполняется раньше сложения, в алгебре логики есть свой порядок выполнения действий. Это критически важно для правильного решения логических выражений.
Если в выражении нет скобок, операции выполняются в следующем порядке:
Рассмотрим пример сложного выражения:
Где — инверсия, — дизъюнкция, — конъюнкция.
Порядок действий будет таким:
Если мы хотим изменить порядок, мы должны использовать скобки, например: . В этом случае сначала выполнится действие в скобках.
Практический пример: построение таблицы истинности
Давайте построим таблицу истинности для небольшого выражения, чтобы закрепить материал.
Выражение:
Где — результат функции, — инверсия переменной , — конъюнкция с переменной .
Шаги:
| | | | | |:---:|:---:|:---:|:---:| | 0 | 0 | 1 | 0 | | 0 | 1 | 1 | 1 | | 1 | 0 | 0 | 0 | | 1 | 1 | 0 | 0 |
Разбор второй строки: * , . * Инверсия превращает в . * Теперь делаем конъюнкцию: (это ) И (это ). * . Результат истинный.
Заключение
Мы познакомились с алфавитом логики. Вы узнали, что такое высказывание, и изучили три инструмента: НЕ (переворачивает значение), И (требует истинности всего сразу) и ИЛИ (довольно хотя бы одной правды).
Эти операции — база для всего, что мы будем изучать дальше. В следующих статьях мы рассмотрим более сложные операции, такие как импликация и эквиваленция, а также научимся упрощать громоздкие логические выражения, используя законы алгебры логики.
Понимание этих основ позволит вам не только решать задачи по информатике, но и лучше понимать, как работают условия в программировании (if, while) и как строятся сложные поисковые запросы в базах данных.