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

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

Т. к. у нас только пересечения, объединения и дополнения, то можно один в один переписать выражение в терминах булевой алгебры: 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)
В получившемся выражении просто меняем буквы на заглавные и значки логических операций на действия с множествами.
~ - отрицание = дополнение множества
| - логическое сложение = объединение множеств
& - логическое умножение = пересечение множеств
Получаем для любого 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)
В получившемся выражении просто меняем буквы на заглавные и значки логических операций на действия с множествами.


Нуржан Нуратов
В данном случае не булева алгебра, а теория множеств.
Похожие вопросы
- Сильно ли нужна высшая и дискретная математика програмисту?
- По какой причине многие студенты факультетов компьютерных наук так сильно не любят дискретную математику?
- Почему считают что программисту математика не нужна? Откуда взялся этот миф?
- Pascal-Напишите программу: ввод полные ФИО, вывод полное Ф и инициалы И. О. Можно ли упростить то что получилось у меня?)
- Помогите упростить код на делфи.
- Объясните пожалуйста алгоритм упрощенного метода ньютона
- Математика и программирование!
- Я не математик, а программист.
- Нужно ли быть очень сильным математиком и хорошо уметь конструировать алгоритмы на позиции Software Engineer?
- Программист и математика