【发布时间】:2016-06-30 01:59:54
【问题描述】:
我想简化一个非常大的布尔函数形式:
f(a1,a2,....,an)= (a1+a2+a5).(a2+a7+a11+a23+a34)......(a1+a3+an).
'.'表示或
'+' 表示与
可能有 100 个这样的术语('.' 彼此) n 的值可能高达 30。
有没有可行的算法来简化这个?
注意:这不是一个实验室作业,它是我关于通过粗集生成规则的项目的一小部分,其中 f 是相异函数。
【问题讨论】:
-
由于并非所有语言都使用该符号,您能否具体说明
.和+运算符是什么?我假设 OR 和 AND? -
“简化”是什么意思?
-
如果是这种情况,那么“简化”的主要方法是是否有可以拉出的 ALL OR 组中的术语。除此之外,您也许可以进行重组,但我认为不会有大规模的简化。
-
规则是静态的还是动态的?
-
通过简化函数 f,我们最多可以生成一个 ai.aj.ak.al-> 形式的规则,其中 ai,aj 等是条件属性。
标签: algorithm math time-complexity classification boolean-expression