我有布尔表达式,表示用户可以输入的查询。它们包含括号和AND,NOT和OR运算符。例如:
(A1 OR B1) AND (NOT C2)
澄清:该表达描述了可以由其他部分的组合组成的生物状态。例如,
"(has mutation in gene X) OR (has mutation in gene Y AND has mutation in gene Z)".
我需要以这样的方式存储它:如果用户输入描述相同状态的不同表达式,我可以看到它们是相同的(例如,A OR A
应该归一化为A
)。< / p>
我想对它们进行规范化,然后将规范化版本存储在数据库中。
我的问题是: 1)我应该如何保存它们(字符串,树状结构)? 2)我应该如何根据保存的符号对它们进行标准化?
通过Google搜索,我找到了对Quine-McCluskey算法的引用。这种方法适合吗?