[英]How to optimize logic expression
我们有很多逻辑表达式要计算,现在我们已经将这些表达式转换为后缀表达式。 (后缀表达式更快)。 但是,我们需要更快地优化逻辑表达式的评估。
有任何想法吗? 谢谢。
您还需要考虑每个可能结果的频率。 即,如果各种结果/结果的发生频率高度偏斜,那么您真的想使普通案例变得快速,即使这样做的代价是可能显着增加罕见案例的运行时成本。
例如,假设您要检查四个条件是否成立:
result = A && B && C && D;
现在假设A == true的概率为0.9,B == true的概率为0.3,C == true的概率为0.7,D == true的概率为0.1。 给定C / C ++短路规则,我们想对方程重新排序,以便我们尽快“退出”测试。 即,最有效的测试是:
result = D && B && C && A;
如果没有示例,您将拥有各种表达式的类型以及每个术语的各种结果频率和联合概率频率,那么根本无法为您提供帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.