"Бывает нечто, о чём говорят: "смотри, вот это новое"; но это было уже в веках, бывших прежде нас"
Екклезиаст гл.1 ст. 10

суббота, 8 сентября 2012 г.

ЗАКОНЫ БУЛЕВОЙ АЛГЕБРЫ (Boolean Algebra Laws)



Введение

Выполнение любой логической операции сводится к определению истинности или ложности некоторого условия.

Булева алгебра решает математическую задачу в терминах высказываний, и является алгеброй двух значений истинности.
Для двух двоичных переменных (принимающих значения 0 и 1) существует 16 возможных функций. Функции включают только три операции: AND (И) - умножение или конъюнкция, OR (ИЛИ) - сложение или дизъюнкция, и NOT (НЕ) - отрицание или инверсия, которые символически представляются следующим образом: AND: A×B ; OR: A+B ; A̅= NOT A .


Законы булевой алгебры и упрощение логических выражений

Законы (правила)
Rules
Сложение (Addition)
Умножение (Multiplication)
Поглощение
Absorption
A+(A×B)=A
A×(A+B)=A
Аннулирование
Annihilator
A+1=1
A×0=0
Ассоциативнось (объединение)
Associativity
(A+B)+C=A+(B+C)
(A×B)×C=A×(B×C)
Коммуникативность (перестановка)
Commutativity
A+B=B+A
A×B=B×A
Дополнения
Complement Laws
A+A̅=1
A̅×A=0
частные случаи:
A+A̅B=A+B; AA̅+AB=AA̅+B
Правило Де Моргана
De Morgan Theorem
(A+B)
=A̅×B̅

(A×B)
=A̅+B̅
Дистрибутивность
Distributivity
A×(B+C)=(A×B)+(A×C)
A+(B×C)=(A+B)×(A+C)
Двойное отрицание
(частныйный случай закона коммуникативности)
=A
Тождественность
Identity
A+0=A
A×1=A
Тавтология
Idempotence
A+A=A
A×A=A


Пример упрощения:

Предположим, у нас есть схема, и мы хотим её упростить. Функция этой логической схемы содержит только базовые элементы (И, ИЛИ, НЕ), и мы хотим продолжать использовать только эти базовые элементы. Функция выглядит следующим образом:

F(A, B, C) = (A+B)B̅ + B̅ + BC

Используем закон (правило) диструбутивности (A+B)B̅ = AB̅ + BB̅:

F(A, B, C) = AB̅ + BB̅ + B̅ + BC

Используем один из законов дополнения (BB̅ = 0); затем закон тождественности при сложении (AB̅ + 0 = AB̅):
F(A, B, C) = AB̅ + B̅ + BC

Вынесем общий множитель B̅ за скобки :

F(A, B, C) = B̅(A + 1) + BC

Используем аннулирование сложения (A + 1 = 1), а затем закон тождественности при умножении (B̅ × 1 = B̅):

F(A, B, C) = B̅ + BC

Используем законы дополнения (B̅ + BC = B̅ + C):

F(A, B, C) = B̅ + C

Последнее выражение представляет собой упрощенную функцию. Как вы можете видеть, у нас больше нет входа A, потому что он не нужен для получения конкретных выходных значений, которые дала нам эта схема!




Диаграммы состояний


Следует чётко понимать, что Булева алгебра, не то же самое, что двоичная алгебра. Булева алгебра представляет совершенно иную область математики, в отличие от двоичной системы счисления, являющейся не более чем альтернативной системой обозначения вещественных чисел. Булева математика и двоичная система счисления обе используют 1 и 0. Разница в том, что булевы величины ограничены одним битом (1 или 0) и обозначают истинность или ложность высказывания, тогда как двоичные числа могут состоять из многих битов. Например, двоичному числу 11001000 (двести) нет места в булевом мире.

ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ

С помощью устройств, имеющих только два состояния (два разрешённых значения), руководствуясь положениями Булевой алгебры, можно создать схемы, способные выполнять логические и математические операции с двоичными числами (побитовые операции).


Историческая справка

Термин "Булева алгебра" используется в честь Джорджа Буля (George Boole; 1815-1864), английского математика-самоучки, родоначальника раздела математической логики, в котором изучаются логические операции над высказываниями, предполагая, что высказывания могут быть только истинными или ложными.