我试图将一个涉及数百个布尔变量的布尔表达式简化为一个OR of Ands form (DNF)。此外,还有不关心术语可以用另一个布尔表达式表示。我发现有几个Python包,比如SymPy,可以用于布尔表达式最小化。但是,它不能处理,不关心表达式格式的术语。另一个函数simplify_logic接受表达式格式,但没有选择dontcares术语。>> b = (~x & ~y & ~z) |
我试图用sympy简化一个布尔表达式,但我面临一个问题:from sympy import Symbolstr(simplify_logic(eval('(sales&manager)|(sales&director)')))谢谢!编辑:我所说的简化是指具有最少操作符数量的表达式for word in words:
我正在尝试使用谷歌的or工具,或者更具体地说是,它更全面,更接近我想要的功能。我需要做的问题仍然是一样的(工人的分配成固定的轮班),我只是在添加我想要的东西有困难。例如,我希望将单个轮班中的工人人数设置为一个,正如中所示的更简单的示例所示,该示例由以下方法完成: for s in all_shifts:我也许可以这样做,但是示例本身有一种方法,可以在给定的工作日内设置工人的数量:
weekly_cover_dema