1. Введение в булеву алгебру и логические значения
Введение в булеву алгебру и логические значения
Зачем нужна булева алгебра
Булева алгебра — это раздел математики и логики, который работает не с числами в привычном смысле, а с логическими значениями: «истина» и «ложь». Она лежит в основе:
if, фильтры, проверки)Исторически булева алгебра связана с работами Джорджа Буля. Для справки можно обратиться к источникам: Булева алгебра, Джордж Буль.
Логические значения и обозначения
В булевой алгебре используется множество из двух значений:
В дальнейшем мы будем считать, что любая переменная (например, A, B) может принимать только 0 или 1.
Понятие булевой функции
Булева функция — это правило (зависимость), которое принимает на вход одно или несколько логических значений и возвращает одно логическое значение.
Примеры на интуитивном уровне:
Если функция зависит от переменных A и B, то иногда говорят: «функция от двух аргументов». В курсах по логике и схемотехнике такие функции часто задаются таблицей истинности.
Справка: Таблица истинности.
Основные булевы операции
В этом курсе базовыми считаются три операции:
Их удобно понимать через таблицы истинности.
Операция НЕ (NOT)
Операция НЕ меняет значение на противоположное.
Обозначение: (читается «не A»), где:
Таблица истинности:
| A | | |---:|---:| | 0 | 1 | | 1 | 0 |
Пример: если A означает «доступ разрешён», то означает «доступ НЕ разрешён».
Операция И (AND)
Операция И даёт 1 только тогда, когда оба аргумента равны 1.
Обозначение: , где:
Таблица истинности:
| A | B | | |---:|---:|---:| | 0 | 0 | 0 | | 0 | 1 | 0 | | 1 | 0 | 0 | | 1 | 1 | 1 |
Интуиция: «условие выполнено и второе условие выполнено».
Операция ИЛИ (OR)
Операция ИЛИ даёт 1, если хотя бы один из аргументов равен 1.
Обозначение: , где:
Таблица истинности:
| A | B | | |---:|---:|---:| | 0 | 0 | 0 | | 0 | 1 | 1 | | 1 | 0 | 1 | | 1 | 1 | 1 |
Важно: в булевой алгебре ИЛИ обычно понимается как включающее ИЛИ: если оба истинны, результат тоже истина.
!Схема показывает, что AND и OR принимают два входа, а NOT — один
Табличное задание булевой функции
Любую булеву функцию можно описать перечислением всех возможных входов и соответствующего выхода.
Например, функция (читается «A и не B») означает:
Таблица истинности:
| A | B | | | |---:|---:|---:|---:| | 0 | 0 | 1 | 0 | | 0 | 1 | 0 | 0 | | 1 | 0 | 1 | 1 | | 1 | 1 | 0 | 0 |
Основные законы и тождества булевой алгебры
Тождество — это равенство, которое верно при любых значениях переменных (то есть при любых 0/1 на входе).
Ниже — набор законов, которые постоянно используются при преобразованиях выражений (упрощении логики, оптимизации схем, доказательствах).
Законы перестановки и группировки
| Закон | Для AND | Для OR | |---|---|---| | Коммутативность (перестановка) | | | | Ассоциативность (группировка) | | |
Смысл: порядок и расстановка скобок не меняют результата (если операция одна и та же).
Дистрибутивность (распределение)
| Закон | Формула | |---|---| | AND распределяется относительно OR | | | OR распределяется относительно AND | |
Смысл: можно раскрывать скобки, но в булевой алгебре существуют оба варианта распределения (это отличает её от обычной арифметики, где привычно только распределение умножения относительно сложения).
Нейтральные элементы и «поглощающие» значения
| Свойство | AND | OR | |---|---|---| | Нейтральный элемент | | | | Поглощение «краем» | | |
Интуиция:
Идемпотентность и двойное отрицание
| Свойство | Формула | |---|---| | Идемпотентность | , | | Двойное отрицание | |
Смысл: повторение одного и того же условия не добавляет новой информации; двойное «НЕ» возвращает исходное.
Законы де Моргана
Законы де Моргана объясняют, как «раскрывать отрицание» над скобками.
| Формулировка | Формула | |---|---| | Отрицание AND превращается в OR отрицаний | | | Отрицание OR превращается в AND отрицаний | |
Практический смысл: если вы переносите отрицание внутрь выражения, операция меняется (AND ↔ OR), а каждое условие тоже получает отрицание.
Справка: Законы де Моргана.
Как читать и проверять равенства в булевой алгебре
Есть два базовых подхода:
В следующих материалах курса эти методы будут использоваться для упрощения булевых выражений и анализа булевых функций.