Другие языки программирования и технологии

Упростить выражение, дискретная математика

Т. к. у нас только пересечения, объединения и дополнения, то можно один в один переписать выражение в терминах булевой алгебры: d(x) = x in D (x принадлежит D) и т. д..

~ - отрицание = дополнение множества
| - логическое сложение = объединение множеств
& - логическое умножение = пересечение множеств

Получаем для любого x:
d(x) & c(x) & ~a(x) | ~d(x) & c(x) & ~a(x) | ~d(x) & ~c(x) & ~a(x) | ~(b(x) | a(x))

d & с & ~a | ~d & с & ~a | ~d & ~c & ~a | ~(b | a)
вносим отрицание в последнюю скобку
d & с & ~a | ~d & с & ~a | ~d & ~c & ~a | ~b & ~a
выносим ~a за скобки
~a & (d & с | ~d & с | ~d & ~с | ~b)
перегруппировываем
~a & ((d & с | ~d & с) | (~d & с | ~d & ~с) | ~b)
выносим с и ~d за скобки
~a & (с & (d | ~d) | ~d & (с | ~с) | ~b)
убираем тавтологии
~a & (с | ~d | ~b)

В получившемся выражении просто меняем буквы на заглавные и значки логических операций на действия с множествами.
НН
Нуржан Нуратов
74 588
Лучший ответ
Vanya Peshkov
Vanya Peshkov
13 596
Нуржан Нуратов В данном случае не булева алгебра, а теория множеств.