2011-02-14 111 views
0

我們有很多邏輯表達式來計算,現在我們已經將這些表達式轉換爲後綴表達式。 (後綴表達更快)。但是,我們需要更快地優化邏輯表達式的評估。如何優化邏輯表達式

任何想法?謝謝。

+4

歡迎來到Stack Overflow!你能澄清你的意思是「邏輯表達」嗎?這是一個只使用AND,OR,NOT,XOR等的數學表達式嗎?或者比布爾電路更復雜?您提供的細節越多,我們就可以提供更好的幫助。 – templatetypedef 2011-02-14 02:20:43

回答

0

您還需要考慮每種可能結果的頻率。也就是說,如果各種結果/結果的出現頻率高度偏離,那麼你確實想要快速地製作常見情況,即使代價可能會大大增加非常見情況的運行時間成本。

例如,假設您要檢查四個條件:

result = A && B && C && D; 

現在假設A ==概率爲0.9,B真==概率0.3,C ==真與真正的概率爲0.7,D ==爲真,概率爲0.1。考慮到C/C++短路規則,我們想重新排列方程,所以我們儘快「退出」測試。即最有效的測試將是:

result = D && B && C && A; 

沒有每一項的類型,您有表情的例子,和各種結果的頻率和聯合概率頻率,這基本上是不可能幫助你。