Булева алгебра
В булевой алгебре переменная принимает только два значения, а сложение и умножение означают ИЛИ и И. Из этого следуют странные на первый взгляд правила вроде 1 + 1 = 1 и A + AB = A — и именно они позволяют сократить схему из десятка элементов до двух.
Обновлено Редакция GAW
Булева алгебра (Boolean algebra, алгебра логики) — математика величин, принимающих только два значения: 0 и 1, «ложь» и «истина». В ней три операции: логическое сложение (ИЛИ), логическое умножение (И) и дополнение (НЕ), которое записывают штрихом или чертой: A'. По Kuphaldt, Джордж Буль изложил её в трактате 1854 года, придав символическую форму двузначной логике Аристотеля; в цифровой технике она описывает работу логических элементов.
Арифметика двух значений
| Сложение (ИЛИ) | Умножение (И) | Дополнение (НЕ) |
|---|---|---|
| 0 + 0 = 0 | 0 · 0 = 0 | 0' = 1 |
| 0 + 1 = 1 | 0 · 1 = 0 | 1' = 0 |
| 1 + 1 = 1 | 1 · 1 = 1 |
Последняя строка сложения смущает больше всего, но она лишь повторяет таблицу истинности элемента ИЛИ. Отрицательных чисел, вычитания и деления нет. Булевы величины не надо путать с двоичными числами: двоичная запись — способ записать обычные числа, и в ней 1 + 1 = 10.
Тождества и правила упрощения
- С константами: A + 0 = A, A + 1 = 1, A · 0 = 0, A · 1 = A.
- С самой переменной: A + A = A, A · A = A, A + A' = 1, A · A' = 0, (A')' = A.
- Поглощение: A + AB = A, A(A + B) = A.
- Сокращение дополнения: A + A'B = A + B.
- Распределительный закон в обе стороны: A(B + C) = AB + AC и (A + B)(A + C) = A + BC — второй вид в обычной алгебре не работает.
- Законы де Моргана: (AB)' = A' + B', (A + B)' = A'B'.
Пример Kuphaldt: выражение AB + BC(B + C) раскрывается в AB + BC + BC, затем в AB + BC и выносится B(A + C). Вместо нескольких элементов И и ИЛИ остаются один элемент ИЛИ и один И.
Где применяется
Любую логическую функцию можно задать таблицей истинности, записать по ней булево выражение и упростить — алгебраически, картой Карно или методом Куайна — Мак-Класки. От числа слагаемых и множителей зависит число элементов и корпусов микросхем, а в программах — число операций с битами. Поиграть с выражениями и сразу увидеть минимальную форму позволяет симулятор логических схем, а последовательное изложение — на странице «Цифровая логика».
Частые вопросы
Почему в булевой алгебре 1 + 1 = 1?
Потому что «+» здесь означает логическое ИЛИ, а не арифметическое сложение. Результат ИЛИ равен 1, если хотя бы один операнд равен 1, — значит, и 1 + 1 = 1. Kuphaldt сравнивает это с двумя параллельными контактами: замкнутая цепь остаётся замкнутой, сколько контактов ни замкни. Вычитания и деления в булевой алгебре вообще нет.
Чем булевы числа отличаются от двоичных?
Двоичная запись — просто другой способ записать обычные числа, в ней 1 + 1 = 10. Булева алгебра — отдельная математика, где значений всего два и других не бывает. Путаница возникает из-за того, что обе используют цифры 0 и 1.
Какие правила булевой алгебры чаще всего нужны для упрощения?
Поглощение A + AB = A, правило A + A'B = A + B, распределительный закон в виде (A + B)(A + C) = A + BC и законы де Моргана для переноса инверсии. С их помощью Kuphaldt сворачивает выражение AB + BC(B + C) в B(A + C).
Источники
- Kuphaldt T. R. Lessons In Electric Circuits, Vol. IV — Digital, ch. 7 «Boolean Algebra» (CC BY) — разд. «Introduction»: Джордж Буль (1815–1864) в 1854 г. издал трактат «An Investigation of the Laws of Thought», придав символическую форму двузначной логике Аристотеля; булевы числа — не двоичные числа; разд. «Boolean arithmetic»: сложение соответствует ИЛИ и параллельным контактам, 1 + 1 = 1, вычитания и деления нет, умножение соответствует И; разд. «Boolean algebraic identities», «properties», «rules for simplification»: A + 0 = A, A + 1 = 1, A + A = A, A + A' = 1, A·0 = 0, A·1 = A, A·A = A, A·A' = 0, A + AB = A, A + A'B = A + B, (A + B)(A + C) = A + BC; разд. «Circuit simplification examples»: AB + BC(B + C) = B(A + C)
- Kuphaldt T. R. Lessons In Electric Circuits, Vol. IV — Digital, ch. 3 «Logic Gates» (CC BY) — элементы AND, OR, NOT и производные от них; таблица истинности как стандартное описание элемента; универсальность NAND и NOR
Нашли ошибку?
Смотрите также
- Цифровая логикаВентили, таблицы истинности, СДНФ, карты Карно, мультиплексор, защёлка, триггер, регистр
- Симулятор логических схемВентили и выражения, таблица всех узлов, карта Карно, минимизация, И-НЕ
- Законы де Моргана(AB)' = A' + B' и (A + B)' = A'B': перенос инверсии через скобки
- Таблица истинностиВсе комбинации входов логической схемы и выход для каждой
- Логический элемент (вентиль)Схема, выход которой — булева функция входов: НЕ, И, ИЛИ и их варианты
- Карта КарноМинимизация логических функций группировкой клеток