我有一大堆(20000)布尔表达式。它们由AND
,OR
和NOT
运算符以及大量的布尔变量A1
, A2
, A3
... 组成(大约 1000 个)。大多数表达式只包含 5 个,也许是 20 个这些变量。
给定变量 ( A1 = true, A2 = false, A3 = false ...
) 的赋值,我必须找到计算结果为 的那些表达式false
。
将针对多个 (10-100) 分配评估同一组表达式
以此目的:
我应该如何将表达式存储在磁盘上,以便我可以快速加载和解析它们(我目前将它们作为一些专门的 DSL 或作为或多或少标准化(并且非常慢)的关系数据结构,但我可以改变它)
是否有一种快速算法/数据结构来评估我可以使用的此类表达式?
JVM 上的实现是否存在?