Какую библиотеку питона стоит использовать для работы с булевой алгеброй? Возникла у меня потребность провести некоторые вычисления связанные с дискретной математикой.
В частности:
1. Построение минимальных КНФ из полиномов Жегалкина или просто их таблиц истинности.
2. Операции над полиномами Жегалкина, вроде подстановки на место переменных других полиномов с последующим раскрытием скобок.
Модуль логики из sympy мне показался недостаточным для этих задач. На какие библиотеки стоит обратить внимание? Или остается лишь писать свой велосипед на numpy?

21 Авг 2019 в 06:15
254 +1
0
Ответы
1

Для работы с булевой алгеброй в Python можно воспользоваться библиотекой PyEDA. PyEDA предоставляет инструменты для работы с булевой алгеброй, включая построение минимальных КНФ, таблиц истинности, операции над полиномами Жегалкина и многое другое.

Для установки PyEDA можно воспользоваться утилитой pip:

pip install pyeda

После установки вы можете импортировать PyEDA и начать использовать его для работы с булевой алгеброй:

from pyeda.inter import *
# Пример использования PyEDA для работы с булевой алгеброй
a, b, c = map(exprvar, 'abc')
# Построение минимальной КНФ из таблицы истинности
truthtable = truthtable([a, b, c], [1, 0, 1, 0, 1, 0, 1, 0])
f = espresso_tts(truthtable)
print(f)
# Операции над полиномами Жегалкина
f = a & b & c
g = a | b | c
# Подстановка значений переменных и раскрытие скобок
result = f.compose({a: g, b: g, c: g}).simplify()
print(result)

PyEDA предоставляет богатый набор функций для работы с булевой алгеброй и может быть полезным инструментом для проведения вычислений связанных с дискретной математикой.

20 Апр 2024 в 13:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир