決策表

決策表

決策表又稱判斷表,是一種呈表格狀的圖形工具,適用於描述處理判斷條件較多,各條件又相互組合、有多種決策方案的情況。精確而簡潔描述複雜邏輯的方式,將多個條件與這些條件滿足后要執行動作相對應。但不同於傳統程序語言中的控制語句,決策表能將多個獨立的條件和多個動作直接的聯繫清晰的表示出來。

定義


用表格的方式描述決策問題一種方法,這種表格也被稱為決策矩陣。所謂決策表是指一個以行、列形式來描述和表示決策規則和知識信息的表,如果決策問題的後果是用損失的費用表示,這個表也被稱為損失矩陣。

結構


決策表
決策表
決策表一般分為4個部分。
每個條件對應一個變數、關係或預測,“候選條件”就是它們所有可能的值;動作指要執行的過程或操作;動作入口指根據該入口所對應的候選條件集,是否或按怎樣的順序執行動作。許多決策表在候選條件中使用“不關心”符號來化簡決策表,尤其是當某一條件對應要執行的動作影響很小時。有時,所有的條件在開始時都被認為是重要的,但最後卻發現沒有一個條件對執行的動作有影響,都是無關的條件。
在這4個部分的基礎上,決策表根據候選條件和動作入口的表現方法的變化而變化。有些決策表使用true/false作為候選條件值(類似與if-then-else),有些使用數字(類似於switch-case),有些甚至使用模糊值或概率值。對應動作入口,可以簡單的表示為動作是否執行(檢查動作執行),或更高級些,羅列出要執行的動作(為執行的動作排序)。

優點


決策樹能羅列出所有的可能情況,並清晰的指出相應的處理方式,用戶不需要考慮其中的邏輯關係就能一眼看出其中什麼樣的動作對應什麼樣的情況,這比程序語言中層層嵌套的邏輯語句要強多了。而所有可能情況的平面羅列,也能避免在程序語言編寫中,因為邏輯上的層層嵌套而產生遺漏,尤其在if-then-else結構中else部分是可選的情況下。
因為邏輯控制在編程中的重要地位,決策表成為設計邏輯控制時十分重要的一個工具。

表示


決策表的一般表示如右表所示。
決策表表示
決策表表示
上述的決策表可以更加一般化,一方面,決策結果的自然狀態可能是無限的、具有一定的相容性或者不可直接觀察性等等變化;另一方面,決策後果可能具有更加一般的信息含義,例如:用效用函數衡量,而後果的出現並不單單是以概率方式描述,具有更為一般的不確定性性質等等。具體的使用,可以根據實際情況加以靈活運用。

示例


有限決策表(Limited-entry Decision Table)是最簡單的一個形式。候選條件為布爾值,動作入口為X符號,表示在某一列中哪個動作將被執行。
一個技術支持公司用一個決策表,根據用戶通過電話向他們描述的問題癥狀,來診斷印表機的故障所在。
圖1:決策表
圖1:決策表
當然,這只是一個簡單的例子(表中的動作也不一定符合現實情況),但是從這個表中可以看出,根據可能的情況隨著條件的數量的增加而增加。在這個例子中有3個條件,可能的組合是8個。